瑞星2008主动防御技术分析

看到瑞星2008发布了所谓”超越传统HIPS”、“监控功能比传统HIPS的更全面"的功能,当时为之震惊,难道国产杀毒软件终于开发出了强大的HIPS功能了?立刻下了测试版安装,打算进行测试。起初考虑,发布文章中说得如此强大的主动防御技术,是不是需要逆向分析才能清楚呢?可惜,事实告诉我们,灰盒就够了。使用Rootkit Unhooker/Gmer工具对安装瑞星2008的机器进行扫描即可得出瑞星的保护究竟在哪了。

(1) SSDT HOOK: 使用了最原始也是最易恢复的SSDT挂钩方式
挂钩了入下函数:
ZwCreateThread、ZwWriteProcessMemory:用于防止远线程注入
ZwLoadDriver:拦截正规通过SCM的驱动加载
ZwSetValueKey、ZwCreateKey、ZwDeleteKey、ZwDeleteKey、ZwDeleteValueKey、ZwRenameKey:
用于拦截注册表操作
ZwTerminateProcess:保护进程不被结束

(2) ShadowTable挂钩:
挂钩了两个GDI函数: NtGdiSendInput、NtSetWindowsHookEx
分别用于拦截键盘鼠标模拟输入 和全局钩子

(3) Hook了TcpipNtfsFastFatCdfs等驱动的Dispatch Routine:
用于拦截网络操作、文件操作

(4) Hook了fsd的iat上的上几个函数,和主动防御基本无关

稍懂内核技术者从上面就可以看出,这个所谓的主动防御体系不但不能说超越所谓HIPS(使用的都是过时的技术)、另外监控非常的不足,可轻易突破,根本不具有主动防御的使用价值,可以说,根本不能称之为一个完整的、可靠的主动防御体系,不能称为IPS。

这里就来随便说几点这个体系的一些弱点:

弱点1 - 鸡肋的自我进程保护:

瑞星在发布文章中说到“开启了瑞星2008的自我保护后,使用Icesword也无法结束其进程”,这句话大家去江民论坛上看看,几天前江民的2008测试版出来的时候,也是说了这么同样一句话,但是,江民是货真价实不能被结束,瑞星呢?
不用多说,拿ICESWORD测试一下可知,瑞星的所有进程都可以被轻易结束为什么呢?因为瑞星只挂钩了ssdt上的NtTerminateProcess,这对于使用更底层的方式结束进程的Icesword是完全没有作用的,同时,只要这个钩子被恢复(在瑞星的全面保护下恢复此钩子也是非常容易的,见后面的弱点分析),使用任务管理器即可结束其所有进程(大家可以使用一 些具有SSDT恢复功能的工具例如超级巡警、gmer等试试)。

弱点2 - 注册表监控的多个漏洞

(1) 注册表监控使用全路径判断注册表写入键名的方式,这种方式使用一个小技巧就可以饶过:
先打开想要写入的键的上一层键,例如HKEY_LOCAL_MACHINE | SOFTWARE | Microsoft | Windows | CurrentVersion,得到句柄后再使用这个句柄+Run来操作这个注册表,即可完全饶过瑞星的所谓“注册表监控”,写入注册表。
(2) 没有拦截ZwSaveKeyZwRestroeKey等方式写入注册表。该方法可以彻底饶过瑞星的注册表监控,SSM等专业的HIPS都已加入对这个写入注册表的保护,瑞星根本没有拦截这个关键的地方,(CB注:此处省略若干字*******)。
(3) 没有拦截直接操作HIVE注册表方式。该方法和方法2一样,SSM等也都有拦截。
虽然瑞星拦截了ZwLoadDriver来阻止驱动加载,但是木马完全可以写入一个BOOT0的驱动注册表项,等待重启后自然启动,那就可以为所欲为了。

弱点3 - 这个最为致命:没有拦截ZwSetSystemInformation和其他一些穿透主动防御的常用技术

入侵者可以通过ZwSetSystemInformation函数的LoadAndCallImage方法加载一个驱动,非常简单的就可以做想做的操作,比如恢复瑞星那些非常容易被恢复的SSDT钩子,这些网络上都有现成的代码,也有多个木马使用了该技术进行主动防御穿透。

上面所说的只是一些已被广泛公开的方法,其他的弱点就不说了,免得被木马利用。

在我们HACKER界中木马免杀也就那几种模式,卡巴加个花就OK,NOD32和诺顿主要是输入表敏感,处理下输入表就OK了,瑞星的内存查杀, MYCCL定定位就差不多了,前面的这几种杀软过了,国内的杀毒也就基本过了,在这里不得不佩服微点,木马类的病毒,普通的免杀方法是没用的,而新的反隐藏引擎模式的木马还在开发中,所以我可以这样说,微点这个软件的杀木马能力绝对拉开我们国内的杀毒软件好几个档次,可以与国外的一流杀毒相抗衡,甚至有过之而无不及,最重要的消耗系统资源小,又是国产, 升级方便,

你可能感兴趣的:(病毒汇编和调试逆向技术加脱壳,windows底层核心編程)