CN112528290B - 漏洞定位方法、系统、计算机设备和存储介质 - Google Patents

漏洞定位方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN112528290B
CN112528290B CN202011403255.4A CN202011403255A CN112528290B CN 112528290 B CN112528290 B CN 112528290B CN 202011403255 A CN202011403255 A CN 202011403255A CN 112528290 B CN112528290 B CN 112528290B
Authority
CN
China
Prior art keywords
suspicious
vulnerability
sentences
constructing
sentence
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.)
Active
Application number
CN202011403255.4A
Other languages
English (en)
Other versions
CN112528290A (zh
Inventor
薄莉莉
李越
孙小兵
李斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangzhou University
Original Assignee
Yangzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yangzhou University filed Critical Yangzhou University
Priority to CN202011403255.4A priority Critical patent/CN112528290B/zh
Publication of CN112528290A publication Critical patent/CN112528290A/zh
Application granted granted Critical
Publication of CN112528290B publication Critical patent/CN112528290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • G06F8/751Code clone detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种漏洞定位方法、系统、计算机设备和存储介质,方法包括:构建漏洞数据集;构建漏洞的可疑语句空间;构建排序学习模型;利用排序学习模型获取漏洞的可疑语句排序,依据优先级顺序依次遍历可疑语句,查找漏洞所在位置。本发明充分利用引入一个新的漏洞的数据特征及克隆技术,扩大了可疑语句的搜索空间,使其不再限制于基于测试用例下的定位语句方法,增加了定位语句的可能性。同时利用排序学习的技术将可疑语句值进行排序,将有利于更快的输出错误语句的优先值顺序即可疑值顺序,从而更快速的定位到错误语句。本发明充分利用漏洞所提供的信息,提取出所需要的代码和文本进行排序学习的模型训练,很好的克服了人为规定等方式的不足。

Description

漏洞定位方法、系统、计算机设备和存储介质
技术领域
本发明属于软件工程领域,特别涉及一种基于克隆与排序学习的漏洞定位方法、系统、计算机设备和存储介质。
背景技术
随着计算机软件越来越多地应用于生活的各个方面,对于软件的安全方面的维护愈加受到人们的重视。漏洞的数量的快速增长不但给个人带来了安全隐患,也给企业和社会带来了较大的损失。当一个项目存在漏洞需要修复时,漏洞定位是漏洞修复的前提条件,因此漏洞的定位工作对于修复漏洞和维护软件安全具有重大意义。
现有的漏洞定位方法,目前大致分为八类:基于频谱的故障定位(SBFL)、基于突变的故障定位(MBFL)、程序切片、堆栈跟踪、基于谓词转换的定位方法、基于信息检索的定位方法,基于历史信息的定位方法、基于排序学习的定位方法。其中,基于频谱的故障定位(SBFL)、基于突变的故障定位(MBFL)等是基于测试用例数据的漏洞定位方法,当一个漏洞不具有完备的测试用例,如测试用例较少的情况下,难以对漏洞进行更加准确的定位,从而也限制了后续的漏洞修复工作。漏洞通常修复的片段较少,在定位的时候往往需要更加精确的定位到应该修复的语句,像基于程序切片等考虑控制流的定位方法往往使得搜索目标过大,造成定位精度下降。在基于堆栈跟踪、谓词转换的定位等方法中,限定往往太多,造成一部分定位语句难以被识别。并且相比Bug而言,漏洞报告的所含内容较少,因此利用基于信息检索的漏洞定位方法漏洞更难获取更多的漏洞信息,从而使定位效果降低。
发明内容
本发明的目的在于针对上述现有技术存在的问题,提供一种基于克隆与排序学习的漏洞定位方法、系统、计算机设备和存储介质。
实现本发明目的的技术解决方案为:一种漏洞定位方法,所述方法包括以下步骤:
步骤1,构建漏洞数据集;
步骤2,构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
步骤3,构建排序学习模型;
步骤4,利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
进一步地,步骤1所述构建漏洞数据集,具体过程包括:
步骤1-1,在漏洞数据库CVE中由关键词搜索漏洞,筛选出漏洞的基础信息,包括漏洞的CVEID、基础描述以及漏洞所在的项目;所述关键词包括introduced、caused by等;
步骤1-2,根据筛选出的漏洞基础信息,在开源代码库github中查找该漏洞引入时的commit信息,包括commit标题、描述以及代码;
步骤1-3,构建成对的漏洞数据<漏洞的基础信息,commit信息>,形成漏洞数据集;
步骤1-4,将漏洞数据集划分为训练集和测试集。
进一步地,步骤2所述构建每个漏洞的可疑语句空间,具体过程包括:
步骤2-1,针对每一组数据对<漏洞的基础信息,commit信息>,从commit代码中提取所有修改的语句,作为可疑语句空间的第一类可疑语句;
步骤2-2,在漏洞所在的项目中提取commit所涉及的文件,并对第一类可疑语句分别进行变量名与方法名的分割,之后根据分割得到的变量名、方法名在所述涉及的文件中进行语句匹配,将匹配到的语句作为可疑语句空间的第二类可疑语句;
步骤2-3,通过克隆方式在commit所涉及的文件中寻找与第一类可疑语句相似的语句,作为可疑语句空间的第三类可疑语句;其中,克隆的类型如下表1所示:
表1 克隆的类型
进一步地,步骤3所述构建排序学习模型,具体过程包括:
步骤3-1,利用数据挖掘分析方法为可疑语句空间中的三类可疑语句分别赋予不同的权重即可疑值,并将可疑语句和可疑值转换为向量模式:
S(e)=<S1(e),S2(e),S3(e)>
式中,e为可疑语句,S1(e),S2(e),S3(e)分别为第一类、第二类、第三类情形下的可疑语句的可疑值,可疑值的范围在[0,1]内,其中1为最可疑的,0为最不可疑的;
步骤3-2,针对训练集中的所有漏洞数据,执行步骤3-1,将获得的向量输入至rankSVM进行训练,获得排序学习模型。
进一步地,步骤4所述利用所述排序学习模型获取待处理漏洞的可疑语句排序,具体过程包括:
步骤4-1,对待处理漏洞执行步骤2和步骤3-1,获得该漏洞对应的向量;
步骤4-2,将步骤4-1中的向量输入排序学习模型中,输出待处理漏洞的可疑语句排序。
一种漏洞定位系统,所述系统包括:
第一构建模块,用于构建漏洞数据集;
第二构建模块,用于构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
第三构建模块,用于构建排序学习模型;
漏洞定位模块,用于利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现以下步骤:
步骤1,构建漏洞数据集;
步骤2,构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
步骤3,构建排序学习模型;
步骤4,利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤1,构建漏洞数据集;
步骤2,构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
步骤3,构建排序学习模型;
步骤4,利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
本发明与现有技术相比,其显著优点为:1)以漏洞引入的代码作为基础点,构造可疑语句空间进行漏洞定位语句搜索,避免了漏洞数据没有可用测试用例的情况下使用;2)使用克隆技术定位已经修复的语句中的相似文本与结构的语句,使一些容易被传统定位所忽视的语句更快的定位到;例如,当一个变量在修复的过程中被修改,使用克隆技术会更快的将剩下未被修改的相同或相似变量更快的定位到;3)相比bug而言,漏洞的可利用信息较少,本发明从代码层面出发,有效利用漏洞引入的原因,从原因入手,更快的锁定存在漏洞的代码语句位置;4)在定位粒度上面,目前的定位技术大多集中在文件、方法、代码块级别中,本发明漏洞定位方法的漏洞定位粒度为语句级别,直接提供给开发人员定位到的具体的语句,以供后续漏洞修复使用。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为一个实施例中漏洞定位方法的流程图。
图2为一个实施例中构建可疑语句的流程图。
图3为一个实施例中构建可疑语句空间结果图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,结合图1,提供了一种基于克隆与排序学习的漏洞定位方法,所述方法包括以下步骤:
步骤1,构建漏洞数据集;
步骤2,构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
步骤3,构建排序学习模型;
步骤4,利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
进一步地,在其中一个实施例中,步骤1所述构建漏洞数据集,具体过程包括:
步骤1-1,在漏洞数据库CVE中由关键词搜索漏洞,筛选出漏洞的基础信息,包括漏洞的CVEID、基础描述以及漏洞所在的项目;所述关键词包括introduced、caused by等等;
步骤1-2,根据筛选出的漏洞基础信息,在开源代码库github中查找该漏洞引入时的commit信息,包括commit标题、描述以及代码;
步骤1-3,构建成对的漏洞数据<漏洞的基础信息,commit信息>,形成漏洞数据集;
步骤1-4,将漏洞数据集划分为训练集和测试集。
进一步地,在其中一个实施例中,结合图2,步骤2所述构建每个漏洞的可疑语句空间,具体过程包括:
步骤2-1,针对每一组数据对<漏洞的基础信息,commit信息>,从commit代码中提取所有修改的语句,作为可疑语句空间的第一类可疑语句;
步骤2-2,在漏洞所在的项目中提取commit所涉及的文件,并对第一类可疑语句分别进行变量名与方法名的分割,之后根据分割得到的变量名、方法名在所述涉及的文件中进行语句匹配,将匹配到的语句作为可疑语句空间的第二类可疑语句;
步骤2-3,通过克隆方式在commit所涉及的文件中寻找与第一类可疑语句相似的语句,作为可疑语句空间的第三类可疑语句;其中,克隆的类型如下表2所示:
表2 克隆的类型
进一步地,在其中一个实施例中,步骤3所述构建排序学习模型,具体过程包括:
步骤3-1,利用数据挖掘分析方法为可疑语句空间中的三类可疑语句分别赋予不同的权重即可疑值(某一类可疑语句的数量越多,其对应的权重越大),并将可疑语句和可疑值转换为向量模式:
S(e)=<S1(e),S2(e),S3(e)>
式中,e为可疑语句,S1(e),S2(e),S3(e)分别为第一类、第二类、第三类情形下的可疑语句的可疑值,可疑值的范围在[0,1]内,其中1为最可疑的,0为最不可疑的;
步骤3-2,针对训练集中的所有漏洞数据,执行步骤3-1,将获得的向量输入至rankSVM进行训练,获得排序学习模型。
进一步地,在其中一个实施例中,步骤4所述利用所述排序学习模型获取待处理漏洞的可疑语句排序,具体过程包括:
步骤4-1,对待处理漏洞执行步骤2和步骤3-1,获得该漏洞对应的向量;
步骤4-2,将步骤4-1中的向量输入排序学习模型中,输出待处理漏洞的可疑语句排序。
在一个实施例中,提供了一种基于克隆与排序学习的漏洞定位系统,所述系统包括:
第一构建模块,用于构建漏洞数据集;
第二构建模块,用于构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
第三构建模块,用于构建排序学习模型;
漏洞定位模块,用于利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
关于基于克隆与排序学习的漏洞定位系统的具体限定可以参见上文中对于基于克隆与排序学习的漏洞定位方法的限定,在此不再赘述。上述基于克隆与排序学习的漏洞定位系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
步骤1,构建漏洞数据集;
步骤2,构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
步骤3,构建排序学习模型;
步骤4,利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
关于每一步的具体限定可以参见上文中对于基于克隆与排序学习的漏洞定位方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
步骤1,构建漏洞数据集;
步骤2,构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
步骤3,构建排序学习模型;
步骤4,利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
关于每一步的具体限定可以参见上文中对于基于克隆与排序学习的漏洞定位方法的限定,在此不再赘述。
作为一种具体示例,在其中一个实施例中,对本发明的基于克隆与排序学习的漏洞定位方法进行进一步验证说明:
1、构建漏洞引入数据集,输入CVE与Github中的CVE信息和commit信息,输出<漏洞基础信息,commit信息>数据对。
2、构建可疑语句空间,以CVE-2019-5747为例,具体过程包括:
2-1,在数据集中寻找漏洞CVE-2019-5747对应的commit,之后提取所有修改的语句为第一类可疑语句,得到如图3中的第5列;
2-2,由于此漏洞所在的项目为busybox,在此项目中提取出commit所涉及的文件,并对第一类可疑语句分别进行变量名与方法名的分割,之后根据分割得到的变量名、方法名在所述涉及的文件中进行语句匹配,将匹配到的语句作为可疑语句空间的第二类可疑语句,得到如图3中的第6列;
2-3,通过克隆方式在commit所涉及的文件中寻找与第一类可疑语句相似的语句,作为可疑语句空间的第三类可疑语句,得到如图3中的第7列。
3、构建排序学习模型,具体过程包括:
3-1,利用数据挖掘分析方法为可疑语句空间中的三类可疑语句分别赋予不同的权重即可疑值,并将可疑语句和可疑值转换为向量模式:
S(e)=<S1(e),S2(e),S3(e)>
式中,e为可疑语句,S1(e),S2(e),S3(e)分别为第一类、第二类、第三类情形下的可疑语句的可疑值,可疑值的范围在[0,1]内,其中1为最可疑的,0为最不可疑的;
3-2,针对训练集中的所有漏洞数据,执行上述3-1,将获得的向量输入至rankSVM进行训练,获得排序学习模型。
4、针对以下待处理漏洞数据:
对其执行上述步骤2和步骤3-1,之后将得到的向量输入到模型中,得到语句的排序的优先级顺序如下表3所示:
表3 语句的优先级顺序
以此作为定位语句的优先级顺序在后续的修复过程中以供开发人员推使用。
综上,本发明提出的基于克隆与排序学习的漏洞定位方法,以漏洞引入的代码作为基础点,构建可疑语句空间,进行漏洞定位语句搜索,避免了漏洞数据没有可用测试用例的情况下使用。本发明充分利用引入一个新的漏洞的数据特征以及克隆技术,一方面扩大了可疑语句的搜索空间,使其不再限制于基于测试用例下的定位语句方法,增加了定位语句的可能性。另一方面,利用排序学习的技术将可疑语句值进行排序,将有利于更快的输出错误语句的优先值顺序即可疑值顺序,从而更快速的定位到错误语句。此外,本发明充分利用漏洞所提供的信息,提取出所需要的代码和文本进行排序学习的模型训练,很好的克服了人为规定等方式的不足。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (5)

1.一种漏洞定位方法,其特征在于,所述方法包括以下步骤:
步骤1,构建漏洞数据集;
步骤2,构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
步骤3,构建排序学习模型;
步骤4,利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置;
步骤1所述构建漏洞数据集,具体过程包括:
步骤1-1,在漏洞数据库CVE中由关键词搜索漏洞,筛选出漏洞的基础信息,包括漏洞的CVEID、基础描述以及漏洞所在的项目;所述关键词包括introduced、causedby;
步骤1-2,根据筛选出的漏洞基础信息,在开源代码库github中查找该漏洞引入时的commit信息,包括commit标题、描述以及代码;
步骤1-3,构建成对的漏洞数据<漏洞的基础信息,commit信息>,形成漏洞数据集;
步骤1-4,将漏洞数据集划分为训练集和测试集;
步骤2所述构建每个漏洞的可疑语句空间,具体过程包括:
步骤2-1,针对每一组漏洞数据<漏洞的基础信息,commit信息>,从commit代码中提取所有修改的语句,作为可疑语句空间的第一类可疑语句;
步骤2-2,在漏洞所在的项目中提取commit所涉及的文件,并对第一类可疑语句分别进行变量名与方法名的分割,之后根据分割得到的变量名、方法名在所述涉及的文件中进行语句匹配,将匹配到的语句作为可疑语句空间的第二类可疑语句;
步骤2-3,通过克隆方式在commit所涉及的文件中寻找与第一类可疑语句相似的语句,作为可疑语句空间的第三类可疑语句;其中,克隆的类型如下表1所示:
表1克隆的类型
Type-Ⅰ 去除空格,空行和注释后,完全相同 Type-Ⅱ 除了对一些uniqueidentifiers重命名以外,完全相同 Type-Ⅲ 片段部分被修改,包括添加或删除了部分代码片段,或重新排序 Type-Ⅳ 语义相似,但句法不相似
步骤3所述构建排序学习模型,具体过程包括:
步骤3-1,利用数据挖掘分析方法为可疑语句空间中的三类可疑语句分别赋予不同的权重即可疑值,并将可疑语句和可疑值转换为向量模式:
S(e)=<S1(e),S2(e),S3(e)>
式中,e为可疑语句,S1(e),S2(e),S3(e)分别为第一类、第二类、第三类情形下的可疑语句的可疑值,可疑值的范围在[0,1]内,其中1为最可疑的,0为最不可疑的;
步骤3-2,针对训练集中的所有漏洞数据,执行步骤3-1,将获得的向量输入至rankSVM进行训练,获得排序学习模型。
2.根据权利要求1所述的漏洞定位方法,其特征在于,步骤4所述利用所述排序学习模型获取待处理漏洞的可疑语句排序,具体过程包括:
步骤4-1,对待处理漏洞执行步骤2和步骤3-1,获得该漏洞对应的向量;
步骤4-2,将步骤4-1中的向量输入排序学习模型中,输出待处理漏洞的可疑语句排序。
3.基于权利要求1至2任意一项所述方法的漏洞定位系统,其特征在于,所述系统包括:
第一构建模块,用于构建漏洞数据集;
第二构建模块,用于构建每个漏洞的可疑语句空间,所述可疑语句是指该语句可能会造成该漏洞的产生;
第三构建模块,用于构建排序学习模型;
漏洞定位模块,用于利用所述排序学习模型获取待处理漏洞的可疑语句排序,依据可疑语句的优先级顺序依次遍历可疑语句,查找漏洞所在位置。
4.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至2中任一项所述方法的步骤。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至2中任一项所述方法的步骤。
CN202011403255.4A 2020-12-04 2020-12-04 漏洞定位方法、系统、计算机设备和存储介质 Active CN112528290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011403255.4A CN112528290B (zh) 2020-12-04 2020-12-04 漏洞定位方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011403255.4A CN112528290B (zh) 2020-12-04 2020-12-04 漏洞定位方法、系统、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112528290A CN112528290A (zh) 2021-03-19
CN112528290B true CN112528290B (zh) 2023-07-18

Family

ID=74998351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011403255.4A Active CN112528290B (zh) 2020-12-04 2020-12-04 漏洞定位方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112528290B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548076A (zh) * 2015-09-23 2017-03-29 百度在线网络技术(北京)有限公司 检测应用漏洞代码的方法和装置
CN107688748A (zh) * 2017-09-05 2018-02-13 中国人民解放军信息工程大学 基于漏洞指纹的脆弱性代码克隆检测方法及其装置
CN108268777A (zh) * 2018-01-18 2018-07-10 中国人民大学 一种利用补丁信息进行未知漏洞发现的相似性检测方法
CN109376080A (zh) * 2018-09-27 2019-02-22 北京大学 时间适配的自动化缺陷定位方法和装置
CN109697162A (zh) * 2018-11-15 2019-04-30 西北大学 一种基于开源代码库的软件缺陷自动检测方法
CN111581086A (zh) * 2020-04-28 2020-08-25 清华大学深圳国际研究生院 一种基于RankNet的混合软件错误定位方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135405B2 (en) * 2011-05-26 2015-09-15 Carnegie Mellon University Automated exploit generation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548076A (zh) * 2015-09-23 2017-03-29 百度在线网络技术(北京)有限公司 检测应用漏洞代码的方法和装置
CN107688748A (zh) * 2017-09-05 2018-02-13 中国人民解放军信息工程大学 基于漏洞指纹的脆弱性代码克隆检测方法及其装置
CN108268777A (zh) * 2018-01-18 2018-07-10 中国人民大学 一种利用补丁信息进行未知漏洞发现的相似性检测方法
CN109376080A (zh) * 2018-09-27 2019-02-22 北京大学 时间适配的自动化缺陷定位方法和装置
CN109697162A (zh) * 2018-11-15 2019-04-30 西北大学 一种基于开源代码库的软件缺陷自动检测方法
CN111581086A (zh) * 2020-04-28 2020-08-25 清华大学深圳国际研究生院 一种基于RankNet的混合软件错误定位方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A short introduction to learning to rank;Li H;IEICE TRANSACTIONS on Information and Systems;全文 *
LEOPARD: Identifying Vulnerable Code for Vulnerability Assessment Through Program Metrics;Du, XN等;2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING;全文 *
基于同源性检测的预标识漏洞识别分析技术研究与实现;宋绪言;中国优秀硕士学位论文全文数据库信息科技辑;全文 *
基于深度学习的代码漏洞检测;张宏浩;中国优秀硕士学位论文全文数据库信息科技辑;全文 *

Also Published As

Publication number Publication date
CN112528290A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
US9195952B2 (en) Systems and methods for contextual mapping utilized in business process controls
CN111459799B (zh) 一种基于Github的软件缺陷检测模型建立、检测方法及系统
JP7131199B2 (ja) クロスプロジェクト学習のための関連ソフトウェアプロジェクトの自動識別
CN111897946B (zh) 漏洞补丁推荐方法、系统、计算机设备和存储介质
Ma et al. Course recommendation based on semantic similarity analysis
US9990268B2 (en) System and method for detection of duplicate bug reports
US10152532B2 (en) Method and system to associate meaningful expressions with abbreviated names
CN111427775B (zh) 一种基于Bert模型的方法层次缺陷定位方法
US10360229B2 (en) Systems and methods for enterprise data search and analysis
US11321336B2 (en) Systems and methods for enterprise data search and analysis
US20230004819A1 (en) Method and apparatus for training semantic retrieval network, electronic device and storage medium
US6278990B1 (en) Sort system for text retrieval
CN112364635B (zh) 企业名称查重方法及装置
Tsuchiya et al. Interactive recovery of requirements traceability links using user feedback and configuration management logs
CN112328469B (zh) 一种基于嵌入技术的函数级缺陷定位方法
CN112528290B (zh) 漏洞定位方法、系统、计算机设备和存储介质
Tantithamthavorn et al. Impact analysis of granularity levels on feature location technique
Kaiya et al. Preliminary systematic literature review of software and systems traceability
Liu et al. Software Vulnerability Detection with GPT and In-Context Learning
CN112699018A (zh) 基于软件缺陷关联分析的软件缺陷定位方法
US10984005B2 (en) Database search apparatus and method of searching databases
Zhu et al. A data cleaning method for heterogeneous attribute fusion and record linkage
Misu et al. An exploratory study on interface similarities in code clones
CN115982316A (zh) 一种基于多模态的文本检索方法、系统及介质
JP6305671B1 (ja) テンプレート生成装置、テンプレート生成プログラム及びテンプレート生成方法

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