-
公开(公告)号:CN116628695A
公开(公告)日:2023-08-22
申请号:CN202210125058.3
申请日:2022-02-10
Applicant: 中国科学院软件研究所
Abstract: 本发明公开一种基于多任务学习的漏洞挖掘方法及装置,所述方法包括:基于源代码的抽象语法树、控制流图与程序依赖图,构建代码属性图;分离代码属性图中的树结构与图结构;对树结构中的节点进行编码,得到抽象语法树的初始节点向量表示;将抽象语法树的初始节点向量表示、树结构和图结构分别输入漏洞识别神经网络模型与漏洞定位神经网络模型,得到漏洞识别结果与漏洞定位结果。本发明为了解决现有基于学习的源代码漏洞挖掘方法准确率有待提高并且检测粒度较粗的问题,提出了基于多任务学习的漏洞挖掘方法。本发明能够实现在准确识别漏洞的同时,对漏洞进行定位,提高漏洞挖掘人员的安全漏洞挖掘能力。
-
公开(公告)号:CN109670318A
公开(公告)日:2019-04-23
申请号:CN201811578979.5
申请日:2018-12-24
Applicant: 中国科学院软件研究所
IPC: G06F21/57
CPC classification number: G06F21/577 , G06F2221/033
Abstract: 本发明涉及一种基于核控制流图循环验证的漏洞检测方法,包括:1)生成n-day漏洞的CCFG;2)生成待测程序CFG,在待测程序CFG中搜索漏洞CCFG的核;3)将漏洞CCFG在待测程序CFG上围绕核进行循环验证,计算待测程序漏洞率;4)将待测程序漏洞率与阈值比较,判断待测程序是否存在该漏洞,根据候选漏洞核的位置对漏洞进行定位并输出漏洞检索报告。本发明为了解决基于控制流图的漏洞检测方法对n-day漏洞检测准确性不足的问题,提出了核控制流图和循环验证的概念和技术,以及完整的基于核控制流图循环验证的漏洞检测方法。本发明可以提高漏洞挖掘人员在检测n-day漏洞时的准确度,进而提高安全漏洞挖掘能力。
-
公开(公告)号:CN110286891B
公开(公告)日:2020-09-29
申请号:CN201910554093.5
申请日:2019-06-25
Applicant: 中国科学院软件研究所
IPC: G06F8/30
Abstract: 本发明涉及一种基于代码属性张量的程序源代码编码方法,包括:对程序源代码生成代码属性图;创建符号表、节点表和代码属性张量并进行初始化;将AST节点的数据类型和AST节点之间的运算关系编码到代码属性张量中;将AST节点之间的父子关系编码到代码属性张量中;将CFG节点之间的邻接关系编码到代码属性张量中,输出最终的代码属性张量。本发明为了解决已有的程序源代码的编码方式无法充分体现程序语义特征的问题,提出了代码属性张量的概念,以及将程序源代码编码为代码属性张量的算法。本发明可以在避免语义信息的丢失的情况下,将程序源代码编码为张量形式的数据,作为机器学习模型的输入,为后续的程序静态分析工作提供支持。
-
公开(公告)号:CN112905186A
公开(公告)日:2021-06-04
申请号:CN202110168454.X
申请日:2021-02-07
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种适用于开源软件供应链的高信噪比代码分类方法及装置,包括:将待预测代码转化为PE‑AST、将各节点数值化、抽取PE‑AST中的PE‑AST路径、将PE‑AST路径转化为可以进行运算的元组、计算关联系数WS、更新路径表示及根据PE‑AST特征向量进行预测。本发明可以提高代码表示过程中的信噪比,从而提高机器分类代码的准确度;依据对代码的分类,提高了编程者在代码理解、代码维护方面的工作效率。
-
公开(公告)号:CN109670318B
公开(公告)日:2021-03-02
申请号:CN201811578979.5
申请日:2018-12-24
Applicant: 中国科学院软件研究所
IPC: G06F21/57
Abstract: 本发明涉及一种基于核控制流图循环验证的漏洞检测方法,包括:1)生成n‑day漏洞的CCFG;2)生成待测程序CFG,在待测程序CFG中搜索漏洞CCFG的核;3)将漏洞CCFG在待测程序CFG上围绕核进行循环验证,计算待测程序漏洞率;4)将待测程序漏洞率与阈值比较,判断待测程序是否存在该漏洞,根据候选漏洞核的位置对漏洞进行定位并输出漏洞检索报告。本发明为了解决基于控制流图的漏洞检测方法对n‑day漏洞检测准确性不足的问题,提出了核控制流图和循环验证的概念和技术,以及完整的基于核控制流图循环验证的漏洞检测方法。本发明可以提高漏洞挖掘人员在检测n‑day漏洞时的准确度,进而提高安全漏洞挖掘能力。
-
公开(公告)号:CN112905186B
公开(公告)日:2023-04-07
申请号:CN202110168454.X
申请日:2021-02-07
Applicant: 中国科学院软件研究所
IPC: G06F8/41 , G06N3/047 , G06N3/048 , G06N3/08 , G06F18/241
Abstract: 本发明公开了一种适用于开源软件供应链的高信噪比代码分类方法及装置,包括:将待预测代码转化为PE‑AST、将各节点数值化、抽取PE‑AST中的PE‑AST路径、将PE‑AST路径转化为可以进行运算的元组、计算关联系数WS、更新路径表示及根据PE‑AST特征向量进行预测。本发明可以提高代码表示过程中的信噪比,从而提高机器分类代码的准确度;依据对代码的分类,提高了编程者在代码理解、代码维护方面的工作效率。
-
公开(公告)号:CN110286891A
公开(公告)日:2019-09-27
申请号:CN201910554093.5
申请日:2019-06-25
Applicant: 中国科学院软件研究所
IPC: G06F8/30
Abstract: 本发明涉及一种基于代码属性张量的程序源代码编码方法,包括:对程序源代码生成代码属性图;创建符号表、节点表和代码属性张量并进行初始化;将AST节点的数据类型和AST节点之间的运算关系编码到代码属性张量中;将AST节点之间的父子关系编码到代码属性张量中;将CFG节点之间的邻接关系编码到代码属性张量中,输出最终的代码属性张量。本发明为了解决已有的程序源代码的编码方式无法充分体现程序语义特征的问题,提出了代码属性张量的概念,以及将程序源代码编码为代码属性张量的算法。本发明可以在避免语义信息的丢失的情况下,将程序源代码编码为张量形式的数据,作为机器学习模型的输入,为后续的程序静态分析工作提供支持。
-
-
-
-
-
-