Software vulnerabilities are one of the most important resources in cyber-space. It is critical to study on finding vulnerabilities in software. State-of-art vulnerability discovery solutions mostly focus on program analysis, including static analysis, fuzzing and symbolic execution. However, they are facing critical challenges, e.g., the path explosion problem, and are not effective to find vulnerabilities in many cases. Moreover, automated vulnerability discovery drew many researchers' attentions. But state-of-art automated solutions are not intelligent, and could be improved. So, in this project, we focus on studying learning-based intelligent vulnerability discovery solutions, based on our previous work on vulnerability discovery. More specially, we will perform research on 1) learning algorithms towards vulnerability discovery, 2) vulnerability data collection, 3) vulnerability data pre-processing. With these efforts, we try to build a prototype of intelligent vulnerability discovery solution, breaking the bottlenecks of existing vulnerability discovery solutions, and build a set of vulnerability data for future research.
软件安全漏洞是网络空间攻防双方共同关心的战略资源之一,因而漏洞挖掘技术的研究意义重大。当下最流行的漏洞挖掘方案大多基于程序分析技术,如静态分析、模糊测试及符号执行等。然而,这些技术面临着严重的瓶颈问题,如路径爆炸等,制约了其漏洞挖掘的效率。此外,自动化漏洞挖掘技术方兴未艾,吸引了大批研究人员的关注,但是现有方案的智能化程度较低,仍存在很大的提升空间。针对这些需求,本项目将在申请人前期基于程序分析的漏洞挖掘及自动化漏洞挖掘研究工作的基础上,研究基于学习的智能化漏洞挖掘关键技术,尝试突破程序分析技术(如符号执行和模糊测试)的瓶颈;重点从面向漏洞挖掘的深度学习方法、漏洞数据采集、漏洞数据预处理三个方面展开研究,设计并实现一个智能化漏洞挖掘系统原型,提高安全测试的路径覆盖率并提升漏洞挖掘效率,形成一个可支撑未来更多研究的漏洞数据集,最终实现提升软件和系统安全性的目的。
漏洞是网络空间最重要的战略资源之一。传统的漏洞挖掘方案如静态分析、动态分析、符号执行、模糊测试等技术经过多年的发展,取得了突出的成果,但是也面临着严重的瓶颈制约。以深度学习为代表的人工智能技术在多个领域取得了极大的成功。本课题对基于人工智能的漏洞挖掘技术进行了探索研究。. 本课题的主要研究内容包括:(1)漏洞大数据的采集。当前的深度学习通常需要大量的训练样本才能取得较好的效果,而漏洞数据相对偏少,本课题对漏洞数据采集方法进行了研究。(2)漏洞数据预处理。与图片等规则数据不同,程序的漏洞信息是不规则的。本课题进一步研究了如何对程序以及漏洞信息进行预处理,生成深度学习可以处理的规则数据。(3)基于神经网络预测结果的定向漏洞挖掘。通过对漏洞数据的训练学习之后,得到的神经网络可以预测程序路径是否存在潜在的安全漏洞,但是其中存在误报。本课题最后研究了基于神经网络预测结果的定向漏洞挖掘方法。(4)此外,本课题基于采集的补丁和漏洞数据,还进行了模糊测试漏洞挖掘方法研究、二进制代码相似性判定研究、自动化漏洞利用的研究。. 本课题构建了一个包含十万条漏洞标记的数据集;设计了基于动态二进制插装方法的漏洞执行轨迹提取方法、基于静态控制流分析方法的目标路径提取方法,以及程序路径向量化表示方法;并在此基础上分别训练了一个CNN和一个RNN神经网络,可以预测目标程序中的未知路径的脆弱性,在SARD数据集上的预测准确度高于95%。并实现了一个定向模糊测试方案,可以验证神经网络预测的漏洞真实性,比传统的模糊测试方案速度提升10%。课题另外提出了一个覆盖率敏感的模糊测试方案,代码覆盖率提升20%,挖掘出150多个未知漏洞;提出的基于深度神经网络的二进制相似性判定方法,比当前方案准确率高出20%;自动化漏洞利用方案能够自动地将一部分不可利用的漏洞触发样本重构为可以利用的样本。. 本课题的研究表明,智能化技术能够有效地辅助漏洞挖掘等关键任务。
{{i.achievement_title}}
数据更新时间:2023-05-31
基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例
城市轨道交通车站火灾情况下客流疏散能力评价
基于协同表示的图嵌入鉴别分析在人脸识别中的应用
一种改进的多目标正余弦优化算法
面向工件表面缺陷的无监督域适应方法
基于智能模糊测试的深度漏洞挖掘技术研究
基于属性表示学习的轨迹挖掘关键技术研究
Android智能终端安全漏洞挖掘技术研究
智能手机安全漏洞挖掘技术研究