一、为什么流氓软件总是删不掉?
经常有网友发贴子说文件删除不掉,或者流氓软件清除不了,或者删除了相关的文件,但是马上它又出现了。现在流氓软件为了保护自己,采取的手段是五花八门,无所不用其极:进程保护,交叉感染,自启动,自我恢复,文件隐藏,进程注入,驱动保护。
到目前为止,所有流氓软件最终极、最有效的保护办法还是底层驱动级的保护,一般就是在drivers目录下增加一个或多个.sys文件(我也见过一个用rundll32来运行一个.dll作为驱动的),但本质上这个都会在Windows的HKLM\SYSTEM\CurrentControlSet\Services\下建一个相关的值,如CNNIC建立的就是HKLM\SYSTEM\CurrentControlSet\Services\cdnprot,并且将启动级别做得很高,在安全模式下也会自动启动。这个底层的驱动过滤所有的文件以及注册表操作,如果发现是对流氓软件自己的文件/注册表操作,就会直接返回一个true,如果发觉文件被删除,就会通过备份或者网络来下载恢复。它们的保护措施已经做到这一级,普通用户根本没有办法删除相关的文件,一般都需要重启到DOS系统下去删除文件。
这也是很多网友提的为什么文件删除不掉,或者删除了,重启之后,一会儿又出现了,阴魂不散的原因。下面我们的要做的,就是找出来这些流氓软件的后台的驱动保护。
二、为什么找出驱动保护很困难?
Windows的驱动文件一般位于system32\drivers目录下,以.sys文件方式存在,通过注册表的HKLM\SYSTEM\CurrentControlSet\Services\的方式来启动,有一部分属于服务的,可以在Windows的服务的MMC控制窗口里看到。但如果是驱动,则在这里看不到。Windows正式情况下,那个drivers目录下有200个左右的文件,如果偷偷往这个下面塞一个.sys文件,是很难发现的。象著名的3721这类cnsminkp.sys,CNNIC的cdnprot.sys比较容易认识,但现在的很多软件的名字都是不固定的,或者是随机生成的,这样的辨识的难度就很大。我曾经用过的方式有:
1、通过保存文件列表,时常自己手工比较这两个文件,看前后差别多出来的文件肯定有问题
2、通过文件生成的日期。(这点流氓软件也想到了,日期也只能作为参考)
3、通过文件的属性里在的公司信息。早年还行,现在越来越多的流氓软件的驱动冒充是M$的,有的连英文单词都写错了。
4、通过文件夹监视工具。
上面这四种都有一定的缺陷,只能作为参考,都不是太好。并且现在有一些软件通过文件系统隐藏,这些驱动文件,通过资源管理器,根本连看都看不到。
下一篇:谈谈针对Linux的病毒起源发展及分类 [Page] 1996年的Staog是Linux系统下的第一个病毒,它出自澳大利亚一个叫VLAD的组织(Windows 95下的第一个病毒程序Boza也系该组织所为)。Staog病毒是用汇编语言编写,专门感染二进制文件,并通过三种方式去尝试得到root权限。 Staog病毒并不会对系统有什么实质性的损坏。它应该算是一个演示版。它向世人揭示了Linux可能被病毒感染的潜在危险。Linux系统上第二个被发现的病毒是Bliss病毒,它是一个不小心被释放出来的实验性病毒。与其它病毒不同的是,Bliss本身带有免疫程序,只要在运行该程序时加上 “disinfect-files-please”选项...[查看详情] |