王朝网络
分享
 
 
 

安全宝典——病毒及攻击防御手册(1)

王朝other·作者佚名  2006-12-16
宽屏版  字体: |||超大  

“最初的信任已经消失了,伴随着它们的进驻,这里已经成为了一个沼泽——有你想要的宝藏,也有随时能够吞噬掉你的陷阱。”

觉得用这么一句话某部电影中智者的忠告来形容商业化后的互联网实在很恰当。随着商业进驻互联网——这个原本脱形于军事,发展自高校/公司的网络已经成为了一个势力很大的媒体介质。在这个网络上,能搜索到论文资料,结交到朋友,学习到一些身边根本无法接触到的技术——但网络不是乌托邦,在表面的兴盛繁荣下,罪恶之影亦在游走。

新上网的朋友最为困惑的,莫过于对病毒和各种恶意攻击的恐惧和迷惑了——“我什么都没有做,为什么就中毒了?”是天缘常常听到内部网络的疑问。Ok,接下来,就跟随我一起,进入入门级的安全之旅,希望通过此篇文章,能让您对一些概念,机制有所把握。

本文主要内容

病毒防御入门 攻击防御

1.感染可执行文件的病毒 攻击的六大步骤

2.后台运行进行恶意控制和破坏的病毒 应对攻击行为

3.蠕虫病毒 常见欺骗手法

4.脚本病毒 著名病毒的攻击原理

第一站——病毒防御入门之旅

潘多拉的魔盒被打开,从此世间便多了疾病、瘟疫、灾难——自从1962年,贝尔实验室三位杰出程序员——罗泊.莫里斯、维克多.维索茨基、道格.迈克劳埃以“编制一些程序,让这些程序根据某种规则自己在内存中生存、搏斗”而理念而造就的“磁芯大战”程序开始,计算机世界的潘多拉魔盒就此打开。当时三位积极探索计算机技术的优秀程序员大概不会想到,病毒之门被打开,直至今日阴影仍挥之不去。可悲的是,以技术之钥打开的病毒之门,在半个世纪里越来越堕落,沦为一些人实施经济犯罪或标榜自我的工具,在计算机世界四处游荡着病毒幽灵。

病毒——这个源自医学界的名词,被用在计算机中,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码,就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。

木马——来自“特伊诺木马”,指深入到内部进行攻击与破坏的行为。现在的木马程序一般是指,利用系统漏洞或用户操作不当进入用户的计算机系统,通过修改启动项目或捆绑进程方式自动运行,运行时有意不让用户察觉,将用户计算机中的敏感信息都暴露在网络中或接受远程控制的恶意程序。

蠕虫——蠕虫病毒是指利用网络缺陷进行繁殖的病毒程序,其原始特征之一是通过网络协议漏洞进行网络传播。

脚本病毒——利用脚本来进行破坏的病毒,其特征为本身是一个ascii码或加密的ascii码文本文件,由特定的脚本解释器执行。主要利用脚本解释器的疏忽和用户登陆身份的不当对系统设置进行恶意配置或恶意调用系统特点命令造成危害。

但目前,由于病毒,木马,蠕虫,脚本病毒这四类程序在不断杂交中衍生,已经形成了“你中有我,我中有你”的多态特性。为了行文方便,以下统称为“病毒”,但其实四类程序的感染机制和编写方式是完全不同的,请读者们在阅读的时候详加辨析。

现阶段的病毒,主要分为以下几种:

||||||1.感染可执行文件的病毒

病毒描述:这类病毒就是上面所介绍的4种破坏性程序中的传统病毒。这类病毒的编写者的技术水平可说相当高超,此类病毒大多用汇编/c编写,利用被感染程序中的空隙,将自身拆分为数段藏身其中,在可执行文件运行的同时进驻到内存中并进行感染工作,dos下大多为此类病毒居多,在windows下由于win95时期病毒编写者对pe32的格式没吃透,那段时间比较少,之后在win98阶段这类病毒才扩散开来,其中大家广为熟悉的CIH病毒就是一例;在windows发展的中后期,互联网络开始兴盛,此类病毒开始结合网络漏洞进行传播,其中的杰出代表为funlove传播——由于windows操作系统的局网共享协议存在默认共享漏洞,以及大部分用户在设置共享的时候贪图方便不设置复杂密码甚至根本就没有密码,共享权限也开启的是“完全访问”。导致funlove病毒通过简单尝试密码利用网络疯狂传播。

病毒浅析:由于此类病毒的编写对作者要求很高,对运行环境的要求也相当严格,在编写不完善的时候,会导致系统异常(例如CIH的早期版本会导致winzip出错和无法关闭计算机等问题;funlove在nt4上会导致mssqlserver的前台工具无法调出界面等问题)。这类病毒赖以生存的制约是系统的运行时间和隐蔽性。运行时间——系统运行的时间越长,对其感染其他文件越有利,因此此类病毒中一般不含有恶意关机等代码,染毒后短期内(一般24小时内)也不会导致系统崩溃(如果你是25日感染cih除外),和其他病毒相比用户有足够的处理时间。破坏引导区的大脑病毒、择日发作的星期五病毒、直接读写主板芯片,采用驱动技术的CIH病毒都是其中的代表。

感染途径:此类病毒本身依靠用户执行而进行被动运行,常见感染途径为:盗板光盘、软盘、安全性不佳的共享网络;

病毒自查:此类病毒大多通过的是进驻内存后篇历目录树的方式,搜索每个目录下的可执行文件进行感染,因此对内存占用得比较厉害——如果突然在某个时间后发现自己的机器内存占用很高,可能就是感染了此类病毒。

病毒查杀:这类病毒由于编写难度较大,因此升级(病毒也玩升级?对,例如CIH是在1.4版本后才完善的)速度相对较慢,但由于开机后进驻的程序可能已经被病毒感染,因此杀毒条件是各种病毒中最为严格的,且这2种方式比较干净彻底的方法也适用用后面介绍的各种病毒:

1.软盘(光盘)启机使用杀毒软(光)盘进行杀毒;在进行这一步的时候,必须要保证软盘或光盘的病毒库内已经有杀除该病毒的特征码。

2.将硬盘拆下,作为其他机器的从盘;从其他机器的主盘启动进行杀毒(该机需打开病毒即时监控,以防止来自从盘的可执行文件中的病毒进驻到内存中); 以常见的国产几种杀毒软件为例,在购买的正式版本中,除了供安装使用的光盘外,一般还包含几张软盘(一张引导盘,一张杀毒程序盘,一张病毒库盘)。在对待上面提到的这类病毒时,最好的做法就是用引导盘启动计算机,然后根据提示将杀毒程序盘和病毒盘依次插入,进行病毒查杀。注意2点:1.目前比较新版本的杀毒程序盘都能完善地支持ntfs分区的读写,如果您是在几年以前购买的杀毒盘,可以根据厂家的服务方式进行升级;2.由于采用软盘杀毒的时候,使用的是软盘上的病毒库,为了能正确地查杀病毒,请定期升级软盘的病毒库,否则真到用的时候就哭也哭不出来了。

杀毒遗留:由于这类病毒是寄生到其他程序内部,即使非常优秀的杀毒软件,能做到的也只是把该染毒程序内的病毒某关键执行部分删除,使得染毒程序在运行时病毒无法运行。因此并不是严格意义上的完全清除——病毒程序的某部分依然残留在程序内部,俗称“病毒僵尸”。

在杀除这类病毒的时候,最主要的是分析捕捉特征代码,因为抓特征码的过程中不仅要准确地破坏病毒的执行部分,而且不可以触动正常的程序代码。否则会常常出现杀毒之后该程序无法使用的情形——那还叫什么杀毒?还不如直接删除文件比较好嘛!在查杀这类病毒上,根据天缘的使用经验,norton和国内的金山毒霸做的比较好一些。(此评价只根据我个人使用经验如实说出,不带任何广告性质,请各位选择杀毒产品的时候不要以我的介绍为依据,本人不承担任何责任,下同。)

病毒防范:安装包含即时监控的杀毒软件并启机执行,每天升级病毒库获取最新病毒特征代码;尽量不使用来源不可靠的软盘和光盘,使用前先扫描;关于网络防毒部分后面一并介绍。

||||||2.后台运行进行恶意控制和破坏的病毒

病毒描述:帐号被偷,密码被盗,机器被人远程控制着放歌/开关机/屏幕倒转过来,硬盘不住地转动将关键资料向外发出,就是这类病毒的杰作了。这类病毒和上一类病毒最本质的区别是——这类病毒本身是独立的程序,而不是寄生于另一个程序中。这类病毒的编写主要在于对操作系统本身接口的熟悉,网络传输的熟悉,以及对隐蔽性的要求,此类病毒的编写可使用多种语言,对病毒写作者本身的实力也是一种考验。这个病毒中,最出名的莫过于BO了,可以说,它指引了这种病毒在windows平台的发展理念。这类病毒就是统称的“木马”病毒,通过系统漏洞/用户操作疏忽进入系统并驻留,通过改写启动设置来达到每次启机运行或关联到某程序的目的。在windows系统中,表现为修改注册表启动项、关联Explorer、关联notepad等方式。

病毒浅析: 此类病毒编写者的功力就有高有低了。高手所编写的远程控制系统可以和最优秀的远程管理工具相媲美,例如开山鼻主BO,国产的冰河,著名的黄金木马sub7都属于这一类,这类程序分为2个部分,控制端和被控制端;而在unix类平台下的木马经常是一个简单外部命令的重新实现——例如将原本的ls命令替换掉,用自己写的一个程序代替,在执行正常文件列表的同时隐含执行特殊命令,这类木马的编写水平也相当高,但在windows下极少出现类似程序替代的木马,这类病毒的联系一般是单向进行的;还有一类木马就是网络盗窃性质的,以im软件,网络游戏盗号居多,近来发展为对金融业有所染指,这类一般就是通过程序监视当前窗口,并获得当前窗口特定控件的值(用户名/密码框里的值),然后通过email,远程登陆web数据库等方式把获得的密码发出去,这类程序具有一定编程基础的各位朋友都能做到;第4类是惟恐天下不乱的纯捣乱程序,原理跟上一种类似,不过是朝文本框写信息,例如著名的qq尾巴病毒,这类病毒由于病毒作者将源代码放出,改写起来相当容易,智商85以上的人士都能胜任的。这类木马病毒中的杰出代表为BO、冰河、Sub 7等。

感染途径:系统漏洞/用户错误权限/社会工程学;

利用系统漏洞——造成溢出——获取一定权限——利用其他漏洞或用户设置不当提升权限——上传恶意程序/修改系统设置——启动恶意程序。是这类病毒感染的惯用方式。在后期,出现了以诱骗用户执行为主要感染方式的新木马,充分利用了社会工程学,例如在im类软件上给你发送一个名为“我的照片.exe”这样的文件给你,引诱你打开执行。由于木马的用途主要是将病毒编写者感兴趣的资料回发——因此感染途径99%来源于网络,在完全无网络单机状态下的木马等于是没用的死马。

病毒自查:由于木马发送者的企图都是通过控制你的机器操作来获得一定利益,因此都会设置启动时加载该程序。控制类的木马需要占用相当一部分系统资源——用户直接能感觉到的就是启动速度变慢,系统运行速度变慢;而帐号盗取类的木马由于需要获得特定窗口的窗口句柄,因此会在当前窗口切换的时候进行读取判断——在机器配置不高的机器上,如果快速轮循窗口,则感觉到窗口出现速度明显下降;恶作剧类的木马就不用提了,大家都知道不对劲。

木马病毒在编制不够完美的时候,会导致程序溢出——例如运行ie的时候多次出现“非法操作”、打开资源浏览器速度狂慢等现象,也可能是系统中了木马后的蛛丝马迹。在现象判断上,确实没有切实的客观规则可循,主要是依据主观经验判断。总之——如果您没有安装任何软件/修改任何设置,原本昨天速度飞快的机器今天要么总是非法操作,要么速度延迟——那么您被感染了病毒或木马的可能性相当大了。当然,如果您的qq帐号,传奇密码被偷了——更有100%的可能性是潜伏着的木马干的。另外,相当多的木马程序由于带了hook钩子,常常导致调试类程序出错,如果您使用softice调试某些程序时经常无故报错,那或许也是系统中挂接了异常的hook程序——木马。

病毒查杀:木马病毒的繁衍也是相当快速的,特别是行为上难以判断——合法远程控制软件和木马在本质上基本上无区别,在执行行为上也相当类似。而木马的控制协议一般是走tcp/ip协议,理论上是可以在65535个端口中随意选择(当然实际中会避开一些保留端口,防止系统冲突——木马最必要的生存条件就是其隐蔽性),因此也无法利用端口方式准确判断出病毒种类;通过特征码方式,如果木马作者没有留下版本信息或说明文字,则也相当难以判断;特别是木马的源代码公开后,想在其中加入一段独特的功能代码不是什么难事,因而衍生的版本特别快也特别多,这更加大了杀毒软件查杀的的难度。

事实上现在世面上的杀毒软件对待木马的查杀能力并不够强大,如果有可能,可以选择专用的木马查杀软件,如木马克星等。当然,木马也有手工解决的办法,而且对待层出不穷的木马也只有手工查杀才能以不变应万变——感染/修改设置/启动加载/运行获取密码 是木马必经过的4个步骤,让我们看看怎么找出藏在机器中的马来——由于木马需要启动加载执行,因此大多采取修改启动项目来加载的方式进行——那么,我们就到启动项目里去牵马吧;

在这一步,需要用户对自己windows的启动项目熟悉。Win98中,病毒可能在注册表的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 或者HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run Services中,或者是system.ini文件的[boot]小节将默认项目修改,或者是在Win.ini中的[Windows]小节中的load、run部分进行加载;在Windows\Start Menu\Programs\启动这里加载,如果是2000或者xp,除了上面提到的几个地方,还可能以服务方式加载,在HKEY_LOCAL_MACHINE\Sytem\Current Control Set\Services可以查到具体的加载项目。

对于这一步,由于每个人的机器设置不同,所以天缘也没办法给出列表来说明到底加载的程序中哪些程序是正常的,哪些是不正常的。有个比较方便的方法是——当您系统把需要安装的软件安装得当时,您查看一下以上几个位置,并把其中的项目记录下来,以后觉得自己可能中木马了后,再对比一下以前的记录,将后来添加的自启动程序记录下名字/路径,进行删除操作。这样做的好处是——即使删除掉的是正常程序,也不会是关键进程,不会导致系统无法启动,有恢复修改的余地。在Win98和XP中有个方便的Msconfig命令便于我们查看以上说的启动项目,如果使用的是Win2000,可以将XP的该文件Copy过去使用。

如果的确发现了可疑的启动项,那么接下来的工作就是删除它了。在删除的步骤上,有2个选择:

1.删除启动项目,重新启机,删除木马文件;

2.禁止当前运行的木马程序,删除启动项目,重新启机;

两种方法各有其优点,下面我们来一一分析。第一种方法,是删除启动设置里的木马程序选项,并记录下该木马文件的位置(可用“查找”功能定位,并记录下来),然后重新启动机器(直到机器被重新启动前木马依然是存活着的),重新启动后,木马程序本身依然存留在硬盘上,然后直接象删除普通程序一样删除掉——这个方法的要点就是先禁止木马的启动然后再行杀除,好处是操作简单,不需要借助其他软件,特别是在Win98下默认是无法查看某些进程的,因此用这个方法相当方便,坏处则是对某些木马无效——某些木马在运行的时候会定期查看设置的启动项是否还存在,若是不存在的话会自动修改过来,属于比较强硬的做法,于是第一种杀除方法就无法应对这样的木马了;第2种方法是先通过进程管理器查看,记录并终止运行可疑程序(不光是注册表/配置文件里的木马启动项,有时候木马程序本身会运行一个附带的独立监视程序来防止自己被改写

因此需要非常熟悉自己的机器上的固定正常运行程序才能准确判断,当然还有一个做法是非关键进程都杀——天缘在给朋友机器手工杀木马的时候常这样),之后再到启动项目里去杀除掉相关的启动项目,重新启动机器后再把刚才记录下的进程进行仔细查看,把确认为木马的文件删除掉。这个方法好处当然就是比较容易杀掉一些定期检查/回写启动项目的疑难木马,不过对用户的操作要求比较高一些。

以上2种方法如果掌握了,基本上就能把目前的木马全部手工杀除掉,但遇到木马使用2个程序互相关联/检查启动,或者是在加载基本驱动阶段时以驱动程序方式嵌入的木马程序时候用上面提到的2种方法都无效。在Win2000/xp中,启动机器的时候会加载system32/drivers目录下的驱动,而如果这些驱动中含有恶意程序,那么它可以做到改写i/o,让Windows修改某些文件无效,或让操作某一注册表无效,目前这一技术在病毒中尚未看到先例,但颇有争议的3721已经成功地运用了该技术,相信在不久的将来一些功力深厚的病毒作者也会运用到此技术。天缘在这里预先提一下对该类病毒的删除方法——由于病毒已改写i/o,故最好的做法是在非windows环境中将其删除,具体的做法是用软盘/光驱引导启动,或者利用vFloppy等工具配合boot引导程序制作一个小型虚拟引导盘,进行杀除工作。

杀毒遗留:由于木马程序并不一定只有一个可执行文件,因此如果利用手工查杀的方法,或许会有一些木马留下的dll,ocx等资源文件留下,副作用没什么,但是会残留在硬盘上。杀毒软件严格意义上来说只是杀除了一些比较流行的主流木马,对待一些不太流行的木马是视而不见的,专业的木马查杀工具能杀除90%左右的木马,但剩下的10%高技术的木马也无法查杀——如上文提到采用3721那种加载到system32/drivers下的木马在windows上改写文件/注册表的读写,则无法在windows环境下查杀。

病毒防御:对待木马,防止感染远比事后杀除更为重要——重要的文件/资料/帐号已经被获取了,即使把木马杀了也无事于补。木马的进驻,除了利用系统漏洞,大多采用欺骗方式——记得一句古话:“便宜莫贪”。网络上初认识的朋友热情地给你发他的照片,四处标榜着的免费游戏外挂,一些小站点吹嘘的精品软件,一些情色站点的专用播放器,一些所谓“安全站点”的所谓黑客工具。

世界上没有绝对免费的事,以上提到的这些事情中的确有一些是免费的,当更多的是木马程序,或者利用程序捆绑技术,将正常程序和木马程序捆绑在一起的。如非必要尽量不要在这些地方进行下载。总想贪图便宜,会吃大亏的——生活中如此,网络上同样是!网络上喜欢你6位qq号的人远比觉得你帅的人多;网络上喜欢你40级帐号的人远比喜欢你在游戏中造型的人多;网络上希望你作他肉机的人远比他做你肉机的人多。总之一句话,无事献殷勤——大多非奸即盗!对待漏洞或权限设置不当的,在后面蠕虫病毒部分一并介绍。

||||||3.蠕虫病毒

繁殖,繁殖,再繁殖,利用系统漏洞,通过网络感染感染其他计算机,繁殖,繁殖,再繁殖。此类病毒深得“乾坤生两仪,两仪生四象,四象生八卦”之能,每台受感染的机器,本身又以病毒发送者的身份将蠕虫病毒送向四面八方。

病毒描述:这类病毒的本质特征之一就是透过网络主动进行感染,本身不具有太多破坏特性,以消耗系统带宽、内存、CPU为主。这类病毒最大的破坏之处不是对终端用户造成的麻烦,而是对网络的中间设备无谓耗用。例如网络中的交换机/路由器/DNS服务器/邮件服务器常常是蠕虫病毒爆发的最大受害者——“互联网瘫痪了!?”——2003年1月的SQL蠕虫爆发就是最好的例证。

病毒浅析:在以前,编写这类病毒的技术要求相当高。1988年,前面提到的“磁芯大战”之子罗伯特.莫里斯在发现了几个系统漏洞后,编写了一个精巧的程序,短短时间便将当时的大半个互联网瘫痪。由以上可以看出,蠕虫的出现,传播,感染是需要系统漏洞和获得系统权限的。莫里斯不愧为技术高手,不光在于对病毒的编写,更在于对系统漏洞的发掘上。随着时间的推移,操作系统的进步,在功能完善的同时,漏洞也随之增加。

不少真正的安全小组在发现漏洞的同时,除了会给出详细的技术说明外,往往附带一个小程序的源代码,说明利用漏洞获得权限的实现。而这个小程序被蠕虫病毒编写者如获至宝,将起改写,加上文件传输,ping扫描,修改启动项自动执行等能用代码简单实现的功能,就成了一个蠕虫病毒——换句话说,现在编写蠕虫病毒的门槛已经大大降低了,所以大家会看到18岁的优秀病毒编写者云云——其实相较起破坏特性来,发现安全漏洞更是需要高超的技术水平——这是安全小组做到的,而不是病毒编写者。因此可以这样概括:自从莫里斯发明出蠕虫病毒以来,该种病毒的编写者自身实力日渐下降,从操作系统级水平沦落到代码编写级水平,不可同日而语。

感染途径:系统漏洞/用户错误权限

蠕虫病毒本事是一个需要以一定身份执行的程序。因此通过系统漏洞进行感染是其手段,提升权限是其企图,重复感染是其目的。没打上系统漏洞补丁的操作系统,权限设置松散的设置,极其简单的用户密码是这类病毒的最爱。

病毒自查:由于通过网络感染,这类病毒都会大量占用网络带宽。由于现在普通pc的性能相当不错,因此一些新兴的蠕虫病毒在大肆占用网卡发送封包的同时,本机速度不会变的太缓慢,这跟自查带来了一定麻烦。以天缘工作为例,检查到内网中有用户染毒后,电话通知他,结果被反问:“我运行单机程序的时候这么快,只有上网的时候才觉得慢,是不是你们网络中心故意捣乱??”网管难做啊,不对单机造成任何伤害的病毒用户一般难以察觉,因此还是后来会导致系统出错1分钟内自动关闭的这类病毒比较受我们网管欢迎呢。上网的朋友可以检查一下网络连接的封包发送,如果自己没进行任何操作的时候,依然有大量的数据报文不断发出——那么有很大可能您中了蠕虫病毒。

病毒查杀:这类蠕虫病毒由于感染非常迅速,而且是通过系统漏洞方式感染,所以对互联网络的危害相当大,唇亡齿寒,因此一般来说发现了该漏洞的操作系统公司和杀毒公司都不会坐视不管,会在第一时间推出补丁和专杀工具。用户下载后,断网进行杀毒,然后打上patch,重新启动系统就能避免再次重复感染了。至于病毒传播速度太快,在杀毒后下载patch的中途又被重复感染的问题,可见我以前的一篇文章《网管笔记之小兵逞英雄》,举一反三则可以 。

杀毒遗留:由于该类病毒本身是独立程序,利用系统漏洞进行远程权限获取,进而上传,运行,感染,所以用专用的软件杀除后,基本无文件残留,但部分专杀工具没有将其启动项目清理得非常完全,可以使用上面查找木马启动设置的方法手工查找加载位置进行删除。另外切记一定在杀毒后第一时间及时打上补丁,否则重复感染机会高达100% 。

病毒防御:

1.勤打补丁,一般说来一个操作系统被发现漏洞以后,大概在15天以内相关的病毒就会出现,因此有必要随时关注自己所使用的操作系统的补丁升级情况,养成每天定时查看补丁升级情形的习惯。这里的补丁不光包括操作系统自身的,也包含程序服务的补丁,例如ftp服务器的补丁等等。

2.权限设置,很多蠕虫感染的条件是需要以root级运行的进程出现漏洞,那么蠕虫才有权限进行上载、执行的权利,在windows下由于大多数后台进程是以administrator权限执行,带来的危害也相当大;*nix下则可设置非关键进程使用普通用户或chroot方式来避免权限提升。

3.尽量少开服务,可开可不开的服务绝对不开,最小化风险;

4.安装网络封包防火墙,只允许特定的端口的数据包通过或者特定的程序访问网络。这部分我们放在后面攻击防御那里介绍。

||||||4.脚本病毒

这类病毒编写最为简单,但造成的危害非常大。我们常见的浏览了xx站点就被改了主页,在收藏夹里被添加上很多无谓的东西,就是拜这类病毒所赐。

病毒描述:这类病毒的本质是利用脚本解释器的检查漏洞和用户权限设置不当进行感染传播;病毒本身是ascii码或者加密的ascii码,通过特定的脚本解释器执行产生规定行为,因其行为对计算机用户造成伤害,因此被定性为恶意程序。最常见的行为就是修改用户主页,搜索页,修改用户收藏夹,在每个文件夹下放置自动执行文件拖慢系统速度等;比较出名的如美利莎邮件病毒、新欢乐时光病毒、office的宏病毒等都属于这类。

病毒浅析:为了完成一些自动化的任务,需要用程序方式来实现。但复杂的程序编写又不是非程序人员能够胜任的。为了提高工作效率,方便用户操作,加强系统特性,于是许多软件/操作系统都预留了接口给用户,用简单的方法编写一些完成一定功能的小程序。程序本身是ascii码的,不编译,直接解释执行,在调试/修改使用上相当简便,虽然牺牲一定效率,但是换来了易用性。这本是一个良好的愿望,但太多的时候,这没有起到积极的作用,反而为脚本病毒编写者提供了良机。

以web病毒为例,由于用户缺乏安全意识用错误的权限登陆,导致ie中的解释器使用wsh可以操作硬盘上的文件和注册表,而javascript和vbscript调用wsh是很容易的事情——于是恶意脚本的作者只需要让你访问该页面,就能在你本地写上一些恶意的脚本,在注册表里修改你的主页/搜索项了。而利用ie的activex检查漏洞,则可以在不提示地情况下从网络上下载文件并自动执行——这就成了木马攻击的前奏曲;利用mime头漏洞,则可以用一个以jpg结尾的url中,指向一个事实上的web页,然后在web页中内嵌图片+恶意代码的方式迷惑计算机用户;利用outlook自动读去eml的特性和mime头检查不严格来执行恶意2进制代码;利用本地硬盘上有执行autorun.inf的特性(这功能本来是光驱用的,我们的光盘之所以放进去就能自动读出程序,就是光盘上有个名为autorun.inf文件起的作用,它是个文本文件,各位可以看看)把一些需要加载的程序写到该文件下导致每次访问该分区的时候就会自动运行;利用windows下会优先读取folder.htt和desktop.ini的特性,将恶意代码写入其中,导致访问任何一个文件夹的时候都会启动该病毒,再配合上锁定注册表的功能,杀除起来异常麻烦——不复杂,但是相当烦琐,一不留意没杀干净一处,又导致死灰复燃,前功尽弃。

病毒自查:上面有提到,这类病毒一般以捣乱居多,所以特别容易发现。而其另一个作用是作为木马进驻系统的先遣部队,利用浏览器漏洞等达到下载木马文件到本地硬盘,并修改启动项,达到下次启机运行的目的。因此一旦发现木马的同时,也可以检查一下是不是有些可疑的脚本文件。

病毒查杀:这类病毒一般来说由于其编写灵活,源代码公开,所以衍生版本格外地多;杀毒软件/木马杀除软件对待这类病毒大多没用。而由于脚本病毒(除宏病毒外)大多是独立文件,只要将这些文件查找出来删除掉就行了。不过这里值得留意的是,利用微软的浏览器的漏洞,在点击选择某些文件的同时就自动执行了,甚至打开浏览器的同时脚本病毒就开始驻留感染——这样是无法杀除干净的。

正确的做法是使用其他第三方的资源浏览器,例如Total Command就是一个非常不错的选择。查杀大致过程如下:首先,在资源浏览器——工具——文件夹选项中,将“使用Windows传统风格的桌面”取消掉,在桌面上点右键,点“属性”——“桌面设置”,将使用活动桌面取消,接着查杀可疑对象;常见查杀对象:各个根分区下的autorun.inf,各个目录下的desktop.ini和folder.htt(有几个是系统自带的,不过删除了也无关系的),这一步最好采用第三方的资源浏览器,例如前面介绍的Total Command来完成。在这一步,最忌讳查杀不净,即使有一个病毒遗漏,很快就又遍布各个文件夹内了。关于邮件病毒的杀除使用专杀工具就行了。

病毒残留:纯粹脚本病毒在杀除后不会有任何残留,但由于目前的病毒大都采用复合形态,捆绑多种传染方式和多种特性,因此不少脚本病毒只是将用户机器的安全防线撕开的前奏——真正的破坏主力木马、蠕虫尾随其后进入系统,因此在杀除掉脚本病毒后,非常有必要连带着检查系统中是否已经有了木马和蠕虫病毒。

病毒防御:脚本病毒的特性之一就是被动触发——因此防御脚本病毒最好的方法是不访问带毒的文件/web网页,在网络时代,脚本病毒更以欺骗的方式引诱人运行居多。由于ie本身存在多个漏洞,特别是执行activex的功能存在相当大的弊端,最近爆出的重大漏洞都和它有关,包括mozilla的windows版本也未能幸免。因此个人推荐使用myie2软件代替ie作为默认浏览器,因为myie2中有个方便的功能是启用/禁用web页面的activex控件,在默认的时候,可以将页面中的activex控件全部禁用,待访问在线电影类等情况下根据自己的需要再启用。关于邮件病毒,大多以eml作为文件后缀的,如果您单机有用outlook取信的习惯,最好准备一个能检测邮件病毒的杀毒软件并及时升级。如果非必要,将word等office软件中的宏选项设置为禁用。脚本病毒是目前网络上最为常见的一类病毒,它编写容易,源代码公开,修改起来相当容易和方便,而且往往给用户造成的巨大危害。

以上4类程序的介绍,为了降低学习难度,我是单态方式来介绍的。事实上目前的病毒大多以具有上面4类程序中的2到3类的特征,因此无论感染,传播,杀除的困难都大大增加。例如发文前夕的mydoom新变种病毒的分析中:它利用系统漏洞/邮件群发/共享漏洞方式传播(具备了蠕虫、脚本病毒和新型病毒的传播特性),进驻用户系统后上载自身并运行(木马特性),获取用户本地outlook中的地址本(木马特性),通过调用google等搜索引擎获取用户email地址本中同后缀的相关选项(调用系统程序,木马功能),再主动给地址本中的每个程序发出email(木马特性)。对待这样一个病毒,无论是系统存在漏洞、共享安全设置不当、或者随意地打开了“朋友”发来的email,都可能导致中毒。关于中毒途径的分析,留待下一站《攻击防御之旅》内一并介绍。

在从第一个病毒出现到现在,已经有整整半个世纪了,病毒的发展日新月异,令查杀的困难大大增加,造成的损失也异常巨大。或许,计算机病毒这个幽灵,从计算机诞生的那一刻起就注定要如影相随的。只要还有用心险恶的人存在,那么病毒就不会消亡。病毒之战,恐怕会在今后的日子里越演越烈……

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有