安全研究公司Matousec发布报告,详细说明黑客如何用一种攻击技巧,成功躲避 Windows安全软件的侦测,包括McAfee和趋势科技(Trend Micro)知名的杀毒软件。
不过,Matousec承认,这种攻击技术有重大的限制,例如必须先取得在一部系统上执行程序代码的能力。换句话说,这套方法必须同时搭配另一种攻 击手法(attack vector),或是由具有某部系统本机存取权限的黑客来执行。
这套方法称为"argument-switch"攻击,可用来攻击采用SSDT(System Service Descriptor Table) hooking技术的Windows安全程序。Matousec测试的35种应用软件都采用这种技术,包括BitDefender、F-Secure、 Kaspersky、Sophos、McAfee和趋势科技的产品在内。
Matousec在公布的一份研究报告中说:我们测试了普遍使用的安全软件,发现它们全都有漏洞。今天大多数受欢迎的安全解决方案根本不管用。
SSDT hooking被众多杀毒软件采用,作为侦测和拦阻攻击机制的一部分。此技巧涉及修改SSDT的目录。本公司的研究聚焦于核心(kernel)模式的 hook,不过,这种攻击对使用者模式的hook也有效。
Matousec说:结果可用一句话总结:如果某项产品使用SSDT hook,或在类似层级采用另一种核心模式的hook,来落实安全功能,那么它就有漏洞。
该公司研究员指出,有些杀毒产品并不使用上述的技巧,例如Immunet。
Matousec说,攻击者利用一种称为竞赛情况(race condition)的软件瑕疵(bug);在这种情况下,两条执行绪(thread)争相存取共用的资源,造成程序逻辑出错。攻击者利用这种瑕疵,让杀 毒软件误以为它允许执行的是无害的程序代码,但其实却是恶意程序。
这种回避手法的成功率并非百分之百。不过,Matousec指出,如果某部系统跑多重处理器或多核心处理器,那么这种攻击就更容易成功。
该公司表示,今天,多重处理器或多核心处理器在台式机很常见,而攻击即使通过有限的使用者帐号权限,也能得逞。
测试是在采用32位硬件的Windows XP SP3和Windows Vista SP1系统上执行。但Matousec说,所有的Windows版本都可能有漏洞,连Windows 7也不例外。
Matousec呼吁杀毒软件公司改善运用kernel hook的方式,并自称已研究出怎么做的方法,但这套方法尚未公开发表。
该公司说:改善kernel hook的安全性,对安全软件厂商可能是相当复杂的任务,特别是对软件运用大量SSDT和其他类型hook的厂商而言。