算法设计与分析课程论文1研究生课程论文(2008-2009学年第二学期)蠕虫病毒的特征与防治摘要随着网络的发展,以网络传播的蠕虫病毒利用网络全球互联的优势和计算机系统及网络系统安全性上的漏洞,己经成为计算机系统安全的一大的威胁。采用网络传播的蠕虫病毒与传统的计算机病毒在很多方面都有许多不同的新特点。本文对蠕虫病毒的特征和防御策略进行了研究,透彻分析了几个流行的蠕虫病毒的本质特征和传播手段,并提出了防治未知病毒以及变形病毒的解决方案与虚拟机相结合的基于攻击行为的着色判决PN机蠕虫检测方法。关键词:蠕虫,病毒特征,病毒防治算法设计与分析课程论文21引言“蠕虫”这个生物学名词于1982年由XeroxPARC的JohnF.Shoeh等人最早引入计算机领域,并给出了计算机蠕虫的两个最基本的特征:“可以从一台计算机移动到另一台计算机”和“可以自我复制”。最初,他们编写蠕虫的目的是做分布式计算的模型试验。1988年Morris蠕虫爆发后,EugeneH.Spafford为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义。“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上。”计算机蠕虫和计算机病毒都具有传染性和复制功能,这两个主要特性上的一致,导致二者之间是非常难区分的。近年来,越来越多的病毒采取了蠕虫技术来达到其在网络上迅速感染的目的。因而,“蠕虫”本身只是“计算机病毒”利用的一种技术手段[1]。2蠕虫病毒的特征及传播1、一般特征:(1)独立个体,单独运行;(2)大部分利用操作系统和应用程序的漏洞主动进行攻击;(3)传播方式多样;(4)造成网络拥塞,消耗系统资源;(5)制作技术与传统的病毒不同,与黑客技术相结合。2、病毒与蠕虫的区别(l)存在形式上病毒寄生在某个文件上,而蠕虫是作为独立的个体而存在;算法设计与分析课程论文3(2)传染机制方面病毒利用宿主程序的运行,而蠕虫利用系统存在的漏洞;(3)传染目标病毒针对本地文件,而蠕虫针对网络上的其他计算机;(4)防治病毒是将其从宿主文件中删除,而防治蠕虫是为系统打补丁。3、传播过程:(1)扫描:由蠕虫的扫描功能模块负责探测存在漏洞的主机。(2)攻击:攻击模块按漏洞攻击步骤自动攻击步骤1中找到的对象,取得该主机的权限(一般为管理员权限),获得一个shell。(3)现场处理:进入被感染的系统后,要做现场处理工作,现场处理部分工作主要包括隐藏、信息搜集等等(4)复制:复制模块通过原主机和新主机的交互将蠕虫程序复制到新主机并启动。每一个具体的蠕虫在实现这四个部分时会有不同的侧重,有的部分实现的相当复杂,有的部分实现的则相当简略。尼姆达病毒是一个比较典型的病毒与蠕虫技术相结合的蠕虫病毒,它几乎包括目前所有流行病毒的传播手段,并且可以攻击Win98/NT/2000/XP等所有的Windows操作平台。该病毒有以下4种传播方式:(1)通过Email发送在客户端看不到的邮件附件程序sample.exe,该部分利用了微软的OE信件浏览器的漏洞;(2)通过网络共享的方式来传染给局域网络上的网络邻居,使用设置密码的共享方式可以有效的防止该病毒的此种传播方式;(3)通过没有补丁的IIS服务器来传播,该传播往往是病毒屡杀不绝的原因,该方式利用了微软IIS的UNICODE漏洞;(4)通过感染普通的文件来传播,在这一点上和普通的病毒程序相同。4、蠕虫病毒的传播趋势算法设计与分析课程论文4目前的流行病毒越来越表现出以下三种传播趋势:1、通过邮件附件传播病毒,如Mydoom等邮件病毒;2、通过无口令或者弱口令共享传播病毒,如Nimda、Netskey等;3、利用操作系统或者应用系统漏洞传播病毒,如冲击波蠕虫、震荡波蠕虫等。3目前流行的蠕虫病毒3.1Mydoom邮件病毒Novarg/Mydoom.a蠕虫是2004年1月28日开始传入我国的一个通过邮件传播的蠕虫。在全球所造成的直接经济损失至少达400亿美元,是2004年1月份十大病毒之首。该蠕虫利用欺骗性的邮件主题和内容来诱使用户运行邮件中的附件。拒绝服务的方式是向网站的WEB服务发送大量GET请求,在传播和攻击过程中,会占用大量系统资源,导致系统运行变慢。蠕虫还会在系统上留下后门,通过该后门,入侵者可以完全控制被感染的主机[2]。该蠕虫没有使用特别的技术和系统漏洞,之所以能造成如此大的危害,主要还是由于人们防范意识的薄弱,和蠕虫本身传播速度较快的缘故。该蠕虫主要通过电子邮件进行传播,它的邮件主题、正文和所带附件的文件名都是随机的,另外它还会利用Kazaa的共享网络来进行传播。病毒文件的图标和windows系统记事本(NOTEPAD.EXE)图标非常相似,运行后会打开记事本程序,显示一些乱码信息,其实病毒已经开始运行了。病毒会创建名为“SwebSipcSmtxSO”的排斥体来判断系统是否己经被感染。蠕虫在系统中寻找所有可能包含邮件地址的文件,包括地址簿文件、各种网页文件等,从中提取邮件地址,作为发送的目标。病毒会避免包含以下信息的域算法设计与分析课程论文5名:gov、mil、borlan、bsd、example等,病毒同样会避免包含以下信息的电子邮件帐户:accoun、ca、certific、、icrosoft、info、linux等,当病毒检测到邮件地址中含有上述域名或帐户时则忽略该地址,不将其加入到发送地址链表中。Worm.Mydoom.a病毒主程序流程如图3-1所示,后门程序shimgapi.dll如图3-2所示:否是失败成功开始初始化变量检测注册表HKLM和HKUC下是否存在键Software\Mcirosoft\Windwos\CurrentVersion\Explorer\ComDlg32\Version,存在则代表已感染,否则创建该键,表示第一次感染第一次感染创建互斥体SwebSipcSmtxSO创建互斥体SwebSipcSmtxSO返回创建临时随机文件并用Notepade.exe打开(乱码)生成库文件shimapi.dll,并装载该库当前时间是否大于终止时间,大于则返回将病毒自身拷贝生成文件taskmon.exe修改注册表增加病毒自启动项,HKLM\Software\Microsoft\Windows\CurrentVersion\Run”TaskMon”=”%system%taskmon.exe”判断日期是否满足触发条件,若满足则创建线程无限循环链接Sco网站,并发送信息进行DOS攻击算法设计与分析课程论文6图3-1Mydoom病毒主体流程图图3-2shimgapi.dll流程图打开注册表找到kazaa共享路径,并将当前运行进程文件副本拷贝至该目录下,扩展名为.exe、.scr、.pif、.bat四者之一创建无限循环扫描线程扫描wab文件、IE临时文件、硬盘中的文本文件,将扫描到的邮件地址、用户进行过滤,然后加入到邮件地址队列创建无限循环的发送邮件线程massmail_main_th,从扫描得到的邮件地址队列取地址发送邮件,邮件的发送人地址、主题、内容、附件名称随机,附件即病毒主体结束开始加载动态库当系统为Wni9X时,注册为系统服务查询当前线程信息,根据此信息获得动态库路径,修改注册表键将HKEY_CLASSES_R00T\CLSID\{E6FB5E20-DE35-llCF-9C87-00AA005127ED}\InProcServer32,(Default)=”%system%\webcheek.dll”改为”%System%\shimgapi.dll”,在系统启动时,shimgapi.dll会随着EXLPORER.EXE的启动而得到执行创建后门端口并监听,根据接收的首字节确定转发或接收数据并执行每半秒检查一次注册表,若病毒主体路径被删除则补上结束算法设计与分析课程论文7Mydoom蠕虫病毒除造成了网络资源的浪费,阻塞网络,被攻击网站不能提供正常服务外,最大的危险在于安装了后门程序。该后门即shimgapi.dll,通过修改注册表,使自身随着EXPLORER的启动而运行,将自己加载到了资源管理器的进程空间中。后门监听3127端口,如果该端口被占用,则递增,但不大于3198。后门提供了两个功能:(1)作为端口转发代理;(2)作为后门,接收上传程序并执行。当3127端口收到连接之后,如果recv的第一个字符是x04,转入端口转发流程。若第二个字符是0x01,则取3、4两个字符作为目标端口,取第5-8四个字节作为目标IP地址,进行连接并和当前socket数据转发。recv的第一个字符如果是x85,则转入执行命令流程。先接收四个字节,转成主机字节序后验证是否是x133c9ea2,验证通过则创建临时文件接收数据,接收完毕运行该文件。也就是说,只要我们把任意一个可执行文件的头部,加上五个字符:x85133c9ea2,作为数据发送到感染了Mydoom.a蠕虫机器的3127端口,这个文件,就会在系统上被执行,从而对被感染系统的安全造成了极大的威胁。Nimda蠕虫病毒在Nimda蠕虫病毒出现以前,“蠕虫”技术一直是独立发展的。Nmida病毒第一次将“蠕虫”技术和“计算机病毒”技术结合起来。从Nimda的攻击方式来看,Nimda蠕虫病毒只攻击微软的WinX系列操作系统,它通过电子邮件、网络临近共享文件、IE浏览器的内嵌MIME类型自动执行漏洞、IIS服务器文件目录遍历漏洞、CodeRedII和Sadmind/IIS蠕虫留下的后门共五种方式进行传播,算法设计与分析课程论文8其中前三种方式是病毒传播方式。关于蠕虫病毒的分析,在很多文献[3]中都有提到,本文在这些文献的基础上,重点针对几种典型的蠕虫病毒在技术实现上的特点进行分析,以期找到他们的一些共性。1.被利用的系统漏洞描述(1)微软IE异常处理MIME头漏洞IE在处理MIME头中“Content2Type:”处指定的某些类型时存在问题,攻击者可以利用这类缺陷在IE客户端执行任意命令。(2)MicrosoftIISUniCode解码目录遍历漏洞微软IIS4.0和IIS5.0在UniCdoe字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。(3)MicrosoftIISCGI文件名错误解码漏洞微软IIS4.0/5.0在处理CGI程序文件名时存在一个安全漏洞,由于错误地对文件名进行了两次解码,攻击者可能利用这个漏洞执行任意系统命令。(4)“CodeRedII”和Sadmind/IIS蠕虫留下的后门程序。2.传播方式(l)邮件传播蠕虫会向被攻击者发送一封携带了蠕虫附件的邮件。这个邮件由两部分MIME类型的信息组成:第一部分的MIME类型为“text/html”,但却没有包含文本,因此看起来是空的;第二部分的MIME类型为“audio/x2wav”,但它实际上携带的是一个名为“Readme.exe”的base64编码的可执行附件。利用了“微软IE异常处理MIME头漏洞”安全漏洞,任何运行在x86平台下并且使用微软IE5.5SP1或之前版本(IE5.01SP2除外)来显示HTML邮件的邮件客户端软件,都算法设计与分析课程论文9将自动执行邮件附件。用户甚至只需打开或预览邮件即可使蠕虫被执行[4]。被蠕虫攻击的目标邮件的地址从下列两个来源中获得:①用户WebCache文件夹中的*.htm和*.html文件②用户通过MAPI服务收到Email邮件的内容蠕虫在这些文件中搜索看起来像邮件地址的字符串,然后向这些地址发送一份包含蠕虫拷贝的邮件。Nimda蠕虫在Windows注册表中记录最后一批邮件发送的时间,然后每十天重复搜索邮件地址并重新发送蠕虫邮件。(2)IISWEB服务器传播蠕虫会利用两个IIS服务器的目录遍历漏洞和以前的一些IIS蠕虫(RdeCodeII和Sadmind/IIS)留下的后门程序来进行传播。蠕虫按照下列几率来选择攻击目标的IP地址:①50%的几率,在与本地IP地址前两字节相同的地址(B类网络)中选择一个②25%的几率,在与本地IP地址前一字节相同的地址(A类网络)中选