浏览器攻防战:DEP与ASLR技术对抗漏洞利用

本文深入探讨了浏览器安全中的关键防御技术DEP(数据执行预防)和ASLR(地址空间布局随机化),分析了黑客如何通过堆喷射技术绕过防护,并揭示了Adobe Flash漏洞在攻击链中的关键作用。文章还提供了手动启用ASLR保护Flash组件的技术方案。

浏览器攻防战:你的PC控制权之争

作者:Rob Hensing(微软SWI团队)

作为专注于漏洞缓解措施的研究人员,我长期研究SDL流程中构建的安全防护技术,包括/GS缓冲区溢出保护、DEP数据执行预防和ASLR地址空间随机化。浏览器作为普通用户的主要攻击入口,始终是安全攻防的前沿阵地。

CanSecWest大赛的启示

在今年的CanSecWest大会上,Shane Macaulay和Alexander Sotirov通过Adobe Flash的0day漏洞成功攻破Vista系统。令人惊讶的是,这个本应几分钟完成的攻击持续了近一天时间。原因在于:

  1. 传统堆喷射技术(Heap Spray)依赖JavaScript准备内存空间
  2. 研究者可能改用Java虚拟机分配PAGEEXECUTE_READWRITE内存页,绕过DEP保护
  3. Vista SP1当时并未默认启用IE的DEP保护

DEP与ASLR的技术博弈

当前浏览器安全面临两大挑战:

DEP绕过技术

  • 通过Java VM等可执行内存分配机制
  • 利用即时编译技术(如Flash ActionScript虚拟机)
  • Mark Dowd演示的4字节任意内存写入漏洞

ASLR缺失问题

  • Adobe Flash等第三方控件未启用ASLR
  • 导致攻击者可以预测内存地址布局
  • 文章提供了使用Visual Studio linker手动启用ASLR的详细命令:
1
2
3
icacls %windir%\System32\Macromed\Flash\Flash9f.ocx /save %temp%\Flash9f_acls.txt
link /edit /dynamicbase %windir%\System32\Macromed\Flash\Flash9f.ocx
dumpbin /headers %windir%\System32\Macromed\Flash\Flash9f.ocx

未来防御趋势

  1. IE8将默认启用DEP(通过Vista SP1新API)
  2. 苹果QuickTime等第三方开始支持DEP/ASLR
  3. 必须同时改进代码质量和使用系统防护机制
  4. 研究者正在开发新型绕过技术,防御不可松懈

浏览器安全战场正在从简单的堆喷射攻击,演变为DEP/ASLR等底层防护机制与新型绕过技术之间的复杂博弈。这场关乎每个互联网用户数据安全的攻防战,需要开发者、安全研究者和终端用户的共同参与。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计