安全见闻(6)——开阔眼界,不做井底之蛙
内容预览 ≧∀≦ゞ
- 安全见闻六:通讯协议安全问题剖析
- 声明
- 引言
- 一、通讯协议的保密性问题
- 二、通讯协议的完整性问题
- 三、身份验证问题
- 四、可用性问题
- 五、通讯协议的实现问题
- 六、协议设计缺陷
- 七、移动通讯协议的安全问题
- 八、物联网通讯协议的安全问题
- 九、工业控制系统通讯协议的安全问题
- 结论
- 题外话
安全见闻六:通讯协议安全问题剖析
声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
引言
通讯协议是现代信息传输的基础,其安全性直接关系到数据传输的机密性、完整性和可用性。如果通讯协议存在漏洞,攻击者可以利用这些弱点窃取信息、篡改数据,甚至使系统崩溃。在这篇文章中,我们将深入探讨通讯协议在保密性、完整性、身份验证、可用性等方面的常见安全问题,并介绍相关的防御措施。
一、通讯协议的保密性问题
数据泄露风险
许多通讯协议在设计时没有充分考虑加密措施,这使得攻击者可以通过网络监听窃取未加密的数据。例如,HTTP协议在传输敏感信息时未加密,使得攻击者能轻松捕获这些数据。
此外,老旧的加密算法如DES,由于密钥长度较短,容易受到暴力破解攻击。DES作为对称加密算法,依赖相同的加密和解密密钥,但其64位的分组大小和短密钥已经不再安全。
密钥管理不善
即使使用了加密协议,如果密钥管理不善,保密性依然无法得到保障。例如,密钥泄露或存储不当都会使攻击者轻松获取解密信息。同时,密钥分发过程中如果被窃取或篡改,后续通讯将变得不安全。
注释:加密协议依赖于良好的密钥管理,企业应确保密钥存储在安全环境中,并采取严格的密钥分发措施。
二、通讯协议的完整性问题
假冒身份风险
攻击者通过篡改传输中的数据破坏其完整性。例如,在电商平台,攻击者可能通过篡改订单信息改变金额,导致商家和用户的损失。某些协议缺乏有效的完整性校验机制,这使得篡改攻击更容易得手。
注释:假冒身份的攻击通常通过对数据包的修改实现,例如,攻击者可能会改变传输中的价格信息以获取不当利益。为了防止此类攻击,使用消息认证码(MAC)和数字签名等机制可以确保数据在传输过程中的完整性和真实性。
重放攻击
重放攻击是指攻击者记录并重复发送已合法通过的通讯数据,以达到欺骗系统的目的。例如,攻击者可以通过重复发送银行的交易请求,获取非法收益。如果通讯协议没有采取防范措施(如时间戳或一次性令牌),容易受到重放攻击。
三、身份验证问题
假冒身份风险
缺乏严格身份验证的通讯协议易被攻击者冒充合法身份。例如,在网络钓鱼攻击中,攻击者伪装成银行或其他合法机构,骗取用户的敏感信息。如果协议没有安全的身份验证机制,系统难以区分合法用户和攻击者。
身份验证漏洞
简单的身份验证机制(如用户名和密码)往往容易被暴力破解。因此,建议使用多因素身份验证(MFA)来提高安全性。
注释:强身份验证是防止假冒身份攻击的关键,推荐使用基于公钥加密的身份验证机制。
四、可用性问题
拒绝服务攻击
通过发送大量无效请求或恶意数据包,攻击者可以导致系统瘫痪,使其无法为合法用户提供服务。例如,分布式拒绝服务攻击(DDoS)通过控制大量僵尸主机向目标服务器发送海量请求,耗尽服务器资源。
注释:DDoS攻击的关键在于通过多个受感染的主机同时发起请求,给目标系统制造无法应对的负载压力。常见的缓解措施包括使用负载均衡器、流量清洗设备以及部署防火墙来过滤恶意流量。
协议漏洞引发的可用性问题
某些协议设计存在缺陷,如死锁或资源泄露,这些问题会导致系统在特定情况下失效,影响可用性。
注释:死锁是指多个进程相互等待对方释放资源,导致系统无法继续执行。资源泄露是指系统没有正确释放占用的资源(如内存或文件句柄),最终耗尽可用资源,影响系统的正常运行。这些问题通常可以通过完善的协议设计和资源管理策略来避免。
五、通讯协议的实现问题
编程错误
协议在实现过程中可能会因为编程错误导致严重的安全漏洞。例如,缓冲区溢出和内存泄漏等问题会给攻击者留下可乘之机。因此,开发人员需要严格遵循安全编程规范(等保2.0),并进行代码审查和测试。
拓展视野
等保2.0将信息系统安全保护划分为五个等级,从低到高依次为:自主保护级、指导保护级、监督保护级、强制保护级、专控保护级(其中5级为预留,市场上已评定的最高等级为4级)。不同等级的信息系统,在安全技术和安全管理方面需满足不同要求,具体包括:
- 安全物理环境:确保机房选址、物理访问控制等多方面的安全和稳定。
- 安全通信网络:采用安全可靠的通信技术和设备,确保通信数据的机密性、完整性和可用性。
- 安全区域边界:根据业务需求和安全策略进行合理规划,确保访问控制策略的有效实施。
- 安全计算环境:采用安全可靠的计算设备和操作系统,确保数据的机密性、完整性和可用性。
- 安全管理体系:建立健全的安全管理体系,包括安全策略、管理制度、人员培训及应急预案等。
第三方库的安全问题
许多协议依赖于第三方库和组件,如果这些库存在安全漏洞,整个协议的安全性就会受到威胁。开发人员应及时更新并修复发现的安全问题。
注释:在使用第三方库时,应定期进行安全评估,及时修复已知漏洞。
六、协议设计缺陷
缺乏安全考虑的设计
一些协议在设计时未充分考虑安全问题,导致内置的安全漏洞。例如,某些协议没有对数据的长度和类型进行严格的限制,攻击者可能利用这些漏洞进行缓冲区溢出攻击。
注释:缓冲区溢出是指程序在处理数据时将超出缓冲区大小的数据写入内存,导致数据溢出到相邻内存区域。这种漏洞常被攻击者用来执行任意代码,典型的缓解方式包括对输入进行严格验证,使用安全编程函数,以及启用堆栈保护机制。
协议升级带来的安全风险
协议升级时可能引入新的功能和攻击面,旧版本与新版本的兼容性问题也可能导致漏洞。升级时应进行充分的安全评估和测试。
注释:协议升级过程中,新的功能可能会引入未预见的安全隐患,或旧协议与新协议之间的兼容问题可能导致漏洞。例如,某些攻击者可能利用兼容性漏洞伪造旧版本的协议请求。定期的安全评估、回归测试以及升级策略是防止此类问题的有效方法。
七、移动通讯协议的安全问题
无线网络的特殊性
无线网络的开放性使得通讯更容易被窃听和干扰,攻击者可以通过监听无线信号窃取信息。因此,在无线网络中传输敏感数据时应始终使用加密通讯协议,如HTTPS或TLS。
注释:无线网络中的攻击常见手段包括中间人攻击(MITM),攻击者可以通过伪造的无线接入点或篡改数据包进行监听。使用TLS等加密协议可以确保即便攻击者截获了数据,也无法解密内容。WPA3等无线安全协议也能提供更高的无线网络安全性。
移动应用的安全风险
许多移动应用使用特定的通讯协议与服务器进行交互,如果开发者没有充分考虑安全问题,这些应用可能会成为攻击的目标。此外,移动应用的更新过程也可能成为攻击者的突破口。
注释:移动应用常见的攻击包括应用层拦截、恶意软件注入和劫持更新渠道等。确保应用更新的完整性和安全性,通常采用代码签名和安全传输机制。此外,应避免使用硬编码的API密钥或凭证,以防止应用被逆向工程或被植入恶意代码。
八、物联网通讯协议的安全问题
设备管理的复杂性
物联网设备数量庞大,管理和安全更新是极具挑战性的。如果某台设备被攻破,可能会影响整个网络的安全性。设备的异构性和不同厂商的安全标准差异,也增加了安全管理的难度。
注释:物联网是指通过互联网连接各种物理设备、传感器和软件的网络系统,使它们能够相互通信和交换数据。简而言之,物联网是一种使物理设备能够智能化和自动化运行的技术。
物联网设备由于其计算资源有限,通常无法实施复杂的安全机制,因此需要特别设计轻量级的安全方案。
九、工业控制系统通讯协议的安全问题
实时性与安全性冲突
工业控制系统通常要求极高的实时性,这与安全性措施可能存在冲突。例如,某些安全措施可能会引入延迟,影响系统的实时性。因此,在保障工业控制系统的安全时,需要在实时性和安全性之间进行权衡。
与IT系统融合带来的风险
随着工业互联网的发展,越来越多的工业控制系统与传统IT系统相结合,这也意味着它们将面对IT系统常见的安全威胁,如病毒和恶意软件。
注释:IT与OT(运营技术)系统的融合增加了攻击面,攻击者可以利用IT系统的漏洞进行横向渗透,从而影响工业控制系统。为了减少这些风险,组织应实施分段网络策略,将IT和OT环境隔离,并采用强大的入侵检测和防御系统来监控异常活动。
结论
通讯协议是信息传输的基石,协议安全性直接影响系统的整体安全。我们必须从协议设计、实现和使用的每个阶段采取严格的安全措施,减少潜在的安全威胁。无论是通过采用强加密、完善身份验证机制,还是通过定期安全评估和更新,都可以有效防御协议安全漏洞。
题外话
随着技术的飞速发展,安全领域的挑战也在迅速变化。如果我们仍然将安全工作局限于传统的Web应用领域,很快就会被时代淘汰。如今,安全威胁不再只停留在简单的网络攻击或网页漏洞,而是逐渐扩展到通讯协议、物联网、工业控制系统、移动设备等多个复杂的场景和环境。未来的安全问题,核心在于数据与数据的对抗,攻击者和防御者都将依赖数据分析与技术较量。
安全行业在过去几年里,尤其是自2017年开始,已经从高速发展的爆发期,逐渐进入了转型期,甚至可以说是衰退期。但这并不意味着安全行业的需求下降了,而是对从业者的要求变得更高。面对不断进化的安全威胁,仅仅依赖传统的安全手段已无法应对复杂的攻击。未来的安全专家不仅需要具备技术深度,还要拥有跨领域的能力,深入理解新兴技术和复杂系统的安全需求。
在这个瞬息万变的行业,安全从业者要紧跟技术前沿,提升自己的技术水平,才能在不断变化的威胁面前保持竞争力。只有未雨绸缪,预见未来的风险,才能在这场关于数据与数据的对抗中立于不败之地。
相关文章:
安全见闻(6)——开阔眼界,不做井底之蛙
内容预览 ≧∀≦ゞ 安全见闻六:通讯协议安全问题剖析声明引言一、通讯协议的保密性问题二、通讯协议的完整性问题三、身份验证问题四、可用性问题五、通讯协议的实现问题六、协议设计缺陷七、移动通讯协议的安全问题八、物联网通讯协议的安全问题九、工业控制系统通…...
GRU神经网络理解
全文参考以下B站视频及《神经网络与深度学习》邱锡鹏,侧重对GPU模型的理解,初学者入门自用记录,有问题请指正【重温经典】GRU循环神经网络 —— LSTM的轻量级版本,大白话讲解_哔哩哔哩_bilibili 更新门、重置门、学习与输出 注&a…...
Windows 10、Office 2016/2019 和 PPTP 和 L2TP协议即将退役,企业应尽早做好准备
关心微软技术和产品的朋友一定对这个网站很熟悉:https://microsoftgraveyard.com/,这里静静的躺着很多微软技术和产品。近日,微软又在准备一场新的“告别仪式”了,这次是 Windows 10、Office 2016/2019 和一些老旧的协议与技术。让…...
论文阅读:Guided Linear Upsampling
今天介绍一篇有趣的文章,Guided Linear Upsampling,基于引导的线性上采样,这是发表在 ACM transaction on Graphic 的一篇工作。 Abstract 引导上采样是加速高分辨率图像处理的一种有效方法。在本文中,文章作者提出了一种简单而…...
深度图和RGB图对齐
坐标系间的转换_坐标系转换-CSDN博客 深度图与彩色图的配准与对齐_彩色 深度 配准-CSDN博客 kinect 2.0 SDK学习笔记(四)--深度图与彩色图对齐_mapdepthframetocolorspace-CSDN博客 相机标定(三)-相机成像模型_相机小孔成像模型…...
滑动窗口与TCP的缓冲区(buff)的关系
滑动窗口与TCP的缓冲区(buff)有直接关联。 滑动窗口机制是TCP协议中用于流量控制和拥塞控制的重要机制。滑动窗口实际上是一个操作系统开辟的缓存空间,用于指定无需等待确认应答即可继续发送数据的最大值。这个窗口大小(win&…...
一款好用的搜索软件——everthing(搜索比文件资源管理器快)
everthing官网链接 在官网选择下载 1.下载后双击打开 2.点击OK(需要其他语言自己选择) 3.选择安装位置(路径最好别带中文和空格) 继续点击下一步 4. 点击下一步 5.继续点击安装 6.然后就完成了 7.点击打开然后就可以搜索了...
C#WPF的App.xaml启动第一个窗体的3种方式
WPF的App.xaml启动第一个窗体的3种方式 1.使用App.xaml的StartupUri属性启动(推荐使用) 在App.xaml文件中,你可以设置StartupUri属性来指定启动时显示的第一个窗口: <Application x:Class"浅看一眼WPF.App"xmlns&…...
【JAVA毕设】基于JAVA的酒店管理系统
一、项目介绍 本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router实现动态路由,Ajax实现前后端通信,Element-plus组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis、…...
聚类--机器学习西瓜书阅读笔记(六)
无监督学习:通过对无标记训练样本的学习,揭示数据内在规律和性质。 聚类试图将数据集中的样本划分为若干不相交的子集,聚类过程自动形成簇结构,簇对应的语义需要子集命名把握。 聚类过程可以作为单独的过程,寻找数据…...
OpenHarmony(1)开发环境搭建
一:开源项目 OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台࿰…...
Triton服务在ASR语音识别系统中的实现
Triton服务在ASR语音识别系统中的实现 一、引言二、环境准备1. 硬件环境2. 软件环境 三、模型选择与训练1. 数据准备2. 模型架构3. 模型训练 四、模型转换与优化1. 模型转换2. 模型优化 五、配置Triton服务1. 安装Triton服务2. 创建模型仓库 一、引言 自动语音识别(…...
Typora一款极简Markdown文档编辑、阅读器,实时预览,所见即所得,多主题,免费生成序列号!
文章目录 Typora下载安装Typora序列号生成 Typora是一款Markdown编辑器和阅读器,风格极简,实时预览,所见即所得,支持MacOS、Windows、Linux操作系统,有图片和文字、代码块、数学公式、图表、目录大纲、文件管理、导入导…...
python机器人编程——用python调用API控制wifi小车的实例程序
目录 一、前言二、一个客户端的简单实现2.1 首先定义一个类及属性2.2 其次定义连接方法2.3 定义一些回调函数2.4 定义发送小车指令方法2.5 定义一个正常关闭方法 三、python编程控制小车的demo实现四、小结PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源p…...
面试学习整理-线程池
线程池 简介JUC包线程池介绍线程池最常问也最常用-参数线程执行分析-线程是怎么运行的进程和线程的区别Executors工厂类提供四种线程池Executors和ThreaPoolExecutor创建线程池的区别两种提交任务的方法spring集成的线程池 简介 线程池作为实际使用和面试较多的技能区, 学习是…...
Debian会取代CentOS成为更主流的操作系统吗?
我们知道,其实之前的话,国内用户对centos几乎是情有独钟的偏爱,很多人都喜欢选择centos系统,可能是受到一些原因的影响导致的吧,比如他相当于免费的红帽子系统,或者一些教程和网上的资料都推荐这个系统&…...
网络安全领域推荐证书介绍及备考指南
在网络安全领域,拥有专业认证不仅可以证明个人的专业能力,还能帮助在实际工作中应用先进的技术和知识。以下是几种热门的网络安全证书介绍及备考指南。 1. OSCP (Offensive Security Certified Professional) 证书简介 OSCP是针对渗透测试领域的入门级…...
SpringBoot项目ES6.8升级ES7.4.0
SpringBoot项目ES6.8.15 升级到 ES7.4.0 前言 由于公司内部资产统一整理,并且公司内部部署有多个版本的es集群,所以有必要将目前负责项目的ES集群升级到公司同一版本7.4.0。es6到es7的升级变化还是挺大的,因此在这里做一下简单记录…...
深度学习 之 模型部署 使用Flask和PyTorch构建图像分类Web服务
引言 随着深度学习的发展,图像分类已成为一项基础的技术,被广泛应用于各种场景之中。本文将介绍如何使用Flask框架和PyTorch库来构建一个简单的图像分类Web服务。通过这个服务,用户可以通过HTTP POST请求上传花朵图片,然后由后端…...
MFC工控项目实例二十六创建数据库
承接专栏《MFC工控项目实例二十五多媒体定时计时器》 用选取的型号为文件名建立文件夹,再在下面用测试的当天的时间创建文件夹,在这个文件中用测试的时/分/秒为数据库名创建Adcess数据库。 1、在StdAfx.h文件最下面添加代码 #import "C:/Program F…...
springmvc源码流程解析(一)
Springmvc 是基于servlet 规范来完成的一个请求响应模块,也是spring 中比较大的一个 模块,现在基本上都是零xml 配置了,采用的是约定大于配置的方式,所以我们的springmvc 也是采用这种零xml 配置的方式。 要完成这种过程ÿ…...
【论文阅读】SRGAN
学习资料 论文题目:基于生成对抗网络的照片级单幅图像超分辨率(Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network)论文地址:https://arxiv.org/abs/1609.04802代码:GitHub - xiph/daala: Modern video compression for the interne…...
kubelet PLEG实现
概述 kubelet的主要作用是确保pod状态和podspec保持一致,这里的pod状态包括pod中的container状态,个数等。 为了达到这个目的,kubelet需要从多个来源watch pod spec的变化,并周期从container runtime获取最新的container状态。比如…...
leetcode49:字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", &…...
一个将.Geojson文件转成shapefile和kml文件的在线页面工具(续)
接上一专栏:这个网址有个bug,每个月只能免费转3次,这等于没用! 一个将.Geojson文件转成shapefile和kml文件的在线页面工具_geojson转shp在线-CSDN博客 下面这个网址实测可以免费多次转换! Quickmaptools : Geojson to…...
论文阅读(二十四):SA-Net: Shuffle Attention for Deep Convolutional Neural Networks
文章目录 Abstract1.Introduction2.Shuffle Attention3.Code 论文:SA-Net:Shuffle Attention for Deep Convolutional Neural Networks(SA-Net:置换注意力机制) 论文链接:SA-Net:Shuffle Attention for Deep Convo…...
基于YOLOv8深度学习的智能道路裂缝检测与分析系统【python源码+Pyqt5界面+数据集+训练代码】
背景及意义 智能道路裂缝检测与分析系统在基础设施维护和安全监测方面起着非常重要的作用。道路裂缝是道路衰老和破坏的早期迹象,若不及时发现和修复,可能会导致道路结构的进一步恶化,甚至引发安全事故。本文基于YOLOv8深度学习框架ÿ…...
YOLOv11入门到入土使用教程(含结构图)
一、简介 YOLOv11是Ultralytics公司在之前的YOLO版本上推出的最新一代实时目标检测器,支持目标检测、追踪、实力分割、图像分类和姿态估计等任务。官方代码:ultralytics/ultralytics:ultralytics YOLO11 🚀 (github.com)https://g…...
python 爬虫抓取百度热搜
实现思路: 第1步、在百度热搜页获取热搜元素 元素类名为category-wrap_iQLoo 即我们只需要获取类名category-wrap_为前缀的元素 第2步、编写python脚本实现爬虫 import requests from bs4 import BeautifulSoupurl https://top.baidu.com/board?tabrealtime he…...
3.1 > Linux文件管理(基础版)
Linux 的命名规则 相对于其他操作系统(如 Windows )来说,Linux 的命名规则并没有那么多条条框框,还算是比较自由的。在 Linux 中,它的命名规则有如下几点要求: 首先是大小写敏感:例如在 Linux…...
网站缩略图存哪里好/电脑编程培训学校哪家好
好雪片片,不落别处 H.264有四种画质级别,分别是baseline, extended, main, high: 1、Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC; 2、Extended profil…...
确定网站推广目标/优化大师有用吗
这个不是造轮子,只是整理轮子,我在搜索引擎里,遇到的思路都是第一种思路(至少按照标题那个关键词搜索是这样的)所以我想发出来。一是如果遇到大神帮忙发现了方案一的问题与弊病,那就更好啦。二是让大家不会像我一样,只…...
娄底市网站建设制作/百中搜
1. 使用jdbc进行数据库操作:获取数据库连接,编写sql语句,执行sql操作,关闭连接。 比如:每次创建连接,释放资源----使的执行效率降低; 解决方案:连接池。 编写sql语句动作----简单&am…...
.net 大型网站开发/广州公关公司
机器学习(四)变量选择技术----------岭回归,Lasso 我们回顾一下之前线性回归模型里面的一元线性回归模型和多元线性回归模型,里面在谈论如何找到最佳系数时,使用的是最小二乘法,在这里我们先把多元线性回归的最小二乘解简化表达一…...
雄安移动网上营业厅/昆明优化网站公司
keys * 查看当前库所有的keyexists key 判断某个key是否存在move key db 当前库就没有了,被移除了expire key 秒钟:为给定的key设置过期时间ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期type key 查看你的key是什么…...
出台网站集约化建设通知/做网站价格
区别: #系统级环境配置文件 /etc/profile /etc/bashrc#用户级环境配置文件 ~/.bashrc ~/.profile/etc/profile: 用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的。 /etc/bashrc: 这个文件设置系统bash shell相关的东西&a…...