论文摘要
蠕虫的快速传播给因特网安全带来极大的挑战,现有防御工具如入侵检测系统等通过匹配蠕虫数据包中的特征进行检测和防御,特征的获得又主要依靠专家人工对数据包和样本代码进行分析,导致从蠕虫被释放到其特征被分析获得往往需要较长的时间。这种防御机制可以阻止早期慢速传播的文件型病毒,却无法有效阻止在数天甚至数小时内就能在全球范围内传播的网络蠕虫,往往是当某种新蠕虫的特征被提取出来时,该蠕虫早已造成了巨大的损失。因此,这种被动的方法使得防御、分析、检测、响应严重脱节,已经无法及时有效的应对各种层出不穷的蠕虫,迫切需要研究新的蠕虫防御方法。对各种常见蠕虫的研究表明,由于蠕虫的自动攻击特性,蠕虫通信数据与大多数正常应用不同,具有节点间传播行为的相似性和传输数据的相似性,这就使提取蠕虫的特征成为可能,基于蠕虫特征提取技术的自动防御也成为新的研究热点,但已有的方法仍不完善,影响特征提取的质量和自动防御的效果。为了更好的实现蠕虫自动防御,针对其中关键问题进行了研究:针对蠕虫攻击代码基本不变的蠕虫,提出了一种内容分片统计的特征提取方法。使用基于滑动窗口的变长内容分片方法,以降低使用定长分片方法可能带来的较高漏报率,并提出一种基于攻击分析的多休止符变长分片方法,避免变长分片时易出现过长或过短分片对特征提取的影响;并提出一种在分片中加入位置信息的特征提取方法,从而提高所提取特征的质量。实验结果表明,该方法能够有效提取单态蠕虫的特征,降低系统资源消耗,并产生更准确的特征供后期防御系统使用。为躲避检测,多态蠕虫的攻击代码不断变形,其中不变部分的位置变化较大,使用提取单态蠕虫特征的方法难以取得好的效果。针对多态蠕虫的出现带来的挑战,提出了一种基于增量贝叶斯方法的多态蠕虫特征提取方法。使用广义后缀树算法提取出数据包中的特征子串,采用贝叶斯方法构造出多态蠕虫特征,并使用增量贝叶斯模型提高特征的质量。实验证明,该方法是能够有效的提取多态蠕虫的特征,解决了多态蠕虫特征变异的问题。网络流量数据中包括正常通信数据和蠕虫通信数据,要提高特征提取的效率,必须对流量数据进行有效分类。使用网络流挖掘技术进行前期过滤,提出了一种叶结点优先的二分多维聚类算法,有效降低后期处理数据量的同时提高了数据纯度,提出了一种基于随机性检验的蠕虫检测方法检测疑似蠕虫流量数据,供后期特征提取。实验结果表明该方法可以去除75%的流量,且过滤出的流量中主要是蠕虫数据,使后期的特征提取系统更加准确高效。根据蠕虫全球传播的特点,设计了适用大规模蠕虫防御的基于DHT技术的协同方法,进行分布式协同检测和防御,并研究了分布式聚合树算法的改进。实验结果表明,该方法提高在蠕虫传播初期检测出未知蠕虫的概率,有效地发现蠕虫活动并提取出准确的特征。基于上述方法,设计了基于特征提取技术的蠕虫检测和防御原型系统,给出了其中的主要模块的详细介绍。