当前位置:   article > 正文

人工智能与漏洞识别-devign【3】修改CPG图

cpg图

该项目还在进行,具体细节暂不公布

前期

不使用自动暂停时,大佬复现给出的Accuracy 0.5247524752475248,F10.6129032258064515
在这里插入图片描述
以上结果并不算太好,在论文当中作者提到了DFG,但实际上大佬复现的项目并没有使用,但使用了PDG,我们就按照作者的想法继续探索,DFG用于跟踪数据流的变化,本文最后使用了污点追踪的方法,连接相应的Node,edge类型为ast。

总体思路

  1. 对数据集进行slice
  2. 为单个c文件生成cpg图
  3. 对每一个cpg图生成method_json
  4. 获取c标准函数
  5. 使用joern进行污点追踪
  6. 生成总cpg图,并连接node
  • 方法缺陷:每次追踪的sink都是c 标准函数,但还是存在各种函数,仅仅是作者进行前期判断发现把sink设为c标准函数,追踪结果才可能不为空。

污点追踪

在程序当中,作者把source设为该个c文件的主函数,sink为c标准函数。

连接node

根据joern社区的提示我们可以进行连边操作

  1. 声明节点
v
  • 1
  1. 连边
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/807844
推荐阅读
相关标签
  

闽ICP备14008679号