爱爱小说网 > 体育电子书 > 知者无畏--一个真实的簿世界 >

第11章

知者无畏--一个真实的簿世界-第11章

小说: 知者无畏--一个真实的簿世界 字数: 每页3500字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



氖担庋憔筒换岣芯醯讲《镜拇嬖凇5侨绻褂门刀俅排坦ぞ呋蛘摺癙CTools”等工具查看磁盘的时候,由于这些工具使用了直接磁盘存取技术,不通过DOS中断获得文件的大小,所以你可以看到感染病毒后文件的实际大小,这种方法经常被推荐用来检查是否有病毒的存在。在没有合适的工具情况下,不失为一种简单有效的方法。

宏病毒的隐藏技术

宏病毒的隐藏技术和引导型病毒以及文件型病毒比起来要简单很多,只要在WORD/EXCEL中禁止菜单:文件-》模板 或者 工具-》宏就可以隐藏病毒了,可以通过宏病毒代码删除菜单项以及宏病毒用自己的FileTemplates和ToolsMacro宏替代系统缺省的宏就可以了。
第六节 病毒是如何进入内存的
大部分病毒都包括了内存驻留的部分,当被感染的文件执行之后,一部分病毒进入内存,并且一直呆在那儿,即使程序执行完毕。这部分内存中的代码会执行感染文件或者引导区的操作,因此,如果内存中仍然存在病毒的话,即使将硬盘上所有感染病毒的文件都彻底清除,病毒仍然会在进行任何文件访问后重新感染。
对于不包括内存驻留部分的病毒,清除就简单得多,因为病毒只有在执行之后才进行短暂的感染,所以执行杀毒程序,彻底检测和清除硬盘上的文件就可以完全清除病毒了。

DOS环境下的内存驻留
对于标准的DOS中止并且驻留程序(TSR)程序来说,有两种方法可以使用,一种是通过在CONFIG。SYS中作为设备驱动程序加载。另外一种是调用DOS中断INT21H(或者INT27H)的退出但仍然驻留功能。但是病毒不是常规的TSR程序,病毒通常会使用更加巧妙的方法驻留内存,下面是一些病毒经常隐身所在的地方:


DOS环境下的内存驻留病毒会修改大量的DOS INT21H功能,根据调用所处理的文件后缀名或者文件类型决定是否进行感染。主要修改的INT21H功能包括:
* 执行文件 (EXEC; AX=4B00)。
* 装入内存 (LOADAH=4BH);。
* 搜索(列目录功能)(FindFirst 和 FindNext; AH=11h;21h;4Eh;4Fh)。
* 创建文件(CREATE; AH=3Ch)。
* 打开文件(OPEN; AH=3Dh)。
* 关闭文件(CLOSE; AH=3Eh)。
* 改变文件属性(CHMMODE; AH=43h)。
* 文件改名(RENAME; AH=56h)
 
内存驻留病毒在装入内存中之后,需要使用一种方式告诉随后执行的被感染文件,内存中已经加载了病毒代码,不需要再把病毒放到内存中了。有下面几种简单的方式可以达到这个目的:
* 修改某些中断,增加一个功能号,比如说中断21H,增加一个AX=FFFFH的调用,如果返回1表示病毒存在,病毒不存在的话,DOS会返回0。
* 在一些很少使用的内存区域中,放置病毒存在的标志。
有一些内存驻留病毒,比如说使用病毒制造库生成的病毒,由于不正确的实现了防止重新加载的算法,会造成病毒反复加载,这样会造成其中的一个不能正常工作,如果加载的次数过多会使系统内存耗尽,造成死机。


引导区病毒的内存驻留

引导区内存驻留程序使用类似的方法将病毒代码放入系统内存中,这样会造成系统可用内存减少,由于引导病毒通常都比较小,所以一般减少的内存都只有1K或者几K。
为了避免用户可以很容易的觉察到系统可用内存的减少,一些病毒会等待DOS完全启动成功,然后使用DOS自己的功能分配内存,这样不会显示整个可用内存减少,而是在DOS可用的内存中增加了一小个常驻的程序,这样往往不会引起用户的警觉。
引导区内存驻留程序往往不包括重入检测部分,因为引导区病毒只会在系统启动的时候加载一次。

视窗环境下病毒的内存驻留

视窗环境下病毒可以通过三种方法驻留内存,由于视窗操作系统本身就是多任务的,所以最简单的方法是将病毒作为一个视窗环境下的应用程序,拥有自己的窗口(可能是隐藏的)、拥有自己的消息处理函数;另外一种方法是使用DPMI申请一块系统内存,然后将病毒代码放到这块内存中;第三种方法是将病毒作为一个VXD(视窗3。x或者视窗9x环境下的设备驱动程序)或者在视窗NT/视窗2000下的设备驱动程序VDD加载到内存中运行。
在视窗环境下,进行一次文件系统调用可以有几种途径,一种是通过传统的21H号中断,这和通常的DOS环境下病毒的感染方法是一样的,另外一种是通过视窗环境的应用程序编程接口(API)进行,这种方式最后都会归结到VXD调用,所以通过VXD形式的内存驻留病毒可以拦截这些调用并进行感染。
传统的防止病毒重新加载的方法基本上在视窗环境下也是可用的,对于VXD病毒,静态加载的会在“SYSTEM。INI”中包含加载设备驱动程序的一行,动态加载的可能使用某些英特尔CPU的一些特殊状态位来表示病毒是否存在于内存中(CIH病毒就采用了这种方法)。

宏病毒的内存驻留方法

宏病毒是一类特殊的病毒,它主要存在于WORD和EXCEL环境中,一旦WORD和EXCEL运行起来,病毒就会被加载并且一直存在于系统中,所以从某种意义上,宏病毒都是内存驻留病毒。
宏病毒通常也会进行重入检测,发现一个文档中已经包含了病毒的特征就不会再对这个文档进行感染,这样可以防止反复感染造成文档不断增大甚至损坏。

重入检测和病毒免疫

由上面的叙述可以知道,大部分驻留内存的病毒会在加载病毒代码之前,检查系统的内存状态(判断内存中是否有病毒),感染文件之前,查看文件的状态,看看该文件是否已经被感染了,如果被感染了则不再重复感染。这种机制导致了一种反病毒技术的出现,也就是形形色色的免疫程序,使用一个程序设置内存的状态,设置CPU的状态或者设置文件的一些特征,从而防止某种特定的病毒进入系统。
从实际的作用来看,这种免疫程序的作用是有限的,因为只有对病毒进行了详细的分析才能够编写出这样的免疫程序,而如果已经对病毒进行了详细的分析,应该可以很方便的编写出检查和清除病毒的程序,所以与其使用这种免疫程序防止病毒的感染,不如在执行文件之前进行彻底的病毒检测以防止执行带有病毒的程序。
第七节 浏览就可以传染—可怕的脚本病毒
随着因特网的广泛使用,电脑病毒也出现了新的发展趋势,脚本病毒在1999年以后已经成为最主要的病毒类型之一。脚本病毒类似于前面所描述的宏病毒,但是它的执行环境不再局限于WORD、EXCEL等微软OFFICE应用程序,而是随着微软将脚本语言和视窗操作系统日益紧密的结合,扩展到网页、HTA(基于HTML的应用程序),甚至文本文件中。
脚本语言:脚本语言是介于 HTML 和 Java、C++ 和 Visual Basic 之类的编程语言之间的语言。HTML 通常用于格式化文本和链接网页,基本上没有什么处理功能,编程语言通常用于表示一系列复杂指令和逻辑。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂,而且脚本语言是解释执行的,直接可以执行脚本语言的文本而不需要使用一个庞大的编译器将脚本语言编译成机器语言。执行脚本语言需要一个脚本语言引擎解释执行脚本语言编写的程序。主要的脚本语言包括下面几种:
* 活动服务器页面(Active Server Pages),在因特网服务器端执行的脚本,构造变化多端的页面供浏览。
* 微软可视化BASIC脚本语言(Microsoft Visual Basic Scripting Edition),使用微软视窗操作系统内置的脚本引擎。
* 爪哇脚本语言(Java Script)使用浏览器内置的脚本引擎执行。
其他的脚本语言还有PHP、REXX、PERL等。由于能自我复制、扩散的程序就可以成为病毒了,脚本语言的功能越来越强大,现代的脚本语言基本上可以完成所有的文件系统操作,所以使用脚本语言的病毒的出现也就成为必然。

脚本语言病毒的基本原理

脚本语言存在的一个最重要的基础和前提是,如何满足病毒的基本前提,复制自身?
使用VBScript可以很容易的完成这个任务。下面是一个普通的VBscript脚本程序(由于众所周知的原因,我们在这里使用的是伪代码而不是实际的VBScript语言代码):
设置  对象1 = 创建对象(“Scripting。FileSystemObject”) //创建一个文件操作对象对象1。创建文本文件( 〃virus。txt〃; 1) //通过这个文件对象的方法创建一个TXT文件
  如果我们把这两句话保存成为后缀名为。vbs的VBS脚本文件,点击就会在当前目录创建一个文本文件。 
如果把第二句改为:
对象1。获取文件(WScript。ScriptFullName)。拷贝(〃virus。vbs〃)
就可以将自身复制到当前目录的virus。vbs文件中。它的意思是把程序本身的内容拷贝到目的位置。这么简单的两行代码就实现了自我复制的功能,已经具备病毒的基本特征。
下面的一些伪代码,可以实现对微软邮件系统的感染,具有一个脚本病毒的基本功能:







伪代码 代码的说明


上面的代码就可以通过Outllok的邮件系统把自己以附件的方式扩散出去。 

从这些简单的伪代码中,我们可以看出,仅仅这么简单的几行代码,就能成为具有自我复制、繁殖、骚扰网络的病毒了。当然,我们可以为它添加更多的本领,比如:修改注册表、删除文件、发送被感染者的文件、隐藏自己,感染其他文件。其实,以目前视窗系统的编程开放特性,以及脚本语言和视窗操作系统的紧密集成,上面的功能都很容易实现。一个中级的VB程序员,没有任何的汇编知识,很容易就能制作类似的蠕虫病毒。 
计算机世界的不断发展,界面的友好性以及代码开放性都为病毒的产生提供更好的平台。一个程序简单的病毒,同样能够成为破坏力强大的超级病毒。可以这么说:病毒制作早已经进入高级编程阶段。不会低级机器语言的程序员,也能够制作功能强大的病毒。
正是因为病毒制作进入高级编程阶段,使得病毒的制作更加容易,更多稍微有编程基础的人就能写出病毒来。同时,象脚本病毒这样的代码,如果不加密,它的源代码也能轻松看见,这被更多的有低级趣味的低级程序员所利用。从“爱虫”等脚本病毒开始,它们的源代码也随着病毒一起扩散开来,被人改装过后就发展成新的病毒,什么Homepage、Mayday等,都几乎差不多。最近,又有人改装成“杰西卡蠕虫”病毒,用“163电子邮箱收费通知”做标题,其基本代码和扩散部分代码完全是I Love You 病毒的抄袭。

脚本病毒包括下面的几种基本类型:


* 基于JAVAScript的脚本病毒
使用JAVAScript语言编写的病毒,主要运行在IE浏览器环境中,可以对浏览器的设置进行修改,主要破坏是对注册表的修改,危害不是很大。

* 基于VBScript的脚本病毒
使用VBScript语言的病毒,可以在浏览器环境中运行,更重要的是,这种病毒和普通的宏病毒并没有非常清晰的界限,可以在Office,主要是Outlook中运行,可以执行的操作非常多,前面描述的例子就是使用VBScript语言编写的,甚至可以修改硬盘上的东西,删除文件,执行程序等,危害非常大。

* 基于PHP的脚本病毒
这是新的病毒类型,感染PHP脚本文件,主要对服务器造成影响,对个人电脑影响不大,目前仅有一个“新世界”(NewWorld)病毒,并没有造成很大的破坏,但是前景非常难以估计,如果PHP得到更加广泛的使用,这种病毒将成为真正的威胁。

* 脚本语言和木马程序结合的病毒
这种病毒除了使用脚本语言进行扩散以外,还会在受到侵入的计算机上安装一个名为特洛伊木马程序,容许他人未经授权访问受到感染的计算机。一种典型的方法是,通过直接在病毒代码中包括二进制的木马程序编码,或者另外一个叫做VIRUS。BIN的文件,通过脚本语言直接执行DEBUG程序,使用DEBUG程序将VIRUS。BIN存储成为VIRUS。EXE,然后通过脚本语言就可以偷偷的执行这个木马程序了。
这种木马和脚本相结合的病毒已经成为最近病毒发展的新趋势,也给反病毒软件厂商带来了很大的挑战。

第八节 针对IRC的蠕虫程序
这类病毒在90年代早期曾经广泛流行,但是随着即时聊天系统的普及和基于浏览的浏览逐渐成为交流的主要方式,这种病毒出现的机会也就越来越小了,所以我们对这种病毒不作详细的描述。
第九节 “恶意代码”—不是病毒的病毒
第一种恶意代码是远程控制程序,通常称之为特洛伊木马,关于这种恶意代码我们将在有关黑客那一章作详细的描述。
第二种是恶作剧程序,最有名的是“麦当劳女鬼”,这个恶作剧程序在香港曾经吓死了女职员,虽然由于不具有自我传播的特性,但是所有的杀毒软件厂商仍然把这个程序作为恶意代码处理。杀无赦!
第三种是潜在的病毒,由于开发中的错误或者其他一些原因,造成病毒的感染部分不能正常工作,这些程序不能看作病毒,但是杀毒软件也把它作为恶意代码处理。
还有就是各种病毒制造机,多态病毒生成器等,这些东西虽然不是病毒,但是作为病毒的开发工具,还是不要流传的好,所以杀毒软件看到这些程序当然是“仇人相见分外眼红”了,杀,没有什么好商量的。
第四章 真实的病毒故事

第一节 尼姆达病毒,和恐怖分子有关?
2001年9月18日,距离美国“911”恐怖分子袭击事件整整一周的时间,一个新的,传染力非常巨大的病毒首先在美国出现,由于这个时间和出现的地点是如此的巧合,因此有报道认为这个病毒是恐怖分子策划的又一起针对美国的袭击事件,当然我对此表示怀疑,如果需要配合911的袭击的话,为什么不在9月11日当天就散布这个病毒,这样的效果不是更好吗。
产生和传播:
2001年9月18日上午在美国首次出现,当天下午,已经有超过130,000台服务器和个人电脑遭受感染
2001年9月18日晚,在日本、韩国、中国香港、新加坡和中国大陆地区都收到感染该病毒的报告,同时,该病毒也迅速传播到欧洲地区。
2001年9月19日,超过150,000的公司遭受感染,大量公司网络遭到病毒袭击后,不得不关闭自己的因特网服务器。
截至2001年9月19日,几乎所有和因特网连接的电脑都有可能遭受到病毒的袭击。
危害和损失:
对网络带宽的危害,为了传播病毒,该病毒发送带有附件的电子邮件,然后扫描并感染易受攻击的服务器,并感染到网络的共享硬盘上,接着向所有访问被感染服务器所控制网页的上网者传播病毒,最大的危害是对系统带宽方面的,由于病毒的传播占用了大量的系统带宽,造成系统速度的明显下降。 
带宽:考察网络性能的一个重要指标,类似于高速公路的宽度,显然双向六车道的高速公路,通过能力要远远大于双向四车道的高速公路。带宽决定了在一段指定的时间内,可以通过的数据量,高的带宽,可以使你在一分钟之内,下载更多的歌曲,可以更快的浏览网页。
安全漏洞,由于该病毒会打开硬盘的所有共享,并使任何用户使用guest帐号就可以

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的