CN113656805B - 一种面向多源漏洞信息的事件图谱自动构建方法及*** - Google Patents
一种面向多源漏洞信息的事件图谱自动构建方法及*** Download PDFInfo
- Publication number
- CN113656805B CN113656805B CN202110828495.7A CN202110828495A CN113656805B CN 113656805 B CN113656805 B CN 113656805B CN 202110828495 A CN202110828495 A CN 202110828495A CN 113656805 B CN113656805 B CN 113656805B
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- event
- information
- relations
- loophole
- 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
Links
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种面向多源漏洞信息的事件图谱自动构建方法及***,从文本和代码信息两个角度将CVE、NVD等网站中的漏洞相关信息进行整合。首先从漏洞数据库中爬取漏洞报告,将漏洞的发生原因视为事件触发词进行识别,并通过其判断漏洞类型。其次通过命名实体识别的方式对描述中的攻击者、后果、位置等信息进行识别,并进行信息补全。再利用文本信息抽取显式的事件关系,并利用文本相似性抽取隐式的事件关系,并进行漏洞相关代码的表征。最终借助可视化工具将所得的漏洞事件信息可视化为事件图谱,从而为开发人员提供更直观准确的漏洞事件及其相关因素,减少开发人员手动分析和理解漏洞数据的人力和时间成本,提高软件维护的有效性和高效性。
Description
技术领域
本发明属于软件安全领域,特别涉及一种面向多源漏洞信息的事件图谱自动构建方 法及***。
背景技术
随着大数据时代的到来,高质量的数据集成为了科学研究的重要基石,因此,漏洞研究的成败也与漏洞数据集质量的好坏息息相关。现存多个漏洞数据集,但缺少数据集 规范,导致信息内容杂乱、信息种类缺失等问题。因此需要自动化构建一个规整、规范、 可用性较强的漏洞事件图谱,涵盖多个数据源的漏洞发生信息,将原本杂乱的信息转化 为规整的知识,以便于开发人员直观地对漏洞进行理解、分析和使用,减少了漏洞数据 集构建的人力资本,也便于支撑后期的漏洞分析及诊断。
事件知识图谱从自然语言文本中抽取事件和实体、属性、关系等进行知识融合,然后通过本体构建体系框架,以结构化的三元组形式存储。目前已有一些工作构建事件图谱,如文献《Building event-centric knowledge graphs from news》提出了一种以事件为中 心的知识图谱,从新闻报道里抽取事件,包括时间、地点和参与者等等,并建立了事件之间的因果关系和共指关系,重构了历史发展和时间演变。也有工作提出了以事件为中 心的多语言时序知识图谱,如文献《Eventkg:A multilingual event-centric temporalknowledge graph》从DBpedia等大型知识图谱中抽取了69万个当代和历史事件、230 多万个时序关系,并对抽取的事件、实体和关系进行了融合。现有的事件知识图谱研究 大多集中在历史、金融和新闻领域中,而少有涉及其他领域。现有的公开专利均为基于 安全漏洞的传统知识图谱构建方法,将漏洞看作实体,将漏洞报告中的一些基础属性看 做是实体属性,例如产品名称、CWE-ID、CVSS评分、公开日期等。而漏洞本身是一 个有过程的事件,除了上述的基础属性,它还有触发条件、原因、结果、位置等事件属 性。传统的知识图谱难以对其进行表示,从而使用事件图谱表征漏洞事件是具有可行性 的。
发明内容
发明目的:本发明的目的在于针对上述现状存在的问题,提供一种面向多源漏洞信 息的事件图谱自动构建方法及***,以整合漏洞相关的多种信息并进行识别,并将其可视化为漏洞事件图谱。
技术方案:为实现上述发明目的,本发明采用的技术方案为:一种面向多源漏洞信息的事件图谱自动构建方法,包括以下步骤:
步骤1,根据CVE-ID从漏洞数据库中爬取漏洞报告,构建漏洞报告数据集;
步骤2,将漏洞的发生原因视为事件触发词,构建漏洞事件触发词标注集,进行漏洞事件的触发词提取,并通过触发词判断漏洞类型;
步骤3,通过命名实体识别的方式从漏洞的描述信息中提取漏洞事件元素,并进行信息补全;
步骤4,利用文本信息抽取显式的漏洞事件关系,并利用文本相似性抽取隐式的漏洞事件关系;
步骤5,进行漏洞相关代码的表征;
步骤6,将步骤2至步骤5所得的漏洞事件信息可视化为漏洞事件图谱;所述图谱中包括漏洞事件的相关元素,漏洞事件之间的关系,漏洞事件通过事件触发词关联漏洞 类型。
进一步地,所述步骤1中根据CVE-ID采集漏洞数据库CVE、NVD和IBM X-ForceExchange中的漏洞报告;获取报告中的描述信息、发布日期、CVSS分值、CWE类别 以及相关链接,以此得到漏洞报告数据集。
进一步地,所述步骤2中利用漏洞事件触发词标注集,训练BERT模型的序列标注任务,并利用训练后的模型进行触发词提取;利用softmax分类器将提取的触发词进行 分类,漏洞类型包括时序漏洞、配置漏洞、输入验证漏洞、内存漏洞、逻辑资源漏 洞、数字漏洞、未知漏洞中的一种或多种。
进一步地,所述步骤3中提取的漏洞事件中的事件元素包括触发操作、发生情境、攻击者、影响版本、后果和位置;利用构建的漏洞事件元素标注集,训练BERT模型 的序列标注任务,并利用训练后的模型连接BiLSTM层和CRF层进行事件元素提取。
进一步地,所述步骤3中在CVE和NVD描述中缺失部分事件元素时,利用IBM X-Force Exchange中的描述进行事件元素补全。
进一步地,所述步骤4中通过句型模板对显式的漏洞事件关系进行提取,漏洞显式关系类型包括相似关系、因果关系、兄弟关系、回归关系、包含关系和依赖关系中 的一种或多种。
进一步地,所述步骤4中通过计算漏洞描述信息向量化表示的余弦相似度,提取漏洞隐式的相似关系。
进一步地,所述步骤5中将漏洞代码表示为抽象语法树AST、控制流图CFG、程 序依赖图PDG中的一种或多种。
基于相同的发明构思,本发明提供的一种面向多源漏洞信息的事件图谱自动构建系 统,包括:
数据集构建模块,用于根据CVE-ID从漏洞数据库中爬取漏洞报告,构建漏洞报告数据集;
触发词提取模块,用于将漏洞的发生原因视为事件触发词,构建漏洞事件触发词标 注集,进行漏洞事件的触发词提取,并通过触发词判断漏洞类型;
漏洞事件元素识别模块,用于通过命名实体识别的方式从漏洞的描述信息中提取漏 洞事件元素,并进行信息补全;
漏洞事件关系识别模块,用于利用文本信息抽取显式的漏洞事件关系,并利用文本 相似性抽取隐式的漏洞事件关系;
漏洞代码表示模块,用于进行漏洞相关代码的表征;
以及可视化模块,用于将所得的漏洞事件信息可视化为漏洞事件图谱;所述图谱中 包括漏洞事件的相关元素,漏洞事件之间的关系,漏洞事件通过事件触发词关联漏洞类型。
基于相同的发明构思,本发明提供的一种面向多源漏洞信息的事件图谱自动构建系 统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的面向多源漏洞信息的事件图谱自动构建方法。
有益效果:本发明与现有技术相比,其显著优点为:1)根据漏洞本身是有过程的事件这一特点,构建漏洞领域的事件图谱,相较于普通的漏洞数据集,开发人员能够更 加直观地对漏洞事件及其相关的事件因素进行了解;相较于已有的漏洞图谱构建技术, 本发明并不局限于提取漏洞报告中已有的元素和关系,而是利用算法将报告文本中的事 件元素及隐式关系提取出来。2)通过观察漏洞报告,明确漏洞事件的各项元素并使用 BERT+BiLSTM+CRF模型进行提取,包括触发操作、影响版本、攻击者、后果、位 置等,对漏洞事件表征更全面;3)考虑到事件元素的缺失问题,本研究不局限于 CVE/NVD网站中的漏洞描述,还利用IBM X-Force Exchange中的描述进行事件元素补 全,构建的事件图谱更完整;4)在事件关系方面,本研究同时考虑显式和隐式的漏洞 事件关系,除了从描述语句中直接得出事件间的显式关系,还通过计算描述语句间的相 似性以判断事件间的隐式关系,能够充分发掘出漏洞事件之间的关系;5)考虑到漏洞 事件的领域特征,不仅从描述文本中抽取事件元素,还通过多种代码图的组合表征漏洞 代码语义信息,以此丰富漏洞事件图谱。
附图说明
图1为一个实施例中面向多源漏洞信息的事件图谱自动构建方法的流程图。
图2为一个实施例中CVE、NVD和IBM X-Force Exchange的漏洞报告截图。
图3为一个实施例中漏洞事件触发词标注示意图。
图4为一个实施例中BERT模型训练示意图。
图5为一个实施例中漏洞事件元素标注示意图。
图6为一个实施例中BERT+BiLSTM+CRF模型示意图。
图7为一个实施例中CVE-2017-3169的CVE/NVD及IBM X-Force Exchange的事件元素标注示意图。
图8为一个实施例中漏洞事件显式关系示意图。
图9为一个实施例中漏洞事件隐式关系示意图。
图10为一个实施例中漏洞事件图谱的部分示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请, 并不用于限定本申请。
在一个实施例中,结合图1,本发明提出一种面向多源漏洞信息的事件图谱自动构建方法,首先,根据CVE-ID从漏洞数据库中爬取漏洞报告,构建漏洞报告数据集;然 后,针对漏洞事件,将漏洞的发生原因视为事件触发词进行识别,并通过其判断漏洞类 型;其次,对漏洞的描述文本信息进行标注,通过命名实体识别的方式对描述中的攻击 者、后果、位置等信息进行识别,并进行信息补全;再其次,利用文本信息抽取显式的 事件关系,并利用文本相似性抽取隐式的事件关系。然后,利用AST、DFG、CFG的 代码表示方式来表征漏洞的相关代码。最终借助可视化工具将其可视化显示为漏洞事件 图谱。主要步骤概括如下:
步骤1,构建漏洞报告数据集;
步骤2,进行漏洞事件的触发词提取,并通过其判断漏洞类型;
步骤3,进行漏洞事件元素的提取,并进行信息补全;
步骤4,进行漏洞事件的关系抽取;
步骤5,进行漏洞相关代码的表征;
步骤6,将上述步骤所得漏洞事件信息可视化为漏洞事件图谱。
进一步地,在其中一个实施例中,步骤1所述构建漏洞报告数据集,具体过程包括:
步骤1-1,根据CVE-ID采集漏洞数据库CVE、NVD和IBM X-Force Exchange中 的漏洞报告,如图2分别为三个数据库的漏洞报告截图;
步骤1-2,对提取出的漏洞报告进行预处理,去除报告中的多余信息,获取报告中的描述信息、发布日期、CVSS分值、CWE类别以及相关链接,以此得到漏洞报告数据 集。
进一步地,步骤2所述的进行漏洞事件的触发词提取,并通过其判断漏洞类型,具体过程包括:
步骤2-1,使用BIO标注方法针对漏洞报告中的描述进行人工标注,将漏洞事件中的原因视为事件触发词。如图3所示,“Double free vulnerability”为该句描述中的发生原因(即,触发词),则将三个单词分别标注为“B-Trigger”、“I-Trigger”和“I-Trigger”。此外,将其余词均标注为“O”。以此构建漏洞事件触发词标注集,并随机选取80%的 描述数据作为训练集,剩下的20%作为测试集;
步骤2-2,利用步骤2-1中构建的漏洞事件触发词标注集,如图4,训练BERT模型 的序列标注任务,BERT的词嵌入层具有三个嵌入层,分别为token embedding层、segmentembeddings层和position embeddings层。此外,在对输入语句分词后两个特殊的token 会被***到分词结果的开头([CLS])和结尾([SEP])。再利用训练后的模型进行触发词提 取;
步骤2-3,利用softmax分类器将步骤2-2中提取的触发词进行分类,具体类别如表1。在多项逻辑回归和线性判别分析中,softmax函数的输入是从K个不同的线性函数得 到的结果,而样本向量x属于第j个分类的概率为:
其中,y表示某个类别,x为样本向量,xT为样本向量的转置向量,W为权重参数。该函 数的分子是通过指数函数将实数输出映射到零至正无穷,而分母试讲所有结果相加,进行归一化。且样本向量x属于每个分类的概率值的和为1,选取概率最高值为该样本的 分类类型。
表1漏洞事件触发词类型表
进一步地,步骤3所述的进行漏洞事件元素的提取,并进行信息补全,具体过程包括:
步骤3-1,明确漏洞事件中的事件元素,包括触发操作、影响版本、攻击者、后果、位置等,具体说明如表2;
表2漏洞事件元素说明表
步骤3-2,针对漏洞报告中的描述进行人工标注,如图5,将包括触发词的无用词标注为“O”,对触发操作、发生情境和攻击者等事件元素进行相应标注,例如,将“Linuxkernel before 2.6.22”分别标注为“B-Ver”、“I-Ver”、“I-Ver”和“I-Ver”。以此构建 漏洞事件元素标注集,并随机选取80%的描述数据作为训练集,剩下的20%作为测试集;
步骤3-3,利用步骤3-2中构建的漏洞事件元素标注集,训练BERT模型的序列标 注任务,并利用训练后的模型连接BiLSTM层和CRF层进行事件元素提取,如图6。其 中,BiLSTM层用于提取特征,而CRF层的作用是为最后预测的标签添加一些约束来保 证预测的标签是合法的。在训练数据训练过程中,这些约束可以通过CRF层自动学习 到。可能学习到的约束有:1)句子中第一个词总是以标签“B-“或“O”开始,而不 是“I-”。2)标签“B-label1 I-label2 I-label3 I-…”,label1,label2,label3应该属于同一类 实体。例如,“B-Con I-Con”是合法的序列,但是“B-Con I-Atk”是非法标签序列。3) 标签序列“O I-label”是非法的标签。实体标签的首个标签应该是“B-”,而非“I-”,换 句话说,有效的标签序列应该是“OB-label”。
步骤3-4,CVE和NVD描述中可能会缺失部分事件元素,因此,结合IBM X-ForceExchange中的描述,同样利用上述步骤3-1至3-3中的BERT+BiLSTM+CRF模型进行 事件元素提取,以补全缺失的元素。结合图7中的实例可以得知,图7(a)中 CVE-2017-3169的CVE/NVD描述缺失了攻击者和后果这两个元素,而如图7(b),在 IBM X-Force Exchange的相应描述中能够查找到缺失的两个信息,以此对漏洞事件元素 进行补充。
进一步地,步骤4所述的进行漏洞事件的关系抽取,具体过程包括:
步骤4-1,结合图8可以得知,漏洞报告中存在显式的事件关系,具体类型见表3。例如从图8CVE-2012-5532描述中的“NOTE:this vulnerability exists because of anincorrect fix for CVE-2012-2669.”可以看出,CVE-2012-5532的发生是由于 CVE-2012-2669的错误修复导致的,这是一种因果关系。通过相关句型模板对显式的漏 洞事件关系进行提取;
表3漏洞显式关系类型表
步骤4-2,结合图9可以得知,漏洞报告中存在隐式的事件关系。例如从图9(a) 和图9(b)中可以看出,CVE-2018-18500和CVE-2019-9790的描述是相似的,因此存 在隐式的漏洞事件关系。对漏洞事件的描述语句进行相似性计算并提取隐式的相似关系, 首先将两个描述语句通过BERT进行向量化表示,然后使用余弦相似度对两者进行计算 得到相似度,以此判断两者是否为相似关系。
进一步地,步骤5所述的进行漏洞相关代码的表征,具体过程包括:对漏洞数据集中的所有数据进行代码表征,通过工具Joern将漏洞代码表示为抽象语法树AST、控制 流图CFG、程序依赖图PDG。通过AST、CFG和PDG将代码表征为了复合图形结构, 代码中的数据传递和控制依赖通过有向边连接各个图结点。
进一步地,步骤6所述的将上述步骤所得漏洞事件信息可视化为漏洞事件图谱,具体过程包括:将上述步骤2、3、4和5得到的事件触发词、事件元素、事件关系和代码 表示用Neo4j工具进行可视化,形成漏洞事件图谱,如图10为漏洞事件图谱的部分示 意图(图中省略了漏洞事件的发布日期、CVSS分值等基本元素、提取的触发操作以及 相关代码表征的节点)。
本发明针对漏洞数据挖掘领域,提出了一种面向多源漏洞信息的事件图谱自动构建 技术。该技术整合了漏洞相关的多种信息并进行识别,最终利用可视化工具进行可视化显示。首先,漏洞事件图谱的自动构建能够让开发人员更加直观地对漏洞事件及其相关 的事件因素进行了解,减少开发人员手动分析和理解漏洞数据的人力和时间成本,提高 他们进行软件维护的有效性和高效性。其次,研究者可以将构建好的漏洞事件图谱视作 漏洞分析和修复的基石,利用图谱中的大量数据所形成的知识更快速准确地进行漏洞分 析及修复,以减少漏洞带来的安全隐患和经济损失等。
基于相同的发明构思,在一个实施例中,本发明提出的一种面向多源漏洞信息的事 件图谱自动构建***,包括:数据集构建模块,用于根据CVE-ID从漏洞数据库中爬取 漏洞报告,构建漏洞报告数据集;触发词提取模块,用于将漏洞的发生原因视为事件触 发词,构建漏洞事件触发词标注集,进行漏洞事件的触发词提取,并通过触发词判断漏 洞类型;漏洞事件元素识别模块,用于通过命名实体识别的方式从漏洞的描述信息中提 取漏洞事件元素,并进行信息补全;漏洞事件关系识别模块,用于利用文本信息抽取显 式的漏洞事件关系,并利用文本相似性抽取隐式的漏洞事件关系;漏洞代码表示模块, 用于进行漏洞相关代码的表征;以及可视化模块,用于将所得的漏洞事件信息可视化为 漏洞事件图谱;所述图谱中包括漏洞事件的相关元素,漏洞事件之间的关系,漏洞事件 通过事件触发词关联漏洞类型。各模块的具体实施细节参考上述的面向多源漏洞信息的 事件图谱自动构建方法,此处不再赘述。
基于相同的发明构思,在一个实施例中,本发明提出的一种面向多源漏洞信息的事 件图谱自动构建***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现上述的面向多源漏洞信息的事件图谱自动构建方法。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了 解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和 改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等 效物界定。
Claims (5)
1.一种面向多源漏洞信息的事件图谱自动构建方法,其特征在于,所述方法包括以下步骤:
步骤1,根据CVE-ID从漏洞数据库中爬取漏洞报告,构建漏洞报告数据集;其中根据CVE-ID采集漏洞数据库CVE、NVD和IBM X-Force Exchange中的漏洞报告;获取报告中的描述信息、发布日期、CVSS分值、CWE类别以及相关链接,以此得到漏洞报告数据集;
步骤2,将漏洞的发生原因视为事件触发词,构建漏洞事件触发词标注集,进行漏洞事件的触发词提取,并通过触发词判断漏洞类型;
步骤3,通过命名实体识别的方式从漏洞的描述信息中提取漏洞事件元素,并进行信息补全;其中提取的漏洞事件中的事件元素包括触发操作、发生情境、攻击者、影响版本、后果和位置;利用构建的漏洞事件元素标注集,训练BERT模型的序列标注任务,并利用训练后的模型连接BiLSTM层和CRF层进行事件元素提取;在CVE和NVD描述中缺失部分事件元素时,利用IBM X-Force Exchange中的描述进行事件元素补全;
步骤4,利用文本信息抽取显式的漏洞事件关系,并利用文本相似性抽取隐式的漏洞事件关系;其中通过句型模板对显式的漏洞事件关系进行提取,漏洞显式关系类型包括相似关系、因果关系、兄弟关系、回归关系、包含关系和依赖关系中的一种或多种;通过计算漏洞描述信息向量化表示的余弦相似度,提取漏洞隐式的相似关系;
步骤5,进行漏洞相关代码的表征;
步骤6,将步骤2至步骤5所得的漏洞事件信息可视化为漏洞事件图谱;所述图谱中包括漏洞事件的相关元素,漏洞事件之间的关系,漏洞事件通过事件触发词关联漏洞类型。
2.根据权利要求1所述的面向多源漏洞信息的事件图谱自动构建方法,其特征在于,所述步骤2中利用漏洞事件触发词标注集,训练BERT模型的序列标注任务,并利用训练后的模型进行触发词提取;利用softmax分类器将提取的触发词进行分类,漏洞类型包括时序漏洞、配置漏洞、输入验证漏洞、内存漏洞、逻辑资源漏洞、数字漏洞、未知漏洞中的一种或多种。
3.根据权利要求1所述的面向多源漏洞信息的事件图谱自动构建方法,其特征在于,所述步骤5中将漏洞代码表示为抽象语法树AST、控制流图CFG、程序依赖图PDG中的一种或多种。
4.一种面向多源漏洞信息的事件图谱自动构建***,其特征在于,包括:
数据集构建模块,用于根据CVE-ID从漏洞数据库中爬取漏洞报告,构建漏洞报告数据集;其中根据CVE-ID采集漏洞数据库CVE、NVD和IBM X-Force Exchange中的漏洞报告;获取报告中的描述信息、发布日期、CVSS分值、CWE类别以及相关链接,以此得到漏洞报告数据集;
触发词提取模块,用于将漏洞的发生原因视为事件触发词,构建漏洞事件触发词标注集,进行漏洞事件的触发词提取,并通过触发词判断漏洞类型;
漏洞事件元素识别模块,用于通过命名实体识别的方式从漏洞的描述信息中提取漏洞事件元素,并进行信息补全;其中提取的漏洞事件中的事件元素包括触发操作、发生情境、攻击者、影响版本、后果和位置;利用构建的漏洞事件元素标注集,训练BERT模型的序列标注任务,并利用训练后的模型连接BiLSTM层和CRF层进行事件元素提取;在CVE和NVD描述中缺失部分事件元素时,利用IBM X-Force Exchange中的描述进行事件元素补全;
漏洞事件关系识别模块,用于利用文本信息抽取显式的漏洞事件关系,并利用文本相似性抽取隐式的漏洞事件关系;其中通过句型模板对显式的漏洞事件关系进行提取,漏洞显式关系类型包括相似关系、因果关系、兄弟关系、回归关系、包含关系和依赖关系中的一种或多种;通过计算漏洞描述信息向量化表示的余弦相似度,提取漏洞隐式的相似关系;
漏洞代码表示模块,用于进行漏洞相关代码的表征;
以及可视化模块,用于将所得的漏洞事件信息可视化为漏洞事件图谱;所述图谱中包括漏洞事件的相关元素,漏洞事件之间的关系,漏洞事件通过事件触发词关联漏洞类型。
5.一种面向多源漏洞信息的事件图谱自动构建***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-3任一项所述的面向多源漏洞信息的事件图谱自动构建方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110828495.7A CN113656805B (zh) | 2021-07-22 | 2021-07-22 | 一种面向多源漏洞信息的事件图谱自动构建方法及*** |
US17/696,126 US20230035121A1 (en) | 2021-07-22 | 2022-03-16 | Automatic event graph construction method and device for multi-source vulnerability information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110828495.7A CN113656805B (zh) | 2021-07-22 | 2021-07-22 | 一种面向多源漏洞信息的事件图谱自动构建方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656805A CN113656805A (zh) | 2021-11-16 |
CN113656805B true CN113656805B (zh) | 2023-06-20 |
Family
ID=78478093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110828495.7A Active CN113656805B (zh) | 2021-07-22 | 2021-07-22 | 一种面向多源漏洞信息的事件图谱自动构建方法及*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230035121A1 (zh) |
CN (1) | CN113656805B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240143633A1 (en) * | 2021-09-28 | 2024-05-02 | Zhejiang University | Generative event extraction method based on ontology guidance |
CN114692155B (zh) * | 2022-05-30 | 2022-08-23 | 中国海洋大学 | 基于知识图谱的漏洞代码图谱构建及代码漏洞检测方法 |
CN116484025A (zh) * | 2023-06-15 | 2023-07-25 | 北京电子科技学院 | 漏洞知识图谱构建方法、评估方法、设备及存储介质 |
CN116662575A (zh) * | 2023-07-26 | 2023-08-29 | 北京天云海数技术有限公司 | 一种知识图谱的构建方法、构建***、设备和存储介质 |
CN116882398B (zh) * | 2023-09-06 | 2023-12-08 | 华东交通大学 | 基于短语交互的隐式篇章关系识别方法和*** |
CN117997782B (zh) * | 2024-01-08 | 2024-07-19 | 联通数字科技有限公司 | 一种数据中心机房运营平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7260844B1 (en) * | 2003-09-03 | 2007-08-21 | Arcsight, Inc. | Threat detection in a network security system |
CN109918505A (zh) * | 2019-02-26 | 2019-06-21 | 西安电子科技大学 | 一种基于文本处理的网络安全事件可视化方法 |
CN111881300A (zh) * | 2020-07-03 | 2020-11-03 | 扬州大学 | 面向第三方库依赖的知识图谱构建方法及*** |
CN112149135A (zh) * | 2020-09-16 | 2020-12-29 | 国网河北省电力有限公司电力科学研究院 | 安全漏洞知识图谱的构建方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009097558A2 (en) * | 2008-01-30 | 2009-08-06 | Thomson Reuters Global Resources | Financial event and relationship extraction |
-
2021
- 2021-07-22 CN CN202110828495.7A patent/CN113656805B/zh active Active
-
2022
- 2022-03-16 US US17/696,126 patent/US20230035121A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7260844B1 (en) * | 2003-09-03 | 2007-08-21 | Arcsight, Inc. | Threat detection in a network security system |
CN109918505A (zh) * | 2019-02-26 | 2019-06-21 | 西安电子科技大学 | 一种基于文本处理的网络安全事件可视化方法 |
CN111881300A (zh) * | 2020-07-03 | 2020-11-03 | 扬州大学 | 面向第三方库依赖的知识图谱构建方法及*** |
CN112149135A (zh) * | 2020-09-16 | 2020-12-29 | 国网河北省电力有限公司电力科学研究院 | 安全漏洞知识图谱的构建方法及装置 |
Non-Patent Citations (3)
Title |
---|
BGNN4VD: Constructing Bidirectional Graph Neural-Network for Vulnerability Detection;Sicong Cao et al.;《Information and Software Technology》;全文 * |
漏洞知识图谱的构建及漏洞态势感知技术研究;王丽敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;全文 * |
跨站脚本漏洞检测与防御技术研究;乔涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20230035121A1 (en) | 2023-02-02 |
CN113656805A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113656805B (zh) | 一种面向多源漏洞信息的事件图谱自动构建方法及*** | |
Novak et al. | Source-code similarity detection and detection tools used in academia: a systematic review | |
CN111723215B (zh) | 基于文本挖掘的生物技术信息知识图谱构建装置与方法 | |
Steidl et al. | Quality analysis of source code comments | |
Hermans et al. | Data clone detection and visualization in spreadsheets | |
CN113191148B (zh) | 一种基于半监督学习和聚类的轨道交通实体识别方法 | |
Al-Kofahi et al. | Fuzzy set approach for automatic tagging in evolving software | |
CN113779272A (zh) | 基于知识图谱的数据处理方法、装置、设备及存储介质 | |
CN116383399A (zh) | 一种事件舆情风险预测方法及*** | |
CN115186015A (zh) | 一种网络安全知识图谱构建方法及*** | |
CN117743601B (zh) | 一种自然资源知识图谱补全方法、装置、设备及介质 | |
CN113610626A (zh) | 银行信贷风险识别知识图谱构建方法、装置、计算机设备及计算机可读存储介质 | |
CN117290508A (zh) | 一种基于自然语言处理的贷后文本数据处理方法和*** | |
CN117556417A (zh) | 基于代码词法和结构信息融合的半监督漏洞评估方法 | |
Alhindawi et al. | A Topic Modeling Based Solution for Confirming Software Documentation Quality | |
Singh | Automated validation of requirement reviews: a machine learning approach | |
Bella et al. | Semi-supervised approach for recovering traceability links in complex systems | |
CN116302984A (zh) | 一种测试任务的根因分析方法、装置及相关设备 | |
CN115238093A (zh) | 一种模型训练的方法、装置、电子设备及存储介质 | |
CN114328819A (zh) | 一种基于知识图谱的电力安全生产隐患预控方法 | |
Souza et al. | ARCTIC: metadata extraction from scientific papers in pdf using two-layer CRF | |
CN109299381B (zh) | 一种基于语义概念的软件缺陷检索和分析***及方法 | |
Chen et al. | An empirical study of code reuse between GitHub and stack overflow during software development | |
Bansal et al. | Literature review of finding duplicate bugs in open source systems | |
CN117390090B (zh) | 一种rpa流程挖掘方法、存储介质、电子设备 |
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 |