荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: hellsolaris (qq), 信区: Security
标  题: IDS欺骗之Fragroute(上)(6)
发信站: 荔园晨风BBS站 (Sat Nov  1 13:06:02 2003), 站内信件

IDS欺骗之Fragroute(上)(6)
作者:nixe0n    文章来源:www.cnsafe.net  2002年07月18日



3.2.2.TCP流重组问题

  对于入侵检测系统,最艰巨的任务是重组通过TCP连接交换的数据。TCP协议提供了
足够的信息帮助目标系统判断数据的有效性和数据在连接中的位置。TCP协议的重传机制
可以确保数据准确到达,如果在一定的时间之内没有收到接受方的响应信息,发送方会
自动重传数据。但是,由于监视TCP会话的入侵检测系统是被动的监视系统,因此无法使
用TCP重传机制。如果数据传输过程中,发生顺序被打乱或者报文丢失的情况,将加大其
检测难度。更严重的是,重组TCP数据流需要进行序列号跟踪,但是如果在传输过程中丢
失了很多报文,就可能使入侵检测系统无法进行序列号跟踪。如果没有恢复机制,就可
能使入侵检测系统不能同步监视TCP连接。不过,即使入侵检测系统能够恢复序列号跟踪
,也照样能够被攻击。

基本的重组问题

  某些入侵检测系统不使用序列号跟踪,它们按照收到数据的顺序重组TCP流,攻击者
只要把报文的顺序打乱,或者在数据流中加入目标系统根本不会接受的垃圾数据,就可
以是这种入侵检测系统失效。

高级重组问题

  即使入侵检测系统能够跟踪TCP连接的序列号,也照样无法保证某个报文段(即使序
列号是正确的)能够被目标系统接受。有很多问题可能是目标系统丢弃需要正确的数据。
最基本的就是IP和TCP插入问题,除此之外,还存在一些高层的问题也会是序列号正确的
数据被丢弃。

  最主要的问题是入侵检测系统必须知道被监视系统宣布的窗口大小。TCP包头的窗口
域标识TCP连接接收方能够接收的数据数量,能够防止发送方向自己的缓冲区发送太多数
据。如果收到的数据数量超过窗口的大小,这些数据就会被丢弃。而且,入侵检测系统
对窗口的化的反应比受监视系统的反应要慢些。如果在两者不一致的期间有报文到达就
会造成问题。

  另外,攻击者发送一些序列号相同而负载不同的报文也会对入侵检测系统的TCP流重
组造成问题,这些序列号相同的报文包头的各个域完全相同(除了校验和域)。很显然,
接收方只会处理所有序列号相同的报文中的一个,其它的都会被丢弃。但是,一般没有
足够的信息让入侵检测系统判断究竟哪个报文是有效的。而且,有些入侵检测系统经常
会接受无效的数据,攻击者可以先发送一些肯定会接收方系统拒绝的报文段,经过很小
的延迟之后发出有效的数据,会造成入侵检测系统后推序列号而无法接收有效的数据。

数据重叠

  和IP碎片一样,TCP报文段也可能非顺序到达,也存在重叠数据覆盖问题。而且,究
竟是新到数据覆盖先到数据也由接收方操作系统决定。例如,在NT4.0系统中,先到的报
文段会覆盖后到报文段的重叠数据;而Linux系统则相反。如果入侵检测系统和受监视系
统的处理方式不同,就会造成漏报。

  fragroute的配置选项tcp_seg size [new|old]可用于数据重叠和报文段大小的配置
。很遗憾,目前还没有出现专门的工具来判断目标系统数据覆盖的方式。

参考资料


Thomas H. Ptacek, Timothy N. Newsham Insertion,Evasion and Denial of
Service: Eluding Network Intrusion Detection、

Kevin Timm IDS Evasion Techniques and Tactics

W.Richard Stevens "TCP/IP Illustrated,Volume 1 The Protocols"



(责任编辑 赵正北)

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.44.223]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店