我用Tiny观察过很多病毒,包括那些狠毒的,如:熊猫烧香、机器狗、磁碟机、硬盘杀手(篡改MBR).....。
发现一个普遍性的规律:这些病毒发生实质动作(创/写文件、写注册表、写MBR)前,需要加载数量不等的系统DLL。此后,才开始植入、感染等破坏动作。
因此,针对这一规律,设计了一个用Tiny防毒的方案。目的是不让病毒为其自身创建运行环境。具体操作如下:
1、打开Tiny的Administration Center,点击My Applications、Add New Groups。创建两个程序组:
(1)My_Program(收录所有系统程序、用户安装的应用程序以及特定电脑特有的应用程序)
(2)sys_dlls(收录system32目录及其子目录下的DLL)
2、选定My_Program程序组。点击Tiny的My Applications面板上的Generte Apllications or DLL(即:程序批量录入)。
按图1设定录入参数,即可按路径依次录入程序到My_Program中。
3、选定sys_dlls程序组。点击Tiny的My Applications面板上的Generte Apllications or DLL(即:程序批量录入)。
按图2设定录入参数,然后将system32目录及其子目录下的DLL录入程序到sys_dll程序组中。
4、点击Tiny主面板左侧的DLL,再点击Add New Rule。添加一条高权限规则:允许My_Program程序组中的程序加载sys_dlls程序组中的DLL(图3)。
5、重复上一步操作,添加一条高权限规则:禁止其它任何程序加载sys_dlls程序组中的DLL(图4)。
6、正确完成上述5步操作。重启系统,运行自己的应用程序试试。系统及应用程序没问题。这步不能忽略哦!否则,弄不好,还没给病毒玩儿釜底抽薪,倒先给自己下绊儿了。
7、实机运行病毒样本,检验此方案的防护效果(图5-图6)。OK!结束那个~~.exe进程,病毒就死翘翘了。
注:本方案实施的基本前提是---系统是干净的。否则,录入My_Program程序组的程序混入病毒,那就糟了。
这个“釜底抽薪”方案讨论的实际是“利用Tiny的DLL加载控制规则设置阻止病毒为其自身创建运行环境”问题。Tiny的其它的防毒设置还有:
(1)禁止My_Program程序组以外的任何程序在重要目标写入、创建、删除文件
(2)禁止My_Program程序组以外的任何程序获得系统特权
(3)禁止My_Program程序组以外的任何程序插入正常程序进程或注入代码到正常应用程序进程中
(4)禁止My_Program程序组以外的任何程序终止重要程序进程等等。
上述设置,用户也应一一搞掂。这里不再详述。
另:程序入组时,之所以选择“路径”而舍弃“路径+MD5保护”,原因在于:某些程序(如:瑞星)频繁升级,其MD5常变,因此需要频繁刷MD5值,挺烦人的。至于程序完整性保护问题,可采用文件访问控制规则解决。
之所以没用瑞星主动防御搞此防毒方案,原因在于:
1、瑞星主防貌似没有程序分组功能
2、瑞星主防貌似没有程序批量录入功能。数千个程序,一一手工入组?用户会发疯的!
3、也没见瑞星主防针对不同程序组的DLL加载控制
如果谁知道如何用瑞星主防实现这种防御,请不吝赐教。
用户系统信息:Opera/9.51 (Windows NT 5.1; U; zh-cn)