三、木马的查杀之进程篇
1、进程的查看
进程,我们上面说过了,狭义上讲就是正在执行中的程序。那如何来查看系统中都有哪些程序正在执行呢?(先看下图03-1:)
(图片编号:03-1)
系统自带了一个“任务管理器”可以使我们看到系统中当前的进程,在桌面下方的任务栏按右键,选择“任务管理器”或同时按下“Ctrl Alt Del”三个键、或同时按下“Ctrl Shift ESC”三个键,都可以打开任务管理器程序,看到上面的窗口。
看到上面的图时,会不会有点发昏?20个进程,哪个是好的哪个是坏的呢?上面的信息又都是些什么意思呢?
不要着急,让我来教教你怎么来看这些信息。
首先,显示哪些信息,是可以自由选择的,看到最上面的菜单没?就是“文件、选项、查看、关机、帮助”。依次选择“查看”---à“选择列”并勾选里面的相应项就可以显示相应的信息。
我们关心的是前五个,即:映像名称、PID、CPU、CPU时间、内存使用,下面依次进行介绍。
l 映像名称:即进程所对应的同名程序名字。其中有两个是例外,“System”代表的是系统,并没有对应的同名程序;“System Idle Process”代表的是空闲进程,同样没有对应的同名程序,它占据了CPU的空闲时间。
我们可以依据此栏,来找到进程对应的程序文件。
l PID:英文件缩写,即进程的ID,是一个唯一的数字,唯一的代表一个进程。
我们可以依据此栏来区分进程,尤其是同名的进程,比如:SVCHOST.EXE进程。
l CPU:即该进程当前消耗CPU的百分比,如果某个进程正在工作,那么CPU一列的数值就会是非零,工作量越大,其数值越高。例外的是“System Idle Process”进程,它的数值越高,说明当前的系统越是空闲,所有进程的CPU一栏的数值相加等于100%CPU占用。
我们可以依据此栏来查看,哪些进程正在工作,哪些进程是空闲的。上面我们说过,同一CPU在同一时间只能处理一个工作,所以如果某一进程长时间大量占用CPU,那么将会导致其它进程得不到或得到很少的CPU时间来处理,使系统反应速度严重迟缓。这种情况的出现,通常是程序出现了问题,我们就要考虑结束掉霸占CPU不放的进程,并尽量查明原因。
l CPU时间:自运行以来,该进程占用的全部CPU时间,此数值越大,代表该进程工作时间越长,注意,不是运行时间而是工作时间,如果运行后,进程只是等待,并没有工作,那么此时间也会很小。例外的仍然是“System Idle Process”进程,它占据了CPU全部的空闲时间。
我们可以据此来判断,哪些进程在一直的工作,而这一直工作的进程是不是应该工作的正常进程。比如我们一直在画图,那画图程序mspaint.exe的进程CPU时间很长,那就是很正常的;而如果我们在听音乐,从来没画过图,但这里却显示画图程序用了大量的CPU时间,那很可能就是某个黑客或木马或其它进程正在偷偷的使用画图程序呢。
l 内存使用:标明了该进程使用的内存数量,要知道,系统中的内存数量是有限的,当某一个进程大量占用内存时,就会导至系统或其它进程可用内存量减少,而至使系统运行速度减慢。
在某些情况下,可以依此来找出系统变慢的原因,并尽量使用占用内存小的程序来提高系统的性能。虽然现在机器的配置都高了,内存也都大了,但在同等条件下,优先考虑使用占用资源少的程序也是有必要的。
要在这些进程中区分哪些是系统进程,哪些不是,用任务管理器显然很难做到,最好的办法是借助专业工具。(看下图:03-2)
上图是用反黑工具狙剑查看进程时的样子,狙剑程序的下载地址:http://www.zhulinfeng.com/Download/SnipeSword.rar 下载后解压缩,运行里面的SnipeSword.exe
启动狙剑,并选择“进程管理”
就可以打开进程管理页面,与任务管理器相比,首先映像文件带了路径,使您可以直接定位到程序文件。
其次,多了父ID一栏,这个标明了该进程是由谁启动的,比如:smss.exe的进程ID是540,父ID是4 那么,我们就可以知道,smss.exe是由进程ID为4的system进程启动的,而smss.exe又启动了csrss.exe 与 winlogon.exe ,接着由winlogon.exe启动了lsass.exe 与 services.exe 。注意,有的进程并没有看到父进程,比如:Explorer.exe 它的父ID是:1216 但进程中并没有进程ID为1216的进程,这是因为系统在初始化时还有一个程序会自动运行,那就是Userinit.exe这个程序负责用户初始化工作,并负责启动Explorer.exe,而工作完成后,它就退出运行了,所以进程中并没有它。最近有个木马是通过感染Userinit.exe来启动的,由于Userinit.exe启动后就退出了,所以通过查看进程很难发现问题,这问题我们将在“自启动项”一篇中详细讲解。
以上就是系统启动的顺序,从System开始,依次启动了几个进程,正常情况下,上面这几个进程都是系统关键进程,结束它们的运行将导至系统出现问题。
有很多朋友对开机以后系统都做了些什么比较感兴趣,而这对系统不能启动时的故障查明也有帮助,可以通过判断系统停在了哪个环节来断定是哪个部分出了问题,在这里,我就对系统的启动过程进行一下简单的说明:
--------------------------------------------------------------------------------------
本文转自狙剑作者的blog----MuseHero.blog.tianya.cn
Identify the aspects of your application that vary and separate them from what stays the same.