灰盒自动漏洞利用生成:语言解释器堆溢出攻击研究

本文探讨了针对PHP和Python等语言解释器中堆溢出漏洞的灰盒自动利用生成技术,提出模块化解决方案框架,通过模板语言实现多阶段利用链组合,突破传统符号执行局限性。

博士论文:语言解释器中堆溢出漏洞的灰盒自动利用生成

核心创新

  1. 模块化利用链架构

    • 将传统单阶段利用生成拆分为堆布局控制、原语构建、ASLR绕过等可组合阶段
    • 采用类似模糊测试的灰盒方法解决各阶段子问题
  2. 模板驱动开发

    • 设计人类可读的模板语言连接各阶段解决方案
    • 支持"人在环路"开发模式,允许人工介入关键环节
  3. 惰性求解机制

    • 通过假设验证模式(先模拟后求解)大幅降低计算开销
    • 例如:先假设特定堆布局可被利用,验证成功后再实际构造该布局

技术突破

  • 全球首个针对PHP/Python解释器堆溢出的自动利用系统
  • 纯灰盒方案在堆布局操控任务上比符号执行快3个数量级
  • 实现包含信息泄露、堆风水、控制流劫持的完整利用链

应用价值

  • 发现真实解释器漏洞中89%的堆溢出可自动化利用
  • 模板系统可扩展支持新漏洞类型(如UAF漏洞)
  • 为浏览器/内核等复杂目标的利用生成提供方法论基础

延伸阅读

  • 《Gollum: 解释器堆溢出的模块化灰盒利用生成》(CCS 2019)
  • 《自动化堆布局操控技术》(USENIX Security 2018)

“未来利用生成系统将是模糊测试技术与模板化组件的有机结合,符号执行仅用于关键精度要求场景。” —— 论文核心观点

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