摘要:漏洞识别对于保护软件系统免受网络安全攻击至关重要。在源代码之间本地化易受攻击的功能以促进修复尤为重要。但是,这是一个具有挑战性且乏味的过程,并且还需要专门的安全专业知识。受来自各种代码表示图的手动定义的漏洞模式的工作以及图神经网络的最新进展的启发,我们通过学习丰富的代码语义表示,提出了一种基于图神经网络的通用模型,用于图级分类。它包括一个新颖的Conv模块,可有效地在学习到的丰富节点表示中提取有用的特征,以进行图级分类。该模型是在4个多样化的大型开源C项目上构建的手动标记的数据集上进行训练的,这些项目包含高复杂性和各种真实的源代码,而不是以前工作中使用的合成代码。对数据集进行广泛评估的结果表明,Devign以平均10.51% 更高的准确性和8.68% 的F1得分显着优于技术水平,通过Conv模块平均提高了4.66% 的准确性和6.37% F1。

一、提出问题

以往深度学习方法在学习特征方面将源代码看作自然语言平坦序列处理,还有的只用一部分信息(指的是切片?)。但是,代码比自然语言更加具有逻辑性和结构性。漏洞的复杂性和多样性使得漏洞分析从多维语义角度处理,从而传统方法在特征提取方面不充分。另外,训练数据的标签一般是有静态分析工具获得的,但是静态分析工具具有很高的误报率,人工数据集又和真实情况有差距。

二、解决方案

Devicign包括三个顺序组件: 1) 图嵌入层的复合代码语义,它将函数的原始源代码编码为具有综合程序语义的联合图结构。2) 门控图递归层,通过聚合和传递图中相邻节点上的信息来学习节点的特征。3) Conv模块,提取有意义的节点表示,用于图级预测。

每个函数转换为一个集成了AST、数据流和控制流的复合图

模型的话就是GRU,转换成图分类任务!(卷积层没看懂)

Devign: Effective Vulnerability Identification byLearning Comprehensive Program Semantics viaGraph相关推荐

  1. [论文翻译] Devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics

    Devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics via Graph ...

  2. Machine Learning Approach to RF Transmitter Identification

    第一遍 包括以下步骤: 仔细阅读标题,摘要和介绍. 只阅读节和子节的标题,忽略其他内容. 阅读结论. 浏览一下参考文献,在心里勾出你已经读过的. 在第一遍的阅读之后,你应该能够回答下面五个问题: 类别 ...

  3. 【Paper】2020_Anomaly Detection and Identification for Multiagent Systems Subjected to Physical Faults

    Y. Li, H. Fang and J. Chen, "Anomaly Detection and Identification for Multiagent Systems Subjec ...

  4. 囚徒困境困境_所以你现在看到了社会困境

    囚徒困境困境 So you watched The Social Dilemma. 所以你看了社会困境. For the unaware, it's a new documentary/drama o ...

  5. 「十项全能」图神经网络能干嘛?

    前几天在群里划水,有人在问图神经网络能应用于NLP/CV吗? 回想一下这两年GNN的发展,貌似我知道的领域全都有GNN的身影. 这让我想起了<国产凌凌漆>中文西那把无所不能的终极杀人武器: ...

  6. 网络空间安全论文笔记2——漏洞

    Exploitability prediction of software vulnerabilities 预测漏洞:基于计数的方法(侧重于预测特定时间范围内软件系统中存在的漏洞数量,在理解安全趋势. ...

  7. 积极人生/The Seven Habits of Highly Effective People

    积极人生 我一直欣赏这么一句话:"人生好比一场足球赛,你不出脚就永远没有进球的可能,虽然出脚并不一定能进球." 足球场上敢拼敢抢,"该出脚时就出脚",这便是积极 ...

  8. Improving person re-identification by attribute and identity learning[reading notes]

    ----------------------------- 博文发表于夏木青 | JoselynZhao,欢迎访问博文原文. 这里是论文PDF链接. ------------------------- ...

  9. 论文阅读:Automatic Detection and Classi cation of Teeth in CT Data

    [论文信息] MICCAI 2012 会议论文 文章实现了中全自动的牙齿检测和分类,对象为CBCT/MSCT,实验数据集是43套临床头部CT图像. 主要是两个步骤: 1. 分割上颌骨: 2. 分成16 ...

最新文章

  1. 运行时常量池在哪里_Java虚拟机详解(二)------运行时内存结构
  2. MATLAB寻址访问按什么优先,matlab笔记
  3. Ubuntu16.04安装PCL库的python实现python-pcl,并且通过pcl加载pcd文件验证python-pcl是否安装成功
  4. pyqt5窗口 样式 背景
  5. 关于 Angular 应用 tsconfig.json 中的 target 属性
  6. android中弹出窗口,如何在Android中创建弹出窗口(PopupWindow)
  7. MIP 扩展组件开发手册
  8. MPMoviePlayerViewController 改良版播放器
  9. linux 中select()函数的使用
  10. 8-3-无用单元收集-动态存储管理-第8章-《数据结构》课本源码-严蔚敏吴伟民版...
  11. Ubuntu校园iNode客户端超简单安装
  12. 程炳皓:关于技术领导力,十个耸人听闻的观点
  13. mysql拖库_利用SQL注入漏洞拖库的方法
  14. 软考系统集成项目管理工程师全真模拟题
  15. which在C语言用法,A,B, and C, which ... which指代的是它们三个还是只有C呢?
  16. smb.php如何使用,win10smb1协议怎么开
  17. 微信分享到朋友圈的链接,内容打开正常,但在微信中分享时封面缩略图图像和标题显示不出来?...
  18. Mac 电脑鼠标和触摸板滚动方向不一致的问题
  19. 注意: 如何解决Windows Server 2008 R2 EFI启动模式安装2019年8月更新KB4512486 KB4512506  KB4512514后自动进入修复模式,无法正常启动问题!!!
  20. 64位操作系统支持的最大内存

热门文章

  1. 微服务架构技术调研<3>--微服务架构实践
  2. 戴尔服务器安装独显后无显示,在T630服务器上安装了独立显卡,重启后液晶面板显示“pci1318 fatal error on bus 128d”,然后黑屏重启,该问题如何解决阿。...
  3. C++别踩白块小游戏
  4. 看携程如何借助“预测式外呼”提高呼叫效率
  5. 计算机主机组成成分,手机电脑芯片主要由什么物质组成
  6. 百度地图标点鼠标样式更改
  7. Suzy找到实习了吗 Day24 | 回溯算法开始啦:回溯的理论知识,77组合(有一个问题没有解决)
  8. 极路由3-HC5861无拆机获取root连接ssh
  9. 数据链路层 (一)------ 计算机网络(三)
  10. 「react进阶」一文吃透React高阶组件(HOC)