摘要:随着信息安全愈发严峻的趋势,软件漏洞已成为计算机安全的主要威胁之一.如何准确地挖掘程序中存在的漏洞,是信息安全领域的关键问题.然而,现有的静态漏洞挖掘方法在挖掘漏洞特征不明显的漏洞时准确率明显下降.一方面,基于规则的方法通过在目标源程序中匹配专家预先定义的漏洞模式挖掘漏洞,其预定义的漏洞模式较为刻板单一,无法覆盖到细节特征,导致其存在准确率低、误报率高等问题;另一方面,基于学习的方法无法充分地对程序源代码的特征信息进行建模,并且无法有效地捕捉关键特征信息,导致其在面对漏洞特征不明显的漏洞时,无法准确地进行挖掘.针对上述问题,提出了一种基于代码属性图及注意力双向LSTM的源码级漏洞挖掘方法.该方法首先将程序源代码转换为包含语义特征信息的代码属性图,并对其进行切片以剔除与敏感操作无关的冗余信息;其次,使用编码算法将代码属性图编码为特征张量;然后,利用大规模特征数据集训练基于双向LSTM和注意力机制的神经网络;最后,使用训练完毕的神经网络实现对目标程序中的漏洞进行挖掘.实验结果显示,在SARD缓冲区错误数据集、SARD资源管理错误数据集及它们两个C语言程序构成的子集上,该方法的F1分数分别达到了82.8%,77.4%,82.5%和78.0%,与基于规则的静态挖掘工具Flawfinder和RATS以及基于学习的程序分析模型TBCNN相比,有显著的提高.
Abstract:With the increasingly serious trend of information security, software vulnerability has become one of the main threats to computer security. How to accurately mine vulnerabilities in the program is a key issue in the field of information security. However, existing static vulnerability mining methods have low accuracy when mining vulnerabilities with unobvious vulnerability features. On the one hand, rule-based methods by matching expert-defined code vulnerability patterns in target programs. Its predefined vulnerability pattern is rigid and single, which is unable to cover detailed features and result in problems of low accuracy and high false positives. On the other hand, learning-based methods cannot adequately model the features of the source code and cannot effectively capture the key feature, which makes it fail to accurately mine vulnerabilities with unobvious vulnerability features. To solve this issue, a source code level vulnerability mining method based on code property graph and attention BiLSTM is proposed. It firstly transforms the program source code to code property graph which contains semantic features, and performs program slicing to remove redundant information that is not related to sensitive operations. Then, it encodes the code property graph into the feature tensor with encoding algorithm. After that, a neural network based on BiLSTM and attention mechanism is trained using large-scale feature datasets. Finally, the trained neural network model is used to mine the vulnerabilities in the target program. Experimental results show that the F1 scores of the method reach 82.8%, 77.4%, 82.5%, and 78.0% respectively on the SARD buffer error dataset, SARD resource management error dataset, and their two subsets composed of C programs, which is significantly higher than the rule-based static mining tools Flawfinder and RATS and the learning-based program analysis model TBCNN.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6061
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
基于代码属性图及注意力双向LSTM的漏洞挖掘方法
本站小编 Free考研考试/2022-01-02
相关话题/程序 信息 代码 数据 软件
子图相似性的恶意程序检测方法
摘要:动态行为分析是一种常见的恶意程序分析方法,常用图来表示恶意程序系统调用或资源依赖等,通过图挖掘算法找出已知恶意程序样本中公共的恶意特征子图,并通过这些特征子图对恶意程序进行检测.然而这些方法往往依赖于图匹配算法,且图匹配不可避免计算慢,同时,算法中还忽视了子图之间的关系,而考虑子图间的关系有助 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02函数级数据依赖图及其在静态脆弱性分析中的应用
摘要:数据流分析是二进制程序分析的重要手段,但传统数据依赖图(DDG)构建的时间与空间复杂度较高,限制了可分析代码的规模.提出了函数级数据依赖图(FDDG)的概念,并设计了函数级数据依赖图的构建方法.在考虑函数参数及参数间相互依赖关系的基础上,将函数作为整体分析,忽略函数内部的具体实现,显著缩小了数 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02类属型数据核子空间聚类算法
摘要:现有的类属型数据子空间聚类方法大多基于特征间相互独立假设,未考虑属性间存在的线性或非线性相关性.提出一种类属型数据核子空间聚类方法.首先引入原作用于连续型数据的核函数将类属型数据投影到核空间,定义了核空间中特征加权的类属型数据相似性度量.其次,基于该度量推导了类属型数据核子空间聚类目标函数,并 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于采样的在线大图数据收集和更新
摘要:互联网中,以网页、社交媒体和知识库等为载体呈现的大量非结构化数据可表示为在线大图.在线大图数据的获取包括数据收集和更新,是大数据分析与知识工程的重要基础,但面临着数据量大、分布广、异构和变化快速等挑战.基于采样技术,提出并行、自适应的在线大图数据收集和更新方法.首先,将分支限界方法与半蒙特卡罗 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02分级可逆的关系数据水印方案
摘要:关系数据可逆水印技术是保护数据版权的方法之一.它克服了传统的关系数据数字水印技术的缺点,不仅可以声明版权,而且可以恢复原始数据.现有方法在恢复原始数据时不能控制数据恢复的程度,无法调节数据的可用性.提出了一种分级可逆的关系数据水印方案,定义了数据质量等级来反映水印嵌入对数据可用性的影响,设计了 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于硬件分支信息的ROP攻击检测方法
摘要:控制流完整性保护技术(controlflowintegrity,简称CFI)是防御面向返回编程攻击(return-orientedprogramming,简称ROP)的一种有效途径.针对现有CFI中存在的四大问题:性能开销大、依赖程序代码信息、容易遭受历史刷新攻击以及规避攻击,提出了基于硬件分 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02系统软件前沿进展专题前言
摘要:Abstract:PDF全文下载地址:http://jos.org.cn/jos/article/pdf/6072 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向操作系统可靠性保障的开源软件供应链
摘要:软件可靠性是软件工程领域中的研究热点之一,故障率分析是软件可靠性的典型研究方法.然而,软件构建模式已从单体模式演进到以开源软件为代表的规模化协作模式,操作系统作为代表性产物之一,所含开源软件之间通过组合关系和依赖关系,形成了一个包含上万节点的供应关系网络.典型方法缺乏对供应关系的考量,无法准确 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02一种神经网络指令集扩展与代码映射机制
摘要:近年来,卷积神经网络(CNN)在图像识别和分类领域的高精度表现使其在机器学习领域受到了广泛关注.然而CNN的计算与访存密集特性给需要支持各种负载的通用处理器带来了巨大压力.因此,涌现了大量CNN专用硬件加速器.它们虽然提高了效率但却缺乏灵活性.基于新兴的RISC-V架构设计了包含10条矩阵指令 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于物理及数据驱动的流体动画研究
摘要:主要针对近年来流行的基于物理及数据驱动的各种流体动画模拟算法及其应用给出了一个全面的前沿性综述.首先,对传统的基于物理的流体模拟加速方法进行了综述和总结,同时给出了此类方法中各种算法的优劣性分析;其次,对现有的基于数据驱动的多种算法进行了综述和分析.特别地,将现有的数据驱动方法归结为3类,即数 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02