找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2336|回复: 0
打印 上一主题 下一主题

Symantec完整磁盘加密软件爆0day漏洞

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-11 21:11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
日前,国外安全研究组织Nikita Tarakanov称在Symantec PGP Whole Disk Encryption(完整磁盘加密软件)中发现0day漏洞,该软件的内核驱动程序pgpwded.sys包含一个覆盖任意内存的漏洞,可执行任意代码,受影响的软件版本是Symantec PGP Desktop 10.2.0 Build 2599。
7 p1 X4 [9 @& Y  ?/ T5 `0 O  P8 I6 }* V& f$ Y+ }# n
Symantec通过博客文章证实该版本软件确实存在安全问题,但是利用起来比较繁琐,并且仅限于运行在Windows XP和Windows 2003的系统,成功利用该漏洞需要有计算机本地访问权限。
2 n; s' Z1 q8 {. w8 u* P# ]6 }# W7 X% I2 Y) k
研究员Kelvin Kwan称“该漏洞触发场景非常困难,成功利用必须进入一些错误状态,但是成功利用的话可能允许攻击者执行任意代码,获取更高级别的权限”。该漏洞详细细节如下:
! Q% j  G: C) L& k; t
% k& i2 m3 P; ~' j1 Y: J
: l' D7 Y; d, }# `& T; M$ c
! H" c; u/ q+ h8 n0 \! o: w' s' C1 @function at 0x10024C20 is responsible for dispatching ioctl codes:
. ?0 ~" E3 h9 I) h
7 K9 g# R/ y9 P$ h) ~: S1 f.text:10024C20 ; int __thiscall ioctl_handler_deep(int this, int ioctl, PVOID inbuff, unsigned int inbuff_size, unsigned int outbuff_size, PDWORD bytes_to_return)2 R4 v5 R4 R- h0 P+ k( c
.text:10024C20 ioctl_handler_deep proc near            ; CODE XREF: sub_10007520+6Ap! P4 p* v0 _2 }# ]( K
.text:10024C20
" z% A0 m' Y; p# u  y! Y1 \.text:10024C20 DestinationString= UNICODE_STRING ptr -3Ch: o) {( V9 C4 U  o+ Y! ~, v
.text:10024C20 var_31          = byte ptr -31h
( Y# b8 @; ?4 A6 A.text:10024C20 var_30          = dword ptr -30h. B- g( r/ S7 x! V7 G; u
.text:10024C20 some_var        = dword ptr -2Ch
1 K$ R* i% m; u* E.text:10024C20 var_28          = dword ptr -28h2 h0 Y! J0 l1 j9 J
.text:10024C20 var_24          = byte ptr -24h
9 e2 B' G' V9 a: z5 Z2 Q.text:10024C20 var_5           = byte ptr -5# |: @. t1 [. t, @: j
.text:10024C20 var_4           = dword ptr -4
+ I( e  C$ l- Q+ A: \.text:10024C20 ioctl           = dword ptr  8
" U9 o, q% M0 I/ x/ Z/ J7 P.text:10024C20 inbuff          = dword ptr  0Ch
5 n4 ~& u3 w, q5 w.text:10024C20 inbuff_size     = dword ptr  10h
" C# J9 V8 s2 U+ I8 G- B$ {7 X.text:10024C20 outbuff_size    = dword ptr  14h
6 Z0 B' U0 R" x0 P2 x.text:10024C20 bytes_to_return = dword ptr  18h8 C0 c9 g6 m! [2 y2 V# r
.text:10024C20( n: r! K; c  m' @7 e
.text:10024C20                 push    ebp
" y$ v2 ]' X5 Y0 }9 X2 z/ [% W: o.text:10024C21                 mov     ebp, esp
* u! z. S. L4 V& E* @2 S3 I  [4 r.text:10024C23                 sub     esp, 3Ch
0 J2 C  ^2 H- R.text:10024C26                 mov     eax, BugCheckParameter2
  ]* m" `2 |% n0 i5 s.text:10024C2B                 xor     eax, ebp
2 @: i" `# C4 C2 v- w7 C, P, C6 G2 f6 m.text:10024C2D                 mov     [ebp+var_4], eax! t* G; R- y" l' @
.text:10024C30                 mov     eax, [ebp+ioctl]# _; }7 @3 y4 u4 @
.text:10024C33                 push    ebx
* _1 r# F9 j* R: f.text:10024C34                 mov     ebx, [ebp+inbuff]
4 w  x, j! d2 z! }* d+ \3 }9 U.text:10024C37                 push    esi$ y1 X% D6 }; t
.text:10024C38                 mov     esi, [ebp+bytes_to_return]
* x- U7 B; I* v1 Q0 T.text:10024C3B                 add     eax, 7FFDDFD8h
& O5 U' s- h& K/ C.text:10024C40                 push    edi
( t& W" j. i4 b.text:10024C41                 mov     edi, ecx
( g. q* K( O9 d, |.text:10024C43                 mov     [ebp+some_var], esi8 y9 i( j. n- t3 j9 ^
.text:10024C46                 mov     [ebp+var_28], 0& f( j' Y" \4 ]7 b9 }, ?0 Y
.text:10024C4D                 cmp     eax, 0A4h       ; switch 165 cases
" \8 P) b% Q" u: y.text:10024C52                 ja      loc_10025B18    ; jumptable 10024C5F default case
% i8 ^6 n/ [9 b: o1 j6 w; A.text:10024C58                 movzx   eax, ds:byte_10025BF0[eax]( H5 n7 i  P7 x8 A$ n
.text:10024C5F                 jmp     dsff_10025B50[eax*4] ; switch jump3 Y1 l' R6 R& A8 `! W1 j: x) F5 b
& b1 G& U! y/ y6 z5 d5 z1 {& g
[..]
& J0 z2 C2 V2 p- ]$ G
2 C3 t6 T; l3 X4 x3 K# u0x80022058 case: no check for outbuff_size == 0! <--- FLAW!
! m" V  m1 h- A, D: }* {- N" d' n0 e6 r
.text:10024F5A                 lea     ecx, [edi+958h]4 x7 S* p# F: B; }( Q* `; \% A$ i) p
.text:10024F60                 call    sub_100237B0- D9 n" k8 F! y3 T( ?' u4 G
.text:10024F65                 mov     [ebp+some_var], eax6 p$ C3 Q. g% p; |$ v
.text:10024F68                 test    eax, eax
4 g" F4 q7 K; \+ x5 z.text:10024F6A                 jnz     short loc_10024F7D* \3 D% ~/ ]% h* e5 T; `% ~0 O9 K$ B
.text:10024F6C                 mov     dword ptr [ebx], 0FFFFCFFAh6 K5 c% o  e' m* Q7 Y
.text:10024F72                 mov     dword ptr [esi], 10h <--- bytes to copy to output buffer
% u6 Q+ {  U4 r4 v( e$ P4 y* S' ?8 `, S9 E: h
next in IofComplete request will be rep movsd at pointer, that is under attacker's control0 k$ W. W2 p+ l; j9 O8 c: C- h
* h& X: Q. U: ^7 s% O' q+ O
Due the type of vulnerability (METHO_BUFFERED with output_size == 0) exploit works only on Winows XP/2k3, cause in later Windows OS I/O manager doesn't craft IRP if ioctl is METHOD_BUFFERED and output_size == 0.
$ s. r$ u) i) J
! z7 J9 P, B4 W+ R7 W" G$ {9 o' tSymantec表示在2月份的补丁包中修复该漏洞。
# v' }( Z% Z5 |8 |
5 k! K( ]: q2 E, R: o相关阅读:
) P# Q4 t+ P5 e) b& t
2 m0 H4 _, \( U9 m# o6 L赛门铁克的 PGP Whole Disk Encryption 为企业提供了全面的高性能完整磁盘加密功能,可对台式机、笔记本电脑和可移动介质上的所有数据(用户文件、交换文件、系统文件、隐藏文件等)进行完整磁盘加密。该完整磁盘加密软件可让数据免遭未经授权的访问,从而为知识产权、客户和合作伙伴数据提供强大的安全防护。受保护的系统可由 PGP Universal Server 集中管理,这就简化了部署、策略创建、分发和报告过程。( P. G2 W$ [+ o9 Z# E7 U2 H

: i# A1 x' G# `* K. j
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表