专栏名称: 运维帮
互联网技术分享平台,分享的力量。帮主一直坚信技术可以改变世界,从毕业到现在干了15年运维,有许多话要和你说。
目录
相关文章推荐
运维  ·  再见,CDN 巨头:Akamai 宣布 ... ·  3 天前  
51好读  ›  专栏  ›  运维帮

TCP/IP协议竟然有这么多漏洞?

运维帮  · 公众号  · 运维  · 2021-03-09 17:20

正文

2020 年上半年中国互联网网络安全监测数据分析报告显示,恶意程序控制服务器、拒绝服务攻击( DDoS )等网络攻击行为有增无减。时至今日,网络攻击已经成为影响网络信息安全、业务信息安全的主要因素之一。

网络攻击是指利用网络存在的漏洞和安全缺陷对网络系统的软硬件及其系统数据进行攻击的行为。 TCP/IP 协议作为网络的基础协议,从设计之初并没有考虑到网络将会面临如此多的威胁,导致出现了许多攻击方法。由于网络中的通讯都源于数据包,通过对数据包的自动采集与解码分析,可以快速发现与追溯网络攻击。

TCP/IP 协议

业界通常将 TCP/IP 协议栈划为四层:即链路层、网络层、传输层和应用层。链路层主要用来处理数据在物理介质(如以太网、令牌环等)的传输,实现网卡接口的网络驱动程序;网络层采用 IP 协议是整个协议栈的核心,其主要功能是进行数据包的选路和转发,实现网际互联与拥塞控制等;传输层为主机间的应用程序提供端到端的通信,该层定义了两种协议即 TCP UDP ;应用层的主要功能是处理应用程序的逻辑,比如文件传输、名称查询和网络管理等,位于该层的协议有基于 TCP 协议的 FTP 文件传输协议、 HTTP 超文本传输协议和基于 UDP 协议的域名服务 DNS 等。



TCP/IP 协议模型层次结构图)

由于 TCP/IP 协议有四层且每一层功能、协议各不相同,因此针对不同协议层攻击方法也各不相同:

针对链路层的攻击,主要是对网络硬件和基础设施进行物理破坏或强行改变路由器路由; IP 协议与 ARP 协议是网络层最重要的两个协议,针对网络层的攻击,主要有 IP 碎片攻击、 ARP 欺骗等;由于 TCP 协议与 UDP 协议是传输层最主要的两个协议,因此针对传输层的攻击非常多,包括 DOS 攻击等;而应用层的协议是整个协议栈最多的,因此针对该层的攻击数量极为庞大,常见的如 DNS 欺骗等。

ARP 攻击

ARP Address Resolution Protocol ,地址解析协议),将网络主机的 IP 地址解析成 MAC 地址,每台主机设备上都拥有一个 ARP 缓存( ARP Cache , 通过检查自己的 ARP 缓存,然后进行判断(如果有,可以直接映射;如果无,可以广播 ARP 请求包);之后检查数据包中的目标 IP 地址是否与自己的 IP 地址一致,如果一致,可以发送 ARP 响应,告知 MAC 地址;当源节点在收到 ARP 响应数据包后,可以将得到的目标主机 IP 地址和 MAC 地址对映射表项添加至自己的 ARP 缓存中。


ARP 协议工作原理)

ARP 攻击就是通过伪造 IP 地址和 MAC 地址来实现 ARP 欺骗,通过在网络中制造大量的 ARP 通信量使网络阻塞,攻击者只要持续不断的发出伪造的 ARP 响应包就能更改目标主机 ARP 缓存中的 IP-MAC 条目,造成网络中断或中间人攻击,因此 ARP 攻击通常也被称作 ARP 欺骗。

尽管 ARP 攻击仅能在以太网进行且门槛很低,造成的影响却很大,比如会出现断网攻击、流量被限、账号被盗等情况。网络运维可以采取 ARP 防御机制,比如通过在交换机部署网络镜像,抓取可疑数据包分析,也可以结合 DHCP 侦听、 IP 源防护等技术,维护网络安全。

DoS 攻击

TCP 协议是基于流的方式,面向连接的可靠通信方式,可以在网络不佳的情况下降低系统由于重传带来的带宽开销。具体来说, TCP 连接的建立过程需要经历三个步骤,每一步同时连接发送端与接收端,俗称“三次握手”:发送端发出 SYN 包,进入 SYN_SENT 状态,表明计划连接的服务器端口以及初始序号,等待接收端确认;接收端收到 SYN 包,发送 SYN_ACK ,对发送端进行确认,进入 SYN_RECV 状态;发送端收到 SYN_ACK 包,向接收端发送 ACK ,双方连接建立完成。


TCP 的三次握手)

由于 TCP 协议是面向连接的传输控制协议,因此 DoS 攻击的主要目的就是使用户主机或网络无法接收或处理外界请求。比如通过制造大流量的无用数据,造成网络拥塞,使被攻击的主机无法和外界正常通信;利用重复连接缺陷,反复发送重复服务请求,使其无法正常处理其它请求;又或利用协议缺陷,反复发送攻击数据,占用主机或系统资源,导致死机等。

简单来说, DoS Denial of Service )拒绝服务攻击通常使用数据包淹没本地系统,以打扰或严重阻碍肯帮本地的服务响应外来合法的请求,使本地系统奔溃。 SYN flood 攻击是最常见的 DoS 攻击类型。攻击者将自身 IP 源地址进行伪装,向本地系统发送 TCP 连接请求;本地系统回复 SYN-ACK 至伪装地址,导致本地系统收不到 RST 消息,无法接收 ACK 回应,将一直处于半连接状态,直至资源耗尽。攻击者发送连接请求速度比 TCP 超时释放资源速度更快,利用反复连接请求,导致本地服务无法接收其它连接。解决 SYN flood 的最好方法就是做好防范策略,通过网络性能管理工具,自动筛选可疑数据包,缩短 SYN Timeout 时间,设置 SYN Cookie ,为每一个请求设置 Cookie ,如果短时间内收到某个 IP 的重复 SYN 报文,就认定为攻击,抛弃该 IP 地址。

DNS 攻击







请到「今天看啥」查看全文