多态蠕虫产生器的设计与实现Word文档下载推荐.docx

您所在的位置:网站首页 蠕虫病毒攻击网络的主要方式是修改网页 多态蠕虫产生器的设计与实现Word文档下载推荐.docx

多态蠕虫产生器的设计与实现Word文档下载推荐.docx

2023-02-25 17:58| 来源: 网络整理| 查看: 265

多态蠕虫产生器的设计与实现Word文档下载推荐.docx

多态蠕虫产生器的设计与实现Word文档下载推荐.docx

上传人:t*** 文档编号:21316179 上传时间:2022-08-09 格式:DOCX 页数:34 大小:396.03KB

早期恶意代码的主要形式是计算机病毒。

1988年“Morris”蠕虫爆发后,Spafford为了区分蠕虫和病毒,对病毒重新进行了定义,他认为:

“计算机病毒是一段代码,能把自身加到其他程序包括操作系统上;它不能独立运行,需要由它的宿主程序运行来激活它”。

而网络蠕虫强调自身的主动性和独立性。

Kienzle和Elder从破坏性、网络传播、主动攻击和独立性四个方面对网络蠕虫进行了定义:

网络蠕虫是通过网络传播,无须用户干预能够独立地或者依赖文件共享主动攻击的恶意代码。

根据传播策略,他们把网络蠕虫分为三类:

E-mail蠕虫、文件共享蠕虫和传统蠕虫。

郑辉认为蠕虫具有主动攻击、行踪隐蔽、漏洞利用、造成网络拥塞、降低系统性能、产生安全隐患、反复性和破坏性等特征,并给出相应的定义:

“网络蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停地获得网络中存在漏洞的计算机的部分或全部控制权来进行传播。

[1]”该定义包含了Kienzle和Elder定义的后两类蠕虫,不包括E-mail蠕虫。

2003年10月的世界蠕虫会议上,Schechter和MichaelD.Smith提出了一类新型网络蠕虫,AccessForSale蠕虫,这类蠕虫除上述定义的特征之外,还具备身份认证的特征。

综合上述分析,我们认为“网络蠕虫是一种智能化、自动化,综合网络攻击、密码学和计算机病毒技术,无须计算机使用者干预即可运行的攻击程序或代码,它会扫描和攻击网络上存在系统漏洞的节点主机,通过局域网或者国际互联网从一个节点传播到另外一个节点”。

此定义体现了新一代网络蠕虫智能化、自动化和高技术化的特征。

2.病毒的原始定义人们在探讨计算机病毒的定义时,常常追溯到DavidGerrold在1972年发表的科幻小说《WhenHarlieWasOne》,但计算机病毒的技术角度的定义是由FredCohen在1984年给出的,“计算机病毒是一种程序,它可以感染其它程序,感染的方式为在被感染程序中加入计算机病毒的一个副本,这个副本可能是在原病毒基础上演变过来的。

”1988年,Morris蠕虫爆发后,EugeneH.Spafford为了区分蠕虫和病毒,将病毒的含义作了进一步的解释。

“计算机病毒是一段代码,能把自身加到其它程序包括操作系统上。

它不能独立运行,需要由它的宿主程序运行来激活它。

”3.蠕虫定义的进一步说明在上面提到的蠕虫原始定义和病毒原始定义中,都忽略了相当重要的一个因素,就是计算机使用者,定义中都没有明确描述计算机使用者在其整个传染机制中所处的地位。

计算机病毒主要攻击的是文件系统,在其传染的过程中,计算机使用者是传染的触发者,是传染的关键环节,使用者的计算机知识水平的高低常常决定了病毒所能造成的破坏程度。

而蠕虫主要利用计算机系统漏洞(vulnerability)进行传染,搜索到网络中存在漏洞的计算机后主动进行攻击,在传染的过程中,与计算机操作者是否进行操作无关,从而与使用者的计算机知识水平无关。

另外,蠕虫的定义中强调了自身副本的完整性和独立性,这也是区分蠕虫和病毒的重要因素。

可以通过简单的观察攻击程序是否存在载体来区分蠕虫与病毒[1]。

通过简单的分析,可以得出结论,“Morris蠕虫病毒”是蠕虫而非病毒;“Happy99蠕虫病毒”、“Mellisa网络蠕虫宏病毒”、“LoverLetter网络蠕虫病毒”、“SirCam蠕虫病毒”是病毒而非蠕虫;“NAVIDAD网络蠕虫”、“Blebla.B网络蠕虫”、“VBS_KAKWORM.A蠕虫”是病毒而非蠕虫[2]。

4.蠕虫、病毒之间的区别与联系

(1)主动性方面:

蠕虫的传播具有很强的主动性,它的运行与传播并不需要计算机使用者的干预;而病毒则必须要借助计算机使用者的某种操作来激活它,这样才能达到其攻击的目的。

(2)感染对象方面:

蠕虫感染的对象是有相应漏洞或者其他脆弱性的计算机系统,而病毒的感染对象则是计算机中的文件系统。

通过上面两点主要区别,读者已经基本可以对蠕虫与病毒加以区分。

例如“NAVIDAD网络蠕虫”、“Blebla.B网络蠕虫”、“VBS_KAKWORM.A蠕虫”等,虽然它们以蠕虫命名,但它们本质上却是病毒,并非蠕虫。

表1.1中列出了蠕虫与病毒的特征对比[3]。

表1.1蠕虫与病毒的特征对比蠕虫病毒主动性主动传播激活后传播感染对象有相应脆弱性的系统文件系统感染机制自身复制将自己插入宿主程序存在方式独立存在寄存于宿主程序中计算机用户角色无关触发者影响重点本地系统、网络本地系统防护措施打补丁从宿主程序中清除对抗主体系统软件和服务软件提供商、计算机用户、网络管理员计算机用户、反病毒厂商1.1.2蠕虫的基本特征通过对蠕虫的整个工作流程的分析,可以归纳得到它的以下8种基本特征[3]:

1.主动攻击蠕虫在本质上已经演变为黑客入侵的自动化工具,当蠕虫被释放后,从搜索漏洞,到利用搜索结果攻击系统,到复制副本,整个流程全由蠕虫自身主动完成。

2.行踪隐蔽由于蠕虫的传播过程,不像病毒那样需要计算机使用者的辅助工作(如执行文件、打开文件、阅读信件、浏览网页等等),所以在蠕虫传播的过程中,计算机使用者基本上不可察觉。

3.利用系统、网络应用服务漏洞除了最早的蠕虫在计算机之间传播是程序设计人员许可、并在每台计算机上做了相应的配合支持机制之外,所有后来的蠕虫都是要突破计算机系统自身的防线,并对其资源进行滥用的。

计算机系统存在漏洞是蠕虫传播的前提,利用这些漏洞,蠕虫获得被攻击的计算机系统的相应权限,完成后继的复制和传播过程。

这些漏洞有的是操作系统本身的问题,有的是应用服务程序的问题,有的是网络管理人员的配置问题。

正是由于漏洞产生原因的复杂性,才导致人们面对蠕虫攻击的时候防不胜防。

4.造成网络拥塞蠕虫进行传播的第一步就是找到网络上其它存在漏洞的计算机系统,这需要通过大面积的搜索来完成,搜索动作包括:

判断其它计算机是否存在;判断特定应用服务是否存在;判断漏洞是否存在。

这不可避免的会产生附加的网络数据流量。

即使是不包含破坏系统正常工作的恶意代码的蠕虫,也会因为它产生了巨量的网络流量,从而导致整个网络性能的下降甚至瘫痪,进而造成经济损失。

5.降低系统性能蠕虫入侵到计算机系统之后,会在被感染的计算机上产生自己的多个副本,每个副本启动搜索程序寻找新的攻击目标。

大量的进程会耗费系统的资源,导致系统的性能下降,这对网络服务器的影响尤为明显。

6.产生安全隐患大部分蠕虫会搜集、扩散、暴露系统敏感信息(如用户信息等),并在系统中留下后门,这些都会导致未来的安全隐患。

7.反复性即使清除了蠕虫在文件系统中留下的任何痕迹,如果没有修补计算机系统漏洞,重新接入到网络中的计算机还是会被重新感染。

这个特性在Nimda蠕虫的身上表现得尤为突出。

计算机使用者用一些声称可以清除Nimda的防病毒产品清除本机上的Nimda蠕虫副本后,很快就又重新被Nimda蠕虫所感染[4]。

8.破坏性从蠕虫的历史发展过程可以看到,越来越多的蠕虫开始包含恶意代码,破坏被攻击的计算机系统,而且造成的经济损失数目越来越大。

以上描述主要针对蠕虫个体的活动行为特征,当网络中多台计算机被蠕虫感染后,将形成具有独特行为特征的“蠕虫网络”(wormnetwork),关于蠕虫网络的其它特征,还有待进一步的研究和讨论。

1.1.3蠕虫的功能结构1.主体功能模块主体功能模块由4个模块构成。

(1)信息搜集模块:

该模块决定采用何种搜索算法对本地或者目标网络进行信息搜集,内容包括本机系统信息、用户信息、邮件列表、对本机的信任或授权的主机、本机所处网络的拓扑结构,边界路由信息等等,这些信息可以单独使用或被其他个体共享。

(2)扫描探测模块:

完成对特定主机的脆弱性检测,决定采用何种的攻击渗透方式。

(3)攻击渗透模块:

该模块利用

(2)中获得的安全漏洞,建立传播途径,该模块在攻击方法上是开放的、可扩充的。

(4)自我推进模块:

该模块可以采用各种形式生成各种形态的蠕虫副本,在不同主机间完成蠕虫副本传递。

例如“Nimda”会生成多种文件格式和名称的蠕虫副本;“W32.Nachi.Worm”利用系统程序(例如TFTP)来完成推进模块的功能等[2]。

2.辅助功能模块辅助功能模块是对除主体功能模块外的其他模块的归纳或预测,主要由5个功能模块构成。

(1)实体隐藏模块:

包括对蠕虫各个实体组成部分的隐藏、变形、加密以及进程的隐藏,主要是为提高蠕虫的生存能力。

(2)宿主破坏模块:

该模块用于摧毁或破坏被感染主机,破坏网络正常运行,在被感染主机上留下后门等。

(3)信息通信模块:

该模块能使蠕虫间、蠕虫同黑客之间能进行交流,这是未来蠕虫发展的重点;利用通信模块,蠕虫间可以共享某些信息,使蠕虫的编写者更好地控制蠕虫行为。

(4)远程控制模块:

控制模块的功能是调整蠕虫行为,控制被感染主机,执行蠕虫编写者下达的指令。

(5)自动升级模块:

该模块可以使蠕虫编写者随时更新其他模块的功能,从而实现不同的攻击目的。

1.1.4蠕虫的传播策略1.选择性随机扫描随机扫描会对整个地址空间的IP随机抽取进行扫描,而选择性随机扫描(SelectiveRandomScan)将最有可能存在漏洞主机的地址集作为扫描的地址空间,也是随机扫描策略的一种。

所选的目标地址按照一定的算法随机生成,互联网地址空间中未分配的或者保留的地址块不在扫描之列。

例如Bogon列表[bogon-list]中包含近32个地址块,这些地址块对公网中不可能出现的一些地址进行了标识。

选择性随机扫描具有算法简单,易实现的特点,若与本地优先原则结合则能达到更好的传播效果。

但选择性随机扫描容易引起网络阻塞,使得网络蠕虫在爆发之前易被发现,隐蔽性差。

“CodeRed”、“Slapper”和“Slammer”的传播采用了选择性随机扫描策略[6]。

2.顺序扫描顺序扫描(SequentialScan)是被感染主机上蠕虫会随机选择一个C类网络地址进行传播,根据本地优先原则,蠕虫一般会选择它所在网络内的IP地址。

若蠕虫扫描的目标地址IP为A,则扫描的下一个地址IP为A+1或者A-1。

一旦扫描到具有很多漏洞主机的网络时就会达到很好的传播效果。

该策略的不足是对同一台主机可能重复扫描,引起网络拥塞。

“W32.Blaster”是典型的顺序扫描蠕虫。

3.基于目标列表的扫描基于目标列表扫描(Hit-listScan)是指网络蠕虫在寻找受感染的目标前,预先生成一份易感染的目标列表,然后对该列表进行攻击尝试和传播。

目标列表生成方法有两种:

①通过小规模的扫描或者互联网的共享信息产生目标列表;②通过分布式扫描可以生成全面列表的数据库。

理想化蠕虫“Falsh”就是一种基于IPv4地址空间列表的快速扫描蠕虫。

4.基于路由的扫描基于路由的扫描(RoutableScan)是指网络蠕虫根据网络中路由信息,对IP地址空间进行选择性扫描的一种方法。

采用随机扫描的网络蠕虫会对未分配的地址空间进行探测,而这些地址大部分在互联网上是无法路由的,因此会影响到蠕虫的传播速度。

如果网络蠕虫能够知道哪些IP地址是可路由的,则它能够更快、更有效地进行传播,并能逃避一些对抗工具的检测。

网络蠕虫的设计者通常利用BGP路由表公开的信息,获取互联网路由的IP地址前辍,然后来验证BGP数据库的可用性。

基于路由的扫描大大提高了蠕虫的传播速度,以“CodeRed”为例,路由扫描蠕虫的感染率是采用随机扫描蠕虫感染率的3.5倍[ZTGC2003]。

基于路由的扫描的不足是网络蠕虫传播时必须携带一个路由IP地址库,蠕虫代码量大。

5.基于DNS扫描基于DNS扫描(DNSScan)是指网络蠕虫从DNS服务器获取IP地址来建立目标地址库,该扫描策略的优点在于获得的IP地址块具有针对性强和可用性高的特点。

基于DNS扫描的不足是:

①难于得到有DNS记录的完整地址列表;②蠕虫代码需要携带非常大的地址库,传播速度慢;③目标地址列表中地址数受公共域名主机的限制。

例如“CodeRedI”所感染的主机中几乎一半没有DNS记录。

6.分治扫描分治扫描(Divide-ConquerScan)是网络蠕虫之间相互协作快速搜索易感染主机的一种策略,网络蠕虫发送地址库的一部分给每台被感染的主机,然后每台主机再去扫描它所获得的地址。

主机A感染了主机B后,主机A将它自身携带的地址分出一部分给主机B,然后主机B开始扫描这一部分地址。

分治扫描策略的不足是存在“坏点”问题。

在蠕虫传播的过程中,如果一台主机死机或崩溃,那么所有传给它的地址库就会丢失。

这个问题发生的越早,对传播的影响就越大。

有三种方法能够解决这个问题:

①在蠕虫传递地址库之前产生目标列表;②通过计数器来控制蠕虫的传播情况,蠕虫每感染一个节点计数器加一,然后根据计数器的值来分配任务;③蠕虫传播的时候随机决定是否重传数据库。

7.扫描策略评价网络蠕虫传播速度的关键影响因素有4个:

①目标地址空间选择;②是否采用多线程搜索易感染主机;③是否有易感染主机列表(Hit-list);④传播途径的多样化。

各种扫描策略的差异主要在于目标地址空间的选择。

网络蠕虫感染一台主机的时间取决于蠕虫搜索到易感染主机所需要的时间。

因此,网络蠕虫快速传播的关键在于设计良好的扫描策略。

一般情况下,采用DNS扫描传播的蠕虫速度最慢,选择性扫描和路由扫描比随机扫描的速度快;对于Hit-list扫描,当列表超过1M字节时蠕虫传播的速度就会比路由扫描蠕虫慢;当列表大于6M字节时,蠕虫传播速度比随机扫描还慢。

分治扫描目前还没有找到易于实现且有效的算法。

目前网络蠕虫首先采用路由扫描,再利用随机扫描进行传播是最佳选择。

1.2蠕虫与病毒领域的研究现状近年来,随着互联网的普及,人们对互联网的认识越来越深入,大量的蠕虫工具包和蠕虫编写文章在网上出现,使得蠕虫编写工作的难度越来越低。

新的蠕虫层出不穷,所造成的危害也越来越大,其危害程度已经远远超过传统的病毒,使人们逐步认识到研究蠕虫对抗措施的重要性。

但目前研究工作还主要集中在对已有蠕虫的检测与防范上,使蠕虫的防范工作处于一种非常被动的地位。

为了改变这种被动的局面,人们正在研究能够检测与防范未知蠕虫的准确有效的方法,并已经取得一些初见成效的成果。

国内基本没有对蠕虫较深入的研究工作,这也许是由于对计算机病毒领域研究的误解造成的,仍然有最新的国内文献认为计算机病毒理论己经定型,没有研究的必要。

但这不表明中国的蠕虫技术落后,有大量的迹象表明[2],危害最大的几个蠕虫都是中国黑客编写的。

1.3课题的研究意义和目的从90年代第一个变形病毒出现到现在,还没有任何一款反病毒软件能够完全解决这个问题,而且时至今日,多态变形蠕虫、病毒始终存在于计算机系统之中。

很多多态变形蠕虫、病毒刚一出现就大规模蔓延,几乎达到了不能控制的状态。

更为严重的是,在过去的几年里,多态变形技术己经趋于成熟,几乎每天都有新的变种出现,而且其复杂程度也是日益增加。

考察目前出现的大多数多态变形蠕虫、病毒,可以看出大多数的计算机技术都被应用到了蠕虫、病毒的设计中。

从蠕虫、病毒发展的角度来看,多态变形蠕虫、病毒将毫无疑问地成为未来蠕虫、病毒发展的趋势,并将在原有的基础上产生根本性的转变。

这主要体现在这类高级蠕虫、病毒不再持有以往绝大多数病毒那种“恶作剧”的目的,它可能是人类投入巨资研究出的、可扰乱、破坏社会信息、政治、经济秩序等、或是主宰战争目的的一种“信息战略武器”;它们有可能接受机外遥控信息,也可以向外发出信息,比如在多媒体机上可通过视频、音频、无线电或互联网收发信息;也可以通过计算机的辐射波,向外发出信息;也可以潜藏在联接Internet的计算机中,收集密码和重要信息,再悄悄地随着的主人通信,将重要信息发出去。

这些变形病毒的智能化程度相当高,因此多态变形技术也就越来越受到人们的关注。

到目前为止,变形技术仅仅应用于PE文件型病毒中[5],完全意义上的变形蠕虫、病毒还没有出现。

尽管传统的特征码扫描技术在多态变形技术面前逐渐丧失了它以往的上佳表现,但是新生技术,如虚拟机、基于行为的检测技术以及启发式扫描技术,在很大程度上能够有效地遏制多态变形蠕虫、病毒的蔓延[6]。

本课题旨在通过研究多态变形技术,剖析已经存在的变形蠕虫的工作原理,提出多态蠕虫的一般模型结构,并设计实现一种多态蠕虫产生器,从而实现对蠕虫序列的多态变化。

同时,本课题



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3