网络数据流还原重组技术研究
2011-03-17李芳馨刘嘉勇
李芳馨,刘嘉勇
(四川大学 电子信息学院信息安全研究所,四川 成都 610065)
0 引言
传输控制协议(TCP,Transmission Control Protocol)重组主要应用于安全产品中,入侵检测中尤为常见,还有各类防火墙等。但是由于现今由于网络数据流的激增,为了减少中央处理器(CPU,Central Processing Unit)的处理压力,各类安全产品都纷纷采取硬件实现。硬件实现的好处非常多,可以自己提供缓存,大量减少内核与应用的交互,而且提高包截获的速度同时准确进行包过滤。设计繁杂的采集卡甚至可以在硬件上实现TCP处理,但是同时带来的成本问题也比较惊人。
而重组软件中常常使用的是网络入侵检测开发库(libnids,Library Network Intrusion Detection System),由于设计问题局限于对单个文件的处理,不适于对数据流的不间断处理,同时对数据包的处理极容易出现差错。
1 数据流重组流程详解
大量的数据极有可能是同时到来的,并且杂乱无章,首要的工作是要对数据流的信息进行筛选。这部分的筛选条件包括有数据包长度,数据包头,数据包内容等。首先是要剔除无用杂乱的信息,其中不含内容成分的数据包包括有长度有限且不含有特殊标志位的纯确认字符(ACK,ACK nowledge Character)确认包、Internet控制报文协议(ICMP ,Internet Control Message Protocol)数据包,地址解析协议(ARP,Address Resolution Protocol)数据包等等,进行网络互连协议(IP,Internet Protocol)还原的话要对硬件地址(MAC,Media Access Control)头进行解析分辨,确认需要进行处理的IP协议包,这个过程中由于网络类型的缘故还可能要考虑点到点连接协议(PPPoE,Point-to-Point Protocol over Ethernet)数据包的解析。接下来进行TCP重组的重点首先是要分辨出各个连接,分辨根据是四元组。……
