CN109670318A - 一种基于核控制流图循环验证的漏洞检测方法 - Google Patents
一种基于核控制流图循环验证的漏洞检测方法 Download PDFInfo
- Publication number
- CN109670318A CN109670318A CN201811578979.5A CN201811578979A CN109670318A CN 109670318 A CN109670318 A CN 109670318A CN 201811578979 A CN201811578979 A CN 201811578979A CN 109670318 A CN109670318 A CN 109670318A
- Authority
- CN
- China
- Prior art keywords
- loophole
- program
- measured
- day
- cfg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于核控制流图循环验证的漏洞检测方法,包括:1)生成n‑day漏洞的CCFG;2)生成待测程序CFG,在待测程序CFG中搜索漏洞CCFG的核;3)将漏洞CCFG在待测程序CFG上围绕核进行循环验证,计算待测程序漏洞率;4)将待测程序漏洞率与阈值比较,判断待测程序是否存在该漏洞,根据候选漏洞核的位置对漏洞进行定位并输出漏洞检索报告。本发明为了解决基于控制流图的漏洞检测方法对n‑day漏洞检测准确性不足的问题,提出了核控制流图和循环验证的概念和技术,以及完整的基于核控制流图循环验证的漏洞检测方法。本发明可以提高漏洞挖掘人员在检测n‑day漏洞时的准确度,进而提高安全漏洞挖掘能力。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种基于核控制流图循环验证的漏洞检测方法。
背景技术
随着计算机行业的发展,计算机软件已成为生活不可或缺的一部分,各行各业都在广泛地应用计算机系统,包括医疗、教育、军事、政治和新零售等领域。在计算机系统的迅速发展和普及之下,软件漏洞已然成为威胁计算机系统安全的重大问题。在软件生命周期中,各种漏洞频出不穷,容易遭受黑客攻击利用,从而造成财产损失。据MITRE公司发布的数据,截止2018年11月,CVE(Common Vulnerabilities and Exposures,公共漏洞和暴露数据库)中已存在约109000个条目,漏洞数量呈爆发式增长,这些已知的漏洞称为n-day漏洞。n-day漏洞虽然是已知的,但其在计算机系统中仍然广泛存在,并具有一定的恶劣影响,因此对n-day漏洞的检测是软件安全领域的热点问题。
目前,对n-day漏洞的检测通常采用基于程序图结构的漏洞检测技术,该技术将待测程序和n-day漏洞代码用图结构进行抽象表示,然后对待测程序与漏洞代码的图结构进行相似性判定,相似性越高则待测程序越有可能存在该漏洞,从而实现n-day漏洞的检测。2010年Pham等在ASE会议上的论文《Detection of recurring softwarevulnerabilities》中通过计算抽象语法树相似度的方式对代码复用造成的重复漏洞进行检测,该方法在检测代码复用引发的漏洞时具有较好效果。2012年Li等在ICSE会议上的论文《CBCD:Cloned Buggy Code Detector》中通过计算程序依赖图相似度的方式进行相似代码的检测,该方法能较好地检测出潜在问题的克隆代码。然而,在这些方法中,如果待测程序在含有n-day漏洞的程序代码段处进行了修改或者二次开发,将导致待测程序中漏洞代码段与原n-day漏洞的图结构存在一定的差异。在这种情况下,图的相似度会降低,从而导致基于图结构的漏洞检测方法的准确率降低。此时,不应仅仅对待测程序和n-day漏洞的图结构进行一次性的验证,而应在待测程序的不同位置进行多次验证,获得综合考量的图结构相似度,进而避免准确率的降低。
发明内容
本发明的技术问题:克服现有技术的不足,提供一种基于核控制流图循环验证的漏洞检测方法,该方法通过构建已知漏洞的核控制流图,采用核控制流图的循环验证算法,准确地对待测程序进行分析处理并输出漏洞检测报告,可以有效地辅助安全分析人员发现待测程序中的漏洞,提高安全人员进行漏洞检测的准确度。
本发明采用如下技术方案:一种基于核控制流图循环验证的漏洞检测方法,其步骤包括:
1)从漏洞信息发布平台中采集一个n-day漏洞,生成该n-day漏洞的原始控制流图,称为漏洞CFG,根据漏洞CFG生成该n-day漏洞的CCFG。CCFG是核控制流图(Core ControlFlow Graph)的简称,其是具有核的控制流图。其中,核定义为漏洞CFG中的连通子图,该连通子图为该漏洞CFG中不可被修改、扩充或归约的最大公共连通子图,所有具有该漏洞的程序的CFG中均包含该连通子图。当漏洞CFG的不可被修改或归约的最大公共连通子图为平凡图时,其核退化为一个节点,此时称该核为平凡核。在待测程序中,n-day漏洞CCFG的核是该漏洞存在的必要非充分条件。将CCFG形式化定义为<GCFG,GC,C>,其中GCFG=<V,E>是n-day漏洞的原始控制流图,V是控制流图的节点集,E是控制流图的边集,为CCFG的核,C为节点代码的集合,每个Cv∈C指向v节点中的具体代码,其中v∈V。
2)将即将检测的未知漏洞的程序称为待测程序,对待测程序生成CFG将对待测程序生成的CFG称为待测程序CFG,在待测程序CFG中搜索该n-day漏洞CCFG的核。定义待测程序CFG中与该n-day漏洞CCFG的核匹配的子图为待测程序候选漏洞核,由于漏洞CCFG的核存在是该漏洞存在的必要条件,所以在待测程序候选漏洞核处才有可能构成该n-day漏洞,以此缩小循环验证的范围,进而提高循环验证的速度。
3)将该n-day漏洞的CCFG围绕该候选漏洞核在待测程序CFG上进行循环验证,计算每次验证时的权重和分值。其中,循环验证是将漏洞CFG与待测程序CFG以不同节点映射进行多次比对的过程,并将每次比对的结果进行综合计算,进而考虑到更加全面的待测程序信息,提高漏洞检测准确度。在循环验证完毕之后,根据每次验证的权重对分值进行加权平均,获得此待测程序的漏洞率。定义漏洞率为度量待测程序存在该n-day漏洞的可能性的数字量,漏洞率的数值越大,则该待测程序中存在该n-day漏洞的可能性越高。
4)将待测程序漏洞率与阈值进行比较,大于阈值则判定该待测程序存在该n-day漏洞,否则判定该待测程序不存在该n-day漏洞,并根据候选漏洞核在待测程序中的位置对待测程序中的n-day漏洞进行初步定位,输出漏洞检测报告。
进一步地,步骤1)中,包括以下步骤:
a)从漏洞信息发布平台中采集一个n-day漏洞信息,包括漏洞编号、种类、涉及项目名称以及涉及的漏洞代码段。
b)根据该n-day漏洞的漏洞代码段生成该漏洞的控制流图,将该控制流图记为GV,GV=<VV,EV>,其中下标V是漏洞(Vulnerability)的简称。定义Cv为v节点中的具体代码,其中v∈VV,C为代码(Code)的简称。定义为GV的节点代码集。
c)采集已知的、具有该n-day漏洞的程序,对这些程序的漏洞代码段分别生成CFG,记为CFGS,CFGS={CFG1,CFG2,…,CFGn},计算GV,CFG1,CFG2,…,CFGn的最大公共子图,将该最大公共子图作为n-day漏洞CCFG的核,记为GC,其中
d)构建三元组<GV,GC,C>作为该n-day漏洞的CCFG。
进一步地,步骤2)中,在待测程序CFG中搜索该n-day漏洞CCFG的核GC包括以下步骤:
a)将待测程序生成CFG,将待测程序CFG记为GP,GP=<VP,EP>,其中下标P是程序(Program)的简称。
b)设该n-day漏洞CCFG=<GV,GC,C>,其中GV=<VV,EV>,GC=<VC,EC>,在GP中搜索与GC同构的子图。
c)设待测程序CFG中与GC同构的子图为G′C,G′C=<V′C,E′C>,f:V′C→VC为该同构的节点映射。对每对节点映射f(v′c)=vc,其中v′c∈V′c,vc∈VC,通过以下方法计算两者节点是否匹配:设v′c和vc节点的具体代码分别为和如果是的子串,则判定两个节点匹配,否则判定两个节点不匹配。如果每对节点都匹配,则代表在待测程序CFG中成功搜索到该n-day漏洞CCFG的核,将待测程序CFG中该子图标记为待测程序候选漏洞核。
进一步地,步骤3)中,将n-day漏洞CCFG围绕待测程序候选漏洞核在待测程序CFG上进行循环验证,并计算每次验证时的权重和分值,包括以下步骤:
a)设候选漏洞核为G′C,G′C=<V′C,E′C>,n-day漏洞CCFG为<GV,GC,C>,其中GV=<VV,EV>,GC=<VC,EC>,由于G′C与GC同构,又因为因此可得|V′C|≤|VV|。
b)在待测程序CFG中选择一个包含该候选漏洞核G′C、节点数为|VV|的连通子图,将该连通子图称为此次验证的覆盖子图,记为G′V,G′V=<V′V,E′V>。
c)计算此次验证的权重。设候选漏洞核G′C与n-day漏洞核GC同构时的节点映射为g:V′C→VC,定义双射函数f:V′V→VV,其中计算在每个双射函数f:V′V→VV下G′v与GV的边相似度ES(G′V,GV,f),即:
其中ES是边相似度(Edge Similarity)的简称。取得最大的边相似度作为G′V与GV的最终图相似度,并将图相似度作为此次验证的权重w,即:
w=Similarity(G′V,GV)=max(ES(G′V,GV,f))。
d)计算此次验证的分值。将取得最大图相似度的双射函数f,将其记为fmax。设fmax(v′v)=vv,v′v∈V′V,vv∈VV,为v′v节点的代码,为vv节点的代码,计算和的最长公共子序列,将最长公共子序列长度除以长度进行归一化,将归一化后的最长公共子序列长度记为其中LCS是最长公共子序列(Longest CommonSequence)的简称。将每对v′v和vv节点的归一化后的最长公共子序列长度进行平均处理,作为此次验证的分值s,即:
e)判断待测程序CFG中是否仍具有未验证的包含候选漏洞核G′C、节点数为|VV|的连通子图,若有则继续对剩余连通子图进行验证,并计算每次验证时的权重和分值。
f)循环验证完毕之后,计算此待测程序的漏洞率。设n-day漏洞的CCFG围绕该候选漏洞核G′C共进行了n次验证,且每次验证时的权重为w1,w2…wn,分值为s1,s2…sn,计算待测程序的漏洞率vr,即:
进一步地,步骤4)中,包括以下步骤:
a)对已知存在该漏洞的程序实施本方法,并根据通过本方法获得的漏洞率与真值进行统计分析,进而获得经验性阈值。
b)将待测程序的漏洞率与阈值进行比较,漏洞率大于阈值则判定该待测程序具有该漏洞,否则判定该待测程序不具有该漏洞。
c)根据待测程序候选漏洞核的位置,对待测程序中的n-day漏洞进行定位。
d)根据漏洞判定结果和漏洞定位结果输出漏洞检测报告。
本发明与现有技术相比的优点在于:当今现有技术普遍通过将待测程序图结构与漏洞图结构进行一次性的相似度比对,如果待测程序在含有n-day漏洞的程序代码段处进行了修改或者二次开发,将导致待测程序中漏洞代码段与原n-day漏洞的图结构存在一定的差异,在这种情况下,图的相似度会降低,从而导致基于图结构的漏洞检测方法的准确率降低。本发明通过生成n-day漏洞的核控制流图,将n-day漏洞的核控制流图与待测程序控制流图进行多次循环验证的方式,提高了基于图结构的漏洞检测方法的准确率,进而提高安全漏洞挖掘能力。
附图说明
图1是基于核控制流图循环验证的漏洞检测方法的流程图;
图2是n-day漏洞核控制流图生成方法的流程图;
图3是在待测程序CFG中搜索该n-day漏洞CCFG的核的流程图;
图4是将n-day漏洞CCFG在待测程序CFG上进行循环验证的流程图;
图5是根据漏洞率判定待测程序是否存在n-day漏洞并输出漏洞检测报告的流程图。
具体实施方式
下面结合附图,对本发明做进一步的说明。
如图1所示,本发明基于核控制流图循环验证的漏洞检测方法,主要包括以下步骤:
1)从漏洞信息发布平台中采集一个n-day漏洞,生成该n-day漏洞的CCFG,其中采集n-day漏洞并生成CCFG的流程如图2所示,具体说明如下:
1a)从漏洞信息发布平台中采集一个n-day漏洞信息,包括漏洞编号、种类、涉及项目名称以及涉及的漏洞代码段,转到1b)。
1b)根据该n-day漏洞的漏洞代码段生成该漏洞的控制流图,将该控制流图记为GV,GV=<VV,EV>,其中下标V是漏洞(Vulnerability)的简称。定义Cv为v节点中的具体代码,其中v∈VV,C为代码(Code)的简称。定义为GV的节点代码集,转到1c)。
1c)采集已知的、具有该n-day漏洞的程序的漏洞代码段,转到1d)。
1d)对已知的、具有该n-day漏洞的程序的漏洞代码段分别生成CFG,记为CFGS,CFGS={CFG1,CFG2,…,CFGn},转到1e)。
1e)计算GV,CFG1,CFG2,…,CFGn的最大公共子图,将该最大公共子图作为n-day漏洞CCFG的核,记为GC,其中转到1f)。
1f)构建三元组<GV,GC,C>作为该n-day漏洞的CCFG。
2)对待测程序生成CFG,在待测程序CFG中搜索该n-day漏洞CCFG的核,其中在待测程序CFG中搜索该n-day漏洞CCFG的核的流程如图3所示,具体说明如下:
2a)将待测程序生成CFG,将待测程序CFG记为GP,GP=<VP,EP>,其中下标P是程序(Program)的简称,设该n-day漏洞CCFG=<GV,GC,C>,其中GV=<VV,EV>,GC=<VC,EC>,转到2b)。
2b)判断待测程序CFG中是否存在与n-day漏洞CCFG的核同构的子图,若是,则转到2c),若否,则转到2g)。
2c)设待测程序CFG中与GC同构的子图为G′C,G′C=<V′C,E′C>,f:V′C→VC为该同构的节点映射。取其中一对节点映射v′c→vc,其中v′c∈V′C,vc∈VC,转到2d)。
2d)设v′c和vc节点的具体代码分别为和如果是的子串,则判定两个节点匹配,则转到2e),如果不是的子串,则判定两个节点不匹配,则转到2g)。
2e)判断该同构子图中是否对所有节点映射都已进行过处理,若是,则转到2f),若否,则转到2c)。
2f)将待测程序CFG中该子图标记为待测程序候选漏洞核。
2g)判定待测程序不具有该漏洞。
3)将该n-day漏洞的CCFG围绕该候选漏洞核在待测程序CFG上进行循环验证并计算每次验证时的权重和分值,在循环验证完毕之后,根据每次验证的权重对分值进行加权平均,获得此待测程序的漏洞率,其中将n-day漏洞CCFG在待测程序CFG上进行循环验证的流程如图4所示,具体说明如下:
3a)设待测程序候选漏洞核为G′C,G′C=<V′C,E′C>,n-day漏洞CCFG为<GV,GC,C>,其中GV=<VV,EV>,GC=<VC,EC>。判断待测程序CFG中是否存在包含该候选漏洞核G′C、节点数为|VV|的连通子图,若是,转到3b),若否,则转到3j)。
3b)将该连通子图记为G′V,G′V=<V′V,E′V>,设候选漏洞核G′C与n-day漏洞核GC同构时的节点映射为g:V′C→VC,定义双射函数f:V′V→VV,其中转到3c)。
3c)计算在该双射函数f下,连通子图G′V与GV的边相似度ES(G′V,GV,f),其中转到3d)。
3d)判断该连通子图中是否仍有未定义过的双射函数f:V′V→VV,若有,则转到3b),若否,则转到3e)。
3e)计算获得使边相似度取到最大值的双射函数,记为fmax,并将该边相似度作为此次验证的权重w,w=Similarity(G′V,GV)=max(ES(G′V,GV,f)),转到3f)。
3f)获取fmax中一对节点映射v′v→vv,v′v∈V′V,vv∈VV,转到3g)。
3g)设为v′v节点的代码,为vv节点的代码,计算和的最长公共子序列,将最长公共子序列长度除以长度进行归一化,将归一化后的最长公共子序列长度记为转到3h)。
3h)判断是否对fmax中所有节点映射均已处理,若是,则转3i),若否,则转到3f)。
3i)将每对v′v和vv节点的归一化后的最长公共子序列长度进行平均处理,作为此次验证的分值s,转到3a)。
3j)设n-day漏洞的CCFG围绕该候选漏洞核G′C共进行了n次验证,且每次验证时的权重为w1,w2…wn,分值为s1,s2…sn,用权重对分值加权平均,计算待测程序的漏洞率vr,其中
4)将待测程序漏洞率与阈值进行比较,判断该待测程序是否存在该n-day漏洞,并根据候选漏洞核的位置对待测程序中的n-day漏洞进行初步定位,输出漏洞检测报告,其中根据漏洞率判定待测程序是否存在该n-day漏洞,并输出漏洞检测报告的流程如图5所示,具体说明如下:
4a)对已知存在该漏洞的程序实施本方法,并根据通过本发明获得的漏洞率与真值进行统计分析,进而获得经验性阈值,转到4b)。
4b)判断未知漏洞的待测程序的漏洞率是否大于上述经验性阈值,若是,则转到4c),若否,则转到4e)。
4c)判定该待测程序存在该n-day漏洞,并将其作为漏洞判定结果,转到4d)。
4d)获得该待测程序候选漏洞核在待测程序中的具体位置,精确到代码行,并将其作为漏洞定位结果,转到4f)。
4e)判定该待测程序不存在该n-day漏洞,并将其作为漏洞判定结果,转到4f)。
4f)综合漏洞判定结果和漏洞定位结果输出漏洞检测报告。
以上虽然描述了本发明的具体实施方法,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明原理和实现的前提下,可以对这些实施方案做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。
Claims (10)
1.一种基于核控制流图循环验证的漏洞检测方法,其特征在于,包括以下步骤:
步骤1:从漏洞信息发布平台中采集一个n-day漏洞,生成该n-day漏洞的原始控制流图,称为漏洞CFG,根据漏洞CFG生成所述n-day漏洞的核控制流图CCFG,将所述核控制流图CCFG形式化定义为<GCFG,GC,C>,其中GCFG=<V,E>是n-day漏洞的原始控制流图,即漏洞CFG,V是控制流图的节点集,E是控制流图的边集,为CCFG的核,C为节点代码的集合,每个Cv∈C指向v节点中的具体代码,其中v∈V;
步骤2:将待检测的未知漏洞的程序称为待测程序,对待测程序生成CFG,将对待测程序生成的CFG称为待测程序CFG,在待测程序CFG中搜索所述n-day漏洞CCFG的核,定义待测程序CFG中与该n-day漏洞CCFG的核匹配的子图为待测程序候选漏洞核;
步骤3:将所述n-day漏洞的CCFG围绕该候选漏洞核在待测程序CFG上进行循环验证并计算每次验证时的权重和分值,在循环验证完毕之后,根据每次验证的权重对分值进行加权平均,获得此待测程序的漏洞率;
步骤4:将待测程序漏洞率与设定阈值进行比较,判断待测程序是否具有该n-day漏洞,并根据候选漏洞核在待测程序中的位置对n-day漏洞进行初步定位,得到漏洞检测结果。
2.根据权利要求1所述的方法,其特征在于:所述步骤1中,待测程序是已知源代码的项目、源文件或代码段。
3.根据权利要求1所述的方法,其特征在于:所述步骤1中,CCFG的核具有不可被修改、扩充和归约的性质,所有具有该漏洞的程序的CFG中均包含该连通子图。
4.根据权利要求1所述的方法,其特征在于:当n-day漏洞的原始控制流图的不可被修改、扩充和归约的最大公共连通子图为平凡图时,该n-day漏洞CCFG的核退化为一个节点。
5.根据权利要求1所述的方法,其特征在于:所述步骤1中,漏洞信息发布平台包括NVD(National Vulnerability Database,美国国家漏洞数据库)、SARD(Software AssuranceReference Dataset,美国软件保障参考数据集)或中国国家信息安全漏洞库。
6.根据权利要求1所述的方法,其特征在于:所述步骤2中,在待测程序CFG上搜索该n-day漏洞CCFG的核的方法是:判断待测程序CFG的子图与n-day漏洞CCFG核是否同构并且对应节点是否匹配。
7.根据权利要求1所述的方法,其特征在于:所述步骤2中,在待测程序CFG上搜索该n-day漏洞CCFG的核的目的是减少循环验证的次数,提高速度。
8.根据权利要求1所述的方法,其特征在于:所述步骤3中,在每次循环验证时需综合计算图相似度和节点代码相似度。
9.根据权利要求1所述的方法,其特征在于:所述步骤3中,计算待测程序漏洞率时,需综合计算每次验证时的权重和分值,提高漏洞检测准确度。
10.根据权利要求1所述的方法,其特征在于:所述步骤4中,漏洞检索结果包括漏洞判定结果、漏洞定位结果、本次测试的配置信息;所述漏洞判定结果包括:漏洞判定、漏洞率、每次循环验证的权重和分值;所述漏洞定位结果为漏洞所在的代码行;所述本次测试的配置信息包括:本次测试的日期时间,运行测试所需的时间,测试用机的型号、配置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811578979.5A CN109670318B (zh) | 2018-12-24 | 2018-12-24 | 一种基于核控制流图循环验证的漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811578979.5A CN109670318B (zh) | 2018-12-24 | 2018-12-24 | 一种基于核控制流图循环验证的漏洞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109670318A true CN109670318A (zh) | 2019-04-23 |
CN109670318B CN109670318B (zh) | 2021-03-02 |
Family
ID=66145976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811578979.5A Active CN109670318B (zh) | 2018-12-24 | 2018-12-24 | 一种基于核控制流图循环验证的漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109670318B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110286891A (zh) * | 2019-06-25 | 2019-09-27 | 中国科学院软件研究所 | 一种基于代码属性张量的程序源代码编码方法 |
CN110598417A (zh) * | 2019-09-05 | 2019-12-20 | 北京理工大学 | 一种基于图挖掘的软件漏洞检测方法 |
CN110990277A (zh) * | 2019-11-29 | 2020-04-10 | 珠海豹趣科技有限公司 | 一种漏洞挖掘方法、装置及计算机可读存储介质 |
CN113221127A (zh) * | 2021-07-07 | 2021-08-06 | 鹏城实验室 | 程序的漏洞检测方法、装置、终端设备以及存储介质 |
CN114785574A (zh) * | 2022-04-07 | 2022-07-22 | 国网浙江省电力有限公司宁波供电公司 | 一种基于ai辅助的远程漏洞精确验证方法 |
CN115145633A (zh) * | 2022-07-25 | 2022-10-04 | 杭州师范大学 | 一种基于控制流图的代码错误自动检出方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727391A (zh) * | 2009-12-14 | 2010-06-09 | 北京理工大学 | 一种软件漏洞特征操作序列的提取方法 |
WO2016168428A1 (en) * | 2015-04-15 | 2016-10-20 | Qatar Foundation For Education, Science And Community Development | Cross-site scripting detection method |
CN107229563A (zh) * | 2016-03-25 | 2017-10-03 | 中国科学院信息工程研究所 | 一种跨架构的二进制程序漏洞函数关联方法 |
-
2018
- 2018-12-24 CN CN201811578979.5A patent/CN109670318B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727391A (zh) * | 2009-12-14 | 2010-06-09 | 北京理工大学 | 一种软件漏洞特征操作序列的提取方法 |
WO2016168428A1 (en) * | 2015-04-15 | 2016-10-20 | Qatar Foundation For Education, Science And Community Development | Cross-site scripting detection method |
CN107229563A (zh) * | 2016-03-25 | 2017-10-03 | 中国科学院信息工程研究所 | 一种跨架构的二进制程序漏洞函数关联方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110286891A (zh) * | 2019-06-25 | 2019-09-27 | 中国科学院软件研究所 | 一种基于代码属性张量的程序源代码编码方法 |
CN110598417A (zh) * | 2019-09-05 | 2019-12-20 | 北京理工大学 | 一种基于图挖掘的软件漏洞检测方法 |
CN110598417B (zh) * | 2019-09-05 | 2021-02-12 | 北京理工大学 | 一种基于图挖掘的软件漏洞检测方法 |
CN110990277A (zh) * | 2019-11-29 | 2020-04-10 | 珠海豹趣科技有限公司 | 一种漏洞挖掘方法、装置及计算机可读存储介质 |
CN113221127A (zh) * | 2021-07-07 | 2021-08-06 | 鹏城实验室 | 程序的漏洞检测方法、装置、终端设备以及存储介质 |
CN113221127B (zh) * | 2021-07-07 | 2021-12-14 | 鹏城实验室 | 程序的漏洞检测方法、装置、终端设备以及存储介质 |
CN114785574A (zh) * | 2022-04-07 | 2022-07-22 | 国网浙江省电力有限公司宁波供电公司 | 一种基于ai辅助的远程漏洞精确验证方法 |
CN114785574B (zh) * | 2022-04-07 | 2023-09-29 | 国网浙江省电力有限公司宁波供电公司 | 一种基于ai辅助的远程漏洞精确验证方法 |
CN115145633A (zh) * | 2022-07-25 | 2022-10-04 | 杭州师范大学 | 一种基于控制流图的代码错误自动检出方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109670318B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109670318A (zh) | 一种基于核控制流图循环验证的漏洞检测方法 | |
US11188322B2 (en) | Similarity of binaries | |
Eschweiler et al. | Discovre: Efficient cross-architecture identification of bugs in binary code. | |
US10558805B2 (en) | Method for detecting malware within a linux platform | |
CN104077531B (zh) | 基于开放漏洞评估语言的系统漏洞评估方法、装置和系统 | |
CN104899147B (zh) | 一种面向安全检查的代码静态分析方法 | |
Cui et al. | Vuldetector: Detecting vulnerabilities using weighted feature graph comparison | |
CN111104335B (zh) | 一种基于多层次分析的c语言缺陷检测方法及装置 | |
Ahmadi et al. | Finding bugs using your own code: detecting functionally-similar yet inconsistent code | |
Liu et al. | Vfdetect: A vulnerable code clone detection system based on vulnerability fingerprint | |
CN110765459A (zh) | 一种恶意脚本检测方法、装置和存储介质 | |
Xiao et al. | Viva: Binary level vulnerability identification via partial signature | |
Tang et al. | Detecting compiler warning defects via diversity-guided program mutation | |
Svajlenko et al. | Bigclonebench | |
Hua et al. | On the effectiveness of deep vulnerability detectors to simple stupid bug detection | |
Hung et al. | CPPCD: A token-based approach to detecting potential clones | |
Wu et al. | Ossfp: Precise and scalable c/c++ third-party library detection using fingerprinting functions | |
Li et al. | Vuldeelocator: A deep learning-based system for detecting and locating software vulnerabilities | |
Li et al. | Semantic code clone detection via event embedding tree and GAT network | |
Sun et al. | Propagating bug fixes with fast subgraph matching | |
CN110516446A (zh) | 一种恶意软件家族归属判定方法、系统及存储介质 | |
RU168346U1 (ru) | Устройство выявления уязвимостей | |
CN115859307A (zh) | 基于树型注意力和加权图匹配的相似漏洞检测方法 | |
Cesare et al. | Clonewise–detecting package-level clones using machine learning | |
Song et al. | Program slice based vulnerable code clone detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |