论文部分内容阅读
网络蠕虫一直是互联网面临的最重大的威胁之一,与传统病毒相比,它传播速度更快,破坏性更强。多态蠕虫采用变形等技术改变字节序列的表现形式,能够躲避传统的基于特征码的入侵检测系统。因此,如何快速有效地检测多态蠕虫是网络安全领域的重要研究方向。本文在研究多态蠕虫的结构与执行行为的基础上,参考Polygraph系统架构,提出基于模拟执行的恶意行为检测模型,并重点介绍核心模块的原理和采用的算法。最后通过实验验证了该模型与算法的有效性。本文完成的主要工作:(1)基于模拟执行的恶意行为检测:在分析多态蠕虫执行原理的基础上,采用基于行为的检测方法,在CPU模拟器中执行网络可执行代码,并以GetPC Code和循环解密操作作为行为特征检测网络数据流,划分出可疑数据流和正常数据流。(2)基于最大流最小割理论的聚类:网络数据流通过恶意行为检测,产生的可疑数据流中可能包含多种蠕虫病毒,甚至包含正常数据,因此需要通过聚类去除噪音并将相似数据归为一类。然后,视每一类为一种多态蠕虫,对其提取特征码。本文为了提高聚类的效率,提出基于最大流最小割理论的聚类算法。该算法使用带权值的无向图表示可疑数据流间的关系,在此基础上采用Gomory-Hu算法计算出任意两条可疑数据的相似程度,然后将相似度高的可疑数据归为一类。通过对该算法与Polygraph系统的层次式聚类算法进行理论比较,表明该算法具有高效、高聚类质量的优点。(3)特征提取:通过恶意行为检测和聚类,过滤出多种蠕虫病毒。为了及时抑制蠕虫传播,需要在聚类后对每一类提取特征码。本文采用的特征提取算法首先提取比对序列中所有满足长度与次数限制的子串作为令牌,并使用令牌表示比对序列,然后采用Smith-Waterman算法提取多态蠕虫的特征码。该方法弥补了Polygraph系统可能丢失部分重要短序列的不足。(4)通过实验对模型的可行性和有效性进行验证。