映像劫持 av终结者肆虐的元凶(通俗易懂地解说了其原理)【转贴】

原文出自:http://www.xinduw.net
  题记:起AV终结者,许多曾感染过此病毒的朋友还心有余悸。此病毒会禁用用户电脑上的杀毒软件以及相关安全工具,让电脑推动安全保护,用户甚至无法访问与安全相关的网站;病毒难以清除,即使格式化系统分区并重装系统,依旧会再次感染病毒......利用这些厉害的招数,AV终结者初出江湖便一鸣惊人,之后变种频出。四处肆虐,无数电脑惨被它“蹂躏”。而让AV终结者名声大振、让用户电脑上的杀毒软件推动作用成为一种摆设的元凶便是它所采用的病毒技术---映像支持!由于AV终结者“一举成名”。如今越来越多的病毒也开始采用这一技术。映像支持技术究竟有什么“魁力”,能让如此多的病毒技术爱好者青睐呢?

映像支持利用的是系统功能

      什么是映像劫持(IFEO劫持)?简单说就是我本来打算运行QQ程序,双击QQ程序快捷方式后,却打开了其它如词本程序,那就可以说是词本程序劫持了QQ程序,即要运行的程序被其它程序替代了。而实现这一目的,利用的就是系统映像IFEO(Image File Execution Options)的功能。
      IFEO项原本是系统为了调试程序而设置的注册表项目,它位于windows注册表中的“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options”。此项通常情况下只有管理员和拥有本地系统权限才可对写入和删除,基于NT架构的windows操作系统在执行程序运行请求时,首先会检查这是否为一个可执行文件,如果是可执行文件它又是何种格式?然后检查该文件是否存在于“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options”。存在即运行,如果不存在,则提示“指定的路径不正确”,或“系统找不到此文件”。
      病毒是如何利用系统映像达到劫持目的呢?举个例子,假设名为“log_.1exe"的病毒想要劫持QQ程序,那么只需要在注册表的“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options”项下新建名为qq.exe的项,在此项当中新建一键值为Debugger的字符串,内容为C:、log_1.exe(病毒所在路径),这时你会发现QQ已经无法运行,点击QQ的同事病毒却被运行了,这便是典型的映像劫持。

病毒为何偏爱映像劫持?

      映像技术对普通用户来说并无多大用处,然而由于它可以被利用来阻止一些程序的运行;同时又使一些程序获得运行的机会,使得它成了一把双刃剑,一旦被病毒所利用,就有可能反过来对正常的系统造成危害.那么病毒为何喜欢利用映像支持呢?

1.禁用大量安全软件,为自身运行"扫除障碍".

      病毒可以通过一项,禁用用户电脑中安装的大量安全软件,这是最突出的后果,也是病毒选择利用IFEO劫持的最主要原因。
大部分软件,特别是大型软件,包括杀毒软件和防火墙等安全软件,它们的主要文件,其文件名都是不变的。而映像劫持,恰恰就是以文件名来判断被劫持的程序。
      病毒只需要考虑文件名这个因素,收集一个足够全面的安全软件程序名的列表,写一个循环,将在注册表中创建映像劫持项的相关语句作为循环体,在病毒运行时执行这几行代码,就可以将所需要的映像支持项写入注册表,从而把列表上的安全软件“一锅端”。成本是低廉的,而收获却是巨大的。而如果不采用映像劫持技术,要达到同样的目的,病毒可能需要根据不同的安全软件,设计各不相同的方案来应付,实现方法难度可是要大得多。
      只要当病毒进入电脑的时候,杀毒软件不能阻止病毒运行(由于很多用户电脑中的杀毒软件都不是实时更新的,要满足这一点并不困难),那么病毒就会“先下手为强”,抛出映像劫持的“杀手锏”。用户重装系统后,杀毒软件就已经不能启动,又不能升级,没有了杀毒软件束缚的病毒,当然就可以更加为所欲为了。病毒不再需要像以前那样,为了在杀毒软件的瞍底下“苟活”而不断地做免杀,出变种。

2。隐蔽自己,“悄无声息”地启动

      一般的病毒,木马,会在一些常见的注册表路径(如HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)下创建启动项,以便达到开机自启动的目的。当用户觉察到自己的系统有异常,通常会注意这些觉的注册表启动项路径,通过观察路径中是否有陌生的项目,来判断系统中是否有病毒木马。
      相比之下,IFEO项似乎都一直不引人注意,然而只要系统有机会发出启动被IFEO劫持的程序的命令,那么Debugger键指向的程序也就会被启动。它是如此隐藏,而你却对此还一无所知。

3。对系统的影响可能一直延续到病毒被清除之后

      同样与一般启动项不同,在病毒文件被清除之后,如果没有对相应的IFEO项进行处理,那么文件名被劫持的软件,在运行之时,IFEO劫持项依然“有效”,这时由于对应的病毒文件已丢失,系统将会提示找不到文件。在清除相应的IFEO劫持项之前,文件名被雪困住劫持的软件仍然不能正常运行。
病毒所创建的IFEO支持项,就像是给我们念的“紧箍咒”,稍有不注意,再次“触雷”’就会前功尽弃。遇到这样的病毒,就必须学首先学会“在夹缝中求生”。

该如何应对映像劫持?

      IFEO劫持并非无懈可击,它的最大局限就是,永远只能针对文件名。在运行被IFEO支持的安全软件工具之前,只须将程序文件名更改,就不受IFEO支持的限制了。
      当然,这只适用于一些绿色软件,而如杀毒软件和防火墙这样架构稍复杂的软件,由于其程序文件之间必须进行交叉,而文件名又是识别的重要标志,因而将默认文件名更改,仍然会导致程序运行不正常。所以,对会IFEO劫持的第一个突破口,恰恰不在于杀毒软件各防火墙,而应该在于其它的小工具,包括这些病毒的专杀程序。
      当使用了这些工具对病毒进行初步的处理后,就应该修复注册表中的IFEO项,从而恢复包括杀毒软件在内的其它安全软件的使用,进一步将病毒清除干净。
      对IFEO支持的预防,也有一些简单易行的办法。在此我们要强调,在对病毒造成的IFEO劫持进行处理时,将IFEO项下所有的子键全部删除的做法,以及为了预防IFEO支劫持,而将IFEO项本身连子键一起删除的做法都是不提倡的。IFEO本身就是系统提供的一项正常的功能,其中的一些子键,对系统正常稳定地运行以及程序的调试,起着一定的作用。更何况,即使项真的被全部删除了,当病毒进入系统时,也可以先加一行语句自行创建它,因此这种方法实际上并不具有真正的预防能力。
      一种相对较为有效的方法是,保留IFEO项以及正常项目,但对它设置相应的权限,钭计算机管理员和系统对该路径的操作权限降低,去除其它人写入权限。经过这些处理之后,即使病毒进入系统,以管理员或者系统的权限启动,也不能直接进行IFEO劫持。

点击进入如何修改IFEO的写入权限》》

本文已在电脑部发布,版权归《电脑报》所有

转载请注明:本文来自本杯酒博客(http://www.xinduw.net)

最后编辑2007-10-20 17:24:10.717000000