您的位置:首页 >科技 >

路径裁剪辅助的定向模糊测试

2023-05-05 18:09:46    来源:互联网

2023年4月8日~9日,由InForSec、南方科技大学斯发基斯可信自主系统研究院、清华大学网络科学与网络空间研究院、复旦大学软件学院系统软件与安全实验室、国科学院计算技术研究所处理器芯片全国重点实验室、中国科学院软件研究所可信计算与信息保障实验室、中国科学院大学国家计算机网络入侵防范中心、浙江大学NESA Lab、山东大学网络空间安全学院、百度安全、奇安信集团、蚂蚁集团、阿里安全等单位联合主办的“InForSec 2023年网络空间安全国际学术研究成果分享及青年学者论坛”在南方科技大学成功召开。来自清华大学、复旦大学、浙江大学、北京邮电大学、中国科学院大学等66所高校及科研院所的230余人现场出席会议,900余人通过视频会议系统及直播系统参与了本次论坛。

我们将对会议精彩报告进行内容回顾,本文分享的是香港科技大学计算机科学与工程系的博士后研究员黄河清的报告——《路径裁剪辅助的定向模糊测试》。


(资料图)

黄河清博士首先介绍了什么是模糊测试技术。模糊测试技术在工业界被证实为最有效的漏洞挖掘技术之一,存在多个知名的企业级云测试平台,如OSS-Fuzz,OneFuzz等。在学术界也超过200篇模糊测试相关的论文被发表在各个计算机领域顶级会议和期刊上。概括的讲,模糊测试主要自动化的生成测试用例并执行以触发程序中的异常错误,当触发异常后可以根据执行过程中的监控信息直接生成漏洞报告提供给开发者,同时,如果测试用例触发了新的程序状态,例如执行到了新的代码块,那么这个输入将会保留被用于进一步的输入生成,这种反馈机制能够很好的帮助模糊测试对目标程序进行更加彻底的探索。

紧接着黄博介绍了什么是定向模糊测试技术。定向模糊测试技术能够利用特定的反馈信息引导模糊器快速定向到代码中的特定目标,例如具有潜在漏洞的代码,它能够更加高效的检测漏洞,具有丰富的应用场景,如补丁验证,1-Day漏洞POC生成等。

黄博指出,模糊测试的成功核心源于其快速的测试用例生成能力,虽然定向模糊测试已经在学术界取得了巨大进展,但仍然存在不足,即在测试过程中产生了大量无效的测试用例,实验发现,超过95%的测试用例甚至无法达到待测的漏洞触发程序点,而执行这些无效的测试用例占据了将近90%的模糊测试时间。

黄博针对这一问题进行了深入的根因分析,他介绍到这种现象所产生的原因在于无关路径爆炸,即现有的模糊测试工具在选择执行路径时并不考虑该路径是否与目标漏洞是无关的。

同时,黄博也指出想要精确生成满足路径条件测试用例是很难的,求解路径条件面临路径爆炸和约束求解的难题,是无法使用多项式算法求解的。

针对这一难题,黄博提出了自己的想法。他认为当程序执行到一条无关路径之后,后续的执行都是无用的,必不可能触发Bug,因此可以被终止执行。基于这样的想法,黄博提出了路径裁剪辅助的定向模糊测试技术,即利用反向静态分析先推导除到达目标点所需的先决条件,所谓先决条件,就是执行到目标指令的必须条件的过近似集合,这样可以保证,基于先决条件裁剪的路径一定是无法触发漏洞的。

那么现在的问题就转换为了如何精确的推导先决条件,黄博介绍到精确的先决条件可以过滤到更多的无效执行,但是精确的推导路径条件的效率是极低的,这是一个速度和精度的平衡问题。针对这一问题,黄博提出了自己的解决方案:精度优化的整数域抽象解释。黄博介绍到,整数域抽象解释是最高效的程序状态近似手段,并且他们进一步的从两个方面(数据流与控制流)对抽象解释的精度进行了优化。

随后,黄博先介绍了他们在数据流角度的精度优化,即数据流的关系保存。整数域抽象只考虑单变量关系,这是造成其不准确的主要原因之一,对此,黄博他们保留了分析过程中的变量间关系以提高后续分析的精度。

第二种优化策略为基于程序控制流的有界路径分离,已有工作会无条件合并不同路径的分析结果来克服路径爆炸,但分离形式其实可以更有效的保留推导结果的精度,针对此问题,黄博提出有选择的合并不同路径的分析结果来降低精度损失。

在介绍了解决方案的设计思路后,黄博介绍了他们基于LLVM开发的定向模糊测试工具Beacon的实验效果和性能。其能够实现超过现有最好技术11.5倍的漏洞复现速度,裁剪了超过82.94%的无关路径,发现了22个未完整修复的漏洞,但只引入了不超过6%的开销。

演讲者简介

黄河清是香港科技大学计算机科学与工程系的博士后研究员。他的主要研究兴趣是通过各种程序分析技术增强模糊测试,以确保软件的安全性和可靠性。他在安全(S&P)、软件工程(FSE, ISSTA)和编程语言(OOPSLA)的顶级会议上发表了多篇论文。同时,其研究在工业界取得了重大的影响,其研究的模糊测试方法已在华为生产环境成功部署并获得2021杰出合作者奖。他的研究还成功地检测了开源软件中的上千个漏洞包括过百的高危CVE,并获得了来自不同社区的许多认可,例如 GNU、微软和 Linux Kernel。黄河清分别在香港科技大学、伦敦帝国理工学院和西安电子科技大学获得博士学位、硕士学位和学士学位。

标签:

相关阅读