面向内核漏洞利用的堆喷对象控制代码自动化生成技术
作者机构:复旦大学计算机科学技术学院
出 版 物:《计算机工程》 (Computer Engineering)
年 卷 期:2024年
学科分类:08[工学] 0839[工学-网络空间安全] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:国家自然科学基金项目(62172105) 上海市青年科技启明星计划项目(21QA1400700) 上海市基础研究特区计划项目(21TQ1400100:21TQ012)
主 题:内核安全 内核漏洞 漏洞利用 堆喷对象 控制代码生成
摘 要:为漏洞开发利用程序是评估内核漏洞可利用性的主要方式。堆喷对象在漏洞利用过程中被广泛使用,以完成数据注入、内存布局等恶意行为。现有对堆喷对象的研究存在两类局限:(1)忽略了类型为基本类型的堆喷对象;(2)无法生成能够编辑堆喷对象内容的代码。因此,提出面向内核漏洞利用的堆喷对象控制代码自动化生成技术。该技术包含了基于使用-定义链分析的堆喷对象识别和基于导向式模糊测试的堆喷对象控制代码生成。实验表明,该技术能够在Linux5.15版本的内核中识别并生成28个堆喷对象的控制代码,覆盖了现有研究识别到的所有堆喷对象。生成的控制代码中共有23个能控制堆喷对象完成预期目标,成功率为82.1%。通过案例分析表明,该技术生成的控制代码可以应用于真实内核漏洞的利用程序开发中。