基于多杀毒软件协同的病毒检测方法研究

基于多杀毒软件协同的病毒检测方法研究

ID:76082844

大小:3.88 MB

页数:67页

时间:2024-02-04

上传者:笑似︶ㄣ無奈
基于多杀毒软件协同的病毒检测方法研究_第1页
基于多杀毒软件协同的病毒检测方法研究_第2页
基于多杀毒软件协同的病毒检测方法研究_第3页
基于多杀毒软件协同的病毒检测方法研究_第4页
基于多杀毒软件协同的病毒检测方法研究_第5页
基于多杀毒软件协同的病毒检测方法研究_第6页
基于多杀毒软件协同的病毒检测方法研究_第7页
基于多杀毒软件协同的病毒检测方法研究_第8页
基于多杀毒软件协同的病毒检测方法研究_第9页
基于多杀毒软件协同的病毒检测方法研究_第10页
资源描述:

《基于多杀毒软件协同的病毒检测方法研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

分类号密级编号工学硕士学位论文基于多杀毒软件协同的病毒检测方法研究硕士研究生林志强指导教师顾国昌教授学科、专业计算机系统结构论文主审人刘海波副教授哈尔滨工程大学年月 分类号密级编号工学硕士学位论文基于多杀毒软件协同的病毒检测方法研究硕士研究生林志强指导教师顾国昌教授学位级别工学硕士学科、专业计算机系统结构所在单位计算机科学与技术学院论文提交日期年月论文答辩日期年月学位授予单位哈尔滨工程大学 ClassifiedIndex:U.D.C:ADissertationfortheDegreeofM.EngResearchofVirusDetectionMethodsBasedonMultiPleAnti一 哈尔滨工程大学学位论文原创性声明本人郑重声明本论文的所有工作,是在导师的指导下,由作者本人独立完成的。有关观点、方法、数据和文献的引用己在文中指出,并与参考文献相对应。除文中已注明引用的内容外,本论文不包含任何其他个人或集体己经公开发表的作品成果。对本文的研究做出重要贡献的个人和集体,均己在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。作者签字辫志纵日期训日哪月阳哈尔滨工程大学学位论文授权使用声明本人完全了解学校保护知识产权的有关规定,即研究生在校攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨工程大学有权保留并向国家有关部门或机构送交论文的复印件。本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本学位论文,可以公布论文的全部内容。同时本人保证毕业后结合学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈尔滨工程大学。涉密学位论文待解密后适用本声明。本论文口在授予学位后即可碗授予学位个月后口解密后由哈尔滨工程大学送交有关部门进行保存、汇编等。作者签字琳选私导师签字乍飞国易日期知年月,侣仰乙年月,习 基于多杀毒软件协同的病毒检测方法研究刁石摘丈的快速发展使计算机病毒的数量急剧增加,但病毒分析人员对计算机病毒的鉴定和排查依然是靠手工确定的,面对大量要处理的可疑文件并要做出快速反应,进行预处理显得非常必要。预处理过程中检测率和误报是两个非常重要的指标,虽然现有杀毒软件都想把这两部分做好,但检测率和误报始终是一对矛盾体。神经网络以其并行处理、自适应组织、联想记忆及容错和鲁棒性等特点,受到了广泛关注。其中神经网络模型是人工神经网络的重要模型之一,在文字识别、模式分类、文字到声音的转换、图像压缩、决策支持等方面都有广泛的应用。本文在深入了解病毒文件检测的过程和采用的主要技术手段的基础上,首先,提出了通过多杀毒软件协同对大量待检测文件进行预处理的病毒检测方法,此方法可在提高病毒检测率的同时,使误报控制在适合范围内。其次,在杀毒软件协同过程中,通过与神经网络的结合使最终判定结果更加精确,同时,针对病毒检测的需要,对算法容易遗忘旧样本和容易陷入局部最小值的缺点进行改进,使提出的病毒检测方法趋于合理。最后,通过对已经过验证的病毒文件和产生过误报的文件进行试验,对所提出的方法进行验证。关键字多杀毒软件协同病毒检测神经网络 基于多杀毒软件协同的病毒检测方法研究,,,一如,,,,,,,一,,一一一,,一,,,,,,拌一 基于多杀毒软件协同的病毒检测方法研究目录第章绪论……,……研究背景和意义……,……国内外研究现状……,……主要研究内容……,……本文组织结构……第章病毒检测技术及智能优化算法……。……计算机病毒原理……计算机病毒的基本概念……,……计算机病毒的发展……,……计算机病毒的工作原理……病毒检测技术简介……病毒检测技术……病毒检测技术的优缺点……特征码技术的应用……智能优化算法……,……巧人工神经网络……神经网络……,……,本章小结……第章基于多杀毒软件协同的病毒检测方法……多杀毒软件协同……,……多杀毒软件共同使用的简单应用……,……,病毒检测中的要点……多杀毒软件协同思想……,多杀毒软件协同的优点……检测结果的优化处理……神经网络的选择……,神经网络的流程设计……,本章小结…… 哈尔滨工程大学硕士学位论文第章基于多杀毒软件协同的病毒检测方法的改进……,……实验数据的准备……,……实验环境及杀毒软件的确定……病毒样本的搜集整理……多杀毒软甲协同及算法的实现……多杀毒软件协同的实现……算法的代码实现……评测中出现的问题……神经网络的改进……,……网络结构的优化……,……权值矩阵的初始化……本章小结……,……第章实验结果分析及结论……,,……算法学习期……算法工作期……,……测试实验样本……实验数据的统计……实验分析……对误报测试的实验数据的统计……本章小结……结论……,……参考文献……攻读硕士学位期间发表的论文和取得的科研成果……,致谢…… 第章绪论第章绪论研究背景和意义本课题是课题组与公司的大学合作项目“一,,的延伸研究。项目的主要内容是,尝试在预启动环境下设计实现基于云安全的漏洞扫描引擎。为了减少人工分析的需求,做了延伸研究在服务器端预先处理待检测文件,从而初步实现人工智能。经过几十年的发展,己经在社会政治、经济、文化、军事等领域中得到了广泛应用,并发挥着日益重要的作用。但与此同时,通过二传播的的计算机病毒以指数型增长,也给计算机用户带来很大的危害'〕。为了处理或拦截恶意程序,反病毒公司必须多渠道搜集海量的可疑文件并进行分析,而搜集到的可疑文件中,有很大一部分是己有的病毒或者是已有病毒的变形,真正意义上的新病毒只占了很少一部分,手工排除海量可疑文件中的病毒文件工作量很大,也给反病毒公司和病毒分析人员造成了巨大的麻烦,因此能够对大量数据进行预处理显得非常必要。通过本文提出的多杀毒软件协同的方法,可以对待检测文件进行初始扫描,通过监视和检测上传的可疑文件自动输出分析结果,给出待检测文件可疑程度的建议。对已有病毒检测率的提高有一定的帮助,节省了时间和人力成本,提高了分析效率。辅助分析人员发现和减少错误,使得病毒分析专家可以从枯燥重复的工作中解放出来。国内外研究现状有关病毒检测的研究,国内外一些杀毒软件公司、相关研究机构的研究人员作了大量研究,并己经取得了很大的成果。其中,一些值得借鉴的理论成果如下基于行为病毒检测,基于虚拟技术的病毒检测,基于图灵机形式化描述对计算机病毒的检测,基于集成神经网络的计算机病毒检测方法,基于关联规则的未知病毒检测方法的研究等。、基于行为病毒检测方法基于行为的病毒检测技术,就是利用病毒的特有行为特征来检测病毒的方法。其检测是一种新的思路,因为这种监控方式对新出现的病毒及其变种能够最大可能地提前报警,从而最大程度地使电脑使用者避免许多损失,基于行为的病毒检测技术较以往的病毒检测技术主要有以下一些优点既可以检测已知病毒,同时还可发现未知病毒 哈尔滨工程大学硕士学位论文不用构建庞大的病毒特征库在实现的过程中引入了虚拟技术,可以最大限度的保证系统本身的安全,但这种病毒检测技术也有一个缺点,那就是很难完全避免误报这种情况。、基于虚拟技术的病毒检测虚拟机技术是一种前沿的反病毒新技术,主要用来分析未知病毒和查、杀多态变形病毒,将采集到的病毒样本放到虚拟环境中执行。具体的思想是用程序代码虚拟,各个寄存器甚至是硬件端口,通过分析内存和寄存器以及端口的变化来了解程序的执行情况,当虚拟机技术加入病毒检测引擎中,但是该技术虚拟的执行速度比真正的慢多倍,所以在查、杀效率上有待于提高。采用虚拟机技术的反病毒检测引擎在实际工作中有很大的效率瓶颈问题。反病毒软件在使用虚拟机时,是将每个执行文件放入虚拟机中运行一段时间,发现异常后在代码还原的状态下继续使用特征匹配来检测病毒,因此,多数情况下,虚拟机的使用是浪费了机器效率来换取检测率。、基于图灵机形式化描述对计算机病毒的检测图灵机由一个有限状态控制器和一条无限长的存储带构成,控制器和存储带之间通过读写头来相互作用,在有限状态控制器的作用下,读写头在存储带上进行读、写和移动。开始时,存储带上只有输入串,其余存储单元为空。在算法的执行过程中,如果要在某个存储单元读、写字符,图灵机先将读写头移动到相应存储单元。从理论上讲,把判定过程中的“等价”从简单的“相同”定义为“功能的等价”就可以了,这一点验证起来相对复杂,但同样没有超出图灵机的计算能力,可以用这个条件进行判定。在实际应用中,判定两段代码是否功能等价需要大量的运算,但至少可以结合现有的软件模拟等技术进行一定程度的解决,此方法只是给出了一个理论上的定性的证明。在实践中可能会面临运算开销较大等问题。、基于集成神经网络的计算机病毒检测方法集成学习技术是机器学习的研究热点之一,而对神经网络的集成是集成学习的一个重要的研究方向。该方法可以显著地提高神经网络系统的泛化能力,被视为一种非常有效的学习方法。神经网络集成的泛化误差等于集成中个体网络的平均泛化误差和平均差异度之差因此要增强神经网络集成的泛化能力一方面应尽可能提高个体网络的泛化能力另一方面应尽可能地增大集成中各网络之间的差异。、基于关联规则的未知病毒检测方法数据挖掘是从大量数据中提取或“挖掘”出知识,具体说是对数据进行处理,从而 第章绪论获得隐含的、事先未知的、潜在的而又非常有用的知识,这些知识可表示为模式。数据挖掘方法有多种,其中比较常见的有关联规则、序列模式、数据分类、聚类分析等。利用数据挖掘在有效利用信息方面的优势,将病毒特征视为一类数据进行分析,能够从大量的数据中自动产生精确的适用的检测模型,使检测系统适用于未知病毒检测。此方法能够通过对以往的病毒文件和正常文件的学习提取出它们的特征码。找出其中的关联规则进而实现对病毒的检测。除此之外,很多学者还提出了与免疫算法相结合、与紧邻算法相结合等病毒检测方法。在病毒检测技术的实际应用中,各商业公司的主流反病毒技术各有千秋,均以多种技术配合在其产品中实施,用以达到最高的保护效果。反病毒领域对变形病毒和新型病毒的主动防御效果也还是不尽人意。启发扫描技术和虚拟机技术成熟安全,但是受制于现在的软件硬件能力,不能做到细致完善,且速度比较慢。启发式查毒技术可能引起较高的误报。主动防御技术可以接近完美的控制系统,但是智能化程度尚无法令人满意,其操作烦琐对用户要求也高。另外,正在开发的主动内核技术在多样性和不断升级的操作系统的环境下,嵌入的反病毒程序也需要不断升级。同时,它所嵌入的是各种己开发的反病毒技术,都有其自身的局限性,对未知病毒的预防也具有很大的局限性。目前看来,单一的技术无法应对各种未知威胁,技术的融合和并用将是未来几年内的趋势。至今,己有多杀毒软件协同使用的实际应用,主要有以下两方面,一是提供多杀毒软件在线检测的网站,二是美国密歇根大学研究院提出的“”。通过“”设想的初步实现和对病毒包的检测率可以看到,已有的商业杀毒软件在病毒检测覆盖上是有一定差别的,通过使用多杀毒软件对每个候选可疑文件进行分析,可以加强对恶意软件的检测,而通过每个杀毒软件之间检测信息的容错,在减少误报方面也可以有所建树。主要研究内容本文的主要研究内容由以下几部分组成。、病毒检测方法研究及多杀毒软件的使用杀毒软件的核心技术是特征码识别技术,也就是“杀毒引擎特征码匹配”。在理论上,国内外学者提出了基于神经网络的、基于行为的、基于程序语义等特征码识别技术。在实际应用中,简单特征码,广谱特征码,行为特征码,复合特征码等技术的联合应用比较广泛。 哈尔滨工程大学硕士学位论文面面面面面面面面面面面面面面面面面面面面面函面面函石石石石石亩`亩石函面对于特征码技术的改进,理论上的方法都是利用技术本身的优势,在容易发挥自己特长的角度进行改进,也都有一定的局限性。在实际应用中,除了简单特征码外,常用的方法也都是简单特征码在某些角度的改进,有其各自的优缺点,所以说现今的杀毒软件都是以简单特征码为基础,综合利用各种改进方法来实现其基本功能,只不过实现方式或采用的技术有所不同。综合已有信息可以得出,综合己有的病毒检测技术是可以实现的,而综合复用现有技术过程中,不产生冲突最好的办法就是先利用单体技术检测,再将检测结果进行优化处理。基于以上情况,论文提出综合利用多杀毒软件来完成可疑文件的预处理这一方法。多杀毒软件的协同应用可以尽可能的扩大病毒库,提高病毒检测的覆盖率,也可以通过优化过程中容错技术的应用,来减少检测可疑文件时出现的误报。、算法的选取及针对论文所需进行的改进进行结果的优化通常会有集合范围的问题,通过杀毒软件的检测结果可以看出,各杀毒软件对新近出现病毒的覆盖率有左右是相同的,也就是说各杀毒软件对病毒的覆盖还是有差异的,要想使最终的检测结果更加准确,集合的选取有很多需要注意的方面。集合的选取主要有以下三种,交集,并集,按照需求取折中集合,也就是交并集之间最符合需求的折中集合。应用在检测结果判定中,取交集时结果最为准确,但病毒覆盖面积较小取并集时可以扩大病毒覆盖面积,但判定的准确性降低、误判几率也会加大综合考证后可以得出,取优化的折中值是最可取的方法。对数据的优化处理主要是利用智能算法来实现,常用的主要有人工神经网络、遗传算法等,通过分析可知人工神经网络最符合需求,而人工神经网络中神经网络最适合,所以本文最终采用神经网络对杀毒软件的调用结果进行优化。算法具有很好的非线性映射能力、泛化能力、容错能力,从实践上证明神经网络的运算能力很强,可以完成许多学习任务,解决许多具体问题。但人们在使用过程中却发现,该类算法存在这样那样的局限,比如容易陷入局部极小值以及忘记旧样本的趋势等,这些局限性严重影响了算法的应用。论文中针对实际需求和样本特性等条件最终选取三层网络结构来减少网络复杂性,并对权值矩阵做了拆分,以利于减少对旧样本的遗忘和算法编程实现通过大量数据的处理完成权值初始化,使陷入局部最小值的概率和算法学习期的学习时间大大减少。 第章绪论本文组织结构本文的组织结构如下第章介绍课题的研究意义,简述杀毒软件杀毒技术的国内外的研究现状,引出本文将要研究的主要内容。第章对病毒和病毒检测技术进行简单介绍,分析了现有的计算机病毒检测方法,并对各种方法进行了详尽讲述和比较。对常用的智能算法简单介绍,对人工神经网络的选取做一定的分析。第章对多杀毒软件协同使用现状进行总结,提出基于多杀毒软件的病毒检测方法及设计流程,分析本文的需求,在理论上对本文方法进行改进,简介神经网络并加以利用。第章完成基于多杀毒软件的病毒检测方法的实现。搜集实验所需数据并加以分析利用,进行多杀毒软件的选取,完成杀毒软件自动调用并处理扫描结果,并通过实验对神经网络进行改进,对本文方法进行优化,最终完成本课题。第章完成对系统的测试,并进行性能分析,通过实例验证论文所采取方法的正确性,并指出存在的不足与改进。最后,对本论文的工作进行总结并指出本课题的进一步研究方向。 哈尔滨工程大学硕士学位论文 第章病毒检测技术及智能优化算法第章病毒检测技术及智能优化算法计算机病毒原理计算机病毒的基本概念计算机病毒通常是指可以自我复制,以及向其他文件传播的程序。计算机病毒的来源多种多样,有的是计算机工作人员或业余爱好者为了纯粹寻开心而制造出来的,有的则是软件公司为保护自己的产品被非法拷贝而制造的报复性惩罚。“计算机病毒”这一概念是年由美国著名科普作家“雷恩”在一部科幻小说的青春》中提出,年美国计算机安全专家“考因”首次通过实验证明了病毒的可实现性。年世界各地的计算机用户几乎同时发现了形形色色的计算机病毒,如大麻、圣诞树、黑色星期五等等。年全世界的计算机病毒攻击十分猖撅,其中“米开朗基罗”病毒给许多计算机用户造成极大损失。年在“海湾战争”中,美军第一次将计算机病毒用于实战。年出现针对杀毒软件的“幽灵”病毒,如一年首次出现针对微软公司的”宏病毒”。年被公认为计算机反病毒“宏病毒”年。年出现针对系统的病毒,如年被公认为计算机反病毒界的病毒年年归等完全通过传播的病毒的出现标志着病毒将成为病毒新的增长点。计算机病毒的发展、引导阶段年,计算机病毒主要是引导型病毒,具有代表性的是“小球”和“石头”病毒。当时的计算机硬件较少,功能简单,一般需要通过软盘启动后使用。引导型病毒利用软盘得启动原理工作,它们修改系统启动扇区,在计算机启动时首先取得控制权,减少系统内存,修改磁盘读写中断,影响系统工作效率,在系统存取磁盘时进行传播。年,引导型病毒发展为可以感染硬盘,典型的代表有“石头”。·可执行阶段年,可执行文件型病毒出现,它们利用系统加载执行文件的机制工作,代表为“耶路撒冷”,“星期天”病毒,病毒代码在系统执行文件时取得控制权,修改中断,在系统调用时进行传染,并将自己附加在可执行文件中,使文件长度增加。年,发展为复合型病毒,可感染和文件。 哈尔滨工程大学硕士学位论文、批处理型阶段年,伴随型病毒出现,它们利用加载文件的优先顺序进行工作。它感染文件时生成一个和同名的扩展名为伴随体它感染文件时,改为原来的文件为同名的文件,在产生一个原名的伴随体,文件扩展名为。这样,在加载文件时,病毒就取得控制权。、幽灵、多形阶段年,随着汇编语言的发展,实现同一功能可以用不同的方式进行完成,这些方式的组合使一段看似随机的代码产生相同的运算结果。幽灵病毒就是利用这个特点,每感染一次就产生不同的代码。、生成器阶段年,在汇编语言中,一些数据的运算放在不同的通用寄存器中,可运算出同样的结果,随机的插入一些空操作和无关指令,也不影响运算的结果,这样,一段解码算法就可以由生成器生成。当生成的是病毒时,这种称之为病毒生成器和变体机就产生了,具有典型代表的是“病毒制造机”。、网络、蠕虫阶段年,随着网络的普及,病毒开始利用网络进行传播,它们只是以上几代病毒的改进。在非操作系统中,“懦虫”是典型的代表,它不占用除内存以外的任何资源,不修改磁盘文件,利用网络功能搜索网络地址,将自身向下一地址进行传播,有时也在网络服务器和启动文件中存在。,病毒阶段年,随着和的日益普及,利用进行工作的病毒开始发展,它们修改,文件,典型的代表是,这类病毒的机制更为复杂,它们利用保护模式和调用接口工作,清除方法也比较复杂。、宏病毒阶段年,随着功能的增强,使用宏语言也可以编制病毒,这种病毒使用类语言,编写容易,感染文档文件。在和出现的相同工作机制的病毒也归为此类。、互连网阶段随着的发展,各种病毒也开始利用进行传播,一些携带病毒的数据包和邮件越来越多,如果不小心打开了这些邮件,机器就有可能中毒。年月日,前身印网络遭到蠕虫的攻击,导致瘫痪,其始作俑者为康奈尔大学计 第章病毒检测技术及智能优化算法算机科学系研究生莫里斯。年,出现的病毒是一个全新的新型病毒。这种病毒与下的传统病毒有很大不同,它使用面向的技术编制。该病毒是第一个直接攻击,导致硬件不能正常工作的计算机病毒。它主要感染的可执行程序,发作时破坏计算机芯片中的系统程序,导致主板损坏,同时破坏硬盘中的数据。年月出现的梅丽莎病毒,是第一个通过电子邮件传播的病毒,短短小时之内就使美国数万台服务器、数十万台工作站瘫痪,造成损失高达亿美元。年出现的“红色代码”病毒是一种新型网络病毒,其传播所使用的技术可以充分体现网络时代网络安全与病毒的巧妙结合,将网络蠕虫、计算机病毒、木马程序合为一体,开创了网络病毒传播的新路,可称之为划时代的病毒。出现当时导致了大量基于的服务器瘫痪。年月出现的尼姆达病毒则利用了诸多系统漏洞,其传播速度更快,感染能力更强。计算机病毒的工作原理病毒程序一般都是由三个基本的功能模块引导模块、传染模块和破坏模块组成。引导模块负责将病毒引入内存,使得传染和破坏模块处于活动状态。其中,传染模块又由传染条件的判断部分与传染功能的实施部分构成破坏表现模块又由发作条件的判断部分和发作功能的实施部分构成。受感染的程序首先执行病毒代码,第一行跳到病毒程序主体部分。第二行是一个特殊标一记,病毒可以通过它来平等目标程序是否已经感染了这种病毒。当调用程序时候,控制权转向病毒主体。病毒程序首先执行传染模块,查找可能未受感染的执行文件并感染它们。若干根据触发机制设定与否执行破坏模块。病毒检测技术简介计算机病毒学鼻祖早在年代初期就已经提出了计算机病毒的模型,证明只要延用现行的计算机体系,计算机病毒就存在“不可判定性”。检测病毒必须先搜集到病毒样本,使其成为已知病毒,然后剖析病毒,再将病毒传染的过程准确地颠倒过来,使被感染的计算机恢复原状。因此可以看出,一方面计算机病毒是不可灭绝的,另一方面病毒也并不可怕,世界上没有杀不掉的病毒。对付病毒最根本的方法是防止病毒进入系统。通常情况下,这个目标难以实现,加强预防措施只可以减少病毒攻击成功的次数。所以可行的反病毒方法是`、检测一旦感染就马上察觉,并能够确定病毒的位置。 哈尔滨工程大学硕士学位论文、识别一旦检测出病毒,就能够确定己感染程序里面的病毒类型。、删除一旦识别出特定病毒,就删除己感染程序里面的所有的病毒痕迹,使它恢复到最初的状态。从所有受感染的系统中删除该病毒,这样可以防止该病毒继续扩散。总的来说,反病毒技术的发展主要可以分为四代单纯扫描程序启发式的扫描程序活动俘获全方位的保护。第一代扫描程序根据病毒特征码来识别病毒。使用特征码的扫描程序只能检测己知病毒。第二代扫描程序不依赖于特定的特征码,它使用启发式经验规则来查找可能的病毒感染。其中一类扫描程序是查找病毒中经常使用的代码片段。第二代的另一种技术是完整性检查。它向每个程序添加校验和,如果病毒感染了程序一般会改变程序的校验和,那么完整性检查就会发现这种变化。第三代检测程序是一种内存驻留程序。对己感染的程序,它通过其中病毒的活动而不是它的结构来识别病毒。这种程序的优点是不必从大量的病毒中收集特征码和共同特征,它相应的只是识别一部分动作并加以干预。第四代产品是一个集成软件包,其中包括各种相互协调合作的反病毒技术、说明和活动俘获组件。另外该软件包还包含访问控制能力,能够限制病毒在系统中的扩散,从而防止病毒通过更新文件而传播感染。病毒检测技术有关可疑文件检测的研究,国内外一些杀毒软件公司和相关研究机构的研究人员作了大量研究并已经取得了很大的成果`。其中,常见病毒检测技术有特征码过滤技术、智能广谱扫描技术、启发扫描技术、虚拟机技术、主动防御技术等,其中特征码过滤技术这些年来一直被使用,并且是目前的主流病毒检测技术。下面分别介绍各技术细节。、特征码检测技术特征码是一串表明病毒自身特征的十六进制的字串,通过该特征码对各个文件或内存等进行扫描。特征码一般都选得较长,有时可达数十字节,一般也会选取多个以保证正确判断。商业反病毒公司在获取病毒样本后,提取出其特征码特征码最初指病毒体内可惟一代表该病毒的字符串作为特征码。如果发现这种特征码,这说明感染了这种病毒,然后可以针对性地解除病毒。通常按照以下思路选择特征码获取一个病毒程序的长度,根据长度可以将文件分为几份,一般是份一份,也可 第章病毒检测技术及智能优化算法以更多。分成几段获取特征码的这种选取方法的优点是,可以很大程度上避免采用单一特征码误报病毒现象的发生,也可以避免特征码过于集中造成的误报。从每份中选取通常为个或犯个字节长的特征串。在选取时,应该采取如下的原则首先,如果选出来的信息是通用信息,即很多文件该位置都是一样的信息,那么舍弃,调整偏移量后重新选取。其次,如果选取出来的信息是全零的字节,那么也要调整偏移后重新选取。调整的偏移量多少可以人为事先规定,也可以自动随机调节。最后,将选取出来的几段特征码及它们的偏移量存入病毒库,标示出病毒的名称即可。为了方便选取特征码,通常根据以上的思路编写出特征码提取程序,自动提取特征码并作为病毒记录存入病毒库。、智能广谱扫描技术特征码的获取不可能再是简单的取出一段代码来,而是分段的,中间可以包含任意的内容也就是在出现“掩码字节”的地方,出现什么内容都不参加比较,这就是商业公司宣称的广谱特征码的概念。为了躲避杀毒软件的检测,一部分电脑病毒开始进化,逐渐变形,每感染一次,就对自身变一次形,通过对自身的变形来躲避检测,这样源于同一种病毒的变种病毒大量增加,甚至可以到达天文数字的量级。大量的变形病毒不同形态之间甚至可以做到没有超过三个连续字节是相同的。这使得上面传统的特征码技术对抗乏力,病毒库急剧增加却没有较好的应对措施。为了应对这种情况,杀毒软件一般采用智能广谱扫描技术。虽然病毒本身可以组合自己的代码,但代码必然要在同一块堆栈中运作,只要在第一个特征码附近搜索第二个第三个,通过分散的特征码小片断来提高命中率,这样在极大程度上提高了特征码的通用性并降低了误判率。、启发扫描技术启发式扫描是通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特征来决定文件是否感染未知病毒。新病毒不断出现,传统的特征码查毒法完全不可能查出新出现的病毒。为了更好的检测病毒家族相关的恶意代码,启发式扫描技术产生了。因为病毒要达到感染和破坏的目的,通常的行为都会有一定的特征,例如非常规读写文件,终结自身,非常规切入系统底层空间零环等等。所以可以根据扫描特定的行为或多种行为的组合来判断一个程序是否是病毒。由于一个病毒总存在其与普通程序不一般的地方,譬如他会格式化硬盘、重定位、改回文件时间、修改文件大小、能 哈尔滨工程大学硕士学位论文够传染等等。这样,就可以对每一类病毒特征进行加权评估,譬如重定位分,格式化硬盘巧分,传染分。这样,如果一个程序拥有这个功能,他就得到了分。如果设定判断一个病毒的标准是分,那么这个程序在遇到采用了启发式扫描技术的杀毒软件时,杀毒软件就会报警发现新病毒。这种病毒判定方法就是启发式扫描技术的核心。、虚拟机技术所谓虚拟机技术,就是用软件先虚拟一套运行环境,让病毒先在该虚拟环境下运行,这样可以分析病毒的执行行为。随着病毒技术的发展,加密技术渐渐成熟起来,很多病毒的特征都不再那么容易提取,而且许多新生代的木马、后门、蠕虫病毒都开始使用加密技术来躲避检测,虚拟机查毒技术就是为对抗此类病毒出现。并且由于加密的病毒在执行时最终还是要解密的,这样在其解密之后可以通过特征码查毒法对其进行检测。虽然病毒通过各种方式来躲避杀毒软件,但是当它运行在虚拟机中时,它并不知道自己的一切行为都在被虚拟机所监控,所以当它在虚拟机中脱去伪装进行传染时,就会被虚拟机所发现。如此一来,利用虚拟机技术就可以发现大部分的变形、加密病毒和大量的未知病毒。、主动防御技术所谓“主动防御”。,就是全程监视进程的行为,一旦发现“违规”行为,就通知用户,或者直接终止进程。主动防御技术是最近几年才出现的新技术,同样,它的目的是为了对抗日益增加的未知恶意代码的威胁。目前单纯依靠“特征码技术”己经不能适应反病毒需求,主动防御技术类似于警察判断潜在罪犯的技术,在成为一个罪犯之前,大多数的人都有一些异常行为,比如“性格孤僻,有暴力倾向,自私自利,对现实不满”等先兆,但是并不是说有这些先兆的人就都会发展为罪犯,或者罪犯都有这些先兆。因此“主动防御”并不能发现病毒,它的成功率大概在之间。如果再加上传统的“特征码技术”,就可以极大的提高发现恶意程序的几率了。目前在国外,、、等杀毒巨头,都己经向“主动防御”“特征码技术”过渡了,这是杀毒软件的必然发展趋势。目前主动式防火墙是一个运用“主动防御”技术的典型例子,其实,防火墙就是在全程监视进程的网络行为,一旦发现违反规则的行为就发出警告,或者直接根据用户设定拒绝进程访问网络。当然,现在的防火墙一般都把系统网络进程比如,,等记在“收信名单”里,这些进程是默认允许访问网络的,如果禁止的话,操作系统就不正常了, 第章病毒检钡技术及智能优化算法这也是现在很多病毒和木马都喜欢使用远线程注入这些系统进程以突破防火墙而访问网络的原因。主动防御技术实现方法的理论依据如下一个程序里如果要实现自己的功能就必须要通过接口调用操作系统提供的功能函数,在里几乎所有的系统功能或第三方插件都是通过中断提供的,在里一般是通过里的提供,也有少数通过或提供。一个进程有怎样的行为,通过看它调用了什么样的就大概清楚了。例如,国际知名的杀毒软件卡巴斯基,大家可以在它的安装目录里和系统目录下发现它的相关驱动文件,这些驱动挂接了,等系统关键模块里的,从而对进程的行为进行监视的。主动防御技术的一般流程通过挂接系统建立进程的,杀毒软件就在一个进程建立前对进程的代码进行扫描,如果发现,,自定位指令一般正常软件不会有这些指令,就提示给用户,将选择权力交付给用户。如果用户放行,就让进程继续运行。然后监视进程调用的情况,如果发现以读写方式打开一个格式的文件,这说明该进程的线程有可能是感染文件的操作行为,就发出警告。同样,如果网络监视器发现收发数据违反了规则,也发出提示。如果进程调用了函数在其它进程中创建线程,也会发出警告。并且可以根据这些多方面结合来直接侦测确认一个木马程序。病毒检测技术的优缺点、特征码技术特征码技术在病毒发展的早期,特征码技术在对抗病毒方面发挥了巨大的作用,它今天依然是整个反病毒体制的最基本支撑技术。但现在变形技术己经被病毒广泛采用,它只能跟在病毒的后面,对未知病毒即病毒库中没有特征的病毒几乎不能检测。同时也对象口一病毒与病毒肘病毒这种可将自身变化千亿种,甚至无穷种变化的变形病毒无能为力。在这类病毒面前,单纯的特征码技术己完全失去作用。、智能广谱扫描技术广谱特征码技术在一段时间内,对于处理某些变形的病毒提供了一种方法,曾是对抗变形病毒的利器。但其缺点是使误报率大大增加,所以采用的这个技术目前已不能有效的对新病毒进行检测,并且还可能把正规程序当作病毒误报给用户。、启发扫描技术启发查毒技术是现在对付未知威胁的主要手段,通常伴随其它检测技术一起工作, 哈尔滨工程大学硕士学位论文比如主动防御。启发分析技术可以分析程序编码,来判定程序是否具有恶意。启发杀毒技术中最先进的动态启发分析技术会将应用程序的编码复制到杀毒软件的模拟缓冲区中,并使用特别的“技巧”模拟其执行启发式扫描比起静态的特征码扫描要先进得多,可以达到一定的未知病毒处理能力,但缺点是会有不准确虚警的时候。特别是因为无法确定是否一定是病毒,而不可能做未知病毒杀毒。、虚拟机技术虚拟机技术能够对未知病毒进行判别,对标准病毒准确率高,在对反虚拟机的变形病毒或加密病毒上,效果不理想且误报率高。尽管虚拟机技术在杀毒软件中应用很多。不过现在由于效率问题,只能解决部分问题,并且简化的虚拟机完整程度还远远不能和一般理解的的那种虚拟机相比。同时也因为效率问题,行为判断不能做得非常复杂。目前一些设计先进的病毒,能够识别出这种简化虚拟机环境和真实环境的差别,在这种环境下不发作或破坏虚拟机。、主动防御技术主动防御系统可以控制、限制进程行为,能够禁止更改或者添加注册表,能否拦截对文件的有害操作。当未知程序试图偷偷运行和修改系统关键数据时,它的行为就会被主动防御系统检测到,然后弹出警告,询问用户是否允许相关操作。如果用户拥有足够的软件和系统进程方面知识的情况下,利用主动防御系统软件能非常有效的防止木马或者病毒对系统的危害。运用得好甚至可以摆脱对传统杀毒软件的依赖。目前流行的行为杀毒其实就是主动防御系统功能的智能化,不过由于智能判断算法和行为数据库还需要完善。目前的主动防御技术很难的拦截恶意行为。表对各病毒检测技术的优缺点简单总结技术特征码技智能广谱特启发式扫描虚拟机技术主动防御技术名称术征码技术技术优点速度快,可检测部分误报率低,能检测对标准病毒判别准基于强大而完整的不能判别误报率高对未知病毒检测病毒进行判别未知病毒进行判别缺点准确率高变形病毒变形和变种病毒确率高,也可对未知虚拟机技术,能够对变形和加能力低对变形和加密病毒实现难度大,运行速密病毒判别率底,误报率高度慢综合以上分析可以得出,特征码技术及其扩展技术对已知病毒有较好的检测,另外,在技术难度、升级速度、对用户的要求以及误报方面都有很大的优势,归根结底,当今杀毒软件的核心技术还是特征码识别技术,也就是“杀毒引擎特征码匹配”,所以论文把解决问题的重心放在特征码识别角度和病毒库的扩大上。本文将着重介绍基于特征码 第章病毒检测技术及智能优化算法的杀毒技术特征码技术的应用特征码技术是现今杀毒软件用得最多也最广的杀毒检测方式,当然现实杀毒软件引擎技术在处理病毒分析病毒的时候,并不仅仅是这几种方法,但是总得来说,杀毒软件的核心技术是特征码扫描技术。目前国内、国际上的所有反病毒产品,都采用“特征码”技术作为最基础的反病毒技术,经过十几年的实践证明,这一技术是成熟、可靠、有效的反病毒技术。可以肯定地说,“特征码”绝对没有过时。特征码技术具有低误报率、高准确性、高可靠性等优势,其技术机理和执行流程也非常成熟,那就是通常说的“截获一反应一升级,,。总体来说,杀毒软件的工作流程是采集样本用户举报、杀毒厂商共享一病毒分析工程师截取特征码一特征码加入特征库一用户升级特征库。特征库匹配是检测已知病毒很有效的一项技术,也是杀毒引擎赖以工作的基础扫描、监控都需要调用特征库,所以一直被杀毒软件沿用下来。国内外无数反病毒工作者为截取病毒特征码付出了巨大努力,所有特征码都需要严格的测试和比对,否则极易造成误伤。很多人都把杀毒技术看得很神秘,其实无论杀毒软件的版本怎么升级、概念如何变化,基本的原理就是“杀毒引擎特征码匹配”,杀毒引擎是枪,特征码是子弹,子弹越多,能杀的病毒就越多。目前的病毒越来越多、传播越来越快,病毒检测的反应速度和处理能力也在不断提高。从整体上说,是可以满足目前的用户需求的。“特征码”技术的局限性是明显的,因为通过这种流程,它的解决方案总是滞后于病毒的出现,所以厂商都以频繁升级的方式提高它的时效性。在目前的技术条件下,以“特征码”技术为基础,以“行为判断”技术为补充,以“主动防御”为目标,从而形成一套集成各种技术的综合范防体系是最好的反病毒策略,来保护用户的信息安全。现在的策略是在不断强化以“特征码检测”为基础的“截获一反应一升级”防毒流程之外,不断加入检测未知病毒、阻隔未知危险的技术,从而达到“主动防御”的目标。智能优化算法寻求最优解是一个很难的过程,人们一般采用智能优化算法来解决这个问题。智能计算也有人称之为“软计算”,是们受自然生物界规律的启迪,根据其原理,模仿求解问题的算法。从自然界得到启迪,模仿其结构进行发明创造,这就是仿生学。 哈尔滨工程大学硕士学位论文这是人们向自然界学习的一个方面。另一方面,人们还可以利用仿生原理进行设计包括设计算法,这就是智能计算的思想。这方面的内容很多,如遗传算法、模拟退火算法、群集智能技术和人工神经网络技术等。、遗传算法遗传算法五,简称,是于年受生物进化论的启发而提出来的,是基于“适者生存”的一种高度并行、随机和自适应的优化算法,他将问题的求解表示成“染色体”的适者生存过程,通过“染色体”群的一代代不断进化,包括复制、交叉和变异等操作,最终收敛到“最适应环境,,的个体,从而求得问题的最优解或者满意解。是解决搜索问题的一种通用算法,其编码技术和遗传操作比较简单。目前,随着及计算机技术的发展,越来越得到人们的重视,并在机器学习、模式识别、图像处理、优化控制、组合优化、设计等领域得到了成功应用。迄今为止,遗传算法是进化算法中最广为人知的算法。、模拟退火算法模拟退火算法,简称的思想最早是由等提出的,年儿等将其用于组合优化。算法是基于迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法在某一初温下,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部优解能概率性地跳出并最终趋于全局最优。模拟退火算法是一种通用的优化算法,应用很广泛,它可以以较高的效率求解最大截问题、一背包问题、图着色问题、调度问题等等。目前已在工程中得到了广泛应用,诸如、生产调度、控制工程、机器学习、图像处理等领域。、群集智能受社会性昆虫行为的启发,计算机工作者通过对社会性昆虫的模拟产生了一系列对于传统问题的新的解决方法,这些研究就是群集智能,简称的研究。近几年,群集智能研究受到越来越高的重视。群集智能在没有集中控制并且不提供全局模型的前提下,为寻找复杂的分布式问题的解决方案提供了基础。在计算智能领域有两种基于群智能的算法,蚁群算法和粒子群算法。 第章病毒检测技术及智能优化算法蚁群算法蚁群算法,,又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由于年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。蚁群算法是一种求解组合最优化问题的新型通用启发式方法,该方法具有正反馈、分布式计算和富于建设性的贪婪启发式搜索的特点。由于这个算法利用了正反馈机制,使得较短的路径能够有较大的机会得到选择,并且由于采用了概率算法,所以它能够不局限于局部最优解。蚁群优化算法对于解决货郎担问题并不是目前最好的方法,但它提出了一种解决货郎担问题的新思路。由于这种算法特有的解决方法,它己经被成功用于解决其他组合优化问题,例如图的着色叩以及最短超串即卿等问题。粒子群优化算法粒子群优化算法〕是一种进化计算技术,由博士和博士发明。源于对鸟群捕食的行为研究。同遗传算法类似,是一种基于叠代的优化工具。系统初始化为一组随机解,通过叠代搜寻最优值。但是并没有遗传算法用的交叉。以及变异。而是粒子在解空间追随最优的粒子进行搜索。研究表明是一种很有潜力的神经网络算法,同时速度比较快而且可以得到比较好的结果。同遗传算法比较,的优势在于简单容易实现并且没有许多参数需要调整。目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域。、人工神经网络“人工神经网络”五,简称是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和智能行为的一种工程系统。早在本世纪年代初期,心理学家、数学家就提出了人工神经网络的第一个数学模型,从此开创了神经科学理论的研究时代。其后,、和等学者又先后提出了感知模型,使得人工神经网络技术得以蓬勃发展。人工神经网络是由大量类似于生物神经元的处理单元相互连接而成的非线性复杂网络系统。它是用一定的简单的数学模型来对生物神经网络结构进行描述,并在一定的 哈尔滨工程大学硕士学位论文算法指导下,使其能够在某种程度上模拟生物神经网络所具有的智能行为,解决传统算法所不能胜任的智能信息处理的问题。它是巨量信息并行处理和大规模并行计算的基础,神经网络既是高度非线性动力学系统,又是自组织自适应系统,可用来描述认知、决策和控制的智能行为。人工神经网络是一种非线性的处理单元。只有当神经元对所有的输入信号的综合处理结果超过某一门限值后才输出一个信号。因此神经网络是一种具有高度非线性的超大规模连续时间动力学系统。它突破了传统的以线性处理为基础的数字电子计算机的局限,标志着人们智能信息处理能力和模拟人脑智能行为能力的一大飞跃。人工神经网络人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络具有以下四个基本特征非线性非线性关系是自然界的普遍特性,而具有闭值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。非局限性一个神经网络通常由多个神经元广泛连接而成。非常定性人工神经网络具有自适应、自组织、自学习能力。非凸性一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。人工神经网络的工作原理如下人工神经网络首先要以一定的学习准则进行学习,然后才能工作。网络学习的准则应该是如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。神经网络常用于两类问题分类和回归。在结构上,可以把一个神经网络划分为输入层、输出层和隐含层,结构图如图所示。输入层的每个节点对应一个个的预测变量。输出层的节点对应目标变量,可有多个。在输入层和输出层之间是隐含层对神经网络使用者来说不可见,隐含层的层数和每层节点的个数决定了神经网络的复杂度。 第章病毒检测技术及智能优化算法隐含层图人工神经网络结构图、多层感知网络误差逆传播神经网络在年以和为首的科学家出版的》一书中,完整地提出了误差逆传播学习算法,并被广泛接受。多层感知网络是一种具有三层或三层以上的阶层型神经网络。典型的多层感知网络是三层、前馈的阶层网络,即输入层、隐含层也称中间层、输出层。相邻层之间的各神经元实现全连接,即下一层的每一个神经元与上一层的每个神经元都实现全连接,而且每层各神经元之间无连接。学习规则及过程它以一种有教师示教的方式进行学习。首先由教师对每一种输入模式设定一个期望输出值。然后对网络输入实际的学习记忆模式,并由输入层经中间层向输出层传播称为“模式顺传播”。实际输出与期望输出的差即是误差。按照误差平方最小这一规则,由输出层往中间层逐层修正连接权值,此过程称为“误差逆传播”。所以误差逆传播神经网络也简称叩网络。随着“模式顺传播”和“误差逆传播”过程的交替反复进行。网络的实际输出逐渐向各自所对应的期望输出逼近,网络对输入模式的响应的正确率也不断上升。通过此学习过程,确定下来各层间的连接权值之后就可以工作了。由于网络及误差逆传播算法具有中间隐含层并有相应的学习规则可寻,使得它具有对非线性模式的识别能力。特别是其数学意义明确、步骤分明的学习算法,更使其具有广泛的应用前景。目前,在手写字体的识别、语音识别、文本—语言转换、图象识别以及生物医学信号处理方面已有实际的应用。、竞争型神经网络它是基于人的视网膜及大脑皮层对刺激的反应而引出的。对于某一个输入模式,通过竞争在输出层中只激活一个相应的输出神经元。许多输入模式,在输出层中将激活许多个神经元,从而形成一个反映输入数据的“特征图形”。竞争型神经网络是一种以无教师方式进行网络训练的网络。它通过自身训练,自动对输入模式进行分类。 哈尔滨工程大学硕士学位论文竞争型神经网络及其学习规则与其它类型的神经网络和学习规则相比,有其自己的鲜明特点。在网络结构上,它一般是由输入层模拟视网膜神经元和竞争层模拟大脑皮层神经元,也叫输出层构成的两层网络。两层之间的各神经元实现双向全连接,而且网络中没有隐含层。竞争型神经网络的基本思想是网络竞争层各神经元竞争对输入模式的响应机会,最后仅有一个神经元成为竞争的胜者,并且只将与获胜神经元有关的各连接权值进行修正,使之朝着更有利于它竞争的方向调整。除了竞争的方法外,还有通过抑制手段获取胜利的方法,即网络竞争层各神经元抑制所有其它神经元对输入模式的响应机会,从而使自己“脱颖而出”,成为获胜神经元。除此之外还有一种称为侧抑制的方法,即每个神经元只抑制与自己邻近的神经元,而对远离自己的神经元不抑制。这种方法常常用于图象边缘处理,解决图象边缘的缺陷问题。竞争型神经网络的缺点和不足因为它仅以输出层中的单个神经元代表某一类模式。所以一旦输出层中的某个输出神经元损坏,则导致该神经元所代表的该模式信息全部丢失。、神经网络年美国物理学家陆续发表几篇论文,提出了叩神经网络。他利用非线性动力学系统理论中的能量函数方法研究反馈人工神经网络的稳定性,并利用此方法建立求解优化计算问题的系统方程式。基本的叩神经网络是一个由非线性元件构成的全连接型单层反馈系统,网络中的每一个神经元都将自己的输出通过连接权传送给所有其它神经元,同时又都接收所有其它神经元传递过来的信息。即网络中的神经元时刻的输出状态实际上间接地与自己的一时刻的输出状态有关。所以叩神经网络是一个反馈型的网络。其状态变化可以用差分方程来表征反馈型网络的一个重要特点就是它具有稳定状态,当网络达到稳定状态的时候,也就是它的能量函数达到最小的时候。如果把一个最优化问题的目标函数转换成网络的能量函数,把问题的变量对应于网络的状态,那么神经网络就能够用于解决优化组合问题。工作时其各个神经元的连接权值是固定的,更新的只是神经元的输出状态。对于同样结构的网络,当网络参数指连接权值和阀值有所变化时,网络能量函数极小点称为网络的稳定平衡点的个数和极小值的大小也将变化。因此,可以把所需记忆的模式设计成某个确定网络状态的一个稳定平衡点。当网络从与记忆模式较靠近的某个初始状态出发后,网络按工作运行规则进行状态更新,最后网络的状态将稳定在能量函数的极小点。这样就完成了由部分信息的联想过程。神经网络 第章病毒检测技术及智能优化算法的能量函数是朝着梯度减小的方向变化,但它仍然存在一个问题,那就是一旦能量函数陷入到局部极小值,它将不能自动跳出局部极小点,到达全局最小点,因而无法求得网络最优解,不过这可以通过模拟退火算法或遗传算法得以解决。神经网络神经网络也就是基于误差反向传播算法的前馈神经网络,它是一种反向传递并修正误差的多层映射神经网络,其采用的算法已成为目前最为常用的神经网络学习算法,绝大部分的神经网络模型都是采用算法或它的变化形式。年和等人提出并行分布处理的理论,同时提出了多层网络的误差反向传播学习算法,简称算法。这种算法根据学习的误差大小,把学习的结果反馈到中间层次的隐单元,改变它的权系数矩阵,从而达到预期的学习目的,解决了多层网络的学习问题。算法具有很好的非线性映射能力、泛化能力、容错能力,已在各个工程领域中取得了广泛的应用。从实践上证明神经网络的运算能力很强,可以完成许多学习任务,解决许多具体问题。、神经网络结构网络由输入层、隐层和输出层构成,每层由许多并行运算的简单神经元组成,这些神经元类似生物神经系统的神经元,网络层与层之间的神经元采用全互连方式,同层神经元之间无相互连接。虽然单个神经元的结构简单,功能有限,但大量神经元构成的网络系统所能实现的功能却是极其丰富多彩的。神经网络是一个非线性动力学系统,其特点在于信息的分布式存储和并行协同处理。在网络拓扑结构中,输入节点与输出节点是由问题的本身决定的,关键在于隐层的层数与隐层节点的数目。隐层处于输入层与输出层之间,作为输入模式的内部表示,即对一类输入模式中所含的区别于其它类别的输入模式的特征进行抽取,并将抽出的特征传递给输出层,因此,把隐层称为特征抽取层。这一特征抽取的过程,实际上也就是对输入层与隐层之间的权值进行“自组织化”的过程,即在网络的训练过程中,各层之间的权值从初始的随机值逐渐演变,最终达到能够表示为输入模式特征的过程。、算法思想年和完整而简明地提出一种囚的误差反向传播训练算法简称算法,系统地解决了多层网络中隐含单元连接权的学习问题,还对其能力和潜力进行了探讨。在年也提出过同样的算法。后来才发现'早在年的博士论文中曾提到过有关学习算法及其几种变形。 哈尔滨工程大学硕士学位论文算法的主要思想是把学习过程分为两个阶段第一阶段正向传播阶段,给出输入信息通过输入层经隐含层逐层处理并计算每个单元的实际输出值第二阶段反向过程,若在输出层未能得到期望的输出值,则逐层递归的计算实际输出与期望输出之间的差值即误差,以便根据此差调节权值,具体的说,就是可对每一个权重计算出接受单元的误差值与发送单元的激活值的积。因为这个积和误差对权重的负微商成正比又称梯度下降算法,把它称作权重误差微商。权重的实际改变可以由权重误差微商一个模式一个模式的计算处理,即它们可以在这组模式集上进行累加。反传算法有两种学习过程,这是由于在求导运算中假定了所求的误差函数的导数是所有模式的导数和。因此权重的改变方式就有两种一种是对提供的所有模式的导数求和,再改变权重。这就是训练期的学习方式,具体些说,对每个模式要计算出权重误差导数,直到该训练期结束时才累加,此时才计算权重变化■,并把它加到实际的权重数组上,每周期只做一次。另一种是由于权的修正是计算每个模式的导数后,改变权重并求导数和,这就是模式学习方式,它是每处理一个模式就计算出该模式的权重误差导数,更新,在处理下一个模式之前就把■加到原来的权重上。本章小结本章对病毒和病毒检测技术进行简单介绍,分析了现有的计算机病毒检测方法,并对各种方法进行了详尽讲述和比较。对常用的智能算法简单介绍,对人工神经网络的优势做一定的分析。通过这一章的阐述,为方法的提出提供了坚实的理论基础。 第章基于多杀毒软件协同的病毒检测方法第章基于多杀毒软件协同的病毒检测方法多杀毒软件协同多杀毒软件共同使用的简单应用至今,己有使用多杀毒软件的简单应用,应用主要有两方面,一是提供多杀毒软件在线病毒检测的网站,二是美国密歇根大学研究院提出的“”。、在线可疑文件检测的网站比较有名的多杀毒软件检测网站有翻仁`、一··、'和病毒信息网的一等。这些网站大多是非盈利性的,免费为广大网友服务,它通过多种不同厂家提供的最新版本的病毒检测引擎对上传的可疑文件进行在线扫描,并可以将检测结果显示出来,从而提供给您可疑程度的建议。同时这些网站为反病毒厂商提供可疑文件和分析报告,通过反病毒厂商更新他们的软件,让更多更为广大的用户受益。在线检测网站的一般流程为打开主页,选择你要上传的文件,选好文件后点击“发送文件”按钮。接着浏览器就会将你的文件上传到网站的服务器,并进行分析,稍后即可观察扫描结果,在扫描结果中会显示扫描的病毒数量,以及杀毒软件的名称、版本、病毒库日期和病毒的名称。如果显示为的话,则表示这个文件是基本上是安全的。有些网站在文件上传过程中,会自动通过校验对文件进行分析,如果所上传的文件己经过扫描,会自动跳转到一个“已分析文件”页面,点击“”链接或是“显示最新报告”按钮即可查看该文件的详细情况。在线检测网站为用户检测手中的可疑文件提供了很大的方便,但也存在一定的局限性。这些网站主要用于不定时突发的一次检测,并且更多的依赖网络,不能替代安装在个人电脑中的杀毒软件,并且不能实时的保护您的系统安全。最重要的是它们只能面向用户的单一或少量可疑文件的检测,而且只是简单的罗列最终的检测结果,没有结果分析,只能让用户凭自己的知识做决定,实际上,就算部分杀毒软件报告您上传的文件感染某某病毒、木马或者恶意软件,也并不代表您上传的文件一定有问题,因为这可能是某一款杀毒引擎的错误报警。在应用中,偏向有一定基础的用户,对大多数用户来说,有一定难度。、抗病毒云“”美国密歇根大学研究院正在研发下一代反病毒技术“”,也就是抗病毒云。 哈尔滨工程大学硕士学位论文通过把病毒分析转移到计算机“云”中,该防毒系统利用多重防毒引擎将侦测功能虚拟化与平行化,可显著增加整体的防护。这个计划是由电机工程与电脑科学系教授约翰尼安带领执行,并且已将这个新方法发表在第十七届安全国际会议上,目前已有不错的成果,但还是处于学术上的研究计划。抗病毒云主要是利用云计算模型,将病毒防护主要功能端转移到云端服务器,在服务器端,通过在虚拟机沙盒中运行的多种杀毒引擎进行组合防护,通过建立的网络流传感器在可执行文件进入到客户端之前进行检测。此外,抗病毒云相较于传统防毒软体更加快了处理速度、分析结果,也包括研究者所谓的“回溯侦测”。下面介绍抗病毒云的原理及研究成果。结构通过网络服务来进行可执行文件分析不是一项简单的任务,可疑的可执行文件必须被获取并隔离,那样它们才能被发送到上层的分析服务。分析服务必须有效,恶意软件必须被阻止执行。为了解决这些问题,本论文提出了一个包含两个主要部分的结构。第一个是基于主机的部分获取可执行文件并将它们发送到网络服务。第二个基于网络的部分鉴别恶意可执行文件并返回一个威胁报告到终端主机。如图所示为其提出的系统结构图。污一介套串黔吁,汁一、戒娜益脸华当甲丹目`沪联油螂、一、甲翻称,欲咖姗钾份邵祥书维。图系统结构图客户端的实现与可执行文件的鉴别和获取系统给出了一个轻量级客户端模块来检查写在磁盘上的可执行文件然后将它们发送到网络服务进行分析。通过扫描每个文件写入是否有一个有效的头来鉴别是否是可执行文件。接着使用一算法对可执行文件进行散列,然后与本地或远程的黑名单和白名单比对。本地白名单开始的时候包括通常的可执行文件来减少对远程白名单的搜索。如果散列值与黑名单和白名单不匹配,那么整个二进制文件会被安全的送到云服务中进行分析,客户端模块同样阻止那些被鉴别为恶意软件的可执行文件的运行。云中的可执行文件分析系统在网络服务部分并行运行多个引擎,而不是选 第章基于多杀毒软件协同的病毒检测方法月亩面亩亩亩面面面`面亩面面亩亩面面`奋石石石石石石亩奋`石石石``石石择一项单独的技术来检测恶意可执行文件。不同于基于本机的分析系统必须适应相对而言较紧张的存储和计算容量,服务器可以轻易的满足多分析引擎的资源需求,原型中使用个反病毒引擎和个行为分析引擎。分析使用多检测引擎并对每个可执行文件返回一个综合的威胁报告。从终端主机新进的可执行文件被分配到一个分配器。分配器负责将可执行文件传输到每个分析引擎,收集结果,然后把威胁报告返回给客户端。检测能力验证为了评估原型的检测能力,论文使用了从的恶意软件实验室得到的数据集。这个数据集包括种不同的可执行文件,实验首先用整个恶意软件数据集来分别测量每个引擎的检测率。为了保持一致,反病毒特征码被更新到同一天,单独引擎的检测率从最低的到最高的。接着查看使用多反病毒引擎分析相同恶意软件集的好处,通过在网络服务中使用所有个反病毒引擎,能够检测种可疑的可执行文件—检测率为。这样也表明了将混杂的检测系统合并为一个服务具有令人感兴趣的优势。、的一些问题反病毒云把以主机为中心的反病毒框架改变为提供可执行文件分析的网络云服务,初步结果显示它存在着潜力,可以极大提升对于现实恶意软件的检测。然而,还有几个方面需要进一步研究。首先,是未连接网络时的操作其次,可疑的软件以超出所选方法的多类型入侵最后,因为该系统整合了其他检测引擎,所以也存在这些引擎自身的不足。无论如何,既然这个结构是模块化的,改进的检测引擎是很容易整合到系统中的。反病毒云中多杀毒软件的使用在云端,通过轻量级客户端的使用,降低主机端监视软件的复杂度,减少客户端的计算压力和计算消耗,利用服务器的处理能力提高检测速度,利用多杀毒软件提高检测率,以网速换取计算机性能的提升,该论文给出了杀毒软件发展的新思路。病毒检测中的要点检测率和误报是杀毒软件评测中两个非常重要的指标,而在多杀毒软件的协同使用过程中,检测率的提高与否也是提及最多的问题,不过检测率和误报始终是一对矛盾体,在没有算法革新的情况下,追求高检测率的同时误报也会随之升高,降低误报后检测率也会受到影响。、检测率检测率'“是指在某段特定的时间内,检测出的事件占导致通行能力下降的总事件的百分比。在杀毒软件范围内的定义“〕是指对于一组确定的病毒样本文件所能检测到含有 哈尔滨工程大学硕士学位论文病毒的文件比例。、误报误报'】是指病毒防治产品将正常系统或文件报为含有病毒,或将正常操作报为病毒行为,误报率是指在某段特定的时间内,误报的事件信息占总事件信息的百分比,也就是杀毒软件将正常事件识别为攻击事件并对此行为报警的次数比例。误报是杀毒软件最担心的事情,也是难免的,任何杀毒软件都有可能出现误报和误杀,这是不可避免的,就像任何软件都存在漏洞一样,但在有保证的情况下,可以最大限度的去减少误报。产生误报主要有两种情况一是鉴定错误,把正常文件误认为病毒。比如一个网管软件,病毒分析员收集到一个文件后,如果分析认为存在不安全行为,极有可能将其判定为病毒。二是病毒特征提取错误引起的误报。如果工程师在提取病毒特征时,因疏忽而提取错误。比如病毒一般是用高级语言编写,如果疏忽提取了该编译器的部分特征,就可能将使用该语言编写的所有程序判断为病毒。针对检测率和误报始终的平衡问题,一般采用以下措施来解决添加特定规则序列来排除误报结合文件的其他信息排除误报修正检测算法采用白名单技术等等。多杀毒软件协同思想本文的目的是在病毒分析人员处理得到的可疑文件之前,预先把己知病毒排除,以利于减少病毒分析人员的手工劳动。分析现有技术,想提高检测率,或者说检测出更多病毒可行的方法有两种。建立一种新技术,通过技术的更新来提高病毒的覆盖面积,但建立新技术有一定的难度,一般情况下,新的检测技术都是某一公司或公司联合才能实现的,所需要的人力物力都是个人或小团队无法满足的,所以,短时间内,特别是硕士论文里很难实现并论证可行的,并且单一技术再怎么发展也有其局限性,想达到覆盖面更广是难上加难。整合现有技术,使其在整体上显示对某一单个技术的优势,通过单一技术间的互补来提高对某一问题的处理能力。通过整理己有杀毒软件的发展状况发现,如今的杀毒软件己经不得不采用外部数据库连接的方法来达到识别病毒的效果,这个步骤是整个杀毒过程中最慢的,但是不可否认,当前的杀毒软件对大量病毒的识别都是在这个阶段完成的。因此一个足够庞大的病毒库往往能够弥补杀毒引擎的不足之处,如今的杀毒软件或多或少都依赖着一个几十的病毒特征库来维持工作,杀毒厂商在杀毒引擎核心未进行关键修改时发布的病毒 第章基于多杀毒软件协同的病毒检测方法更新其实也就是为了往这个特征数据库中添加最新发现的病毒数据,以达到检测新病毒的作用。此外,各商业公司使用的主流反病毒技术各有千秋,均以多种技术配合,并在其产品中实施,用以达到最高的保护效果。虽然启发式扫描技术和虚拟机技术成熟安全,但是受制于现在的软件硬件能力,不能做到细致完善。主动防御技术可以接近完美的控制系统,但是智能化程度尚无法令人满意,其操作烦琐对用户要求也高。综合以上分析可以得出,目前,单一检测技术的使用无法应对各种威胁,技术的融合和并用将是未来几年内的趋势,而集合已有技术这个角度是有可能实现的。通过“”设想的初步实现可以看到,现在的商业反病毒软件在检测时病毒的覆盖面有很大的不同,通过使用多杀毒软件分析每个可疑文件,可以提供对病毒更好的检测。在融合并用现有技术过程中,使各技术在使用过程中没有冲突,最好的办法就是将检测技术按次序调用,最后整理并优化。另外,通过对杀毒软件检测结果的容错处理,在减少误报方面也可以有所建树。基于以上分析论文提出综合利用多杀毒软件来完成可疑文件的预处理这一方法。方法设计如下安装尽可能多的杀毒软件,通过程序设计将杀毒软件封装成一个整体,监控指定存放待检测文件的文件夹,当文件夹中有待检测文件时,自动调用已安装的杀毒软件进行检测,并打印相应检测结果,通过对这些检测结果的优化处理得到最终的检测结果,供病毒分析人员使用。多杀毒软件协同的优点检测可疑文件已经成为一个有挑战性的问题。虽然使用一个杀毒软件能够检测多种类型的可疑文件,但零日威胁和其他模糊攻击可以频繁的避开单个引擎,而针对某一杀毒软件的免杀技术也有很多,这些技术也可使相应杀毒软件在检测时失去效用,对于现有的杀毒软件而言,多杀毒软件的协同使用有以下优势。、更多就更好日常生活中,单一技术可以达到某些目的,但使用多种技术合理协同来完成的服务可以使任务完成的更好。在多杀毒软件协同方面,用多杀毒软件的同时使用来代替单个杀毒软件,每个添加的杀毒软件相当于一个附加的检测仪器,也可以说是在单个杀毒软件的基础上添加更多的扩展,这样广泛的分析可以显著的增加对于病毒文件的检测覆兰全门、保持单体简单 哈尔滨工程大学硕士学位论文在杀毒软件的使用中,通过多杀毒软件的协同,可以不用刻意的为提高某一杀毒软件的检测效果增加其复杂度。在各杀毒厂商的技术成面,每个杀毒软件都是几乎完善的,但不同的实现机制和侧重点使得各杀毒软件在检测不同类型的病毒文件时,有些许差距,通过多杀毒软的使用,可以结合各杀毒软件的优势,从而弱化杀毒软件在其不擅长领域的表现,使单一杀毒软件在其有限的资源内更好的发挥自己的长处。、分享就是关心当多个杀毒软件对检测覆盖有益时,检测结果间的关联信息是非常有用的。例如,如果一个杀毒软件发现一个未知可执行文件可疑,而这个文件已被反病毒引擎分类为恶意软件的可执行文件时,那么这个未知的可执行文件就可以被处理。这种关联信息的合理处置也可以使误判降低到一定程度。检测结果的优化处理进行结果的优化通常会有集合范围的问题,通过杀毒软件的检测结果可以看出,各杀毒软件对新近出现病毒的覆盖率有左右是相同的,也就是说各杀毒软件对病毒的覆盖还是有差异的,要想使最终的检测结果更加准确,集合的选取有很多需要注意的方面。集合的选取主要有以下三种,交集,并集,按照需求取折中集合,也就是交并集之间最符合需求的折中集合。应用在检测结果判定中,取交集时结果最为准确,但病毒覆盖面积较小取并集时可以扩大病毒覆盖面积,但判定的准确性降低、误判几率也会加大综合考证后可以得出,取优化的折中值是最可取的方法,对数据的优化处理可以利用智能算法来实现,神经网络的选择智能优化算法大多是针对局部搜索算法的缺点制定的,从不同角度利用不同的搜索机制和策略实现对局部搜索算法的改进,来取得较好的全局最优性能。这里通过结合各算法的特色和、优缺点和论文的需求分析各算法在本论文实现过程的优劣势,最终选择最合适的优化算法。、遗传算法的优缺点遗传算法具有良好的全局搜索能力,可以快速地将解空间中的全体解搜索出,而不会陷入局部最优解的快速下降陷阱。但遗传算法的局部搜索能力较差,容易导致单纯的遗传算法比较费时,在进化后期搜索效率较低。在实际应用中,遗传算法容易产生早熟 第章基于多杀毒软件协同的病毒检测方法面面面面面函面面面函画面面面面函面面面函函函面面面面面面画面函面收敛的问题。采用何种选择方法既要使优良个体得以保留,又要维持群体的多样性,一直是遗传算法中较难解决的问题。、模拟退火算法的优缺点模拟退火算法的优点主要有计算过程简单,通用,鲁棒性强,适用于并行处理,可用于求解复杂的非线性优化问题。但其缺点也是明显的,就是算法参数难以控制。如果降温过程足够缓慢,多得到的解的性能会比较好,但与此相对的是收敛速度太慢如果降温过程过快,很可能得不到全局最优解。、群集算法的优缺点群集智能的主要问题如下群集智能的思想是根据对生命游戏和生物观察得来的,是概念算法,从数学上对于它们的正确性与可靠性的证明仍较困难,现在所做工作也比较少。这些算法都是专用算法,一种算法只能解决某一类问题,各种算法之间的相似性很差。系统高层次的行为是需要通过低层次智能间的简单行为交互突然产生。单个个体控制的简单并不意味着整个系统设计的简单。系统设计时也要保证多个智能体简单行为交互能够突现出所希望看到的高层次复杂行为,这可以说是群体智能中一个极为困难的问题。、人工神经网络人工神经网络所构建的网络中的每个节点相当于一个神经元,该节点可以记忆、处理一定的信息,并与其他节点并行工作。运用人工神经网络求解一个问题是通过向人工神经网络的某些节点输入信息,各节点处理后向其他节点输出,其他结点接受并处理后再输出,直到整个网络工作完毕,输出最后结果。人工神经网络可以充分逼近任意复杂的非线性关系有很强的鲁棒性和容错性采用并行分布处理方法,可以快速进行大量计算可学习和自适应不知道或不确定的系统能够同时处理定量、定性知识。整理各智能算法的优缺点如表所示。 哈尔滨工程大学硕士学位论文表各算法的优缺点算法名称遗传算法模拟退火算法群集智能人工神经网络优点搜索能力强,具有计算过程简单,通只需要制定各种很强的鲁棒性、容错潜在的并行性,具用、鲁棒性强,适行为的实现规性、并行性,可学习和有可扩展性用于并行处理则,灵活性好自适应不确定系统缺点编程实现较复杂,算法参数难以控制大部分是专用算收敛速度慢、容易陷入不能及时利用反馈法局部极小值信息通过综合本文需求以及算法编程实现的复杂性,本文排除遗传算法由于模拟退火算法涉及的参数很多,并且对参数选择不好对解质量和运行时间的影响很大,而对参数的选择需要经验积累,所以本文排除模拟退火算法由于群集智能算法大部分是专用算法,而人工神经网络有很强的鲁棒性、容错性和自适应性,木文最终选择人工神经网络,通过人工神经网络对检测结果进行优化。常用的人工神经网络在节有所介绍,表总结出各神经网络的优缺点。表各神经网络优缺点网络名称神经网络竞争型神经网络神经网络并行处理,自学习和自无教师方式进行网络训练,自动具有稳定状态,能够解决优一缺点一适应性,较强的鲁棒性对输入模式进行分类优化组合问题和容错性容易陷入局部极小值,以输出层中的单个神经元代表函数陷入到局部极小值容易遗忘旧样本,学习某一类模式。一旦某个输出神经不能自动跳出,无法求得速度慢元损坏,该模式信息全部丢失。网络最优解分析本文对大量数据的处理过程,需要所选算法有一定的自学习性能和较强的鲁棒性、容错性,而神经网络可以很好的解决我们的需要,主要是因为网络有以下优点分布式的信息存储方式大规模并行处理自学习和自适应性较强的鲁棒性和容错性。所以本文选择神经网络,通过神经网络对检测结果进行优化。神经网络的流程设计数据预处理。将获得的所有数据特征转化为数字特征,然后对训练数据进行归一化处理。 第章基于多杀毒软件协同的病毒检测方法初始化。对权值矩阵赋初值,将样本模式计数器和训练次数计算器置为,总误差置为,确定隐含层个数,学习率设为一间小数,设定最多训练次数输入训练样本对,计算各层输出并汇总,计算理论输出。计算网络输出误差。设共有对训练样本,网络对应不同的样本具有不同的误差,可用其中最大者代表网络的总误差,也可以用其均方根作为网络的总误差。计算各层误差信号。调整各层权值。检查是否对所有样本完成一次轮训,若,计算器、增,返回步骤,否则转步骤。检查网络总误差是否稳定或者是否达到最大运行次数,若,转步骤,否则置,置,返回步骤。并且如果已经到了最大运行次数,但是误差不稳定,可适当增加运行次数。模型训练完成,将训练完成的模型的相关参数存储在文件中。输入将要预测的记录,根据文件中存储的参数就可以得到预测结果。、网络结构模型数学表达输入向量一,,…,,,一,。他隐层曰热输山出白向基量`一、少,,'少少,一'`,'少少,'一`',,少少爪尹输出层输出向量一,“,…,。、,…,口了期望输出向量一,,…,九,一,,输入层到隐层之间的权值矩阵,几,…,玲,…,嵘隐层到输出层之间的权值矩阵二码,叽,…,叽,…,码、各层计算对于输出层、、,,…,、一艺峥为二,,…,对于隐层均,,,…, 哈尔滨工程大学硕士学位论文。、一艺。,,…,其中,。为算法输出,为隐层输出,。为权值矩阵与前一输出乘积和,为单一一极性函数一工或双极性函数一、网络误差与权值调整输出误差定义乃一伪,、“,一矛、生,乙艺、一。、石将以上误差定义式展开至隐层一杏之二二。、、一、一,,一脚人一厂了粼·,”进一步展开至输入层一合艺、一艺,二一脸`二、一、堂〔、、全艺,,“解■一粉三万口犷'胭■一斤叹一一口衬分式中、。为实际输出与理论输出值,负号表示梯度下降,常数月任,表示比例系数。在全部推导过程中,对输出层有一。,,…,,…,对隐层有一,,…一,,…。本章小结本章介绍了多杀毒软件的简单应用,对多杀毒软件的协同使用进行分析总结,提出基于多杀毒软件的病毒检测方法及设计流程。分析本文的流程、数据需求,在理论上对本文方法进行改进。简单介绍了算法的基本原理,并提出了针对本文的神经网 第章基于多杀毒软件协同的病毒检测方法络流程。通过这一章的讲解分析,为方法的实现打下良好的基础。 哈尔滨工程大学硕士学位论文 第章基于多杀毒软件协同的病毒检测方法的改进第章基于多杀毒软件协同的病毒检测方法的改进实验数据的准备与专业评测机构相比,实验评测存在着诸多漏洞,这其中包括病毒收集、评测方式、数据收集整理等各个方面。具体如下病毒收集。病毒收集来自互联网,收集过后没有经过严格的测试分析,很多经由用户上报的文件并非病毒,甚至有的上报文件属于正常的软件文件或系统文件。本次评测中,所有病毒文件全部经过实验室和机构验证,通过分析代码和特征码认定文件是否为病毒,确保病毒包内所有文件均为病毒。由此,在评测第一关中即可杜绝虚假数据的客观因素。评测方式。评测采用国际权威的认证方式,不做动态扫描测试,只做静态扫描。在杀毒软件安装完毕后,监控所用文件夹,将病毒文件上传到指定文件夹。数据收集。权威结构的病毒测试结果,部分数据依赖于杀毒软件自身的扫描报告,但由于各安全产品对病毒文件的识别机制不同、病毒特征识别的差异、病毒统计方式的不同,造成原本只有个病毒文件,最后出现个检测数据结果这与病毒文件自身存在自解压文件也有关系。因此,本文采用相对比较简洁,但更为苛刻的方式只查看病毒包残留文件数。以上操作使得这些杀毒软件能够在一个合理、公平的平台上有一个相对客观的评测结果。实验环境及杀毒软件的确定、实验环境测试平台,脚本。系统配置且,,内存。、杀毒软件的确定安装可以利用的所有杀毒软件,除去无法解决软件间冲突的杀毒软件。整理从年月到月通过、一等病毒检测机构验证的病毒,对选取的杀毒软件进行测试,每天记录结果并按月总结整理。截止到月底时,检测数据完整的杀毒软件作为用于实验的杀毒软件。 哈尔滨工程大学硕士学位论文由于杀毒软件检测结果不全、病毒库更新不同步等主客观原因,导致某些杀毒软件在后续检测中被逐一去掉,剩下的用于实验的杀毒软件为及版、金山、、卡巴斯基及版本、、、微点。病毒样本的搜集整理搜集年月至年月经过测试的病毒样本和误报检测包,对各杀毒软件进行检测率和误报的统计,病毒样本基本维持在一左右,数据按搜集时间分为两部分,年月至月的统计结果用作算法学习期使用数据,年月至年月的统计结果用作算法工作期数据。论文工作量最大的部分也在此处体现,从准备试验开始,每天不间断的进行病毒检测和结果统计,并按月总结,统计结果经初始化处理才能被神经网络所使用,下列表中为年月至月杀毒软件检测结果汇总。年月至年月的统计结果在中体现。表年月杀毒软件扫描测试结果杀毒软件名称检测数样本总数检测率标准差测试天数测试者备注卡巴斯基日超时不计成绩金山明镜星空表年月杀毒软件扫描测试结果杀毒软件名称检测数样本总数检测率标准差测试天数测试者备注'金山明镜星空卡巴斯基微点红烧大馋豆 第章基于多杀毒软件协同的病毒检测方法的改进表年月杀毒软件扫描测试结果杀毒软件名称检测数样本总数检测率标准差钡试天数测试者备注金山卡巴斯基微点红烧大馋豆表年月杀毒软件扫描测试结果杀毒软件名称检狈数样本总数检测率标准差测试天数测试者备注金山卡巴斯基微点红烧大馋豆多杀毒软甲协同及算法的实现多杀毒软件协同的实现利用一软件搭建简易模拟服务器,利用服务器的通信功能,实现服务器与客户端的连通,以及上传下载功能。客户端通过作者编写的脚本文件,将可疑文件上传到模拟服务器指定位置。服务器端通过编写好的脚本文件对指定的文件夹进行监控,该文件夹只存放客户端上传的文件。当有文件上传时,脚本自动依次调用己安装的杀毒软件,杀毒软件进行检测后打印检测结果,并将检测结果重定向输出到指定文件中。关键代码如下,,加一”,,”,,恤,而””,,,”,,, 哈尔滨工程大学硕士学位论文,,””',”””川一””八入””'””'一,”””川,,”八丫入,,””,对各杀毒软件的检测结果进行提取,将同一文件名的检测结果汇总为一条,将汇总结果输出到相应文件,该过程通过脚本对文字的匹配实现。步骤如下,打开选定文档,,读取全部内容,,在内容中选择相应关键字后的数字,例如,调用卡巴斯基检测后报告中的、等关键词后的数字,识别后输出到相应文档备用。算法的代码实现、数据预处理当我们利用一些实际数据建立数学模型时,有时不能直接使用这些数据,而是要将这些数据经过预处理。本文同样也需要进行数据的预处理工作,中统计的杀毒软件检测结果不能直接用于网络,需要将扫描结果进行预处理,使其符合算法要求的格式。本文在数据预处理时,均采用归一化的方法。考虑到本文算法采用的激励函数为类函数,该函数在自变量处于饱和区时,收敛速度慢。因此将输入与输出数据变换在,之间,这样类函数在该区间内变化梯度增大,网络收敛速度提高,网络性能改善。具体算式是一尤、一任,、一式中,为原始数据,和分别为原始数据的最大值和最小值,为变换后的数据。与其相对应的数据逆变换算式为一一戈使用上式即可以还原出所代表的真实数据。本文中,如果杀毒软件判定待检测文件为病毒设定为,不是病毒设定为,没结果设定为,之后将每个待检测文件的检测结果变为一个数列。 第章基于多杀毒软件协同的病毒检测方法的改进、算法代码实现算法的主函数如下所示基本参数设定`读取训练样本初始化权、阂值第个学习样本输入第个样本教师信号一求净输入,输出一一误差分析找总误差屯卫,更新输出层权值,阂值一,更新隐含层权值,阂值新旧权值更新量交替学习次数大于设定值王误差大于可接受误差保存结果读取测试样本晓样本测试及结果直接输入测试 哈尔滨工程大学硕士学位论文评测中出现的问题通过年月至月的病毒数据对本文方法进行测试,在测评中出现一向两个问题对同一组数据检测后结果偏差较大。在学习过程中有时会发现,当学习反复进行到一定次数后,网络的全局误差减小的非常缓慢或是根本不再减小了,而此时网络的实际输出与期望输出还有很大的误差,这种情况就是陷入了局部极小点对较早时间的病毒检测时,检测率每个月都下降,为此,本文分析了病毒数据的组成和神经网络的缺点,最终发现出现问题的原因在神经网络本身。在本文采用的方法和评测过程中,神经网络主要体现以下两个缺陷权值矩阵的初始化过程中,一般总是希望初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的激励函数变化最大之处进行调节。故一般将权值和的初始值取一,之间的随机数,不过这样的取值会使权值的最初值和稳定值相差较大,造成最终数据的不稳定通过对新样本的学习,权值矩阵会逐渐变化,变化的结果就是更倾向于对新近样本的识别,而对旧样本有遗忘的趋势,这也是自学习网络的缺陷。神经网络的改进针对文中出现的两个问题,我们对采用的神经网络进行改进。网络结构的优化针对神经网络容易遗忘旧样本的缺点,我们将神经网络结构进行优化,使其在接纳新样本的同时,缓慢对旧样本的遗忘。、现有网络结构优化方法在神经网络拓扑结构中,输入节点与输出节点是由问题的本身决定,关键在于隐层的层数与隐节点的数目。对于隐层的层数,许多学者作了理论上的研究。和沙。曾指出有两个隐层,就可以解决任何形式的分类问题后来等人研究进一步指出只有一个隐层的神经网络,只要隐节点足够多,就可以以任意精度逼近一个非线性函数。一般来说,隐节点数的选取很困难,最好的方法是在网络的学习过程中,根据环境要求,自适应地调整自身的结构,动态地得到一个大小合适的神经网络模型。目前,优化网络采用较多的是网络的构造方法和剪枝方法。构造方法也称增长方法,是自底向上的设计方法,它在开始时设计一个小规模网路,然后根据网络性能要求逐步 第章基于多杀毒软件协同的病毒检测方法的改进面面面面面面面面面面面增加隐节点或隐层,直至满足性能要求。最著名的神经网络构造方法为级连相关算法和资源分配网络。剪枝方法采用自顶向下的设计,它先构造一个足够大的网络,然后通过在训练时删除或合并某些节点或权值,以达到精简网络结构,改进泛化的目的。最常用的剪枝方法有权衰减法和灵敏度计算法。、本文对网络结构的优化针对算法容易遗忘旧样本这一缺点,本文提出了将隐含层权值矩阵由一个扩展为两个,其中一个通过旧样本的原始统计值处理后得到,另一个通过新样本的训练后统计值处理后得到,算法中反馈的修改量只修改第二个权值矩阵,这样既对旧样本有较好的判定,又不会对新样本的判定产生太大的影响。修改后的神经网络结构图如图所不。实际输出图算法结构图添加第二个权值矩阵后,算法的理论输出也应该有所变化,将经过两个权值矩阵处理后的数据在做加权平均处理,正向输出依照以下公式,二,凡,…,·。,,二、,…,。、一艺二戈叽乃一再,一,,·`,,一去客无,脚一,',一其中二一兴十召表示神经网络第个输出,。。表示输入层和隐含层的连接权值,为表示神经网 哈尔滨工程大学硕士学位论文络隐含层的第个输出,为神经网络的输出。正向输出为算法输出的理论值,当算法处于学习期时,该值与样本的实际输出做运算得出误差值,当算法处于工作期时,该值为算法最终输出结果。主要功能实现如下一一一口口让一【」一,,伽,,,一权值矩阵的初始化,、标准初始化权值的方法神经网络权值的初始值对于网络训练是否达到局部最小、是否能够收敛以及训练时间的长短关系都很大。一旦初始值确定,就注定了网络收敛的方向。如果初始值太大,使。得。加门权后二的、输、入、落、如、。激。、励。二函新数的、饱、和,。二区,导。致其甘导二数、厂了、`非。。常小,、二而在、计二算。权、值,修、正公式中,因为刀正比于',故当'分时,则有刀刊,使得■、刊,使得整个网络调节过程就会趋向于停顿。所以,一般总是希望初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的激励函数变化最大之处进行调节。故一般将权值和的初始值取一,之间的随机数。经过反复的调整,获得稳定的权值。但这种选取方法很有可能使网络陷入局部极小。国内对此问题的研究不多,但国外对其在理论上的研究比较深入,并且得到了很好的应用。,、已有初始化权值的方法文献价绍了记一权值初始化方法,建立了初始权值同网络各层节点数的对应关系。文献「〕提出使用不等式和线性代数方法得到最优初始权值,保证输出神经元都处在非饱和区域。文献利用独立元分析方法从输入数据中提取显著的特征信息来初始化权值。文献〔」采用遗传算法来初始化权值,都取得了较好的效果。,、本文初始化权值的改进 第章基于多杀毒软件协同的病毒检测方法的改进针对神经网络容易陷入局部最小值的问题,本文设计将实验中统计数据经处理作为权值矩阵的初始值,这样,实际结果与理论结果的差值不会很大,实际结果也会维持在全局最小值附近,有利于训练的快速稳定。论文中权值矩阵有两个。第一个权值矩阵的初始值通过年月之前一年的检测率、误报率统计结果实现,这样的设计有利于降低网络对旧样本的遗忘速度,有利于对已有病毒的判断。统计已有数据可得,矩阵初始权值为【,,,,,,·,该矩阵每个月进行手动更新。第二个权值矩阵通过对年月以后杀毒软件的测结果实现,该矩阵通过神经网络的自学习完成更新,更新后可进行工作期的判断。这样的设计有利于在保持对旧样本有效覆盖的同时,保持网络对新样本的判定效力,以年月份为例,矩阵值为,,,,,,,以后随学习期每月自动更新。通过处理统计后的检测结果来确定初始化权值,用统计的方法赋初值可获得相对稳定的权值,这种方法可以减少权值的改变量,降低网络陷入局部极小值的凡率。本章小结本章主要完成基于多杀毒软件的病毒检测方法的实现。搜集实验所需数据,进行多杀毒软件的选取,完成杀毒软件自动调用并处理扫描结果,并通过测试对神经网络进行优化,最终实现本课题。代码的编写及注释参照脚本语言和语言设计规范完成。 哈尔滨工程大学硕士学位论文 第章实验结果分析及结论第章实验结果分析及结论本章将对论文中算法进行测试,并对测试结果做出分析。算法学习期、数据采集学习期的主要工作为,通过每天更新的病毒库检测结果来修改算法中相应权值,使权值处于相对稳定的状态,当误差量小于时权值达到稳定。使用年月至月经过测试的病毒样本对算法进行学习期测试,矩阵初始值为,,,,,,,经过学习期,将算法中保存的权值矩阵输出,得到的结果为月【,,,,,,月,,,,,,」月,,,,,,月,,,,,,月,,,,,,,」根据算法取值设定,月的训练结果作为算法工作期月的权值矩阵判定值之一。理论上,当所有的杀毒软件都判定待检测文件为正常文件时,最终的输出结果为,当所有的杀毒软件都判定待检测文件为病毒文件时,最终的输出结果由统计的权值矩阵决定,以月份为例,最终的输出结果为。而通过实验样本统计分析可知,当输出值大于时可判定待检测文件为病毒文件。、数据分析测试一般在一次之间达到相对稳定值,所得权值矩阵是对较近一个月出现新病毒检测率的一个客观体现,通过数据训练,隐含层权值的数据趋于稳定,后期训练权值变更幅度相对之前训练要小得多,这也从侧面反映了一个杀毒软件在静态扫描中对病毒的检测效果。算法工作期算法工作期的结果为待检测文件最终的判定结果,该结果直接决定了算法的好坏与否,是算法的验证过程和实用性的体现。 哈尔滨工程大学硕士学位论文测试实验样本使用年月至年月经过户八测试的病毒样本对算法进行工作期测试,权值矩阵为,,,,,,和【,,,,,,,每福一个月按节方法更新一次权值矩阵。实验数据的统计表年月检测率统计杀毒软件名称检测数样本总数检测率标准差测试者测试天数卡巴斯基金山明镜星空微点红烧大馋豆』直接扫描本文算法表年月检测率统计杀毒软件名称检测数样本总数检测率标准差测试者测试天数卡巴斯基金山微点红烧大馋豆直接扫描本文算法 第章实验结果分析及结论表年月检测率统计杀毒软件名称检测数样本总数检测率标准差测试者测试天数微点红烧大馋豆卡巴斯基』金一力圆谷光彦直接扫描本文算法表年月检测率统计杀毒软件名称检测数样本总数检测率标准差测试者钡试天数微点红烧大馋豆卡巴斯基圆谷光彦少巾就是帅金山直接扫描本文算法表年月检测率统计杀毒软件名称检测数样本总数检测率标准差测试者测试天数微点红烧大馋豆卡巴斯基恋亿晓一】金山直接扫描,本文算法 哈尔滨工程大学硕士学位论文表年月检测率统计杀毒软件名称检测数样本总数检测率标准差测试者测试天数微点红烧大馋豆卡巴斯基、金山』直接扫描本文算法实验分析以年月的检测率为例,单独杀毒软件的检测率从最低的到最高的“,而经过本文通过多杀毒软件协同实现的检测方法可以把检测率提高到,直接扫描的检测率则达到了。这其中的差距主要是因为本文方法对误判有一定的容错,单个杀毒引擎报告文件是病毒或者可疑产生的结果达不到设定的阀值。对误报测试的实验数据的统计通过提供的误报检测包对本文算法进行测试,检测包中文件均为潜在可能被误报为病毒的安全文件。统计值如表所示。表误报统计杀毒软件卡巴斯基金山直接扫描本文算法误报数虽然误报数和单个杀毒软件表现最好的卡巴斯基持平,但其报告的样本却是完全不一样,卡巴斯基误报的文件为··、、而本文检测方法误报的文件为、、、、,由于篇幅限制,其他误报样本不在此一一列出。通过每个杀毒软件的误报文件可以看出,本文检测方法可以有效地减少误报的产生,与采用的直接扫描方法相比具有极大的优势。分析以上统计数据可以得出通过本文方法,对采用的杀毒软件的判定结果进行优化处理后,病毒的检测率比单个杀毒软件使用时有了很大的提高,并对误判有一定的容错 第章实验结果分析及结论能力,可以使在可疑文件预处理过程中节省了时间和人力成本,提高病毒分析人员分析效率,使得他们可以从枯燥重复的工作中解放出来。本章小结本章主要对算法进行测试。首先,完成算法学习期的准备。其次,对系统进行病毒文件和误报检测包进行详细测试并进行性能分析。通过实例验证论文所采取方法的正确性。 哈尔滨工程大学硕士学位论文 基于多杀毒软件协同的病毒检测方法研究今士吞二曰护乙本文以提高病毒分析人员分析病毒效率为目标,进行了深入研究。通过总结分析可知需要处理的海量可疑文件中很大一部分是已知病毒,或者已知病毒的简单变形,而实际分析中,这部分病毒的排查工作是很耗费病毒分析人员时间的,如果通过一些技术手段对大量数据进行预处理,将这数据中已知病毒提前排除是一件很必要的事情,这可以让病毒分析人员把时间更好的利用到对未知病毒的判断上。取得的主要成果、掌握了杀毒软件开发原理和常用的病毒检测方法,对国内外杀毒软件的技术优势和优缺点有所总结,对现有多杀毒软件的使用方面有一定的改进,在算法的实现过程中,对特征码技术和病毒库匹配有了更直接的认识。、对常用的智能优化算法有一定研究,对各算法的应用范围和弊端有所掌握,实现了对人工神经网络从了解到应用的转变,对其快速进行大量计算、可学习和自适应方面有了更直观的感受,、在实验过程中,对算法的缺点进行了研究,同时针对本文的需求对神经网络进行了改进。、提出了本文总体的设计流程,实现了本文的设计,并进行了针对性的实验和钡」试。测试结果表明,本算法可以实现病毒检测率的大幅度提高,同时有效地控制误报的产生,在模拟真实的环境中可以实现预期提高分析效率的目标。下一步工作展望、将本文方法细节部分逐渐完善,例如,神经网络某些参数的设定值重新调整,使实验分析可以更加精确。、两次实验分别针对病毒文件和误报检测包进行测试,在时间满足的情况下,可以完成对这两种数据包的混合测试,也可以在混合包中添加正常文件,这样得出的检测结果更趋近于实际情况,实验效果会更好,也会提高本文方法的说服力。 哈尔滨工程大学硕士学位论文 基于多杀毒软件协同的病毒检测方法研究参考文献一即一陈桂生,张哲计算机病毒检测方法的分析商丘职业技术学院一页李果计算机病毒检测技术分析与对比设计信息化一页李江涛基于行为的病毒检测系统北京交通大学硕士学位论文自,,己知皿一玩尹们一「卿,,一【张波云,殷建平,张鼎兴等基于集成神经网络的计算机病毒检测方法计算机工程与应用,一一页赖英旭,刘增辉基于关联规则的未知病毒检测方法研究计算机工程与应用,一页狱周端,李娜,杨银堂恶意程序的检测和删除微电子学与计算机一页一··一一多一`【百度文库浅析杀毒软件开发原理之查毒引擎刀东方微点微点主动防御技术八·恤·【,,,,…即一 哈尔滨工程大学硕士学位论文卿,儿,,,一一,【」,一一」,」,,,儿,,叭厄·,【特征码一永远重要而永远被忽略的技术一一多引擎在线病毒扫描网刀恻呵,,一、七丑'刀侧巧罗咚王凌智能优化算法及其应用清华大学出版社一页,一页,一页,一页蒋腾旭智能优化算法概述人工智能及识别技术,一页咚曾文飞,张英杰,颜玲遗传算法的基本原理及其应用研究软件导刊一页王文君基于遗传模拟退火算法的频率指配算法研究装备环境工程一页【刘佰龙群集智能理论及其在多机器人系统中的应用研究哈尔滨工程大学博士论文一页【〕王果,戴冬群集智能算法研究现状及进展河南机电高等专科学校校报一页口周政神经网络的发展现状综述山西电子技术一页【」王爽,张鹰,吕瑞霞神经网络的算法改进及应用人工智能及识别技术一页李敏生,刘斌学习算法的改进与应用北京理工大学学报,一页【犯」左志强,陈永进,慈春令基于下的改进算法燕山大学学报, 基于多杀毒软件协同的病毒检测方法研究一页,,一,,砒一、恤,,一王磊,寥晓锋基于改进算法的入侵检测神经网络方法计算机工程与应用,,一页【认,,一,,一李振然,贾旭彩基于人工神经网络的短期负荷预测广西电力一页【,,'而,,一韩力群人工神经网络理论、设计及应用北京化学工业出版社一页,,己,,一【张海燕,冯天瑾新的组合激活函数网络模型研究青岛海洋大学学报,,一页【潘涛神经网络模型中活化函数对网络性能影响的研究安徽师范大学报自然科学版,一页刘盛平,韦云隆改进神经网络算法分析第七届联合国际计算机会议论文集上册,汕头大学出版社一页」杨安华,彭清娥,刘光中算法固定学习率不收敛原因分析及对策系统工程理论与实践,一页阵袁曾任人工神经元网络及其应用清华大学出版社一页」、乞,一柳,一、、,,即,一 哈尔滨工程大学硕士学位论文【〕,,一一,,一杨斌,聂在平,夏耀先等基于改进共扼梯度法的前馈网络快速监督学习算法电子学报,一页」认,·一,,一」,门,一一,,一【」王雪峰,冯英浚多层神经网络的一种新的学习算法哈尔滨工业大学学报,一页`一赵金,张华军自学习神经网络权值初始化的贝叶斯方法计算机应用,一页〔」陈华伟,年晓玲,靳蕃双向权值调整的前向神经网络学习方法计算机应用,一页 基于多杀毒软件协同的病毒检测方法研究攻读硕士学位期间发表的论文和取得的科研成果 哈尔滨工程大学硕士学位论文 基于多杀毒软件协同的病毒检测方法研究致谢在硕士论文完成之际,谨向在我攻读硕士学位期间所有帮助、指导、关心过我的老师、同学、朋友和亲人致以最真挚的感谢首先我要衷心感谢顾国昌教授、吴艳霞老师。本课题的选题、设计到论文的撰写的整个过程,两位老师给予了孜孜不倦的指导,多次询问进度,指导我的研究思路,精心点拨。正是两位老师在整个毕业设计过程中的耐心指导,才使我顺利完成了毕业设计和本论文。两位老师渊博的知识、严谨的治学态度和认真负责的工作作风都深深地影响着我。在此,我向两位老师致以最诚挚的谢意感谢项目组的其他成员,他们在项目中给予了我很大支持。感谢实验室的所有同学,在这两年多的时间里,他们给我带来了不尽的快乐。特别要感谢桂坤等人,及卡饭论坛上的兄弟,在我毕业设计进行的过程中不厌其烦的指导和无私的帮助,才使得我顺利的完成了毕业设计。感谢一起学习和生活的同学,与他们在一起攻克了诸多项目难题,除了自身能力得到提高外,还收获了珍贵的友谊,与他们在一起共同学习和生活的日子为我的研究生生活带来了很多快乐和回忆。最后,再次向所有曾经帮助、指导和关心过我的老师、同学以及我的亲友表达最诚挚的谢意。谢谢大家

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭