论文部分内容阅读
网络中各种物理设施都需要相应操作系统的支持。操作系统类型作为一个重要的网络特征值,对于攻击者和网络管理者都非常有价值。一般情况下,具体的系统漏洞都与具体的操作系统类型、或具体操作系统的版本相关。因此对于攻击者而言,如果探测到攻击目标的具体操作系统类型及其版本号,就可能知道攻击目标存在的漏洞,进而利用漏洞实现其攻击、入侵的目的。另一方面,对于网络管理者,可以通过探测确定网络设施的操作系统类型及其版本号,进而确定网络设施是否有漏洞威胁。尽管每种操作系统在设计、实现时,都试图尽量避免各种已知的系统漏洞及缺陷,期望做到尽善尽美,毫无瑕疵。但事实证明,没有一种操作系统能够确保没有潜在的漏洞。在不同操作系统的使用过程中,都可能发现各种各样的漏洞,若攻击者利用这些漏洞,就可能会对网络设施造成致命的攻击。因此,本文对防御基于具体操作系统类型漏洞的攻击进行了研究。 本文主要讨论如何通过网络伪装来防御操作系统的真正类型及其版本被探测,进而避免遭受针对具体操作系统类型漏洞的攻击。在分析Windows 2000网络体系结构和操作系统指纹探测工具Xprobe2工作原理的基础上,基于NDIS中间层驱动设计并实现防御操作系统指纹探测的工具Anti-Xprobe2,具体工作如下: 对操作探测的类型进行了分类,介绍了国内外操作系统伪装的相关研究,根据参考文献对操作系统指纹和操作系统被动伪装的的相关定义,以及对Xprobe2的探测原理和实现的技术细节的深入研究分析,提出Anti-Xprobe2的设计原型。 考虑到Anti-Xprobe2具体实现的重要环节在于对网络数据包的截获,对Anti-Xprobe2开发运行所依赖的平台Windows 2000的网络体系结构进行分析,对Windows2000之上的各种数据包截获机制进行了研究和比较,提出基于NDIS中间层的数据包截获技术,通过对数据包伪装来防御Xprobe2对主机操作系统指纹的探测。在此基础上,设计了Anti-Xprobe2的总体框架,Anti-Xprobe2设计分为事件分离模块和伪装应答两大模块。事件分离模块对进出的数据包进行判断分离,将可被Xprobe2利用的探测数据包转发到伪装模块,其余数据包正常转发;伪装应答模块对数据包进行伪装应答处理并发送。本文最后给出了Anti-Xprobe2的具体实现细节,通过Xprobe2对Anti-Xprobe2系统的的实际探测,对其有效性进行了测试,达到了满意的效果,证明了Anti-xprobe2设计框架的合理性和可行性。