瑞星2010发布了所谓”超越传统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了Tcpip\Ntfs\FastFat\Cdfs等驱动的Dispatch Routine: 用于拦截网络操作、文件操作 (4)Hook了fsd的iat上的上几个函数,和主动防御基本无关 稍懂内核技术者 从上面就可以看出,这个所谓的保护全面、超越传统HIPS的所谓主动防御是多么的弱、多么的不足,多么的容易穿透、多么的可笑了 这个所谓的主动防御体系不但不能说超越所谓HIPS(使用的都是过时的技术)、另外监控非常的不足,可轻易突破,根本不具有主动防御的使用价值,可以说,根本不能称之为一个完整的、可靠的主动防御体系,不能称为IPS 这里就来随便说几点这个体系的一些弱点: 弱点1:鸡肋的自我进程保护: 瑞星在发布文章中说到“开启了瑞星2008的自我保护后,使用Icesword也无法结束其进程”,这句话大家去江民论坛上看看,几天前江民的2008测试版出来的时候,也是说了这么同样一句话,但是,江民是货真价实不能被结束,瑞星呢? 不用多说,拿ICESWORD测试一下可知,瑞星的所有进程都可以被轻易结束 为什么呢?因为瑞星只挂钩了ssdt上的NtTerminateProcess,这对于使用更底层的方式结束进程的Icesword是完全没有作用的,同 时,只要这个钩子被恢复(在瑞星的全面保护下恢复此钩子也是非常容易的,见后面的弱点分析),使用任务管理器即可结束其所有进程(大家可以使用一些具有 SSDT恢复功能的工具例如超级巡警、gmer等试试) 这就是所谓强大的“自我保护” 弱点2:注册表监控的多个漏洞 (1)注册表监控使用全路径判断注册表写入键名的方式,这种方式使用一个小技巧就可以饶过: 先打开想要写入的键的上一层键,例如HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\,得到句柄后再使用这个句柄+Run来操作这个注册表,即可完全饶过瑞星的所谓“注册表监控”,写入注册表 (2)没有拦截ZwSaveKey\ZwRestroeKey等方式写入注册表 该方法可以彻底饶过瑞星的注册表监控,SSM等专业的HIPS都已加入对这个写入注册表的保护,瑞星根本没有拦截这个关键的地方,居然还敢号称超越传统HIPS,实在是厚颜 (3)没有拦截直接操作HIVE注册表方式 该方法和方法2一样,SSM等也都有拦截 虽然瑞星拦截了ZwLoadDriver来阻止驱动加载,但是木马完全可以写入一个BOOT0的驱动注册表项,等待重启后自然启动,那就可以为所欲为了 弱点3:这个最为致命:没有拦截ZwSetSystemInformation和其他一些穿透主动防御的常用技术 入侵者可以通过ZwSetSystemInformation函数的LoadAndCallImage方法加载一个驱动 非常简单的就可以做想做的操作,比如恢复瑞星那些非常容易被恢复的SSDT钩子,这些网络上都有现成的代码,也有多个木马使用了该技术进行主动防御穿透 其他的弱点就不说了,免得被木马利用(上面所说的只是一些已被广泛公开的方法) 这么多缺点,保护极其薄弱的一个所谓的“主动防御”体系,瑞星也好意思说超越其他主动防御软件,国内杀毒软件厂商的浅薄及浮躁,不言自喻。奉劝瑞星还是好好做好技术,不要再等x出完主动防御后几年,才出来吹这么一个根本算不上“主动防御”的东西 |