声明:
本课程内容均来源于B站up主泷羽sec,本文章只有学习作用,其他的导致后果与本人无关。如有涉及侵权马上删除文章。
简介:
通讯协议概念:
- 基本定义- 概念:通讯协议是双方实体完成通信或服务所必须遵循的规则和约定。它确保了通过网络连接的不同设备能够有效地交换信息和资源共享。- 组成要素:通讯协议主要由语法、语义和定时规则(时序)三部分组成。这些要素共同决定了数据如何格式化、传输以及在何时进行传输。
- 主要功能- 数据传输管理:通讯协议规定了数据的格式和传输方式,确保数据能正确、安全地从源头传送到目的地。- 错误控制处理:通过特定的算法和流程,通讯协议能够在数据传输过程中检测并纠正错误,保证数据传输的可靠性。
通讯协议本质也是由代码组成的,了解本质后协议怎么变都不会对咱去渗透它有影响。
潜在安全问题涉及的领域:
无线电安全,协议分析,web渗透,逆向分析。
具体表现:(web渗透方面)
⼀、保密性问题
在等保2.0出来之前,很多网站数据加密意识不强,现在一些老网站还有,用的是DES加密算法。现在基本都可以。
等保2.0:即网络安全等级保护2.0,是中国在信息系统安全领域实施的一项基本制度。主要分为定级、备案、建设整改、等级测评、监督检查几个步骤。
等保2.0的分级标准如下:
第一级(用户自主保护级):
适用于对信息系统安全保护要求最低的基本级别,主要针对个人或小型组织使用的信息系统。
第二级(系统审计保护级):
适用于需要保护的一般级别,主要针对提供公共服务的信息系统,如教育、医疗、金融等领域的信息系统。
第三级(安全标记级):
适用于需要较高安全保护的信息系统,这类系统一旦遭受破坏,可能会对社会秩序、公共利益造成严重影响。
第四级(结构化保护级):
适用于对安全保护要求较高的信息系统,这类系统通常涉及国家安全、经济运行等关键领域。
第五级(访问验证保护级):
适用于对安全保护要求极高的信息系统,这类系统通常涉及国家关键基础设施,一旦遭受破坏,可能会对国家安全造成严重影响。
数据泄露风险
许多通讯协议在设计时可能没有充分考虑数据加密,导致在传输过程中数据容易被窃听。例如,未加密的HTTP协议,攻击者可以通过网络监听获取传输中的敏感信息,如⽤户名、密码、信⽤卡号等。
弱加密算法的使⽤也可能导致保密性不⾜。⼀些⽼旧的加密算法可能存在已知的漏洞,容易被攻击者破解。例如,早期的DES加密算法,其秘钥⻓度较短,容易受到暴⼒破解攻击。
DES加密算法:
- DES是由IBM公司研发并由美国国家标准局于1977年公布的一种对称加密算法。
- DES使用的密钥长度为64位,但实际有效的密钥长度只有56位,其余8位用于奇偶校验。
- DES算法设计简单,易于实现,且加解密速度快。但由于密钥长度较短(实际有效长度为56位),容易受到暴力破解和差分攻击等威胁。
秘钥管理不善
加密通讯协议通常依赖密钥来保证数据的保密性。然⽽,如果密钥管理不善,如密钥泄露、密钥存储不安全等,就会使通讯的保密性受到严重威胁。
密钥的分发过程也可能存在⻛险。如果密钥在分发过程中被窃取或篡改,那么后续的通讯将不再安全。
⼆、完整性问题
数据篡改风险
bp抓包后可以实现最简单的篡改数据
攻击者可以篡改在通讯过程中传输的数据,破坏数据的完整性。例如,在网络购物中,攻击者可以修改订单金额或商品数量等信息,给用户和商家带来损失。
缺乏有效的数据完整性校验机制的通讯协议容易受到此类攻击。一些简单的通讯协议可能只进行基本的错误检测,而没有对数据的完整性进行严格的校验。
重放攻击
抓包获取cookie,利用XSS漏洞实现登录,现在简单的重复发送数据容易被封IP,通常用代理池进行配套使用
重放攻击指攻击者记录通讯过程中的数据,并在稍后的时间重复发送这些数据,以达到欺骗系统的目的。
通讯协议如果没有采取有效的防范重放攻击的措施,就容易受到这种攻击的影响。
三、身份验证问题
可以通过XSS伪造一个一模一样的网站,然后通过社会工程学进行钓鱼攻击
假冒身份风险
攻击者可以假冒合法用户或设备的身份进行通讯,获取敏感信息或进行非法操作。例如,在网络钓鱼攻击中,攻击者伪装成合法的银行网站,骗取用户的登陆信息。
通讯协议如果没有严格的身份验证机制,就难以区分合法用户和攻击者。
身份验证漏洞
一些通讯协议的身份验证机制可能存在漏洞,被攻击者利用。例如,某些协议可能使用简单的用户名和密码进行身份验证,容易受到暴力破解攻击。
身份验证过程中的中间人攻击也是一个常见的问题,攻击者可以在通讯双方插入自己的木马,窃取身份验证信息,然后冒充其中一方与另一方进行通话
中间人攻击(Man-in-the-Middle Attack,简称MITM攻击):
- 一种“间接”的入侵攻击,通过在两台通信计算机之间插入一台受控计算机,从而拦截、篡改和嗅探通信数据。
- 攻击方式:通常先截获客户端发送的请求,然后伪装成服务器与客户端通信,再伪装成客户端与服务器通信,最终实现对整个会话的控制。
- 例子:以DNS欺骗为例,攻击者通过伪造DNS响应,将域名解析为错误的IP地址,从而将用户引导至伪造的网站。
四、可用性问题
拒绝服务攻击
如果自身拥有大量数据包,很容易被DDOS攻击,这攻击无法防御,如果对方有大量肉鸡,比的就是谁先打跨对方
攻击者可以通过发送大量的无效请求或恶意数据包,使通讯系统陷入瘫痪,无法为合法用户提供服务。
例如,分布式拒绝服务攻击(DDOS)可以利用大量的僵尸主机向目标服务器发送海量的数据包,耗尽服务器的资源,导致服务不可用。
一些通讯协议可能对这种攻击缺乏有效的防范措施,容易受到影响。
分布式拒绝服务攻击(DDOS):
- DDoS攻击是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。
- 通常分为网络层攻击(ICMP Flood攻击、IP分片攻击)、传输层攻击(SYN Flood攻击、ACK Flood攻击)、应用层攻击(DNS Flood攻击、CC攻击)
协议漏洞导致的可用性问题
某些通讯协议的设计缺陷可能导致系统在特定情况下出现故障,影响可用性。
例如,协议中的死锁问题、资源泄露问题等都可能导致系统无法正常运行。
死锁问题:
- 定义:如果一组进程中的每个进程都在等待仅由该组进程中的其他进程才能引发的事件发生,那么该组进程就是死锁状态,
- 死锁的产生条件
- 互斥条件:某些资源一次只能被一个进程使用。
- 请求和保持条件:一个进程已经占有了至少一个资源,但又请求其他资源,而该资源已被其他进程请求或持有。
- 不可剥夺条件:已获得的资源在使用完之前不能被强行剥夺,只能在使用完后由进程自己释放。
- 循环等待条件:存在一个进程等待序列{P1,P2,…,Pn},其中P1等待P2占有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个闭环。
- 死锁的预防方法
- 破坏互斥条件:通过将资源分配给多个进程来避免互斥。
- 破坏请求和保持条件:要求进程一次性申请所有需要的资源。
- 破坏不可剥夺条件:允许进程在资源使用完毕后立即释放资源。
- 破坏循环等待条件:对所有资源进行排序,并要求每个进程按固定的顺序请求资源。
五、协议实现问题
编程错误
通讯协议的实现过程中可能存在编程错误,导致安全漏洞。例如,缓冲区溢出漏洞、内存泄漏等问题都可能被攻击者利用,从而破坏系统的安全性。
开发人员在实现通讯协议时,需要严格遵循安全编程规范(等保2.0 ),进行充分的测试和代码审查,以减少此类漏洞的出现。
缓冲区溢出:
- 定义:缓冲区是一块连续的计算机内存区域,用于临时存储输入或输出数据。当程序试图将更多数据放入一个缓冲区,而这些数据超过了缓冲区的容量限制时,就会发生溢出
- 攻击方式:通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的
内存泄漏:指程序在申请内存后,未能释放已经不再使用的内存,造成内存资源的浪费,最终可能导致程序运行速度减慢甚至系统崩溃。
第三方库和安全组件的安全问题
许多通讯协议的实现依赖于第三方库和组件。如果这些第三方库和组件存在安全漏洞,就会影响通讯协议的安全性。
开发人员需要对使用的第三方库和组件进行严格的安全评估,及时更新和修复发现的安全问题。
六、协议设计缺陷
缺乏安全考虑的设计
有些通讯协议在设计之初可能没有充分考虑安全因素,导致存在先天的安全漏洞。
例如,某些协议可能没有对数据的长度、类型等进行严格的限制,使得攻击者可以利用这些漏洞进行缓冲区溢出攻击等。
协议的设计可能过于复杂,增加了出现安全漏洞的可能性。复杂的协议往往难以理解和实现正确,容易出现错误和漏洞。
协议升级带来的安全风险
非必要不要升级协议
当通讯协议进行升级时,可能会引入新的安全问题。
例如,新的功能可能会带来新的攻击面,或者旧版本的协议与新版本的协议之间的兼容性问题可能导致安全漏洞。
当进行协议升级时,需要进行充分的安全评估和测试,确保新的协议不会引入新的安全风险。
七、移动通讯协议安全问题
无线网络的特殊性
不要链接陌生WIFI,很可能被监听
移动通讯通常通过无线网络进行,这使得通讯更容易受到窃听、干扰和攻击。
无线网络的信号可以在一定范围内被接收,攻击者可以通过监听无线信号获取通讯内容。
移动设备的移动性也增加了安全管理的难度,例如设备可能会连接到不可信的无线网络,或者在不同的网络环境之间切换。
移动应用的安全风险
移动应用通常使用特定的通讯协议与服务器进行通信。如果这些应用的开发过程中没有充分考虑安全问题,可能会导致通讯协议被滥用或攻击。
例如,应用可能会泄露用户的敏感信息,或者被恶意软件利用进行攻击。
移动应用的更新和管理也可能存在安全问题。如果应用的更新过程不安全,可能会被攻击者篡改,从而安装恶意软件。
八、物联网通讯协议安全问题
大量设备的管理难题
公司的打印机和监控基本上都是薄弱点
物联网中通常包含大量的设备,这些设备的管理和安全更新是一个巨大的挑战。如果其中一个设备被攻击,可能会影响到整个物联网系统的安全。
许多物联网设备的计算能力和存储资源有限,难以实现复杂的安全机制。
异构性带来的安全问题
比如公司里有AB两个机器,分别使用AB两个协议,A协议是老版本,存在一些漏洞,B是新版本,没漏洞,可以通过A机器入侵B机器,这在内网叫域渗透
物联网中的设备可能使用不通的通讯协议和技术,这增加了安全管理的复杂性。不同的协议可能存在不同的安全漏洞,需要采取不同的安全措施。
物联网中的设备可能来自不同的厂商,这些厂商的安全标准和实践可能不同,也会增加安全风险。
九、工业控制系统通讯协议安全问题
实时性要求与安全的冲突
机器异构性产生的一些问题,如系统版本不匹配
工业控制系统通常对实时性要求很高,这可能与安全机制的实施产生冲突。
例如,一些安全措施可能会导致通讯延迟,影响系统的实时性能。
在保障工业控制系统的安全时,需要平衡实时性和安全性的要求。
与传统IT系统的融合带来的风险
随着工业互联网的发展,工业控制系统越来越多地与传统IT系统进行融合。这使得工业控制系统面临来自传统IT系统的安全威胁。如病毒、恶意软件等。
工业控制系统的安全防护需要考虑与传统IT系统的集成,采取响应的安全措施。
总结:
1.协议中出现的漏洞要掌握,如XSS,缓存溢出,DDOS攻击。
2.加密算法要了解。推荐这篇文章13种加密与解密算法【一】-CSDN博客
版权归原作者 孤独者凡生 所有, 如有侵权,请联系我们删除。