“泪滴攻击”也被称为分片攻击,它是一种典型的利用TCP/IP协议的缺陷,进行的拒绝服务攻击方式,由于第一个实现这种攻击的程序名称为Teardrop,所以这种攻击方式也被称为“泪滴”。
攻击特征:Teardrop工作原理是向被攻击者发送多个分片的IP包,某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象。
泪滴攻击原理两台计算机在进行通信时,如果传输的数据量较大,无法在一个数据报文中传输完成,就会将数据拆分成多个分片,传送到目的计算机后再到堆栈中进行*,这一过程称为“分片”。
为了能在到达目标主机后进行数据*,IP包的TCP首部中包含有信息(分片识别号、偏移量、数据长度、标志位)说明该分段是原数据的哪一段,这样,目标主机在收到数据后,就能根据首部中的信息将各分片重新组合还原为数据。
如上图所示,从客户机向服务器发送一个数据报文无法发送完成的数据,这些数据会被分片发送。
报文1、2、3是TCP连接的三次握手过程,接着4、5、6客户机向服务器发送三个报文,在这三个数据报文首部信息中,有每个报文的分片信息。
这就是报文*的信息:
PSH 1:1025(1024) ack 1, win 4096
PSH 1025:2049(1024) ack 1, win 4096
PSH 2049:3073(1024) ack 1, win 4096
在这个报文中,可以看到在第4、5、6这三个报文中,第4个发送的数据报文中是原数据的第1~1025字节内容,第5个发送的报文包含的是第1025~2048字节,第6个数据报文是第2049~3073个字节,接着后面是继续发送的分片和服务器的确认。当这些分片数据被发送到目标主机后,目标主机就能够根据报文中的信息将分片*,还原出数据。
如果入侵者伪造数据报文,向服务器发送含有重叠偏移信息的分段包到目标主机,例如如下所列的分片信息:
PSH 1:1025(1024) ack1, win4096
PSH 1000:2049(1024) ack1, win4096
PSH 2049:3073(1024) ack1, win4096
这样的信息被目的主机收到后,在堆栈中*时,由于畸形分片的存在,会导致*出错,这个错误并不仅仅是影响到*的数据,由于协议*算法,会导致内存错误,引起协议栈的崩溃。
泪滴攻击检测和防御检测方法:对接收到的分片数据包进行分析,计算数据包的片偏移量(Offset)是否有误。
反攻击方法:添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。
上一篇:
下篇预告:「网络安全」常见攻击篇(25)——死亡之ping 敬请关注
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved