基于智能模糊测试的深度漏洞挖掘技术研究

基本信息
批准号:61772506
项目类别:面上项目
资助金额:16.00
负责人:程亮
学科分类:
依托单位:中国科学院软件研究所
批准年份:2017
结题年份:2018
起止时间:2018-01-01 - 2018-12-31
项目状态: 已结题
项目参与者:张阳,邓艺,孙晓山,傅玉,梁月晟,李张谭,万云鹏
关键词:
软件安全漏洞漏洞挖掘模糊测试污点分析补丁比对
结项摘要

Vulnerability detection has been a hot topic in information security. Fuzzing based vulnerability detection is becoming the mainstream approach because it is fast, highly automatic and scalable. However, the randomness of fuzzing when generating new test cases and the excessive focus on code coverage of current fuzzing tools lead to the lack of intended guide and hard to dive into complex code fragment when exploring the state space of a program. This project proposes leveraging static program analysis and machine learning to discover the knowledge inside a program and from known vulnerabilities, which can next guide the fuzzing engine to intensely test vulnerable code fragments. To do so, we plan to develop machine learning-based path guiding technique, in order to guide fuzzing to deeply test unknown code fragment.

漏洞挖掘技术一直是信息安全领域研究的热点,近年来基于模糊测试的漏洞挖掘方法由于速度快、自动化程度高以及易于扩展渐成主流。然而由于模糊测试生成新测试用例时的随机性以及现有工具过分强调代码覆盖率,导致现有此类方法在探索程序空间时缺乏智能引导、难以对复杂代码区域深入测试。本项目提出综合静态程序分析、机器学习等多种方法,利用漏洞历史知识和程序内部信息指导模糊测试对危险代码区域重点测试。为此,研究基于机器学习的路径导向技术,引导模糊测试对未知区域进行深度测试的方法。

项目摘要

作为一种广泛使用的软件测试技术,模糊测试旨在通过构造大量程序输入、逐个执行被测程序('目标程序'),以期发现目标程序中潜在的漏洞。然而现有模糊测试多以随机的方式构造/变异出新的程序输入,这导致模糊测试只能覆盖目标程序很小一部分的行为。因此,很多现代模糊测试工具尝试从不同角度改进输入的构造/变异方式,以求提高代码覆盖率。一类方法是在模糊测试过程中生成触发新路径的输入,而另一类则是在模糊测试之前,构造较高质量的初始输入集合(称为“种子输入”)。为复杂的文件格式(如PDF格式)的解析器构造具有较高覆盖率的初始输入集合,是后一类方法中一项具有挑战性的任务。. 本项目提出了一个基于机器学习的模糊测试种子输入生成框架。给出一组初始种子PDF文件,我们的框架使用了两个神经网络1)发现这些PDF文件以及目标程序的相应执行路径之间的相关性,以及2)利用这种相关性来生成更多的新种子文件,这些新文件可能会探索目标程序中的新路径。我们用40000个PDF及对应执行路径来训练我们的框架24小时,然后生成了10000个新的种子输入。我们在一组广泛使用的PDF解析器、以及PNG和TTF文件的两个解析器上进行了实验。实验表明,框架生成的种子输入集合比原始种子集合多覆盖了2.48%的基本块和多达24.30%的执行路径,在24小时的模糊测试过程中也比原始种子集合平均多探索了23.21%的基本块和31.69%的执行路径,且引发了约2倍数量的程序崩溃,其中包括2个CVE漏洞。因此,我们的框架显著地提高了模糊测试的执行效率。. 项目实施期间,项目组共计发表论文2篇,其中1篇为CCF A类会议录用,实现原型系统1套,培养研究生1名,并为2名研究生提供研究方向。总体而言,项目实现了预期目标。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

玉米叶向值的全基因组关联分析

玉米叶向值的全基因组关联分析

DOI:
发表时间:
2

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

DOI:10.19713/j.cnki.43-1423/u.t20201185
发表时间:2021
3

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018
4

基于SSVEP 直接脑控机器人方向和速度研究

基于SSVEP 直接脑控机器人方向和速度研究

DOI:10.16383/j.aas.2016.c150880
发表时间:2016
5

小跨高比钢板- 混凝土组合连梁抗剪承载力计算方法研究

小跨高比钢板- 混凝土组合连梁抗剪承载力计算方法研究

DOI:10.19701/j.jzjg.2015.15.012
发表时间:2015

程亮的其他基金

批准号:61100227
批准年份:2011
资助金额:21.00
项目类别:青年科学基金项目
批准号:81202473
批准年份:2012
资助金额:23.00
项目类别:青年科学基金项目
批准号:41001238
批准年份:2010
资助金额:18.00
项目类别:青年科学基金项目
批准号:61502125
批准年份:2015
资助金额:20.00
项目类别:青年科学基金项目
批准号:41371017
批准年份:2013
资助金额:80.00
项目类别:面上项目
批准号:11201164
批准年份:2012
资助金额:22.00
项目类别:青年科学基金项目
批准号:51479025
批准年份:2014
资助金额:82.00
项目类别:面上项目
批准号:51572180
批准年份:2015
资助金额:64.00
项目类别:面上项目
批准号:31160371
批准年份:2011
资助金额:48.00
项目类别:地区科学基金项目
批准号:51509158
批准年份:2015
资助金额:20.00
项目类别:青年科学基金项目
批准号:51905233
批准年份:2019
资助金额:25.00
项目类别:青年科学基金项目
批准号:51804055
批准年份:2018
资助金额:25.00
项目类别:青年科学基金项目
批准号:30860165
批准年份:2008
资助金额:20.00
项目类别:地区科学基金项目
批准号:51302180
批准年份:2013
资助金额:25.00
项目类别:青年科学基金项目
批准号:11126193
批准年份:2011
资助金额:3.00
项目类别:数学天元基金项目
批准号:61871160
批准年份:2018
资助金额:63.00
项目类别:面上项目

相似国自然基金

1

基于学习的智能化漏洞挖掘关键技术研究

批准号:61772308
批准年份:2017
负责人:张超
学科分类:F0205
资助金额:17.00
项目类别:面上项目
2

Android智能终端安全漏洞挖掘技术研究

批准号:61572460
批准年份:2015
负责人:张玉清
学科分类:F0205
资助金额:67.00
项目类别:面上项目
3

基于程序分析与测试的二进制软件漏洞挖掘技术研究

批准号:61702540
批准年份:2017
负责人:苏云飞
学科分类:F0205
资助金额:27.00
项目类别:青年科学基金项目
4

智能手机安全漏洞挖掘技术研究

批准号:61272481
批准年份:2012
负责人:张玉清
学科分类:F0206
资助金额:82.00
项目类别:面上项目