金睛火眼—从进程中判断出病毒和木马
任何病毒和木马存在于系统中,都无法彻底和进程脱离关系,即使采用了隐藏技术,也还是能够从进程中找到蛛丝马迹,因此,查看系统中活动的进程成为我们检测病毒木马最直接的方法。但是系统中同时运行的进程那么多,哪些是正常的系统进程,哪些是木马的进程,而经常被病毒木马假冒的系统进程在系统中又扮演着什么角色呢。
病毒进程隐藏三法
当我们确认系统中存在病毒,但是通过“任务管理器”查看系统中的进程时又找不出异样的进程,这说明病毒采用了一些隐藏措施,总结出来有三法:
1、以假乱真
系统中的正常进程有:svchost.exe、explorer.exe、iexplore.exe、winlogon.exe 等,可能你发现过系统中存在这样的进程:svch0st.exe、explore.exe、iexplorer.exe、winlogin.exe。
对比一下,发现区别了么?这是病毒经常使用的伎俩,目的就是迷惑用户的眼睛。通常它们会将系统中正常进程名的 'o' 改为 '0','l' 改为 'i','i' 改为 'j',然后成为自己的进程名,仅仅一字之差,意义却完全不同。又或者多一个字母或少一个字母,例如 explorer.exe 和 iexplore.exe 本来就容易搞混,再出现个 iexplorer.exe 就更加混乱了。如果用户不仔细,一般就忽略了,病毒的进程就逃过了一劫。
2、偷梁换柱
如果用户比较心细,那么上面这招就没用了,病毒会被就地正法。于是乎,病毒也学聪明了,懂得了偷梁换柱这一招。如果一个进程的名字为 svchost.exe,和正常的系统进程名分毫不差。那么这个进程是不是就安全了呢?非也,其实它只是利用了“任务管理器”无法查看进程对应可执行文件这一缺陷。我们知道 svchost.exe 进程对应的可执行文件位于“C:\WINDOWS\system32” 目录下 (Windows2000 则是C:\WINNT\system32目录),如果病毒将自身复制到“C:\WINDOWS\” 中,并改名为 svchost.exe,运行后,我们在“任务管理器”中看到的也是 svchost.exe,和正常的系统进程无异。你能辨别出其中哪一个是病毒的进程吗?
3、借尸还魂
除了上文中的两种方法外,病毒还有一招终极大法——借尸还魂。所谓的借尸还魂就是病毒采用了进程插入技术,将病毒运行所需的 DLL 文件插入正常的系统进程中,表面上看无任何可疑情况,实质上系统进程已经被病毒控制了,除非我们借助专业的进程检测工具,否则要想发现隐藏在其中的病毒是很困难的。
系统进程解惑
上文中提到了很多系统进程,这些系统进程到底有何作用,其运行原理又是什么?下面我们将对这些系统进程进行逐一讲解,相信在熟知这些系统进程后,就能成功破解病毒的“以假乱真”和“偷梁换柱”了。
svchost.exe
常被病毒冒充的进程名有:svch0st.exe、schvost.exe、scvhost.exe。随着Windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由 svchost.exe 进程来启动。而系统服务是以动态链接库(DLL)形式实现的,它们把可执行程序指向 scvhost,由 cvhost 调用相应服务的动态链接库来启动服务。我们可以打开“控制面板”→“管理工具”→服务,双击其中“ClipBook”服务,在其属性面板中可以发现对应的可执行文件路径为
“C:\WINDOWS\system32\clipsrv.exe”。再双击“Alerter”服务,可以发现其可执行文件路径为“C:\WINDOWS\system32\svchost.exe -k LocalService”,而“Server”服务的可执行文件路径为“C:\WINDOWS\system32\svchost.exe -k netsvcs”。
正是通过这种调用,可以省下不少系统资源,因此系统中出现多个 svchost.exe,其实只是系统的服务而已。
在 Windows 2000 系统中一般存在2个 svchost.exe 进程,一个是 RPCSS(Remote Procedure Call) 服务进程,另外一个则是由很多服务共享的一个 svchost.exe;而在 Windows XP 中,则一般有4个以上的 svchost.exe 服务进程。如果 svchost.exe 进程的数量多于5个,就要小心了,很可能是病毒假冒的,检测方法也很简单,使用一些进程管理工具,例如 Windows 优化大师的进程管理功能,查看 svchost.exe 的可执行文件路径,如果在“C:\WINDOWS\system32”目录外,那么就可以判定是病毒了。;
explorer.exe
常被病毒冒充的进程名有:iexplorer.exe、expiorer.exe、explore.exe。explorer.exe,就是我们经常会用到的“资源管理器”。如果在“任务管理器”中将 explorer.exe 进程结束,那么包括任务栏、桌面、以及打开的文件都会统统消失,单击“任务管理器”→“文件”→“新建任务”,输入“explorer.exe” 后,消失的东西又重新回来了。explorer.exe进程的作用就是让我们管理计算机中的资源。
explorer.exe 进程默认是和系统一起启动的,其对应可执行文件的路径为“C:\Windows” 目录,除此之外则为病毒。
iexplore.exe
常被病毒冒充的进程名有:iexplorer.exe、iexploer.exe、iexplorer.exe 进程和上文中的 explorer.exe 进程名很相像,因此比较容易搞混,其实 iexplorer.exe 是 Microsoft Internet Explorer 所产生的进程,也就是我们平时使用的IE浏览器。知道作用后辨认起来应该就比较容易了,iexplorer.exe 进程名的开头为“ie”,就是IE浏览器的意思。
iexplore.exe 进程对应的可执行程序位于 C:\ProgramFiles\InternetExplorer 目录中,存在于其他目录则为病毒,除非你将该文件夹进行了转移。此外,有时我们会发现没有打开IE浏览器的情况下,系统中仍然存在 iexplore.exe 进程,这要分两种情况:1. 病毒假冒 iexplore.exe 进程名。2. 病毒偷偷在后台通过 iexplore.exe 干坏事。因此出现这种情况还是赶快用杀毒软件进行查杀吧。
rundll32.exe
常被病毒冒充的进程名有:rundl132.exe、rundl32.exe。rundll32.exe 在系统中的作用是执行DLL文件中的内部函数,系统中存在多少个 rundll32.exe 进程,就表示 rundll32.exe 启动了多少个的DLL文件。其实 rundll32.exe 我们是会经常用到的,他可以控制系统中的一些dll文件,举个例子,在“命令提示符”中输入“rundll32.exeuser32.dll, LockWorkStation”,回车后,系统就会快速切换到登录界面了。
rundll32.exe 的路径为“C:\Windows\system32”,在别的目录则可以判定是病毒。
spoolsv.exe
常被病毒冒充的进程名有:spoo1sv.exe、spolsv.exe。spoolsv.exe 是系统服务“Print Spooler” 所对应的可执行程序,其作用是管理所有本地和网络打印队列及控制所有打印工作。如果此服务被停用,计算机上的打印将不可用,同时spoolsv.exe 进程也会从计算机上消失。如果你不存在打印机设备,那么就把这项服务关闭吧,可以节省系统资源。停止并关闭服务后,如果系统中还存在 spoolsv.exe 进程,这就一定是病毒伪装的了。
限于篇幅,关于常见进程的介绍就到这里,我们平时在检查进程的时候如果发现有可疑,只要根据两点来判断
1. 仔细检查进程的文件名;
2. 检查其路径。通过这两点;
一般的病毒进程肯定会露出马脚。
找个管理进程的好帮手
系统内置的“任务管理器”功能太弱,肯定不适合查杀病毒。因此我们可以使用专业的进程管理工具,例如 Procexp。Procexp 可以区分系统进程和一般进程,并且以不同的颜色进行区分,让假冒系统进程的病毒进程无处可藏。
运行 Procexp 后,进程会被分为两大块,“System Idle Process” 下属的进程属于系统进程,
explorer.exe 下属的进程属于一般进程。我们介绍过的系统进程 svchost.exe、winlogon.exe 等都隶属于“SystemIdleProcess”,如果你在“explorer.exe” 中发现了 svchost.exe,那么不用说,肯定是病毒冒充的。
至于病毒采用的“借尸还魂”大法——dll插入技术,我们曾讲解过破解方法,通过查看其dll文件的签名即可,这点同样可以在 Procexp 中做到,在此不再阐述。
小贴士:在软件的主界面我们可能看不到进程名和进程所对应的可执行文件,我们可以点击其“查看”菜单 →“选择列”,勾选“进程名称”和“映像路径”,确定保存即可。
【转自倍可亲网站,文章起始来源及作者不详。特此致谢!】