基于程序语义的计算机病毒检测方法

基于程序语义的计算机病毒检测方法

ID:77664866

大小:4.72 MB

页数:59页

时间:2024-02-04

上传者:笑似︶ㄣ無奈
基于程序语义的计算机病毒检测方法_第1页
基于程序语义的计算机病毒检测方法_第2页
基于程序语义的计算机病毒检测方法_第3页
基于程序语义的计算机病毒检测方法_第4页
基于程序语义的计算机病毒检测方法_第5页
基于程序语义的计算机病毒检测方法_第6页
基于程序语义的计算机病毒检测方法_第7页
基于程序语义的计算机病毒检测方法_第8页
基于程序语义的计算机病毒检测方法_第9页
基于程序语义的计算机病毒检测方法_第10页
资源描述:

《基于程序语义的计算机病毒检测方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

分类号甲学校代码硕士学位论文基于程序语义的计算机病毒检测方法陈月玲指导教师贾小珠教授学科专毕名称计算机应用技术论义提文目期年月今日论文答辫月期年月答辫委员会主席刘云教授 摘要近几年计算机病毒以惊人速度蔓延,计算机安全越来越受到人们的重视,计算机反病毒技术也发展的越来越快。当今最新最先进的计算机反病毒技术,有主动内核技术、启发式代码扫描技术、虚拟机技术、基于免疫原理的病毒检测技术等。这些技术各有特点,但是应用起来仍然不够成熟。现有计算机反病毒软件虽然在对抗病毒方面发挥了巨大的作用,但是仍有不尽人意之处,尤其是对付未知病毒缺乏足够有效的方法。本文对操作系统下各种病毒的作用机理及当前病毒采用的各种新技术进行了深入的研究。并提出了基于程序语义的计算机病毒检测方法。首先,深入剖析了不同病毒代码的结构特点,总结出了不同病毒程序传染行为模式的典型语义特征,形成了描述其典型语义特征的语义关系框架。最后,进行了数据结构设计,模式库采用层次化的框架结构。这种存储方法完整、准确地描述了病毒程序传染行为的典型语义特征。具有较好的继承性、可扩展性和知识的一致性。其次,研究了如何抽取蕴涵在程序中的语义,进而形成描述程序语义的语义关系框架。从原程序到语义关系框架转换系统的算法和工作流程进行了详细设计。最后,对病毒检测系统的核心一一检测引擎进行了较为详细的设计与分析。最后,进行了病毒检测实验,结果表明该检测方法是一种较为有效的未知病毒检测方法。关键词计算机病毒,病毒检测,程序语义,框架抽取 ComPutervirusDeteetionMethodBasedonProgramSemantieABSTRACTReeentlyyears,一一,,,一一,,,,,,灿,,,,乡 目录第一章绪论····················……课题背景·············……”`”””””“选题的意义····················……卜…口主要研究工作···········……论文的结构与章节安排……第二章计算机病毒及其本质特性分析……计算机病毒的产生和定义……计算机病毒技术的发展……计算机病毒程序的基本结构模式……计算机病毒的本质特性分析……乙ZC21二病毒的基本机制···········……计算机病毒的传染机制……新一代计算机病毒的特点及发展趋势……本章小结……第三章计算机反病毒技术的产生、发展和现状……反病毒技术的产生与发展……几种新型的反病毒技术……主动内核技术···············……启发式代码扫描技术·······……虚拟机技术······················……基于免疫原理的病毒检测技术……其他反病毒技术····················……本章小结……第四章计算机病毒传染行为的典型语义特征及语义关系框架计算机病毒传染部分模块结构分析……传统计算机病毒传染部分模块结构分析……蠕虫传染部分模块结构分析……木马程序的结构和运行机制分析……计算机病毒传染行为模式的语义关系框架……语义关系框架的形成·……数据结构设计·····················……本章小结……第五章基于程序语义的计算机病毒检测方案的设计……本方案的理论基础、基本思想及主要特点…… 本方案的理论基础……任乙庄座廿比庄认庄任月马口月几人工孟上止仄住乙门勺廿讨山门一月了'︵本方案的基本思想及主要特点……,………,…………………`…,…`…,…,………,……`,…………程序语义关系框架抽取系统模型和工作流程转换系统模型……框架抽取基本思想……数据结构设计……语义关系框架抽取系统工作流程……病毒检测引擎设计……算法设计与分析……算法描述……检测引擎工作流程……实验结果与分析……本章小结……总结与展望·············……参考文献……附硕士期间己发表论文……致谢……学位论文独创性声明、学位论文知识产权权属声明 第一章绪论第一章绪论课题背景自年第一台出现以来,个人计算机经历了飞速发展的过程,己经从当初少数科学家、工程师的专利发展为与我们每个人的日常工作、生活密切相关的工具。计算机技术的迅猛发展给人们的工作和生活带来便利的同时也带来更多的不安全隐患。令人惊异的是,在个人计算机发展的二十多年里,将近五分之四的时间都在与计算机病毒相伴个人计算机上第一个病毒出现在年。在今天,随着计算机软、硬件技术和网络的飞速发展,计算机病毒不但没有被减少,反而有愈演愈烈的趋势,严重地威胁着网络的正常运行和重要信息的安全。这些安全威胁给整个社会带来了巨大的经济损失,美国集团日前发表一项调查报告表明川,年病毒造成的经济损失超过了亿美元,年则将超过亿美元。从图中我们可以看出,计算机病毒造成的经济损失几乎成线性增长,可见对于计算机病毒的研究己经到了刻不容缓的地步。如近几年的病毒、冲击波、震荡波等病毒蠕虫的流行,造成大量的计算机不能正常工作,甚至丢失数据。其中的爆发造成全球六千万台电脑受到破坏,大量重要资料无法复原,情况严重者,连计算机主板硬件也不得不更换〔,。在国外,甚至还把计算机病毒作为信息战争的新型武器〔习。年,在“海湾战争”中,美军第一次将计算机病毒武器用于实战,在空袭巴格达的战斗中,成功地利用病毒破坏了对方的指挥系统,使之瘫痪,保证了战斗顺利进行,直至最后胜利。因此,深入地研究病毒技术,研究更好的检测病毒的方法,研究更强的防范和对抗病毒的技术,对于保证计算机系统的正常工作,保护重要信息的安全,乃至对于信息社会的稳定发展都有着重要的意义。 青岛大学硕士学位论文计算机病毒造成的损失亿美元年图计算机病毒造成的经济损失选题的意义当前的计算机病毒检测技术主要基于特征码检测法〔〕,其基本思想是提取己知病毒样本的特征,并将此特征添加到病毒特征库中,在病毒检测时通过搜寻病毒特征库查找是否存在相匹配的病毒特征来发现病毒。这种检测方法的优点是对于已知病毒的检测效率较高缺点是先有病毒,后有杀毒,反病毒软件必须随着新病毒的不断出现而频繁更新版本,并且这种方法对于新病毒和变种病毒无能为力,特别是随着病毒技术的发展加密和变形技术的运用,使得这种简单的特征码扫描方式失去了作用。另一方面计算机病毒为对抗计算机反病毒技术,不断更新反检测技术,比如隐藏技术、反跟踪技术、变形技术等。这些技术的运用都对反病毒技术带来严重的挑战。相对而言计算机病毒技术领先于反病毒技术。况且目前很多高级病毒不再持有以往绝大多数病毒那种“恶作剧”的目的,它可能主要是人类在信息社会投入巨资研究出的、可扰乱破坏社会的信息、政治、经济 第一章绪论秩序等、或是主宰战争目的的一种“信息战略武器”〔,。因此,如何及时快速地检测出完全未知的新病毒是目前需要迫切解决的问题。为解决这一问题,本文从程序语义层的角度进行分析研究。程序的语义简单的说就是程序的含义,即一个程序执行的结果说明了该程序的语义。蕴涵在源代码中的语义是程序的语法和词法的隐表达,它是软件编制者的设计意图与设计决策在软件设计过程中的体现,从程序的语义中抽取软件编制者的设计意图是一条直接有效的途径。从这一角度出发探索未知病毒检测方法具有十分重大的意义。程序经语法分析后可以清楚地得出其语义的表达,理解出程序段的行为目的,进而建立描述程序行为的层次结构一一形成程序段间的语义关系框架,把程序静态行为的迁移与动态行为的变化融汇于层状结构之中,这种层状结构逐渐将程序语义显现出来,从而得出程序执行的结果或目的。本文基于上述思想提出了基于程序语义的计算机病毒检测方法。经研究表明该方法能达到有效检测未知病毒的目的。主要研究工作论文的主要工作重点是解决以下三个问题深入剖析系统下本文主要是研究系统下的病毒及反病毒技术,本文所提到的病毒只要不特别说明均指系统下的病毒各种病毒的作用机理及当前病毒采用的各种新技术尤其加密、变形技术,从而总结出病毒程序的典型语义特征,形成描述其典型语义特征的语义关系框架如何抽取蕴涵在程序中的语义,进而形成描述程序语义的语义关系框架病毒检测引擎的设计与实现。具体研究内容主要包括以下几个方面深入剖析当前病毒的运行机理以及病毒采用的各种新技术总结分析当前最新的反病毒技术及它们各自的优缺点 青岛大学硕士学位论文分析研究不同病毒传染模式的代码结构特点,总结出病毒程序传染模式的典型语义特征,进而建立描述其典型语义特征的语义关系框架如何抽取蕴涵在程序中的语义,进而形成描述程序语义的语义关系框架扫描算法与检测方案的设计与实现。论文的结构与章节安排本文具体章节安排如下第一章绪论,对课题的背景、选题的意义、主要研究内容及解决的主要问题进行了简单的介绍。第二章计算机病毒及其本质特性分析,主要介绍了计算机病毒的产生、定义及病毒技术的发展,最后对计算机病毒的本质特性作了深入分析。第三章计算机反病毒技术的产生、发展和现状,首先简单介绍了反病毒技术的产生、发展和现状,然后介绍了当前几种新型的反病毒技术,并详细分析了它们的技术原理和优缺点。第四章和第五章是本课题主要解决的问题。第四章计算机病毒传染行为的典型语义特征及语义关系框架,深入分析研究了不同病毒传染行为的代码结构特点,总结出病毒程序传染模式的典型语义特征,进而建立描述其典型语义特征的语义关系框架,这是本课题解决的第一个主要问题。第五章基于程序语义的计算机病毒检测方案的设计,本章解决了本课题的两个主要问题一是如何抽取程序的语义关系框架,二是检测系统的核心一一检测引擎的设计。本章对本检测方案的思想理论基础,检测方案的关键技术作了较为详细的介绍。 第二章计算机病毒及其本质特性分析第二章计算机病毒及其本质特性分析计算机病毒的产生和定义最初对计算机病毒理论的构思可追溯到科幻小说。在年代美国作家霍恩出版的《的青春》一书中构思了一种能够自我复制,利用通信进行传播的计算机程序,借用生物学中的“病毒”一词,称之为“计算机病毒'矛。年代设计出一种在运行过程中可以复制自身的破坏性程序〔,,将它命名为计算机病毒〔。随后,把病毒定义为一个具有相同性质的程序集合,只要程序具有破坏、传染或模仿的特点,就可以认为是计算机病毒仁,、日,。这种定义有将病毒内涵扩大的倾向,将任何具有破坏作用的程序都认为是病毒。年代末,将计算机病毒定义为,经过存储介质和网络进行传播,从一台计算机系统到另一台计算机系统,未经授权认证破坏计算机系统完整性的程序或代码〔,。年月日,我国正是颁布实施了《中华人民共和国计算机信息系统安全保护条例》对病毒给出了如下的定义计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码〔'。〕。这是一个较为严格的定义,只把具有自我复制能力的恶意程序划分到病毒的范畴。随着计算机和网络技术的发展,计算机病毒编写技术也越来越高超,计算机病毒的定义正在发生着变化。虽然木马并没有传染性和复制功能,但是目前蠕虫、病毒和木马技术相互借鉴融合,使得它们的区别日益模糊〔”、'川〕。如年爆发的这个。宏病毒既感染文件,同时又能通过网络传播〔'`〕年爆发的蠕虫开始结合病毒技术〔`乌,红色代码已具备了远程控制的雏形「〕金山毒霸反病毒实验室于月日在国内率先捕获一个恶性混合型病毒,命名为“安哥”别名“高波变种 青岛大学硕士学位论文”,该病毒已有多个变种〔'〕。该病毒具有远程控制的黑客功能和利用“漏洞”进行高速传播的蠕虫特性,因此它是一个兼据黑客木马和蠕虫特点混合型病毒。还有“怪物”一病毒也兼具蠕虫和木马的特性〔`,病毒更是集蠕虫、后门、黑客于一身〔”〕。因此,通常把具有自我复制能力的恶意程序和蠕虫称为狭义的计算机病毒,而把狭义的病毒和特洛伊木马、逻辑炸弹等其它的恶意程序统称为广义的计算机病毒。本文所讲的计算机病毒是指广义的计算机病毒。计算机病毒技术的发展计算机病毒的发展是随着操作系统、计算机技术的发展而发展的。最初的病毒分为引导型病毒、文件型病毒和混合型病毒,主要是基于操作系统,且最初的病毒多用汇编语言编写。世纪年代后期,巴基斯坦的两个软件人员为了打击那些盗版软件的使用者,设计出了一个名为“巴基斯坦智囊”的病毒工。〕,该病毒只传染软盘引导。这就是最早在世界上流行的一个真正的引导型病毒。此外,年至年,我国也相继出现了能感染硬盘和软盘引导区的石头病毒〔'〕,该病毒体代码中有明显的标志“。”,“”,也称为“大麻病毒”「」等。该病毒感染软硬盘。面。道扇区,并修改部分中断向量表。该病毒也属于引导型病毒。从这些例子我们可以理解引导型病毒主要是感染硬盘或者软盘的引导扇区,修改引导扇区的内容以达到传染或破坏的目的。文件型病毒主要是指感染或文件即可执行文件的病毒。世纪年代初,感染文件的病毒有黑色号星期五、。「“〕、、、、、〔,`'等,它们主要就是感染和文件。这类病毒修改了部分中断向量表,被感染的文件明显的增加了字节数。最初的文件型病毒的代码主体没有加密,通过检查文件长度或者特征码扫描,很容易被查出和清除。随着计算机技术的发展,又出现了加密、多态等形式的文件型病毒。病毒最原始的加密方法是按固定的 第二章计算机病毒及其本质特性分析密钥对文件中的病毒体进行加密,病毒进入内存之后,先转解密模块将自身解密,这种手段提高了首例发现病毒的难度,检测消除也比较麻烦,对内存检测应以明文为样本,而对外存检测又必须以密文为样本多态病毒即变形病毒的特征主要是,病毒传播到目标后,病毒自身代码和结构在空间上、时间上具有不同的变化,这样,利用特征码扫描将更加困难。混合型病毒即引导型与文件型病毒的混合,这类病毒既感染磁盘引导区、又感染可执行文件。常见的有。、、侵入者、塑料炸弹、、秋天的水、一、幽灵、幽灵王、仁`等,如果只解除了文件上的病毒,而没解除硬盘主引导区的病毒,系统引导时又将病毒调入内存,会重新感染文件。如果只解除了主引导区的病毒,而可执行文件上的病毒没解除,一旦执行带毒的文件时,就又将硬盘主引导区感染。年代初期开始出现多态病毒。这种病毒通常采取加密、反跟踪等自我保护技术,放入宿主程序中的大部分病毒代码都是可变的,每种病毒可以演变出万至亿个型态,像幽灵一样无处不在仁〕。也正是由于多态性病毒的这一特点,使利用特征码法检测病毒的传统反病毒产品无法检测出此类病毒。如保加利亚的“”是较为著名的例子,它的多态变换引擎可以使程序代码本身发生变化,并保持原有功能。此外自年至今,出现了近万种宏病毒,并以迅猛的势头发展,己形成了病毒的另一大派系。它利用系统自带的宏编写语言如编写。因宏语言编写方便,而且功能强大,可以采用完全程序化的方式对文本、数据表进行完整的控制,甚至可以调用操作系统的任意功能,包括格式化硬盘。再加上工网上用格式文件进行大量的交流,宏病毒会潜伏在这些文件里,被人们在工网上传来传去,宏病毒造成了很大的影响。典型的宏病毒如宏病毒。随着操作系统的发展和计算机技术的进步,病毒技术也随之发展。出现了病毒,脚本病毒,蠕虫病毒,木马型病毒等一系列新型的病毒。病毒可以说也是文件型病毒,但不同于传统下文件型病毒的 青岛大学硕士学位论文是这种病毒感染的。下的可执行文件一一格式文件〔川。例如年爆发的病毒,它可以感染和操作系统,感染所有工类型的文件文件,如。和。目录及其子目录中的扩展名为、和的文件。该病毒搜索所有具有写访问的网络共享文件夹并感染那里的所有的文件。该病毒同时能够修补环境的完整性检测,以便能够感染系统文件。将它的代码复制到宿主文件的最后一个扇区的结尾,然后,它修改文件头信息以显示新的扇区大小,使扇区的特征适应病毒的需要,同时病毒修改原文件入口点的程序代码以便执行病毒代码。尽管该病毒对数据没有直接的破坏性,但是在下,。病毒还是对文件做了一个小的修改,使得文件的许可请求总是返回允许访问,这意味着被感染机器的安全己受到了极大地威胁。只要是在被修改的机器上,所有的用户都拥有了对每一个文件的完全控制访问权,即使是在系统中可能拥有最低权限的,也能读取或修改所有文件,包括通常只有管理员才能访问的文件。这样对系统的安全造成了极大的威胁。脚本病毒和蠕虫病毒是基于工的广泛应用而传播的。脚本病毒,顾名思义,是利用脚本语言编写的,当今浏览器对脚本语言如,的支持为脚本病毒的传播提供了生存空间和传播渠道`了。脚本语言是由,即脚本宿主来解释执行的。是内嵌于位平台且独立于语言的脚本语言环境,它为脚本语一言提供了直接控制操作系统的能力,其脚本可以通过提供的内置对象任意访问注册表、环境变量和网络设置等。如脚本病毒“工欢乐时光”是一种传染能力非常强的病毒,该病毒利用体内代码在本地的可执行性容器中运行,消耗计算机的系统资源,对计算机进行感染和破坏〔,〕。工蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停的获得网络中存在漏洞的计算机上的部分或全部控制权来进行传播。蠕虫与普通病毒的最大不同在于它不需要人为干预,且能够自主不断地复制和 第二章计算机病毒及其本质特性分析传播。例如年爆发的“震荡波”,该病毒利用微软公布的漏洞进行传播,中招后的系统将开启上百个线程去攻击其他网上的用户,造成机器运行缓慢、网络堵塞,并让系统不停的进行倒计时重启〔川。木马。是隐藏在合法程序中的未授权程序,这个隐藏的程序完成用户不知道的功能。木马是一个用以远程控制的程序,其目的是不需要管理员的准许就可获得系统使用权。早期的木马不同于蠕虫和传统的病毒,它并没有传染性和复制功能。但是现在病毒、蠕虫和木马技术相互借鉴,出现了很多混合型兼具病毒、蠕虫、木马的特性病毒,也使得木马具有了很好的传播性,传统病毒也具有了远程控制的特点〔川。混合型病毒如蠕虫结合了病毒技术〔川红色代码己具备了远程控制的雏形“安哥”。是一个兼据黑客木马和蠕虫特点混合型病毒快乐耳朵。木马病毒同时具有木马和病毒的特性病毒更是集蠕虫、后门、黑客于一身。随着的开放性以及方便地信息共享和交流能力的进一步增强,计算机病毒编写者的水平也越来越高,病毒可以利用的系统和网络的脆弱性也越来越多,从而不时有更新的,破坏性更强的病毒产生。计算机病毒的检测技术总是落后于新的病毒的出现,和提出了“恶意代码通用检测方法的不可判定性”的著名论断。同时这也是我们在研究如何解决计算机病毒问题时首先必须面对的事实。计算机病毒程序的基本结构模式序病程算机毒计病毒引导模块激活传染条州二的,断部分病毒传染模块传染功能的实施部分触发条件的判断部分应亘卫坐赓翌兰封拼示荡赢赢赢赢图计算机病毒结构的基本模式 第二章计算机病毒及其本质特性分析满足传染条件调用传染功能模块满足破坏条件激活病毒程序调用破坏功能模块运行宿主原程序不关机关机计算机病毒程序工作的一图如图示。将病毒程序寄生到宿主程序中加载计算机程序含有病毒的宿主程序进入计算机系统寻找感染对象调用传染功能模块当满足破坏条件时激活病毒程序调用破坏功能模块运行宿主源程序卜省要一`停机图计算机病毒程序机理流程一框图计算机病毒的本质特性分析病毒的基本机制计算机病毒是一种特殊的程序,其最大的特点是具有感染力。病毒程序 青岛大学硕士学位论文一般有感染模块、触发模块、破坏模块、主控模块组成,相应为感染传染机制、触发机制、和破坏机制三种〔。但并不是所有的病毒都具备这三种机制,如巴基斯坦病毒就没有破坏模块。感染模块该模块的作用是将病毒代码传染到其他对象上去,负责实现感染机制。感染模块担负着计算机病毒的扩散传染任务,它是判断一个程序是否是计算机病毒的首要条件。一般病毒在对目标程序传染前判断感染条件,如是否有感染标记或文件类型是否符合传染标准等。具体步骤为寻找一个可执行文件检查该文件中是否有感染标记如果没有感染标记,则进行感染,将病毒代码放入宿主程序。触发模块触发模块根据预定条件满足与否,控制病毒的感染或破坏动作。病毒的触发条件有多种形式,主要有日期和时间触发、键盘触发、启动触发、磁盘访问触发和中断触发、其他触发方式。病毒触发模块的主要功能为检查预定触发条件是否满足如果满足,返回真值如果不满足,返回假值。破坏模块破坏模块负责实施病毒的破坏动作。其内部是实现病毒编写者预定破坏动作的代码。这些破坏动作可能是破坏文件、数据,也可能是破坏计算机的空间效率和时间效率或使计算机运行崩溃。有些病毒的该模块并没有明显的恶意破坏行为,仅在被感染的系统设备上表现出特定的现象,该模块有时又被称为表现模块。在结构上,破坏模块一般分为两部分,一部分判断破坏的条件,另一部分执行破坏的功能。主控模块主控模块在总体上控制病毒的运行,染毒程序运行时,首先运行的是病毒的主控模块,其基本动作为 第二章计算机病毒及其本质特性分析、口产声矛、夕、冬口口了`、`了`、任乙︸汤调用感染模块,进行感染调用触发模块,接受其返回值如果返回真值,执行破坏模块如果返回假值,执行后续程序。计算机病毒的传染机制病毒程序的感染传染机制、触发机制和破坏机制这三种基本机制中传染机制反映了病毒程序最本质的特征,离开传染机制,就不能称其为病毒门〕计算机病毒传染过程与生物学病毒的传染过程非常相似,它寄生在宿主程序中,进入计算机,并借助操作系统和宿主程序的运行,复制自身,大量繁殖。计算机病毒感染的一般过程为当计算机运行染毒的宿主程序时,病毒夺取控制权。寻找感染的突破口。将病毒程序嵌入感染目标中。本节以二进制文件型病毒详细介绍病毒程序的传染机制。二进制文件病毒把自己依附到一个程序文件宿主上,并用不同的技术感染其它的文件。有几种感染执行文件的基本技术伙伴,链接,覆盖,插入,头部附加,尾部附加〔,〕等。伙伴病毒伙伴病毒并不直接修改宿主文件,而是使得操作系统在执行程序时先执行病毒文件。有时,这是通过修改宿主文件的文件名,然后把文件名赋给病毒文件来实现的。或者,病毒创建一个与宿主文件同名的文件放在同一个目录下。操作系统在调用一个可执行文件时,会先寻找文件再寻找文件。例如,在同一目录下存在和文件,当用“”启动程序时,会先被执行。如图示 青岛大学硕士学位论文—嚼蘸罐一一一仁亚习图伙伴病毒链接病毒链接病毒通过修改文件系统的底层数据结构,使得文件名不再指向原本的文件,而是指向病毒的。如图示宿主文件名存储位置主文件宿主文件名存储位置图链接病毒覆盖病毒覆盖病毒把自己放在程序文件的开头,直接覆盖掉宿主程序的代码,·所以宿主程序被破坏。当运行这个文件时,不再有原来的功能,而只会感染其它程序。这样的病毒很容易被发现,所以实际中这样的病毒很少能传播开来。如图示凛蘸鑫省宿主文件其他部分圆为病毒体图覆盖病毒插入病毒程序文件中有时存在一些没有用到的区域,插入病毒能够找到这些区域,并把自己的代码插入这些空隙。病毒就是属于这种类型。如图示二沦架小岌班图为病毒体三荃纵次次或班宿蒙主扛口鑫墓文月件蒙图插入病毒头部添加病毒头部添加病毒把自己添加到宿主文件的头部,当宿主程序运行时,先执 第二章计算机病毒及其本质特性分析行病毒代码,再执行宿主程序代码。如图示宿主文件图头部添加病尾部添加病毒尾部添加病毒在宿主程序头部添加一条指令,指向宿主程序的尾部,并把病毒体代码添加到宿主程序的尾部。病毒体执行完后,再跳转到宿主程序的开头。如图示图尾部添加病毒新一代计算机病毒的特点及发展趋势当前流行病毒开始体现出与以往病毒截然不同的特征和发展方向,更加呈现综合性的特点,功能越来越强大。它可以感染引导区、可执行文件,更主要的是与网络结合,通过电子邮件、局域网、聊天软件,甚至浏览网页等多种途径传播,同时还兼有黑客后门功能,进行密码猜测,实施远程控制,并且终止反病毒软件和防火墙的运行,更令人防不胜防的是病毒常常利用操作系统的漏洞进行感染和破坏,这就连相当规模的杀毒公司也无可奈何,只有依靠操作系统的发行公司不断推出各种各样的“补丁”程序来解决。此外,病毒的欺骗性也有所增强,常利用邮件、、手机信使服务和等通讯方式发送含有病毒的网址,以各种吸引人的话题和内容诱骗用户上当。这些病毒往往同时具有两个以上的传播方法和攻击手段,一经爆发即在网络上快速传播,难以遏制,加之与黑客技术的融合,潜在的威胁和损失更大。通过分析对照,我们不难发现近来流行病毒的特点和新一代病毒的发展趋势多种方式传播,传播速度极快 青岛大学硕士学位论文现在的计算机病毒一般都有两种以上的传播方式可以通过文件感染,也可以与网络更加紧密结合,利用一切可以利用的方式,如邮件、局域网、远程管理、即时通信工具如等进行传播,甚至可以利用后门进行传播。“尼姆达”让人们真正见识到局域网的方便快捷在病毒传播上的作用。“尼姆达”不仅能透过局域网向其他计算机写入大量具有迷惑性的带毒文件,还会让己中毒的计算机完全共享所有资源,造成交叉感染。一旦在局域网中有一台计算机染上了“尼姆达”病毒,那么这种攻击将会无穷无尽。由于病毒主要通过网络传播,因此,一种新病毒出现后,可以迅速通过国际互联网传播到世界各地。如“爱虫”病毒在一、两天内迅速传播到世界的主要计算机网络,并造成欧美国家的计算机网络瘫痪。利用微软漏洞主动传播“红色代码”、“尼姆达”、“坏透了”都是通过利用微软漏洞而进行主动传播的,使没有给打“补丁”的用户自动运行该病毒,即使没有点击,只是浏览或预览染毒邮件。正因为如此,这几种病毒才得以如此广泛流传。更广泛的混合性特征所有的病毒都具有混合性特征,集文件感染、蠕虫、木马、黑客程序的特点于一身,破坏性大大增强。还有部分病毒是双体结构,运行后分成两部分,一个负责远程传播包括一和局域网传播,另一个负责本地传播,各司其职,大大增强了病毒的感染性。这些病毒往往难以防范。病毒与黑客技术的融合利用黑客技术的某些特征制造的病毒,其杀伤力更大。包括“红色代码”、“尼姆达”等都是与黑客技术相结合,从而能远程调用染毒计算机上的数据,使病毒的危害剧增。计算机病毒的远程启动也是今后病毒发展的一个重要方向,远程启动本来是网络管理的一种有效手段,也被系统所支持,一旦病毒成功利用了这一点,将使计算机病毒的感染更加可怕。欺骗性增强由于病毒的感染速度己经极快,所以许多病毒不再追求隐藏性,而是更 第二章计算机病毒及其本质特性分析加注重欺骗性,只要用户一不小心,就会被病毒感染,而一旦有人感染,病毒就会大规模爆发。病毒出现频度高,病毒生成工具多,病毒的变种多目前,很多病毒使用高级语言编写,如“”是脚本语言病毒,“美丽杀”是宏病毒。它们容易编写,并且很容易被修改,从而生成很多病毒变种。“爱虫”病毒在十几天中,出现三十多种变种。“美丽杀”病毒也生成三四种变种,并且此后很多宏病毒都模仿了“美丽杀”的感染机理。这些变种的主要感染和破坏的机理与母本病毒一致,只是某些代码作了改变。更令人担心的是人们很容易就可以在网上获得病毒的各种生产工具,只要修改一下下载的病毒孵化器便可成批地生产新的病毒。因此新病毒的出现频度超出以往的任何时候。国防病毒中心估计年一年出现近万种病毒。令人防不胜防。当然很多病毒都是同一些病毒的变种,或是病毒生产机生产的同一家族病毒。难于控制和彻底根治,容易引起多次疫情新一代病毒一旦在网络中传播、蔓延,就很难控制,往往准备采取防护措施的时候,可能己经遭受病毒的侵袭。除非关闭网路服务,但是这样做很难被人接受,因为关闭网络服务可能会蒙受更大的损失。由于网络联通的普遍性和病毒感染的暴发性,病毒很难被彻底根治。整个网络上只要有一台计算机没有清除,或重新感染,病毒就会迅速蔓延到整个网络再次造成危害。“美丽杀”病毒最早在年月份爆发,人们花了很多精力和财力控制住了它,但是年在美国它又死灰复燃,再一次形成疫情,造成破坏。之所以出现这种情况一是由于人们放松了警惕性,新投入使用的系统未安装防病毒系统再者是使用了保存旧的染毒文档,激活了病毒,以至再次流行。本章小结本章论述了计算机病毒的产生和定义,并对计算机病毒技术的发展、病毒程序的基本结构模式及其作用的基本机制、新一代病毒的特点及发展趋势 青岛大学硕士学位论文作了详细的介绍。我们可以看出随着计算机和网络技术的发展,计算机病毒技术也日新月异,病毒可以利用的系统和网络的脆弱性也越来越多,从而不时有更新的,破坏性更强的病毒技术产生。这也给反病毒技术带来了更严峻的挑战。最后以二进制文件型病毒为例重点介绍了病毒的传染机制。 第三章计算机反病毒技术的产生、发展和现状第三章计算机反病毒技术的产生、发展和现状反病毒技术的产生与发展自年月第一例计算机病毒诞生以来,计算机病毒的种类不断增加,并迅速蔓延到全世界,对计算机安全构成了巨大的威胁。计算机反病毒技术也就应运而生,并随着计算机病毒技术的发展而发展〔川。世纪年代中期,计算机病毒刚刚开始流行,病毒种类虽然不多,但危害性很大,一个简单的病毒就能在短时间内传播到世界各个国家和地区。计算机安全专家仓促应战,编制了一批早期的病毒消除软件。消除病毒是病毒传染的逆过程。以磁盘病毒为例,磁盘病毒将病毒原体寄生在磁盘的引导区或其它部位,通过磁盘的读写和复制进行传播。磁盘病毒的消除正是找出病毒在磁盘上的寄生部位,把病毒清除、恢复磁盘原状的过程,所以病毒消除软件成为对付病毒的有效工具。早期的病毒消除程序是一对一的,即一种病毒清除程序消除一种病毒。世纪年代末,计算机病毒的数量开始急剧膨胀,达到上千种之多,运行上千种病毒消除软件来对抗计算机病毒显然不太现实,并且计算机新病毒的数量仍然在不断增长。另外,还发现病毒消除软件本身也会染上病毒。于是反病毒技术界就设想能否研制出一种既能对抗新病毒,又不怕病毒感染的新型反病毒产品。计算机反病毒卡的出现,正是符合这种要求的反病毒硬件产品。防病毒卡的核心实质是把计算机反病毒软件固化在中。它的出发点是想以不变应万变,通过动态驻留内存和截获中断控制权来监视计算机的运行情况,根据总结出来的病毒行为规则和经验来判断是否有病毒活动。防病毒卡可以截获中断控制权来使内存中的病毒瘫痪,使其失去传染别的文件和破坏信息资料的能力,这正是防病毒卡“带毒运行”功能的基本原理。防病毒卡具有不怕计算机病毒感染、预先启动、实时监控、不占用系统内存等突出优点。从世纪年代末年代初,防病毒卡与病毒消除软件并行使用,各司其职,互为补充,成为反病毒工作的重要工具。我国计算机反病毒技术的研究和发 青岛大学硕士学位论文展,也正是从研制防病毒卡开始的。随着计算机病毒的不断变化和病毒技术的不断更新,防病毒卡也逐渐失去存在的价值。早期的防病毒卡像其它的计算机硬件一样,逐步衰落出市场,与此对应的,各种反病毒软件开始日益风行起来。并且经过十几年的发展,逐步经历了好几代反病毒技术「川。第一代反病毒技术是采取单纯的病毒特征代码分析,将病毒从带毒文件中清除掉。这种方式可以准确地清除病毒,可靠性很高。后来病毒技术发展了,特别是加密和变形技术的运用,使得这种简单的静态扫描方式失去了作用。随之而来的反病毒技术也发展了一步。第二代反病毒技术是采用静态广谱特征扫描方法检测病毒,这种方式可以更多地检测出变形病毒,但另一方面误报率也较高,尤其是用这种不严格的特征判定方式去清除病毒带来的风险性很大,容易造成文件和数据的破坏。所以说静态防病毒技术也有难以克服的缺陷。第三代反病毒技术的主要特点是将静态扫描技术和动态仿真跟踪技术结合起来,将查找病毒和清除病毒合二为一,形成一个整体解决方案,能够全面实现防、查、杀等反病毒所必备的各种手段,以驻留内存方式防止病毒的入侵,凡是检测到的病毒都能清除,不会破坏文件和数据。随着病毒数量的增加和新型病毒技术的发展,静态扫描技术将会使反毒软件速度降低,驻留内存防毒模块容易产生误报。第四代反病毒则基于多位校验和扫描机理,综合了启发式智能代码分析技术、动态数据还原技术能查出隐蔽性极强的压缩加密文件中的病毒、内存解毒技术、自身免疫技术防止自身染毒,防止自身被病毒强行关闭等先进的计算机反病毒技术。它是一种已经形成且仍在不断发展完善的计算机反病毒整体解决方案,较好地改变了以前防毒技术顾此失彼、此消彼长的状态。从计算机反病毒技术的产生和发展的整个过程,我们可以看出计算机病毒技术的发展,推动了反病毒技术的发展,新的反病毒技术的出现,又迫使计算机病毒再更新其技术。两者相互激励,螺旋式上升,不断提高各自的水 第三章计算机反病毒技术的产生、发展和现状平。时至今日,病毒非但没有得到抑制的迹象,而且其数量与日俱增。据估计,目前世界上平均每天有十余种新病毒产生,编程手段也越来越高超,它既能更好地隐蔽自身,又能有效地对抗反病毒工具的检测,使人们防不胜防。病毒与反病毒的斗争仍在继续,从目前来看,计算机反病毒技术仍然滞后于病毒技术。因此,对未知病毒检测技术的研究是反病毒技术领域研究的热点和难点。另外,当前的计算机病毒厂商在计算机病毒的消除方面,都是发现一个新病毒后,立即分析它的运行机制,感染原理,编制程序进行查、杀,最后加入到反病毒软件中,或放在网上供用户下载。不仅杀毒软件滞后于病毒,而且由于多态性病毒的出现,更增加了这种分析的难度,这也是当前反病毒领域的瓶颈所在。几种新型的反病毒技术本节详细介绍一些最新的计算机反病毒技术及它们的技术原理和优缺点。虽然这些技术有待进一步完善,但是它们出现的技术背景和具体技术思想,都可以为我们研究和设计计算机反病毒系统提供很好的借鉴。这些技术也代表着计算机反病毒技术未来的发展方向。主动内核技术主动内核一技术〔〕的实质则是将所有的反病毒技术模块直接从底层嵌入的内核,对操作系统的内部进行修补,使反病毒成为系统本身的底层模块,而不是运行在操作系统上的一个应用软件。即装配了主动内核反病毒模块的操作系统本身就具备了强有力的反病毒功能。只要开机,计算机就不停地检测病毒。任何文件在进入系统之前,作为主动内核的反病毒模块都将首先使用各种手段对文件进行检测处理。主动内核技术,用通俗的说法是从操作系统内核这一深度,给操作系统本身打了一个补丁,而且是一个“主动”的补丁,实现反病毒程序与操作系统的无缝连接。这种技术的出现重新修改了人们对付病毒的传统的习惯做 青岛大学硕士学位论文法,将计算机病毒防治的工作由被动转向主动、从消极变为积极。操作系统打了此主动内核的反病毒补丁后,所有反病毒工作都将由操作系统完成,使得用户不必在日常工作中再去关心防治计算机病毒方面的事情。冠群金辰公司出品的杀毒软件利用的就是这种技术。主动内核技术的主要技术特点主动内核技术的基础是无缝连接技术。此技术可以保证反病毒模块从底层内核与各种操作系统、网络、硬件、应用的密切协调,确保主动内核技术在发生病毒入侵反应时,不会危害操作系统的内核,与此同时清除来犯病毒。主动内核技术在形式上是将己经开发的各种反病毒技术从源程序嵌入操作系统内核、网络系统内核任何病毒的入侵都会被主动反应拒之门外,防患于未然之中主动内核技术对客户完全透明,使用户在使用计算机时,感觉不到反病毒主动内核的存在。主动内核技术的优缺点它使反病毒模块真正变成操作系统的一部分,彻底解决了与系统的兼容性、可靠性、安全性和运行效率问题,但实现这种技术就必须从源程序级对操作系统进行修补,需要反病毒产品生产厂商与操作系统生产厂商在源代码级进行全面合作,必须了解操作系统的核心源代码,但是微软的操作系统有很多技术核心没有公开。因此,实现各种反病毒模块与操作系统和网络的无缝连接难度极大,这也是该项技术发展的瓶颈。启发式代码扫描技术启发式〔」指的是具有自我发现的能力、运用某种方式和方法来判定事物的知识和技能。启发式分析就是利用计算机病毒的行为特征,结合以往的知识和经验,对未知的可疑病毒进行分析与识别。启发式代码扫描技术实际上就是把这种经验和知识移植到一个反病毒软件的具体程序中。它的基本原理是通过对一系列病毒代码的分析,提取一种广谱特征码,即代表病毒的某一种行为特征的特殊程序代码,当然仅仅是一段特征码还不能确定一定是某一种病毒,通过多种广谱特征码,也就是启发式规则的判断,综合考虑各种因素,确定到底是否是病毒,是哪一种病毒。 第三章计算机反病毒技术的产生、发展和现状在具体实现上,启发式扫描技术是相当复杂的,通常这类检测软件不仅要对系统进行扫描,还要能够识别并探测许多可疑的程序代码指令序列,如格式化磁盘类操作,搜索和定位各种可执行程序的操作,实现驻留内存的操作,发现非常的或未公开的系统功能调用的操作,同时还要根据各个可疑指标的可疑程度,制定权值,并使用特定的规则进行计算,将得到的值与事先确定的临界值比较,如果比临界值大,则确定为病毒。启发式扫描主要分为两类一一静态启发式扫描和动态启发式扫描。静态启发式扫描程序有一个巨大的代码数据库,数据库把每一个代码串称为特征码与它所代表的行为特征联系在一起。并给每一个行为特征赋一个加权值。这些特征码可能会包含检查日期、文件大小或试图访问地址簿的指令和一些非正常的指令和行为。扫描程序扫描一个文件如果碰到符合自己的代码数据库中的代码,就给这个文件做一个标记,并赋给一定的权值。有时候带标记的可能是一个无害的应用程序,但也要记录下来,当一个文件的标记的权值加起来超过一个底线,则这个文件可能是病毒。由此看来,静态试探式扫描技术并不精确,是特征码扫描技术的延伸。它是一种静态的行为检测技术,即把病毒可能执行的一些行为也作为特征码加入了病毒库中。动态启发式扫描技术主要增加了对的模拟。对于加密病毒来说,直接使用静态启发式扫描是不能判定的。动态启发式扫描则解决了这个问题,它模拟了一个基本运行环境的计算机,对可能是病毒的文件先进行模拟运行,等加密病毒自解密后再进行静态启发式扫描。启发式代码扫描技术中的几个关键问题如下代码数据库的建立。启发式扫描技术的病毒特征码的提取比较复杂,不仅要包含特征码扫描技术的病毒库,关键是还要提取一些病毒特有的行为。但是病毒的破坏行为是没有一定的模式的,所以对病毒行为特征的提取是启发式扫描技术效果好坏的关键。病毒特征权值的设定。启发式扫描技术是一种模糊判定技术,通过加权值的大小来判定是否是病毒,所以病毒特征权值的设定必须要合理。这就需要在提取病毒特征码包括行为特征的基础上,对各个 青岛大学硕士学位论文特征码进行统计分析,根据具有这种特征码的文件是病毒的可能性的大小来分配权值。权值底线的设置。启发式扫描技术最后对病毒的判定是通过比较扫描后的加权值和设定的权值底线的大小来确定的。权值设置过低或者过高可能会影响正常程序的运行或者病毒检测率的高低。所以,针对不同的情况对安全性的要求不同,权值底线的设置可以根据具体情况来进行。启发式代码扫描技术的优缺点启发式代码扫描技术实际上是应用人工智能原理的一种计算机反病毒技术。它向我们展示了一种通用的、不需升级较少升级或不依赖于升级的病毒检测技术和产品的可能性。这种病毒检测方法的优点就是针对未知病毒,而缺点在于,它的诊断的正确率包括检测率和误报率和规则的选取有密切的关系。往往是某些规则对某种病毒很有效,但是又影响其它类型的病毒的检测。规则选取的困难和相互矛盾决定了这种方法只能是一种辅助的检测手段。虚拟机技术虚拟机技术〔刘实际上是虚拟了一个计算机运行环境,这个虚拟的计算机就像是一个病毒容器,行为检测引擎将一个样本放入这个病毒容器中虚拟运行,然后跟踪程序运行状态,根据行为判断是否是病毒,因为它采用了虚拟的技术,就像真正的计算机一样可以读懂病毒的每一句指令,并虚拟执行病毒的每一条指令,所以任何反常的病毒行为都可以检查出来。虚拟机病毒检测技术是国际反病毒领域的前沿技术,至今仍有许多人在研究和完善它。因为它的未来可能是一台用于上的庞大的人工智能化的反病毒机器人。虚拟机技术的主要特点是在查杀病毒时在机器虚拟内存中模拟出一个“指令执行虚拟机器”。在虚拟机环境中虚拟执行不会被实际执行可疑带毒文件。 第三章计算机反病毒技术的产生、发展和现状在执行过程中,从虚拟机环境内截获文件数据,如果含有可疑病毒代码,则杀毒后将其还原到原文件中,从而实现对各类可执行文件内病毒的查杀。虚拟机技术的优缺点虚拟机技术的最大优点是能够很高效率地检测出病毒,特别是特征码技术很难解决的变形病毒。它的缺点也显而易见,一是虚拟机运行速度太慢,大约会比正常的程序执行的速度慢十倍甚至更多,所以事实上无法虚拟执行程序的全部代码二是虚拟机的运行需要相当的系统资源,可能会影响正常程序的运行。基于免疫原理的病毒检测技术基于免疫原理的病毒检测技术〔`。、`”借鉴自然免疫系统的基本原理和思想,对形式变化多样的入侵进行识别或检测,然后,可以采取相应的措施进行防御。这种防御具有更高的适应性、一般性,通过其学习、自适应能力来改变传统被动式病毒防御策略。该技术的核心是构造一个识别器群。当系统处理外部和内部信息时,把信息经过数据处理后分类为自体或非自体。系统从自体和非自体集中,探究能够识别它们的规则,利用这些规则构造用以区分自体和非自体的识别器类似于机体免疫系统中的抗体,当外部信息进入免疫系统时,识别器对其进行识别,判断是否非自体,并做出相应的反应。随着时间不断变化病毒的种类也是不断变换的新的病毒特征又会加入,其工作方式更是变幻莫测,到非自体集中。总之,识别器具有以下功能对危险的异常的行为进行识别或预防,然后消除记忆己经遇到过的入侵识别新的入侵方式构造多样性系统保护免疫系统本身遭受攻击。大量的单个识别器形成识别器群,一代一代地随着病毒入侵环境而演化,演化的最终目的是使识别器群尽量覆盖其所遭受的入侵的空间,以实现免疫系统的多样性、适应性以及动态覆盖性。 青岛大学硕士学位论文其他反病毒技术智能引擎技术智能引擎技术发展了特征代码扫描法的优点,改进了其弊端,对病毒的变形有非常准确的智能识别功能,而且使得病毒扫描速度不随病毒库的增大而减慢。嵌入式杀毒技术嵌入式杀毒技术是对病毒经常攻击的应用程序或对象提供重点保护的技术,它利用操作系统或应用程序提供的内部接口来实现。它对使用频度高、使用范围广的主要应用软件提供被动式的防护,如对一八、。。、、、等应用软件进行被动式杀毒。未知病毒查杀技术未知病毒查杀技术是继虚拟执行技术后的又一大技术突破,它结合了虚拟技术和人工智能技术,实现了对未知病毒的准确查杀。压缩智能还原技术世界上的压缩工具、打包工具、加“壳”工具多不胜数,病毒如果被这样的工具处理后被层层包裹起来,就如同加密或变形一样,对于防病毒软件来说,就是一个噩梦。为了使用统一的方法来解决这个问题,反病毒专家们发明了未知解压技术,它可以对所有的这类文件在内存中还原,从而使得病毒完全暴露出来。本章小结本章论述了计算机反病毒技术的产生、发展和现状。从计算机反病毒技术的发展历史中,我们可以看出通过与计算机病毒的尖锐对抗,计算机反病毒技术也变得越来越成熟。从单纯的病毒特征码检测,向启发式代码扫描、动态仿真跟踪发展从单纯软件检测和硬件防范,向软件与硬件结合形成一个整体安全屏障发展。本章详细分析了几种最新反病毒技术的技术原理和优缺点。我们可以看 第三章计算机反病毒技术的产生、发展和现状出无论哪一种技术都不能说是十全十美的。就目前的反病毒软件而言,无论是哪一种诊断软件都不可能仅仅采用某一种诊断方法,而是将多种技术融合在一起。本文提出的基于程序语义的计算机病毒检测方法,正是在软件理解和逆向工程技术的基础上,借鉴了启发式代码扫描基本思想。 青岛大学硕士学位论文第四章计算机病毒传染行为的典型语义特征及语义关系框架计算机病毒传染部分模块结构分析防治计算机病毒的关键在于掌握病毒的作用机理、传染和破坏机制。任何事物的功能都是由其系统内部的结构决定的,为了实现这些功能,病毒程序应该由相应的结构模块来构成。本文首先对病毒的根本特性、基本结构进行深入研究,从中寻找检测病毒的新方法。计算机病毒一般都具有潜伏、传染、触发、破坏等多种机制,但其传染机制反映了病毒程序最基本的特征,离开传染机制,就不能称其为病毒。判断一个计算机程序是否为病毒,一个最主要的依据就是看它是否具有传染性。因此,监控和及时发现计算机病毒的传染行为,是病毒制造者和安全专家的争夺焦点。计算机病毒一词源于生物病毒,指那些能够引起计算机故障、破坏计算机数据的程序。与正常的文件相比,计算机病毒程序通常具有传染性、破坏性、隐藏性、触发性、寄生性、不可预见性、复合性、反杀毒软件等功能特性。这些特性并不是每一种病毒都具备的传统的病毒程序具有传染性、寄生性、破坏性和触发性等特点典型的蠕虫在系统中是独立存在的,没有寄生性,有的甚至于仅存在于系统内存中早期的木马没有传染性和复制功能,但是现在木马技术和病毒技术相互融合,也使得木马具有了很好的传播性而目前一些新型的病毒有着更好的隐藏性、不可预见性、复合性、反杀毒软件等特性。在这些特性中,传染性是这些病毒程序代码区别于正常程序文件的根本特性。尽管不同的病毒程序采用的传染机制非常复杂而又千差万别,但它们的核心部分一一病毒程序区别于正常程序的传染部分代码,包含着一些相对稳定的模块〔`,程序段。因此,可以通过对相关病毒代码结构特点的分析研究,找到传染模块中相对稳定的病毒表达模式。本章就是通过对计算机病毒的传染模式进行了深入的分析研究,总结出了其典型传染行为模式的语义 第四章计算机病毒传染行为的典型语义特征及语义关系框架特征,形成了描述其语义特征的语义关系框架。传统计算机病毒传染部分模块结构分析传统的计算机病毒通常是寄生在合法程序之上,随着合法程序的运行获得系统的控制权。病毒程序要完成传染必须完成三个主要任务控制权获取、重定位和复制。为了实现感染其它文件的目的,病毒程序在获得系统控制权之后,通常会遍历硬盘或文件目录,搜索被感染的对象。综上这类病毒的传染部分代码结构包含如下稳定的模块。控制权获取。完成控制权获取是为了病毒的传染模块得到执行的机会,是完成任何病毒任务的基础。病毒获取执行机会的方法通常有如下三种替换“路径”是指替换描述正常代码位置的数据结构,如文件目录、入口地址、中断向量表中中断服务程序的入口地址、中工的入口地址等。替换“内容”是指替换上述数据结构所指向的内容。这样,当或应用程序要调用这些代码时,实际上调用的是病毒代码。将自身作为的调度单位。计算机病毒可以创建病毒进程或者病毒线程而将自身作为的调度单位。重定位。在病毒程序中,因感染宿主程序的位置不同,各个变量在内存中的位置自然也不同。为了引用这些变量,病毒必须通过重定位技术得到自身副本在内存中的位置。而在正常程序中,变量在编译时它在内存中的位置就都被计算好了,装入内存后,不用程序员重定位,直接引用就可以了。重定位代码在一般正常程序中非常罕见。搜索模块。病毒往往要搜索本地驱动器或网络驱动器寻找所有符合感染条件的文件进行感染。通常有如下两种实现方法遍历硬盘或目录检查正在执行的文件。复制模块。本部分代码的功能是将病毒代码强行写入宿主程序代码当 青岛大学硕十学位论文中,以便病毒随着宿主程序的传播而传播。这种行为完全有别于正常程序文件的行为。蠕虫传染部分模块结构分析与传统意义上的计算机病毒不同,蠕虫不具有寄生在宿主文件上的特点,而仅是将自身代码拷贝到目标系统的某一目录中。根据蠕虫的不同传染途径通过系统漏洞进行传播、通过或其它网络途径进行传播,其传染部分结构代码模块有所不同〔礴。通过系统漏洞进行传播的蠕虫,采用以下模式传染目标对象。漏洞扫描模块。由蠕虫的扫描功能模块负责探测存在漏洞的主机,并获得漏洞信息,决定采用何种攻击渗透方式。常见的探测脆弱性主机的方法有拓朴扫描、队列扫描、子网扫描、基于目标列表的扫描以及随机扫描等。攻击模块。该模块利用漏洞扫描获得的安全漏洞,建立传播途径。常见的攻击形式有缓冲区溢出攻击、字符串格式化攻击、拒绝服务攻击以及弱密码攻击等。通过攻击获得一个远程主机的权限一般为管理员权限,获得一个。自我复制模块。蠕虫不寄生在宿主文件上,而仅是将自身代码拷贝到目标系统的某一目录中。有些蠕虫不向目标系统的硬盘上复制自身,而仅存在于目标的内存中,这类蠕虫的代码中没有自我复制模块。通过或其它网络途径进行传播的蠕虫的代码结构包括如下模块。目标搜索模块。遍历整个硬盘或某些文件夹,如在临时文件夹中搜索、、、等文件,提取其中的一地址。或者通过从邮件的客户端如中提取邮件地址。或者查看网上邻居是否有共享资源。自我复制模块。将病毒代码本身添加到邮件内容中,或者作为邮 第四章计算机病毒传染行为的典型语义特征及语义关系框架件的附件发送搜索到的一地址。通过网络共享资源传播的蠕虫仅仅将自身拷贝到指定的目录中。传播模块。利用邮件自动发送的功能,或者病毒自身附带的引擎,向搜索到的邮件地址发送蠕虫文件副本。木马程序的结构和运行机制分析木马的传播途径有多种,但它的主要传播途径还是通过网络。主要有〔通过电子邮件传播,黑客通常给用户发电子邮件,告诉用户有一个很好的软件,而这个加在附件中的软件就是木马的服务器端程序。如果用户点击运行了木马的服务器端程序,那么就被植入木马了。通过发送超链接进行传播,一个常用的方法是通过聊天室或工发送以超链接,引诱用户点击,链接实际指向一个木马的服务器端程序,若用户贸然点击木马就下载到机器上了。另外,在溢出缓冲区中写入代码也是常用的传播方法。通过往程序的缓冲区中写超出其长度的内容,造成缓冲区溢出,在溢出的缓冲区中写入想要执行的代码,再覆盖函数返回地址的内容,使它指向缓冲区的开头,从而达到运行其它指令的目的。木马程序除了具备传染的特性之外,还要将自身加载到目标系统中,以实现对植入木马的计算机进行远程控制,从而达到窃取重要信息资料或进行其他破坏活动为目的。为了实现这一目的,木马程序的模块结构除了要注重传染性之外,还要具备与外界实现通信的部分,具体包括如下几部分关键模块。为此,木马程序中的结构应包含以下关键模块信息收集模块。为了在目标计算机上得到安装,木马程序通常都要通过各种方式收集目标机器的信息,如操作系统版本信息、用户名和口令字,最常见的方法是在木马程序中设置系统钩子,或者对目标计算机所在的局域网中流动的数据包进行嗅探,以获得敏感信息。信息隐藏模块。隐蔽性是木马系统的首要特征,也是木马程序能够在 青岛大学硕士学位论文目标主机系统上生存下去的主要特性之一。木马的隐蔽性可分为两种一是木马进程的隐藏,另外就是木马系统客户端与服务端之间通信的隐藏。木马加载模块。自启动功能是木马程序必不可少的,为了实现随机自启动的功能,木马程序常常将自身复制到系统目录下,并修改系统的相关启动项,如修改系统注册表修改文件关联、注册为系统服务……系统注册表保存着系统的软件、硬件及其其他与系统配置有关的重要信息,注册表中的〔一一的和主键以及注册表的其它项目〔〕,在其中添加相应的键值。修改系统初始化文件以及其它应用程序的初始化文件常用的方法是通过修改和来达到运行的目的。是系统保存在目录下的一个系统初始化文件。系统在启动时会检索该文件中的相关项,以便对系统环境的初始设置。在该文件中的“”数据段中,由两个数据项“。”和“”。它们的作用就是在系统启动之后自动地装入和运行相关的程序。修改系统启动配置文件一般是通过修改如下三个文件、和。通过对病毒的结构特性的分析,可以看到尽管新的计算机病毒层出不穷,形式千变万化,但它们仍然有着一些特有的对于病毒生存是必要的,且绝对不同于宿主自身成分的特性行为代码模式。本文就是通过对病毒的结构特性的分析研究,来探索新的病毒检测方法。 第四章计算机病毒传染行为的典型语义特征及语义关系框架计算机病毒传染行为模式的语义关系框架所有的知识都必须以适当的形式进行表示,然后才`有可能被存入知识库中。所谓知识表示实质上是将知识符号化和形式化的过程,其主要内容之一是研究能存储知识的数据结构设计,以便能在计算机中有效地存储、检索、使用和修改知识。本文模式库采用框架表示法。框架表示法是以框架理论为基础发展起来的一种结构化的知识表示法。框架表示法以所描述对象的属性作为知识表示的基本单位。通常框架采用语义网络中的节点一槽一值表示结构。一个框架由若干个槽组成,每个槽可根据实际情况划分为若干个侧面,而每个侧面又可以拥有若午个值。槽用于描述对象某一方面的属性,侧面描述相应属性的一个方面。其一般结构如下框架名槽侧面值侧面值槽侧面值槽侧面值侧面值对于大多数问题,不能这样简单地用一个框架表示出来,必须同时使用许多框架,组成一个框架系统本文采用三层框架结构。一个框架结构可以是另一个框架的槽值,并且同一个框架结构可以作为几个不同的框架的槽值。这样,一些相同的信息可以不必重复存储,节省了存储空间。框架的一个重要特性是其继承性。为此,一个框架系统常被表示成一种树形结构,树的每一个节点是一个框架结构,子节点与父节点之间用或槽连接。基于框架表示的知识采用反复进行框架匹配的推理方式,考虑到在实际 青岛大学硕士学位论文推理过程中会有许多不确定因素,因此通过设定权值反映每种属性的可信度。语义关系框架的形成根据节总结的计算机病毒程序传染部分的模块结构特征,形成描述其语义特征的语义关系框架如图示。它是由节点和弧组成,其中每个节点对应于程序块,弧对应于程序块间语义关系的转移。弧上的析取关系表示这些行为特征并不是每种病毒程序所具备的,在检测文件时只要检测到其中的一种就加上相应的权值。这种表示方法便于实现面向对象技术。把恶意代码看作一个对象类,将各种不同的病毒程序以及它们的典型传染行为的语义特征等属性封装起来,并通过对象之间的继承和约束关系表示它们的结构和联系。在这里恶意代码作为一个类,该类下的具体对象就是各种病毒程序包括传统病毒、蠕虫、木马等,每种病毒程序的典型传染行为作为事物的属性。遍历硬盘检查被执将病毒代码强得到自身副本在替换替换的调或目录行文件行写入文件内存中的位置径容度单位搜索模块复制模块重定位控制权获取提弓之二下又万,乙了二几万乙二见一蠕虽卜叫■五旦一叫恶意代码卜一生一木马污仁二二」二,二二杏弓信息收集信息隐藏木马加载通过系统通过邮件或其漏洞传播它网络途径︸一,胜土︸图日高…火同国菌一︸翩网图学︸代隋阮丽碱︷`妇操作修改修改修改漏洞攻击自我自我目标传播系统系统初始—此扫描模块复制复制搜索模块版本注册化文系统信息表件文件一在图中表示析取关系图计算机病毒传染行为模式的语义关系框架 第四章计算机病毒传染行为的典型语义特征及语义关系框架数据结构设计为了更合理地描述计算机病毒传染行为的语义特征,把不同病毒传染模式的语义特征完整、准确地描述出来,同时考虑到病毒技术不断变形、更新或变化,因此设计了面向对象的形式化描述。该方法是在人工智能框架知识表示的基础上,应用面向对象定义的形式化描述。顶层框架日日搜索模块槽值权值复制模块槽值权值蠕虫上层框架传统病毒上层框架重定位模块槽值权值控制权获取槽值权值通过系统漏洞传播上层框架控制权获取上层框架替换路径槽值权值替换内容的调度单位图三层框架结构在这里恶意代码作为一个类,该类下的具体对象就是各种病毒程序包括传统病毒、蠕虫、木马等,每种病毒程序的典型传染行为语义特征作为事物的属性。知识库采用三层框架结构来存储,如图示。顶层框架描述计算机病毒的种类,即传统病毒、蠕虫和木马,以后还可以扩展到后门、逻辑炸弹等。框架描述为框架名计算机病毒传统病毒,该特征的权值蠕虫,该特征的权值木马,该特征的权值每种具体的病毒程序则构成中间层框架。该层框架主要描述不同病毒程序传染行为的典型语义特征,它与顶层框架是隶属关系,反映该框架描述的语义特征是计算机病毒程序中的一种,同时继承了上层框架的所有特征。框架描述为以传统病毒为例框架名传统病毒 青岛大学硕士学位论文搜索模块,该特征的权值复制模块,该特征的权值重定位模块,该特征的权值控制权获取,该特征的权值上层框架名计算机病毒第三层框架描述的则是不同病毒程序中具体行为模块的语义特征。随着计算机及网络技术的发展演化出新的病毒技术,可以直接在此基础上扩展。框架描述为以传统病毒中的控制权获取这一特征为例框架名,控制权获取替换“路径”,该特征的权值替换“内容”,该特征的权值的调度单位,该特征的权值上层框架名传统病毒模式库采用层次化的框架结构具有以下的特点首先三层框架结构的描述既充分反映了计算机病毒程序的典型语义特征,同时也将各种具体的病毒程序语义特征之间的关系显示地表示出来。另外,在三层框架结构中,下层框架可以继承上层结构的槽值,也可以进行补充和修改,这样不仅减少了知识的冗余,而且较好地保证了知识的一致性。同时也具有较好的可扩展性。本章小结本章深入剖析了不同病毒代码的结构特点,总结出了不同病毒程序传染行为模式的典型语义特征,形成了描述其典型语义特征的语义关系框架。最后,进行了数据结构设计,模式库采用层次化的框架结构。这种存储方法完整、准确地描述了病毒程序传染行为的典型语义特征。具有较好的继承性、可扩展性和知识的一致性。 第五章基于程序语义的计算机病毒检测方案的设计第五章基于程序语义的计算机病毒检测方案的设计本方案的理论基础、基本思想及主要特点本方案的理论基础当今的防病毒系统基本上是基于病毒的特征标识和统计分析相结合的方法来判断系统是否有新的恶意行为代码,这种方法要不断地更新用户端的病毒标识库和算法,一旦用户由于某种原因没有进行病毒标识库的更新,那么用户的计算机很容易受到新病毒的攻击。此外,由于用户端的标识库往往不包含那些最新病毒的特征标识,而造成新病毒漏检。本文提出的基于程序语义的计算机病毒检测方法,对于新病毒的检测和已知病毒的检测同样有效。简单的说,计算机病毒是一个程序,是一段可执行代码,因此对计算机病毒的分析也就是程序分析。目前国内外在程序理解、逆向工程等技术领域中都有成形的程序分析技术。王万诚、李伟华等人在文献〔中提出语义层软件理解的形式化格局识别技术,其基本思想如下程序的格局是源代码的抽象表示。通常软件人员在对原有软件进行维护或理解之前,要在程序中寻找两种动态相关的代码,寻找的原则要符合这种模式的要求,这就是使要找到的代码段中包含某种动态行为或层状结构,即寻找具有特定语法结构的代码或是一些与程序执行有关的特定数据流、控制流等,而该模式完全依赖并取决于找到的代码段中所蕴含的内在因素,为了定位这种模式要确定一种接近人类思维过程的搜寻机制,便把这种机制叫做格局识别。这种格局识别的过程与识别正常程序中是否含有恶意代码段的过程极为相似,笔者就是受其启发从程序语义的角度来探索检测计算机病毒的新方法。本方案的基本思想及主要特点程序的语义简单的说就是程序的含义,即一个程序执行的结果说明了该 青岛大学硕士学位论文程序的语义。蕴涵在源代码中的语义是程序的语法和词法的隐表达,它是软件编制者的设计意图与设计决策在软件设计过程中的体现,也是人类思维向机器思维转换的高层产物,从程序的语义中抽取软件编制者的设计意图是一条直接有效的途径。从这一角度出发探索未知病毒检测方法具有十分重大的意义。程序经语法分析后可以清楚地得出其语义的表达,理解出程序段的行为,进而建立描述程序行为的层次结构一一形成程序段间语义关系的语义关系框架,把程序静态行为的迁移与动态行为的变化融汇于层状结构之中,这种层状结构逐渐将程序语义显现出来,从而得出程序执行的结果或目的。人们对现实世界各种事物的认识,均以类似框架的结构存储在记忆中。在对类比问题求解时,人们总是有一个预构的框架,对于获取的新信息,如果存在相应的刺激信息,则将其转换成框架结构,通过与记忆中预构的框架进行比较,作出匹配与否的结论。本课题基于上述思想提出了基于程序语义的计算机病毒检测方法。其基本思想是通过深入剖析不同病毒程序传染部分的代码结构,从而总结出病毒程序的典型语义特征,形成描述其典型语义特征的语义关系框架第四章已经解决在检测时抽取蕴涵在待检程序中的语义,进而建立描述程序语义关系框架。将在节解决计算二者的匹配程度来确定程序是否含有恶意程序,从而达到检测未知病毒的目的。相对于传统的反病毒技术该方法具有如下优点、由于不再需要对病毒进行特征码分析,从而大大减轻了病毒代码分析工作量、传统的特征码技术需要频繁的升级,而本方案大大减少版本的升级频率、模式库采用层次化的框架结构,具有较好的继承性、可扩展性和知识的一致性,这也将使病毒的检测过程变得简单,从而提高检测效率,降低误检率、能达到有效识别未知病毒的目的。 第五章基于程序语义的计算机病毒检测方案的设计程序语义关系框架抽取系统模型和工作流程转换系统模型本课题研究的是基于程序语义的恶意代码检测方法,目的是如何在新病毒出现的初期能有效的进行检测和预防,从而降低计算机病毒给计算机系统带来的巨大安全威胁。以提高计算机病毒检测系统的检测效率和处理性能、降低误警率以及实现能对未知病毒特别是多元化病毒的有效检测为目标。描述病毒程序传染行为语义特征的语义关系框架,在第四章已经解决。本章要解决的关键问题就是如何抽取蕴涵在程序中的语义,进而建立描述程序语义关系框架用表示。为了获得与程序对应的语义关系框架,必须实现原程序到语义关系框架的转换。在此,可将转换系统视为映射函数,并令…………表示原程序,其中蕊蕊为中的语句,为原程序的长度。令,它是一个由节点集和弧集组成的框架,于是有映射函数要解决的关键问题是如何在扫描原程序的过程中识别并提取程序的语义特征。从原程序到建立语义关系框架的模型如图所示。图转换系统模型框架抽取基本思想本课题只研究在汇编程序的基础上进行语义关系框架的抽取。抽取汇编 青岛大学硕士学位论文程序的流程和框架结构在反汇编、编译优化、代码分析、逆向工程等技术领域中都有重要应用。本文借鉴了文献〔`、`〕中的框架抽取的思想和算法,并在此基础上做了改动使其满足病毒检测的需要。程序语义框架抽取主要依据汇编程序本身的结构特征和指令特征来进行。从程序结构上来讲,汇编程序结构中存在子程序的概念,但不存在函数的概念。一般通过调用类指令中的目标地址进入另一个子程序,通过返回类指令来结束本程序,返回上一级子程序。因此将调用类指令调用的目标地址作为子程序的开始,将其后续的返回类指令的地址作为该程序的结束地址。从指令特征上来讲,各种处理器都有自己独立的指令系统,且描述其指令的语法格式一般都不相同,在这里从是否影响程序流程的角度考虑,将所有处理器的指令分为改变程序流程和不改变程序流程两大类。改变程序流程类,又将它分为跳转类包括转移类、调用类、返回类、陷阱类和复位类。不改变程序流程类,又称它为程序基本块。所谓的程序基本块,指的是一个指令序列,在这个序列中,不存在任何转移类指令,任何程序指令都在其后续指令被执行之前被执行,且任何相邻的两条指令在任何情况下都是相继执行的。重点识别跳转类指令和调用类指令,跟踪程序转移的目标地址。由调用类指令以及返回类指令等引起的是子程序间的流程转移由无条件跳转类指令和条件跳转类指令等引起的是子程序内部和程序基本块间的流程转移。这种抽取方法的基本思想是根据指令分类信息预处理工作不在本文研究之列,首先对原程序进行子程序划分,确定子程序间的调用和被调用关系也称为依赖关系,并用一棵结构树来表示这种依赖关系,继而抽取出原程序的整体框架结构。数据结构设计对于一个代码量很大的程序要抽取出整个语义关系框架是很复杂的,本系统采用分治策略,将待检程序划分成多个子程序,然后再抽取每个子程序 第五章基于程序语义的计算机病毒检测方案的设计的框架结构。为描述每个子程序的框架结构信息、流程信息和子程序间的依赖关系,设计了子程序链结点、调用链结点、多次调用链结点、被调用链结点和程序块链结点五种数据结构。它们的详细结构及其相互关系的描述如图示。子程序编号指令编号子程序名指令地址起始地址下一条指针地址调用地址结束地址指令类型下一个结点的指针边类型下一个结点的指针子程序名指令链指针起始地址调用链指针多次调用链指针被调用链指针被调用地址下一个结点的指针下一个结点的指针下一个结点的指针图重要数据结构及其相互关系的描述其中每种数据结构的功能是每个子程序结点描述了该子程序的内部结构特征它的调用链描述了该子程序调用过的所有子程序的特征信息调用链结点的多次调用链描述了它多次调用某个子程序的特征信息它的被调用链描述了该子程序被调用的特征信息它的程序块链描述了该子程序的流程信息。所有的这些特征信息就组成了该子程序的框架结构信息以及与其它子程序之间的依赖关系,整个子程序链就描述整个程序的框架结构。语义关系框架抽取系统工作流程子程序语义关系框架抽取算法的主要思想是,对选定的子程序进行程序块划分,划分的原则是程序基本块划分成独立的程序块,改变程序流程的代码序列划分成独立的程序块。每当划分出一个程序块后要向程序块链表添加一个结点,记录该程序块第一条指令的地址、块类型跳转指令块、调用指令块、程序基本块等、块中包含的指令表达式和块号块号为添加结点 青岛大学硕士学位论文的递增排序,最后根据块号、块类型和块中的起始地址将块之间用弧连接起来。抽取过程如下首先,打开待检程序文件,对文件的首部和尾部进行框架抽取,建立框架抽取所需的各种数据结构所需的链表结构,进行子程序划分最后,根据建立的子程序链、调用链、多次调用链和被调用链生成结构树,显示它们之间的依赖关系。如果要抽取某个子程序的流程信息,在结构树上选择相应的结点,并结合程序块链便可以得出该子程序的语义关系框架结构。具体工作流程的描述如图示。开始打开待检程序文件建立框架所需的各种链表子程序划生成结结束图语义关系框架系统抽取工作流程病毒检测引擎设计算法设计与分析计算机病毒检测系统中一个最重要的部分就是检测引擎的设计。真正影响扫描速度及检测率的因素就是检测引擎。它是一个没有画面的核心程序,就好像汽车引擎平常是无法直接看见的,可是它却是影响汽车性能最主要的关键。检测引擎的设计关键还是在扫描算法和检测方法的设计与研究上。有关检测方法的设计已在前面的章节中作了详细阐述。本节详细介绍本方案的扫描算法,即如何利用框架匹配算法计算,和。的匹配程度。 第五章基于程序语义的计算机病毒检测方案的设计设计扫描引擎要解决以下两个问题框架中各槽权值的确定。各槽权值的初值大小主要根据该特征所依靠的病毒特征而定。在本方案中初始权值的确定主要还是根据经验依靠人工的方式来完成。权值的校正也暂且通过人工修改的方式来参与修改。阂值的确定。匹配算法中阂值初始门槛值需要在检测前通过经验预先为它确定固定的值。检测时通过计算,和。两个框架的相似度匹配程度的值,将其与闭值相比较,来确定待检文件是否含有恶意程序。闭值的取值按下述区间中的经验值粗略地估计任,〕取值和时为理想状态,当二时表明系统不含任何恶意代码,即系统处于安全状态当时表明系统含有恶意代码,即系统处于不安全状态。在检测引擎中权值和阂值的设定将直接影响到扫描的最后结果。如何准确的设定权值和阂值则成为检测引擎设计的关键。由于时间短,工作量大等原因,本文在关于权值和初始门槛值的确定方面没有做过分细致的研究,暂且通过人工方式来完成,这有待于今后的研究中进一步改进和完善。算法描述在检测前通过经验预先为阂值确定一个固定的值,相似度值清。然后将语义关系框架抽取系统形成的程序语义关系框架。中的槽值与,中的槽值进行匹配。若匹配,则相应的槽值标志位置,即,若不匹配,则标志位置,即一。经过匹配可以得到相匹配的槽的集合为,,……,,相应的权值为,,……,,按下面的函数计算和匹配程度。…… 青岛大学硕士学位论文其中为整体误差,即由于各槽权值的设定不完善而引起的误差,在当前条件下可认为。将计算得到的相似度值与闭值进行比较,若值大于等于闭值,则认为。与,是匹配的,文件中含有恶意程序,反之则认为不匹配,文件中不含恶意程序。检测引擎工作流程产一入一始检﹂卜夕一文一刑贪一十伟一导程序语义关系框架抽取系统生成程序语义关系框架计算与,的匹配度的值亨,输出报告,显示受检文件具有的恶意行为描述,为用户下一步的选择提供参考执行相应的操作,如删除文件、杀毒等图检测引擎的工作流程对于一个可执行程序而言,程序的长度可能相当长,如果对所有的代码进行检测效率是相当低的。一般而言,计算机病毒的长度仅仅只有几到几 第五章基于程序语义的计算机病毒检测方案的设计十,而且经常附载在程序的开头或者结尾。本检测方案只对程序的开头和结尾部分进行语义关系框架抽取,对于较为复杂的病毒与宿主程序的链接有待于在今后的研究中进一步完善。检测引擎首先将导入的受检文件送往程序语义关系框架抽取系统,获得程序的语义关系框架,采用节的算法计算与,的匹配程度的值,将计算结果与阂值进行比较,若的值大于等于事先给定的闭值,则认为。与,匹配,从而确定待检文件含有恶意代码,并报警,同时给用户提供下一步的选择,删除文件或杀毒等。病毒检测引擎的具体工作流程如图不。实验结果与分析为了验证该方法的有效性,在机的平台上进行了检测实验,使用了黑色星期五、和雨点种病毒作为未知病毒源。本实验中共检测个程序,其中被病毒感染的程序数为。在闭值分别为、和的情况下进行检测。当时报告个程序含有病毒,其中个是误检,个是被感染程序当时报告个程序含有病毒,其中个是误检,个是被感染程序当时报告个程序含有病毒,其中个为误检,个是被感染程序。检测率和误检率如表示。从实验结果可以看出该检测方法是一种较为有效的未知病毒检测方法。在阂值的合理选择下能够获得较高的检测率。表未知病毒的检测结果值检测率误检率 青岛大学硕士学位论文本方法相对于特征码检测法有如下优点①不需要任何病毒库。减轻了病毒库维护的工作量②传统的特征码技术需要频繁的升级,而本方法大大减少版本的升级频率③可防范未知病毒。本方案抓住了病毒传染行为的语义特征,只要待检程序的语义关系框架与病毒传染行为的语义关系框架相匹配,就立即报警,所以在不知道未知病毒类型、特点和特征码的情况下,就达到检测未知病毒的目的。本章小结本章对本检测方案的理论基础、基本思想、关键技术作了较为详细的介绍。本课题的主要创新点大部分体现在本章。主要解决了两个主要问题一是如何抽取待检程序的语义关系框架,二是检测系统的核心一一检测引擎的设计。从节的检测实验可以看出该检测方法是一种较为有效的未知病毒检测方法。在阂值的合理选择下能够获得较高的检测率和较低的误检率。本方案在检测未知病毒的方法上做出了初步的尝试,但是它并非是一个一统的解决方案,要在实践中投入应用,仍需要大量的时间和精力去研究和完善。 总结与展望总结与展望随着信息技术的发展,计算机病毒技术也是在不断的提高,病毒作者不断的将最新的各种技术应用在其中,这就决定了研究计算机病毒不是一墩而就的事情,需要时刻关注病毒的最新动态,并做一些超前的研究,只有透彻理解病毒的内在机理,知己知彼,才能更好的防治病毒,利用病毒。本文深入剖析了系统下各种病毒的相关技术,并提出了基于程序语义的计算机病毒检测方法。在本文中笔者主要解决了以下几个问题①分析研究了不同病毒传染模式的代码结构特点,总结出了病毒程序传染模式的典型语义特征,进而建立描述其典型语义特征的语义关系框架②如何抽取蕴涵在程序中的语义,进而形成描述程序语义的语义关系框架③扫描算法分析与设计。相对于传统的反病毒技术本方案具有如下优点①由于不再需要对病毒进行特征码分析,从而大大减轻了病毒代码分析工作量②传统的特征码技术需要频繁的升级,而本方案大大减少版本的升级频率③模式库采用层次化的框架结构,具有较好的继承性、可扩展性和知识的一致性,这也将使病毒的检测过程变得简单,从而提高检测效率,降低误检率④能达到有效识别未知病毒的目的。本文作者在研究期间,阅读了大量国内外资料,对计算机反病毒技术作了深入研究。可以认为本方案是检测未知病毒的一次成功尝试,但是它并非一个一统的解决方案。由于时间有限,仍然存在许多有待解决的问题,需要大量的时间和精力去进一步研究和完善①对恶意代码的识别,得到的只是一些关键的恶意代码信息,故不能 青岛大学硕士学位论文有效地清除病毒②程序语义关系框架抽取系统的精确性,即如何高效、准确的定位病毒所在位置③在检测引擎中权值和闭值的设定暂时是由人工依经验来完成,如何采用更科学的算法设定其值④本文所构建的模型整体系统的实现还有待进一步完善,还有待进一步的研究与实验分析。这些都需要在今后的研究中进一步完善。 参考文献参考文献「年全国信息网络安全状况与计算机病毒疫情调查分析报告儿」一一一一〕卓新建计算机病毒原理及防治「北京北京邮电大学出版社,【傅建明,彭国军,张焕国计算机病毒分析与对抗〕武汉武汉大学出版社,〕,〔」」,,,,一,「田畅,郑少仁计算机病毒计算模型的研究「〕计算机学报,,一〕,,'一」中华人民共和国计算机信息系统安全保护条例中华人民共和国国务院令第号,【」刘成光基于木马的网络攻击技术研究「〕西北工业大学,「」王业君网络蠕虫的机理与防范「〕中国科学院软件研究所,」文伟平恶意代码机理与防范技术研究〔〕中国科学院研究生院,〔〕,,,,一〕,,,,〔」一,,,一〔」“安哥“恶性病毒突袭局域网「怪物一病毒档案「」爱情后门病毒介绍七「〕李柳柏引导型计算机病毒剖析「重庆工学院学报,,程胜利,谈冉,熊文龙等计算机病毒及其防治技术「」北京清华大学出版社, 青岛大学硕士学位论文「〕杨大全大麻病毒彻底剖析「」微处理机,,一〔〕杨大全胡病毒的剖析与诊治沈阳工业大学学报,,一〕八【〕杨宏宇计算机病毒技术的发展与趋势「」计算机工程,一〕徐殿军,王秀敏文件简析〔」锦州师范学院学报自然版,,一,,,,一」,,,一」,,,」张友生,米安然计算机病毒与木马程序剖析〕北京北京科海电子出版社,,一〕栗新民,廖闻剑“”蠕虫分析与防范」计算机应用研究,一〔幻韩筱卿,王建锋,钟玮等计算机病毒分析与防范大全〕北京电子工业出版社,〔〕李旭华计算机病毒一病毒机制与防范技术」重庆重庆大学出版社,〔〕毕建平病毒与反病毒概述」信息技术,,,一〔」王建兵计算机病毒与反病毒技术发展简述〕国土资源信息化,,」陈立新,张世永主动内核技术仁〕电脑爱好者,一〔」刘松鹏基于网络的病毒防杀体系一智能反病毒虚拟机框架中国优秀博硕士学位论文全文数据库,「金晶,何昆,张世永基于智能扫描的病毒监视器研究〔〕计算机工程,,一仁〕蔡志平计算病毒检测技术研究与实现中国优秀博硕士学位论文全文数据库,〕,,,,一,一仁宋程,李涛,陈桓,许春基于人工免疫原理的未知病毒检测方法仁计算机工程与设计年第卷第期〔」,」,,,一一〔〕一,「〕郑辉,李冠一,涂生蠕虫的行为特征描述和工作原理分析〔第三届中国信息和通信安 参考文献全学术会论文集,,一〔」屈蕴茜、陆建德“木马”病毒的分析、检测与防治「〕苏州大学学报工学版,一,「〕王万诚,李伟华,陈昊鹏基于语义层软件理解的形式化格局识别技术「计算机工程,,〔〕张有为,罗君宏,汪永红通用的汇编源程序框架分析技术研究「了计算机工程与设计,,〔〕,,一厂〕,,一 青岛大学硕士学位论文附硕士期间已发表论文「」陈月玲,纪美霞,林龙涛网络蠕虫的工作原理及防范措施青岛市第四届学术年会论文集,〔陈月玲,贾小珠基于程序行为的计算机病毒检测方法青岛大学学报,自然科学版,「〕陈月玲,贾小珠基于程序语义的计算机病毒检测方法青岛大学学报,自然科学版,「〕林龙涛,陈月玲,任厚来基于数据挖掘的网络入侵检测系统青岛市第四届学术年会论文集,〕纪美霞,任厚来,陈月玲安全多方计算协议在电子商务中的应用青岛市第四届学术年会论文集, 致谢致谢衷心感谢我的导师贾小珠教授本文的研究工作是在贾老师的直接指导和严格要求下完成的,从论文的选题到具体每一步的设计思路和实现思想,无不渗透着贾老师的关怀和帮助。在贾老师的悉心指导下,我对金卜算机病毒及反病毒技术进行了系统的学习和研究,同时完成篇学术论文,并在核心期刊发表。在整个研究生学习和科研过程中,我得到了贾老师的言传身教,无论是从科研学习还是工作方法乃至生活做人,贾老师都给予我极大的帮助和启迪。使我的知识结构和科研能力上升了一个新台阶,更重要的是,激发了我综合素质的飞跃。在此期间,贾老师严谨的治学态度、谦逊的品德、渊博的知识和丰富的经验使我受益匪浅。我在此向贾老师执着追求事业和夜以继口的奉献精神致以崇高的敬意,对贾老师无私的帮助和教诲表示忠心的感谢。感谢实验室的所有师弟师妹们,特别是纪美霞、林龙涛、任厚来、王亮、张良玉、郭旭亭、张洪水等师弟师妹,是他们和我一起营造了和谐、融洽的学术氛围,一起度过了难忘、愉快的课余生活,也使我感到了集体的温暖。感谢我的家人,他们一贯的鼓励和支持是我不断进取的精神支柱。在我求学的路上他们是我坚强的后盾,没有他们的支持,就不会就今天这篇论文的产生。我谨以此篇文章献给所有爱护、关心、帮助、支持过我的老师、同学、一家人和朋友,对他们表示由衷的感谢 青岛大学硕士学位论文学位论文独创性声一明、学位论文知识产权权属声明学位论文独创性声明本人声明,所呈交的学位论文系本人在导师指导下独立完成的研究成果。文中依法引用他人的成果,均己做出明确标注或得到许可。论文内容未包含法律意义上己属于他人的任何形式的研究成果,也不包含本人己用于其他学位中请的论文或成果。本人如违反上述声明,愿意承担由此引发的一切责任和后果。论文作者签名补、凡办日期`叮年二月扣'学位论文知识产权权属声明本人在一导师指导下所完成的学位论文及相关的职务作品,知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为青岛大学。本学位沦文属于保密口,在年解密后适用于本声明。不保密以。'请在以上方框内打“了”论文作者签名补、凤捧日期衬叮年歹月`诺口日期”了年犷月尹日导师签、渝毕木声明的版权归青岛大学所有,米经许可,任何单位及任何个人不得擅自使用

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

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

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