6月4日,国外著名Rootkit研究站点rootkit.com上发表了一篇文章: "Exploiting Kaspersky Antivirus 6.0-7.0" 作者为EP_XOFF/UG North,是著名的反Rootkit工具Rootkit Unhooker,Process walker的开发者。文章中作者声称,卡巴斯基反病毒软件从6.0到目前最新的7.0版中始终存在这一个严重的漏洞,该漏洞最早由MS-Rem发现,安装了卡巴斯基反病毒软件后,任何具有最低用户权限的用户也可以使系统蓝屏崩溃 该漏洞主要存在与卡巴斯基反病毒软件用于挂钩 SSDT NtOpenProcess的代码中,该段代码用于阻止其他程序打开卡巴斯基的自身进程,以达到自我保护的目的 在该函数中,卡巴斯基反病毒软件的驱动程序没有对用户传入的参数做严格检查,导致只要在调用NtOpenProcess时传入错误的参数,即可使系统访问错误的内核地址,从而导致系统蓝屏崩溃。
作者声称他们早在数年前就发现了该漏洞并提交给卡巴斯基,但是被卡巴斯基忽略了 另外,卡巴斯基在新版中加入了异常处理机制来试图解决这一问题, 作者称这是无法完全解决问题的,显然卡巴斯基的开发人员根本不知道使用一个非常简单的函数:MMIsAddressValid就可以解决这个问题 另外作者称,同样的漏洞还存在与卡巴斯基挂钩的多个函数中,包括
NtCreateKey NtCreateProcess
NtCreateProcessEx
NtCreateSection
NtCreateSymbolicLinkObject
NtCreateThread
NtDeleteValueKey
NtOpenKey
NtLoadKey2
NtOpenSection
NtQueryValueKey 所有这些函数都是有问题的,http://www.rootkit.com/newsread.php?newsid=726 (英文,且技术细节较多,不愿意看的可以略过) 下面这个网址介绍了关于卡巴斯基的漏洞及错误之处包括
Patching system services at runtime
Improper Validation of User-mode Pointers
Hiding Threads from User-mode
Improper Validation of Kernel Object Types
Patching non-exported, non-system-service kernel functions
Allowing User-mode Code to Access Kernel Memory 等等