卡巴斯基惊现严重漏洞 Guest用户可使系统蓝屏崩溃
. t X6 j+ Y* ]3 }: R# t
6 o2 }) b: N1 h6 I- M% \, o' b8 d; m, C6 U6 q
阅读提示:2007年6月4日,国外著名Rootkit研究站点rootkit.com声称:卡巴斯基反病毒软件从6.0到目前最新的7.0版中始终存在这一个严重的漏洞,可导致系统蓝屏崩溃
; u) O: _& A3 J: j9 {3 }
8 d% b% y& {( P7 W
' M5 `( U3 a4 G, U8 j4 H3 L2007年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时传入错误的参数,即可使系统访问错误的内核地址,从而导致系统蓝屏崩溃。
3 \1 S1 z2 C. j
; l# N9 |6 C% O! \& ~& B+ p作者声称他们早在数年前就发现了该漏洞并提交给卡巴斯基,但是被卡巴斯基忽略了 另外,卡巴斯基在新版中加入了异常处理机制来试图解决这一问题,作者称这是无法完全解决问题的,显然卡巴斯基的开发人员根本不知道使用一个非常简单的函数:MMIsAddressValid就可以解决这个问题。
2 ~9 t/ u+ W/ K8 T: [0 S- Q. r1 l) F7 f( b
另外作者称,同样的漏洞还存在与卡巴斯基挂钩的多个函数中,包括
2 u @: d. q: {& H5 {2 M- o
1 i/ m5 B @9 u! v& b+ n
NtCreateKey NtCreateProcess
* ^% i: G0 R. S ?, F' u/ }
$ }3 r$ P; E# e" ]NtCreateProcessEx
, m7 [* h/ v0 x
7 \2 A G5 L" K8 U0 L9 fNtCreateSection
, y4 F, T; ^" b! C3 i+ Y3 `1 [& ]5 a+ }& ?( M. W) k
NtCreateSymbolicLinkObject
0 P2 P5 }0 b. o4 W
) _$ Q7 {+ M, H. uNtCreateThread
8 \ U# [0 {$ H1 |5 X' \
6 N% r4 X9 D$ F$ dNtDeleteValueKey
; v: V7 G! z+ N. q" [* B5 a* P, S e+ _0 f
NtOpenKey
; S) M7 k; z! T
; V4 B4 D# F, w1 Y, U
NtLoadKey2
3 q$ U( z* l4 s L* e' I/ x& A9 Y5 U( F" M# W3 ~
NtOpenSection
( X, z* _; b- ?$ L# P
& z1 ^4 {3 j) v7 D+ XNtQueryValueKey 所有这些函数都有问题。
; Z3 V. H) A |2 Q" |" e% X {' p
# U( G4 ~; n, n2 i+ I# Y' g下面这个网址介绍了关于卡巴斯基的漏洞及错误之处,包括
9 W, X+ E( G! q& U8 ?
i' f8 i( }, D& d; j$ {Patching system services at runtime
1 y2 z& h4 ^! C( S
1 \6 {5 t P- w, n& S' ^. NImproper Validation of User-mode Pointers
* K# F6 W k' a; j% Y% F
9 N( }" G& r& I, ?3 V
Hiding Threads from User-mode
5 K' l! k0 }. X7 P ?7 [2 S7 X1 I' j& l" e: }$ s5 p
Improper Validation of Kernel Object Types
- p0 I3 [6 T# K/ m- V7 t7 [8 F: |, ~7 R" ^& y
Patching non-exported, non-system-service kernel functions
3 B2 S/ w2 u" Y3 z2 U0 n
5 z, W2 S; c0 P1 a; u
Allowing User-mode Code to Access Kernel Memory 等等
! x: ]1 H4 Q( a2 V" h+ Q; ?
: o1 V% f, e; [2 @+ o/ Lhttp://uninformed.org/index.cgi?v=4&a=4&p=4