1.进程概述
进程是操作系统进行资源分配的单位。
在Windows下,进程又被细化为线程,线程表示单个路径的执行过程。通过调用Win32API函Create Thread()应用程序即可生成多线程。
Windows系统中最基本进程有:csrss.exe、explorer.exe、csass.exe、services.exe、Smss.exe、svchost.exe、winlogon.exe、system.exe。
2.进程检测管理
下面以“explore.exe”进程为例,进行进程的基本信息收集、整理和分析实验。
(1)获取explore.exe进程详细信息
获取explorer.exe进程的详细信息,其他进程提取方法与之相同。
Windows任务管理器对进程的属性体现得很完整,根据它就可以确认进程的基本信息。
获取进程映像名称显示进程。选择“Windows任务管理器”中的“进程”选项卡,提取进程的映像显示名称,如图5-18所示。
图5-18 进程管理器界面
(2)获取线程数
线程是程序中一个单一的顺序控制流程。进程本身不能执行,它只是一个资源的集合体,拥有地址空间、模块、内存,线程是真正的执行单元。简单地说,进程就相当于一个容器,具体的程序执行是靠线程来运行。线程数表示该进程中所运行的线程个数,如图5-19所示。
图5-19 explorer线程数为19
(3)获取进程PID
进程控制符PID代表了进程ID,是进程的身份标识。程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序(如图5-20所示)。
(4)获取可执行文件的路径
进程是一种程序的执行,可执行文件的路径指定了程序路径和文件名。右键点击explor-er.exe进程,可以打开该文件所在目录,explor-er.exe可执行路径是“C:\WINDOWS\explorer.exe”。
图5-20 explorer进程的PID号为144
3.分析识别木马进程(www.xing528.com)
识别非正常进程的思路通常是首先建立安全进程管理模板,然后将收集的进程基本信息与之进行比对,反安全规则的进程均视为可疑进程。
(1)检测进程映像名称
将安全进程模板中进程映像名与检测主机进行对比,仔细检查非安全进程模板中进程的映像名称。有两个以上进程映像名称极为相似的,定义为非正常进程。有些恶意程序是通过伪装与正常进程极为相似的名称来达到隐藏的目的。例如出现svch0st.exe、explore.exe、iexplorer.exe、winlogin.exe等进程名,需要识别进程映像名称是否真实存在。例如,通过多种进程管理工具查看发现存在iexplore.exe进程映像名,当系统本身没有运行IE浏览器程序就定义为非正常进程;出现特殊的或陌生的进程映像名称(如111.exe,adbcde.exe等),定义为非正常进程。
(2)检测内存使用资源
将安全进程模板中各个进程的内存使用资源与检测主机进行对比,内存使用资源过大的进程定义为非正常进程。有些恶意程序通过线程注入等方式插入到正常的进程中,通过映像名称很难发现。但是,任何的恶意程序都必须占用一定量的内存资源,因此通过对进程的内存使用资源的检测,就可以发现非正常的进程。注意:由于各个主机都不是完全一样的,造成在内存使用上的有细微的差异,但基本上都是在几MB左右,而目前主流的病毒木马至少都在100 MB以上。
(3)检测进程的线程数
将安全进程模板中各个进程使用的线程个数与检测主机进行对比,检测主机中线程个数大于安全进程模板中线程个数的进程定义为非正常进程。主流的病毒木马基本上都是采用线程插入技术,将自己的线程插入到正常进程中。
(4)检测进程开放的端口
信息将安全进程模板中各个进程的端口信息与检测主机进行对比。检测主机中没有端口的进程开放了端口,定义为非正常进程。检测主机中进程开放的端口与安全进程模板中进程开放的端口不相符,该进程定义为可疑进程(有很少的应用进程开放的端口是随机的,需要通过其他方法近一步识别)。
(5)可执行文件的路径
将安全进程模板中各个进程的执行文件路径信息与检测主机进行对比。检测主机中进程的执行文件路径与安全进程模板中的不相符,该进程定义为非正常进程。
(6)检测进程的模块信息
将安全进程模板中各个进程的模块信息与检测主机进程对比。检测主机中进程的模块信息比安全进程模板中的模块数量多,该进程定义为非正常进程。检测主机中进程的模块信息与安全进程模板中的模块信息不一样,定义为可疑信息,需要通过其他方式进一步识别。
(7)检测进程使用的内存信息
现行高端的病毒木马,其自身的隐藏技术很高,通过一些进程管理工具很难准确识别出来。但因为任何病毒木马,不论其隐藏技术如何高明,都必须启动运行并占用内存空间,并且任何病毒木马都有自己的特征存在。可以直接对进程使用的内存信息进行手工识别。检测主机已经中有木马,发现PID为1160的进程正在与外部进行连接。使用Windows任务管理器查看进程信息,发现PID为1160的进程为Svchost,如图5-21所示。
图5-21 木马进程信息
4.手动终止svchost.exe恶意进程
使用Taskkill命令可以方便地终止系统进程。在DOS命令行中输入“taskkill/im1160/F”,单击“Enter”键后,svchost.exe(1160)进程就被强行杀死了,如图5-22所示。
图5-22 DOS界面查看进程信息
注:木马有时会使用较高级别的进程,导致Taskkill无法结束进程,这时可以使用第三方软件或者ntsd命令。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。