实验目的
1、了解进程概念及其基本原理;
2、掌握天琊超级进程监视器的安装与使用。
预备知识
本实验要求实验者具备如下的相关知识。
操作系统的安全配置是整个系统安全审计策略核心,其目的就是从系统根源构筑安全防护体系,通过用户的一系列设置,形成一整套有效的系统安全策略。
经典的信息保密性安全模型Bell-LaPadula模型指出,进程是整个计算机系统的一个主体,它需要通过一定的安全等级来对客体发生作用。进程在一定条件下可以对诸如文件、数据库等客体进行操作。如果进程用作其他不法用途,将给系统带来重大危害。
在现实生活当中,许多网络黑客都是通过种植“木马”的办法来达到破坏计算机系统和入侵的目的,而这些“木马”程序无一例外的是需要通过进程这一方式在机器上运行才能发挥作用的。另外,许多破坏程序和攻击手段都需要通过破坏目标计算机系统的合法进程尤其是重要系统进程,使得系统不能完成正常的工作甚至无法工作,从而达到摧毁目标计算机系统的目的。针对进程的不合法使用行为,进程监视类软件为用户提供了实时监控系统内进程活动的功能。本次试验所介绍的天琊超级进程监视器,它主要用于上网时监控系统内进程的活动,可以有效阻止病毒的后台运行,其主体核心就是监控“已经运行的程序去启动规则外的程序”这类行为。监控方式为设立白名单和黑名单。程序以默认设置运行后,一旦运行白名单内没有的程序,并且此程序在黑名单监控区内,那么监控器就会跳出提示,让用户做出对进程放行或者阻止其运行的选择。那么一般情况下,哪些进程适合放入白名单,又有哪些进程一定要放入黑名单阻止其运行,这就需要我们有一定的系统和反病毒基础才行。否则软件使用初期,可能会将一些危险的东西加入白名单内,导致阻拦病毒不足。
Windows系统下面有几个程序是不适合加入白名单的,对于它们的进程行为,一定要对用户给出提示。
%SystemRoot%\system32\cmd.exe
%SystemRoot%\system32\Command.com
%SystemRoot%\system32\Wscript.exe
%SystemRoot%\system32\Cscript.exe
%SystemRoot%\system32\mshta.exe
%SystemRoot%\system32\rundll32.exe
其中,cmd.exe是Windows 操作系统的命令行控制台程序。保护后,默认任意程序无法直接启动 cmd.exe,防止被恶意程序后台利用。
Command.com是兼容 Windows 16 位的命令行处理器。保护后,默认任意程序无法直接启动 Command.com,阻止其被恶意程序利用。
Wscript.exe是 Windows 系统的脚本解释器,用于执行 VBScript 和JScript脚本。恶意程序会利用 Wscript.exe 启动其它程序对系统进行破坏。保护后,默认任意程序无法直接启动 Wscript.exe,阻止其被恶意程序利用。
Cscript.exe是 Windows 系统的脚本解释器,用于执行 VBScript 和JScript脚本。恶意程序会利用 Cscript.exe 启动其它程序对系统进行破坏。保护后,默认任意程序无法直接启动 Cscript.exe,阻止其被恶意程序利用。
mshta.exe是微软Windows操作系统相关程序,用于执行.HTA文件,其中最典型的就是会被利用来执行一些恶意程序行为。保护后,默认任意程序无法直接启动 mshta.exe,阻止其被恶意程序利用。
rundll32.exe用于在内存中运行DLL文件,它们会在应用程序中被广泛使用,而它本身也会被病毒后台广泛的用于启动加载病毒文件的运行。保护后,默认任意程序无法直接启动 rundll32.exe,阻止其被恶意程序利用。
实验环境
本地主机:Windows XP操作系统、天琊超级进程监视器程序。
实验内容和步骤
本实验分为两个任务:
任务一:对运行进程做四种方式的处理;
任务二:使用白名单/黑名单自定义监视策略。
准备工作
将软件压缩包解压缩。解压后有三个文件,SuperMonitor.exe是监控主程序,CH000003.sys是驱动文件,需要被主程序加载。Run.dat是数据文件,黑白名单以及一些设置都保存在这里。
任务一:对运行进程做四种方式的处理
解压完毕后双击SuperMonitor.exe程序运行,程序启动后可在右下角状态栏看到程序运行图标。双击图标可打开程序主界面如下图所示:
从上图可查看,主面板主要分为两部分,白名单和黑名单。白名单主要列出了监视器直接允许放行的程序路径或命令行。相反,黑名单列表则显示需要监控哪些路径/命令行的程序。程序运行后,原始默认是提示的,一旦系统运行了白名单内没有的程序,并且此程序是在黑名单监控列表内,那么监控器就会跳出提示,如下图:
这时我们需要详细根据提示做出正确的处理,如果是你正在启动你自己的正常软件,那么可以选择“信任路径”项,这时候图中对应的“被启动进程路径”中的那个程序将被加入白名单允许运行,而“此程序欲启动下面程序”一栏标示的是欲启动“被启动进程路径”中的那个程序的原始程序,这个父进程是不在操作之列的。只是提示给你,让你知道什么程序欲启动图中所示的C:\Program Files\Java\jre7\bin\java.exe 这个程序而已。说明一下,提示窗口内四个项目的含义:
仅允许启动本次——指仅允许当前提示中的进程行为一次,再次出现同样进程行为时,还会继续提示;
信任被启动程序——指信任“启动进程”路径中显示的那个程序,并加入白名单,以后对同样进程行为不再提示和阻止;
信任启动命令行——指仅信任命令行,并加入白名单,以后对同样进程行为不再提示和阻止;
禁止启动并退出——指阻止进程行为。
任务二:使用白名单/黑名单自定义监视策略
我们以rundll32.exe为例,介绍监视器的基本使用方式。Rundll32.exe是很多操作中需要启动它的。例如查看桌面右键属性、任务栏右下角调整时间,控制面板内大量项目的设置等等,都需要rundll32.exe的运行支持。我们查看程序默认设置情况下的白名单,发现一条命令行如下:
“C:\WINDOWS\system32\rundll32.exe /d”C:\WINDOWS\system32\shell32.dll,Control_runDLL dest.cpl
上面这个命令行是没有任何病毒或非正常程序调用的,它属于桌面进程的属性查看那一步操作的程序行为。我们将此命令行从白名单中删除:
删掉之后,在桌面右键菜单查看属性,会看到程序跳出如下提示:
从提示框中可看到rundll32.exe程序被启动,启动程序命令行内容即为刚才所删除的那条命令行信息。接下来选择信任启动命令行,该命令行被重新加入到白名单中。将启动命令行而不是rund32.exe程序添加到白名单,使我们既要监控器不影响查看桌面进程等单纯属于Windows自身操作的行为,也不需要担心rundll32.exe被木马病毒任意利用运行。从这一示例中可发现,灵活运用“信任命令行”操作,是监控器的核心之处。
监控器主面板还提供了其它一些操作,方便我们对进程进行监控管理。如,对文件目录及其子目录的监控,假设想把“C:\Program Files”及其子目录下的所有进程加入白名单中,可以在主面板中点击“浏览目录”,选择目录“C:\Program Files”,操作如下图:
同时选中“含子目录”选项,这时监视器就会放行“C:\Program Files”及其子目录下的所有程序: