论文部分内容阅读
在21世纪这个高度数字化和信息化的时代,互联网已经与人们的日常工作和生活密不可分,然而互联网却并不是一个安全的环境,它时刻受到各种恶意软件的威胁与侵害,其中传播速度最快并且危害最广的一种恶意软件就是蠕虫,因为蠕虫具有其它恶意软件没有的能够针对漏洞进行独立攻击与传播扩散的特性,使得每次新蠕虫的大规模爆发都给社会造成了巨大的经济损失。入侵检测系统的出现在一定程度上缓解了蠕虫对互联网的破坏,很多入侵检测系统都是基于内容进行检测的,会根据其特征库中存在的特征码对蠕虫进行检测并控制,但大多入侵检测系统对于新出现的或在其特征库中没有特征码的蠕虫的检测能力十分有限。因此,针对蠕虫特征码提取技术的研究有着非常重要的价值和意义。本研究分析了当前蠕虫特征码自动提取技术之后,针对其中效果较好的采用生物信息学中序列比对进行提取的方法进行了详细对比分析,发现有些算法提取蠕虫特征码结果的准确性还有待提高,根据其中的不足进行了改进。经典的全局序列比对Needleman Wunsch(NW)算法提取蠕虫特征码的结果偏向于全局策略,经常将局部连续的有效片段丢失。使用经典局部序列比对SmithWaterman(SW)算法提取蠕虫特征码的结果更倾向于局部策略,往往会遗漏全局信息。而针对SW算法改进后的Normalized Local Alignment(NLA)算法提取结果与原算法差别不明显,针对NW算法改进后的Contiguous SubstringsRewarded(CSR)算法,能够将具有一定局部连续性的特征码提取出来,但仍然对一些局部连续的特征码不能很好的进行提取,并且效率也比基于局部的算法在回溯时候要低很多。本研究在SW算法基础上增加了相邻连续匹配字符的激励函数和相邻连续空位的惩罚函数,得到了结合全局与局部策略的LocalAlignment with Global Strategy(LAGS)算法,使得改进后的方法具有局部算法的局部片段优先和快速回溯的优点,还具有全局算法的完整性。在最后通过实验对LAGS算法与NW算法、SW算法、NLA算法和CSR算法进行对比,使用误报率和漏报率以及特征码的完整性和碎片数进行评价,实验结果表明,使用LAGS算法得到的特征码结果具有更好的完整性,并且碎片数相对较少。