您的位置:首页 > 理论基础 > 计算机网络

8、TCP报文重组合算法

2016-01-28 23:57 253 查看
8、TCP报文重组合算法
8.1、重组过程中存在的歧义问题
TCP重组算法需要考虑的一个安全问题是:在执行数据报重组的主机和用于监控主机的网络入侵检测系统(NIDS)间保持数据流的一致性问题。
在不需要重传TCP报文或在网络间有重复的数据包时,一个TCP可能获得一份数据的多个版本。同样,当一个TCP报文被传输时可能被重新封包,一个新收到的TCP报文可能与之前收到报文存在部分重叠。在上述所有这些情况中,就存在这样一个问题:当重组数据流时,应使用收到数据的哪一分拷贝进行重组。在正规条件下,所有的副本都完全相同,不管使用哪个副本,都能获得相同的数据流。然而,黑客可以发送包含其他数据的重叠副本,来避开NIDS的检测,这将使得重组的数据报文与监控系统的报文不同。[Ptacekand
Newsham, 1998]中对这个问题进行了详细描述。

正如RFC793[Postel,1981c]中第3.9节建议的,如果新到达的报文包含一部分已经接收了的数据字节,应使用这些数据的第一份副本重组应用数据流。应当注意到使用这些规则在某些情况下可能会对重组过程产生歧义。还有很多技术可以使黑客避开NIDS[CPNI,2008]。如果NIDS位于监控系统内,那么就很容易应对这些技术。因此使用NIDS来规范网络传输或采用其他规则能确保重组过程产生的报文和通过NIDS获取的报文保持一致性。
[CERT, 2003]和[CORE,2003]中介绍了一个由于在TCP流重组模块中不正确的序列号引起的比较流行的NIDS系统中的堆缓冲区溢出问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Netkill TCB TCP