论文部分内容阅读
行为距离入侵检测系统的主要工作原理是比较两个功能相似的软件在处理同样的输入时所得到的结果的异同来判断其中一个软件是否被恶意软件所入侵。在构造此类入侵检测系统时,一般假定所选定的软件拥有足够相异性,以至于他们不会同时被同一个恶意软件所攻破。本文的前半部分通过针对2007年全年6000多个软件漏洞进行系统性分析来衡量这个假设的合理性。本文的后半部分则利用软件的相异性具体设计并实现了一个用于检测HTTP服务攻击的入侵检测系统来保护网络服务器软件的正常运行。用已有商业软件来构造软件相异性主要有两种方法:一种是利用可以提供相同功能的多款不同的软件(因而可以同时利用这些软件来构造入侵检测系统);另一种是利用运行在不同操作系统平台的同一款软件(即利用不同操作系统来构造相应的入侵检测系统)。本文的前半部分从这两方面分析现有的软件产品是否足以相异以至于可以构造有效的入侵检测系统,或同时部署多个相异软件来提高整个系统的抗攻击能力。本文从2007年全年的所有公布的漏洞软件这个样本入手来进行系统分析,分析的结果表明98%以上的功能相同的应用软件都可以用来有效地构造此类入侵检测系统,将近半数的应用软件可以通过同时运行在多个操作系统平台上来有效的提高系统的安全性。在验证了目前的大部分已有商业软件的相异性对于提高系统安全性上的有效性之后,本文进一步利用相异的可替代软件具体设计并实现了一个检测针对HTTP服务器软件进行HTTP请求攻击的入侵检测系统。该入侵检测系统通过监控服务器软件的输出和库函数的调用来计算并比较多个服务器软件之间的行为距离,从而可以有效地检测出其中任何一个服务器接收到的某个客户端请求是对该服务器的攻击请求。对于本文所实现的原型系统的三个相应的HTTP攻击请求的实验表明了该系统的有效性。最终值得指出的是:软件相异性的应用前景不仅局限于本文所设计并实现的入侵检测系统,而是在更广泛的意义上对于提高整个网络的安全性起着非常重要的作用。