网络信息安全是一个博大精深的技术体系,安天将自己的注意力专注于主要矛盾,即计算机网络病毒问题。
    根据有关机构统计,全球超过80%的安全事件均与病毒有关,网络病毒是信息社会面临的主要安全挑战之一,因此,安天人将“天下无毒”作为自己追求的安全境界。
    安天将网络安全工作者的宏观视野与反病毒工程师的成熟细腻有机结合。将反病毒技术与网络监控技术、计算机犯罪取证技术、安全评估技术等进行了有机的结合,形成了自身的产品内涵。
  当前位置:首页 - 安全响应中心 -> 病毒预警

Adobe Reader最新版本9.3.2缓冲区溢出分析

出处:安天实验室 时间:2010年6月28日
 

发现日期:2010.06.17

受影响版本:
Adobe Reader最新版本9.3.2
Adobe Reader版本9.3.0

测试平台:Windows XP
Adobe Reader最新版本9.3.2

    在Adobe Reader软件的AcroRd32.dll模块中,处理JBIG2Decode的图形嵌入对象的时候,会出现缓冲区溢出,黑客在PDF文件中嵌入PE可执行文件,当用户访问黑客指定的网址后IE调用Adobe Reader核心模块AcroRd32.dll模块,该模块在处理JBIG2Decode的图形嵌入对象的时候会造成缓冲区溢出会执行黑客嵌入的SHELLCODE代码。

    如果用户在IE中浏览PDF文件时,IE调用AcroRd32.dll处理JBIG2Decode的图形嵌入对象,导致缓冲区溢出执行恶意代码,恶意代码作者将PE文件加密处理嵌入到PDF文件中的stream字串后面的代码下图:

    缓冲区溢出执行SHLLCODE释放解密恶意文件的过程:
    漏洞被利用之后将在C盘目录下,创建一个_.exe命名的文件,先将PE MZ头4D5A9090写入到文件中,接着还原被加密的PE数据具体解密过程代码如下:
07FD01DE    8>mov     ebx, dword ptr [edi+14]   ; 还原被加密的PE文件
07FD01E1    3>xor     byte ptr [ebx], al   ; 每个字节与文件大小的低2位byte异或
07FD01E3    4>inc     ebx         ; 文件偏移位置+1
07FD01E4    4>dec     eax         ; 文件大小减1
07FD01E5    8>cmp     eax, 0      ; 判断文件大小是否为0,如果是0表示异或完成
07FD01E8  ^ 7>jnz     short 07FD01E1



    文件的大小为5BEC注意EAX寄存器,05B428E0第一个字节与文件大小的低2位的BYTE异或FF ^FC=03 异或第二个字节的时候大小减一,文件便宜位置+1,一直异或到EAX为0为止。

解密完成之后将代码写入到文件中:

写入成功之后调用WinExec函数隐藏执行释放后的恶意代码文件:

官方还未出补丁,临时解决方案。

防御方法:
打开ADOBE READER –选择“编辑”—“首选项”—“因特网”,将在浏览器中显示PDF的勾去掉可以避免PDF在IE中自动运行。