CN117294472A - 一种针对可公开获取漏洞的协同利用预测方法 - Google Patents
一种针对可公开获取漏洞的协同利用预测方法 Download PDFInfo
- Publication number
- CN117294472A CN117294472A CN202311135463.4A CN202311135463A CN117294472A CN 117294472 A CN117294472 A CN 117294472A CN 202311135463 A CN202311135463 A CN 202311135463A CN 117294472 A CN117294472 A CN 117294472A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- graph
- mode
- knowledge
- node
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000013598 vector Substances 0.000 claims abstract description 94
- 238000012549 training Methods 0.000 claims abstract description 53
- 238000013528 artificial neural network Methods 0.000 claims abstract description 38
- 230000004927 fusion Effects 0.000 claims abstract description 18
- 238000013526 transfer learning Methods 0.000 claims abstract description 13
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 230000009467 reduction Effects 0.000 claims abstract description 6
- 238000013135 deep learning Methods 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000002372 labelling Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 3
- 238000013145 classification model Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 238000003475 lamination Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 239000000047 product Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000000513 principal component analysis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000002759 z-score normalization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- 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/042—Knowledge-based neural networks; Logical representations of neural 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/096—Transfer learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Medical Informatics (AREA)
- Animal Behavior & Ethology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种针对可公开获得的漏洞利用代码的协同利用预测方法,属于网络安全领域。本发明首先通过网络爬虫和API调用实时收集出大量公开来源中的漏洞信息,之后通过知识关联和深度学习手段进行知识提取,用所提取的知识依据知识本体构建漏洞知识图谱,接下来通过预训练模型、PCA降维、数据标准化的方式提取多模态节点向量和边关系二元组,最后利用异构图神经网络,基于提取的多模态特征向量和关系二元组对漏洞进行基于特征融合或迁移学习的漏洞协同利用预测,预测可被协同利用的漏洞间的联系。
Description
技术领域
本发明属于网络安全领域,具体设计一种针对可公开获得的漏洞利用代码的协同利用预测方法。
背景技术
随着计算机系统中的软件漏洞不断涌现,用户正面临着越来越严重的安全威胁。近年来,软件漏洞数量呈现总体上升趋势,越来越多的漏洞利用代码出现在互联网上,公开的漏洞利用代码已成为网络攻击链的一部分。漏洞代码的一大重要来源既是开源代码托管平台和公共漏洞代码数据库。例如,ExploitDB是一个面向全世界黑客的漏洞提交平台,其中含有大量漏洞利用代码,每个这样的漏洞利用代码都被授予统一的编号,从而实现漏洞代码的共享和预警。近年来,对于软件的攻击已经不仅仅止于对单一漏洞的利用。更多的对于软件漏洞的攻击倾向于使用多个已存在的软件漏洞。这种在一个攻击代码中利用多个漏洞的行为可称为漏洞协同利用(Co-Exploitation)。CVE-2018-15767和CVE-2018-15768这两个漏洞的协同利用代码即为一个很好的例子。在一次攻击中,前者用于获取root权限进行任意指令执行,后者用于任意读写服务器文件系统上的文件。发现这种极其危险的漏洞协同利用可能,并优化漏洞处理流程,有利于深入对漏洞的认知,降低漏洞治理的成本,增加漏洞治理的效率。
对漏洞的协同利用预测过程可分为漏洞情报搜集和协同利用预测两部分。在漏洞情报搜集方面,基于漏洞信息的知识图谱为主流方式。构建知识图谱的过程又可分为两个过程:领域本体构建、结构化数据和非结构化数据的知识提取。对于领域本体构建,漏洞本体为网络安全领域本体的一个特异化方向,而对于网络安全领域本体的构建,目前已存在很多本体。如,Zareen Syed提出的包含106个安全实体和633条领域公理的网络安全本体。这些已有本体都可以成为我们构建漏洞知识本体的参考对象。图神经网络作为一种基于节点和关系的神经网络,适合用于知识图谱的图表示学习,近年来被广泛运用在大量领域。而在网络空间治理的漏洞协同利用预测方面,研究漏洞之间的深层次关系,自动化提取漏洞之间可能存在的关联,亦为目前漏洞治理的研究热点问题之一。
目前,网络爬虫、深度学习、预训练模型、自然语言处理、图神经网络等技术已经广泛运用于网络安全领域。由于漏洞情报分散、知识繁杂、更新极快等特点,因此通过人工筛选、处理和发现线索的方法已不再满足实用性要求。故,运用网络爬虫和自然语言处理技术对漏洞情报进行自动化获取和知识图谱的构建,再通过图神经网络技术对漏洞协同利用进行预测是一种可行的途径。
本发明基于上述思路,提出一种针对可公开获取漏洞的协同利用预测方法,该方法包括两个部分:一为构成以漏洞基本信息为核心,以漏洞利用代码作者、托管平台、漏洞代码、所攻击的设备为主要实体的漏洞知识图谱的方法,二为基于该知识图谱提出基于特征融合或迁移学习的多模态异构图神经网络的漏洞协同利用预测方法。
发明内容
有鉴于此,本发明提供了一种针对可公开获取漏洞的协同利用预测方法,旨在实时收集出大量公开来源中的漏洞信息,构建漏洞知识图谱,进行漏洞协同利用预测,预测可被协同利用的漏洞间的联系,帮助网络安全领域从业人员及时、全面地获取并研究网络空间中出现的漏洞威胁。
一种针对可公开获取漏洞的协同利用预测方法,所述方法包括:
步骤1:收集公开来源中的漏洞信息;
步骤2:对收集到的原始数据进行知识提取,获取知识三元组信息;
步骤3:汇总知识三元组信息,并基于知识本体构建漏洞领域知识图谱;
步骤4:从已构建的知识图谱中提取多模态节点向量和边关系二元组;
步骤5:使用提取的节点向量和边关系二元组进行基于特征融合或迁移学习的多模态异构图神经网络的漏洞协同利用预测。
优选地,所述收集公开来源中的漏洞信息流程包括:
从CVE Reference以及可信的三方漏洞情报平台中获取提取代码托管平台(GitHub、Gitee)中含漏洞利用代码仓库的URL,并判断URL所对应的网页内容是否含有漏洞利用代码仓库,对含有漏洞利用代码仓库的网页进一步通过代码托管平台的API进行作者、作者组织、漏洞代码所属CVE编号的提取;
从开源漏洞信息数据库(CVE、CPE、CWE、NVD、CVSS)中通过网络爬虫和开源情报平台的API进行漏洞描述、漏洞严重度分数和漏洞严重度的子项分数、漏洞所能攻击的平台、漏洞种类的提取,并从ExploitDB中提取漏洞代码、漏洞代码编号。
优选地,对收集到的原始数据进行知识提取,获取知识三元组的流程包括:
将步骤1中收集到的信息中的无意义内容(空信息、非ASCII字符、默认的缺省内容)去除;
将上一步中处理结束的信息分为结构化信息和非结构化信息;
对上一步中处理结束的信息中的结构化信息进行线索关联,获取包含实体-关系-实体的知识三元组;
在开源的漏洞描述语料库上依据语义标注命名实体(受影响的产品、受影响产品的提供商、受影响产品的版本),并将标注完成的语料库切分为两个子集,作为命名实体识别模型的数据集,用于后续的训练过程;
搭建并使用包含预训练模型的深度学习命名实体识别模型进行训练。使用预训练模型将语料转换为动态词向量矩阵,以双向长短期记忆神经网络和条件随机场进行训练,最终得到序列标注模型;
将该序列标注模型用于步骤1所提取的信息中处理完成的非结构化信息的知识提取,从而得到包含实体-关系-实体的知识三元组;
优选地,汇总知识三元组信息构建漏洞领域知识图谱的过程包括:
将步骤2从结构化、非结构化信息中提取的知识三元组汇总、按不同关系分类和将重复的知识删除;
建立漏洞知识本体。其中,漏洞利用知识本体的实体类型包括:“漏洞基本信息”、“漏洞种类”、“所攻击的设备”、“设备的提供商”、“漏洞所被公开的代码托管平台仓库”、“漏洞利用代码作者”、“作者所属组织”、“ExploitDB信息”;
漏洞利用知识本体中的实体关系包括:“属于”、“实现”、“可攻击”、“依赖于”、“子类型”、“协同利用”及这些关系的逆关系;
根据知识本体的设计,将所提取的知识构成漏洞知识图谱,并使用图数据库进行持久化储存。
优选地,从已构建的知识图谱中提取多模态节点向量和边关系二元组的流程包括:
对步骤3中构建的知识图谱的每个节点按照节点种类分别进行编号;
对每个“漏洞基本信息”节点提取语义模态的特征:首先从知识图谱中提取该节点的语义描述,之后通过预训练模型将语义描述转换为768维的动态词向量语义特征矩阵,再对矩阵进行两次PCA(Principal Component Analysis,主成分分析)降维,将语义特征转化为20维的特征向量;
对每个“漏洞基本信息”节点提取结构化模态特征:首先从知识图谱中提取该节点的结构化知识(漏洞影响的产品数量和种类、漏洞的类型、漏洞的CVSS总分数以及CVSS的细化度量指标的得分),再通过数据标准化和拼接步骤,转化为30维的特征向量;
对每个非“漏洞基本信息”节点随机初始特征:采用全连接神经网络将非“漏洞基本信息”节点生成定长的随机特征向量;
按照所构建的知识图谱中存在的关系分类,将每个这样的关系类别中关系的首尾节点的编号组成二元组,从而得到图谱中所有关系类别的边关系二元组。例,某节点A属于“漏洞基本信息”类,且编号为a;某节点B属于“漏洞种类”,且编号为b,A和B之间存在“属于”关系,即A属于B,则对于该例,所取得的边关系二元组即为归于“属于”关系类的(a,b)。
优选地,使用提取的节点向量和边关系二元组进行基于模态融合的多模态异构图神经网络的漏洞协同利用预测的流程包括:
首先采用全连接神经网络将每个模态映射至一个指定长度的向量中,再通过一层图卷积层进行节点信息的初步更新,从而完成特征向量的初始化和单模态的节点特征向量。对所有的模态同时做这样的步骤;
其次通过运用模态融合算法的方式将两个或多个模态的向量转化为一个综合的向量:模态融合算法是特征向量相乘;
之后通过图神经网络进行全图节点特征的更新。通过图传播算法和节点特征更新实现节点特征的训练。这里的训练方式是图卷积-图注意力机制的联合使用;
最后进行边预测。对于每两个“漏洞基本信息”节点,提取这两个节点的特征向量,通过边预测二分类网络处理每两个节点间的特征向量,判断这两个节点间是否存在“协同利用”关系的边,从而得到结果。
优选地,使用提取的节点向量和边关系二元组进行基于迁移学习的多模态异构图神经网络的漏洞协同利用预测的流程包括:
首先采用全连接神经网络将每个模态映射至一个指定长度的向量中;
其次,选取一个模态(语义模态),将该模态作为“漏洞基本信息”节点的初始向量,并通过图神经网络进行全图节点特征的更新。通过图传播算法和节点特征更新实现节点特征的训练,并保留网络训练参数。这里的训练方式是图卷积-图注意力机制的联合使用;
然后进行边预测。对于每两个“漏洞基本信息”节点,提取这两个节点的特征向量,通过边预测二分类网络处理每两个节点间的特征向量,判断这两个节点间是否存在“协同利用”关系的边,更新并保留边预测二分类网络的参数;
之后选取未训练模态中的一个模态(格式化模态),将该模态改为“漏洞基本信息”节点的初始向量,在训练第一次所选择模态的网络参数的基础上对该模态进行图神经网络训练,第二次更新全图节点特征。这里的训练方式是图卷积-图注意力机制的联合使用;
最后进行边预测。对于每两个“漏洞基本信息”节点,提取这两个节点的特征向量,在训练第一次所选择模态的边预测二分类模型参数的基础上对该模态进行两个节点间是否存在“协同利用”关系的边预测任务,在所有模态都被网络学习结束后,得到最终预测结果。
本申请提供了一种针对可公开获取漏洞的协同利用预测方法,与现有技术相比,本发明的有益效果是:结合多种数据来源,保证了数据的广覆盖面和高时效性;以漏洞知识图谱为预测的数据基础,可保证数据的统一性,挖掘数据的关联性;以漏洞协同利用角度作为切入点,为相关从业人员对漏洞的预警和漏洞的研究提供有效支持;提出两种漏洞协同利用预测方式模型,便于相关从业人员按实际情况选用。
附图说明
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的针对可公开获取漏洞的协同利用预测方法的框架示意图。
图2为本申请实施例提供的命名实体识别模型示意图。
图3为本申请实施例提供的漏洞领域知识本体模型示意图。
图4为本申请实施例提供的基于模态融合的多模态异构图神经网络的漏洞协同利用预测的流程图。
图5为本申请实施例提供的基于迁移学习的多模态异构图神经网络的漏洞协同利用预测的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明的具体实施方式做进一步详细描述。以下实施例或者附图用于说明本发明,但不用来限制本发明的范围。
请参见图1,图1为本申请实施例提供的针对社交网络中漏洞利用知识库的构建方法的方法流程图,包括:
步骤1:收集公开来源中的漏洞信息;
步骤2:对收集到的原始数据进行知识提取,获取知识三元组信息;
步骤3:汇总知识三元组信息,并基于知识本体构建漏洞领域知识图谱;
步骤4:从已构建的知识图谱中提取多模态节点向量和边关系二元组;
步骤5:使用提取的节点向量和边关系二元组进行基于特征融合或迁移学习的多模态异构图神经网络的漏洞协同利用预测。
收集各种公开来源中的漏洞信息,其具体步骤包括:
步骤1a:从CVE Reference以及可信的三方漏洞情报平台中获取提取代码托管平台(GitHub、Gitee)中含漏洞利用代码仓库的URL。
步骤1b:对步骤1a所获取的URL所指向的网页内容进行基于网页模糊测试工具的判断,判断URL所对应的网页是否含有漏洞利用代码仓库。如含有漏洞利用代码仓库,则进一步通过代码托管平台的API进行作者、作者组织、漏洞代码所属CVE编号信息的提取。
优选地,对于在所有URL中选取含漏洞利用代码仓库的URL,可通过正则匹配,同时采用网页模糊测试工具对网页内容进行判断。用于判断的正则表达式可为如下两条:
(?i)[^a-z0-9]+(poc|proof of concept|proof[-_]of[-_]concept)[^a-z0-9]+。
CVE-\d{4,6}-\d{4,7}。
步骤1c:从从开源漏洞信息数据库(CVE、CPE、CWE、NVD、CVSS)中通过网络爬虫和开源情报平台的API进行漏洞描述、漏洞严重度分数和CVSS的子项分数、漏洞所能攻击的平台、漏洞种类的信息提取,并从ExploitDB中提取漏洞代码和漏洞代码编号。
步骤1d:每日定时利用网络爬虫和API采集步骤1a至步骤1d的数据。
对收集到的原始数据进行知识提取,获取知识三元组信息,其具体步骤包括:
步骤2a:将步骤1中收集到的信息中的无意义信息(空信息、非ASCII字符、默认的缺省内容)去除;
步骤2b:将步骤2a中处理完成的结构化信息进行线索关联,获取包含实体-关系-实体的知识三元组;
步骤2c:在开源的漏洞描述语料库上依据语义标注命名实体(受影响的产品、受影响产品的提供商、受影响产品的版本),并将标注完成的语料库切分为8:2的两个子集,作为命名实体识别模型的数据集,用于后续的训练过程;
步骤2d:使用步骤2c中的数据集训练命名实体识别模型。其具体过程包括使用词向量转换和序列标注模型训练。
优选地,命名实体识别模型可使用如图2所示的结构,首先采用BERT预训练模型将语料转换为动态词向量矩阵,之后通过双向长短期记忆神经网络和条件随机场进行训练,最终得到序列标注模型。
可选地,当语料库较为丰富时,命名实体识别模型可采用调优预训练模型的方式对语料进行序列标注,使用如下的结构:
一层预训练模型层;
一层全连接层,输出为序列标记结果。
可选地,可以使用早停法以保证模型获得较优的参数,当模型在数据集上的损失值连续上升五次时提前停止训练;并在每10轮训练结束后保存模型。
可选地,如果本实施例在运行一段时间后,当前模型已无法高精度地完成任务,则可以重新进行步骤2c和2d,并重新进行模型训练以适应漏洞利用领域的变化。
步骤2e:将该序列标注模型用于步骤1b及步骤1c中所获取的非结构化信息的知识提取,从而得到包含实体-关系-实体的知识三元组。
汇总知识三元组信息构建漏洞领域知识图谱,其具体步骤包括:
步骤3a:根据各个实体、实体的属性、实体间的关系,定义如图4所示的漏洞知识本体。在本实施例的本体模型中,实体类型包括:“漏洞基本信息”、“漏洞种类”、“所攻击的设备”、“设备的提供商”、“漏洞所被公开的代码托管平台仓库”、“漏洞利用代码作者”、“作者所属组织”、“ExploitDB信息”;实体关系包括:“属于”、“实现”、“可攻击”、“依赖于”、“子类型”、“协同利用”及这些关系的逆关系。
步骤3b:根据知识本体的设计,将步骤2b和步骤2e中所提取实体及三元组集合、按照不同的关系分类,并将重复的关系删除。
步骤3c:后构成如图3所示的漏洞知识图谱,并使用图数据库进行持久化储存,便于之后的调用和更新。
优选地,进行持久化储存的图数据库可使用Neo4J图数据库。
从已构建的知识图谱中提取多模态节点向量和边关系二元组,其具体步骤包括:
步骤4a:对步骤3c中所构建的知识图谱中的每个节点进行分类,并按照节点种类分别编号。
步骤4b:对每个“漏洞基本信息”节点提取语义模态特征。首先从知识图谱中提取该节点所对应漏洞的语义描述,之后通过预训练模型将该描述转化为768维的动态词向量语义特征矩阵,再对矩阵进行一次PCA降维,将动态词向量语义特征矩阵转化为(768,20)的语义特征矩阵,之后将该矩阵转置后,再进行一次PCA降维,从而得到20维的语义特征向量。
步骤4c:对每个“漏洞基本信息”节点提取格式化模态特征。首先从知识图谱中提取每个节点的部分结构化特征。这部分结构化特征包括漏洞影响的产品数量和种类、漏洞的类型、漏洞的CVSS总分数以及CVSS的细化度量指标的得分。对数值型特征进行Z-score标准化;对离散型特征进行独热编码标准化;布尔型特征不做处理;最终将几类初始化完成后的特征拼接为30维的特征向量。
可选地,格式化模态特征可再被细分为漏洞严重度特征、漏洞影响特征、漏洞种类特征这几类子模态。漏洞的CVSS总分数以及CVSS细化度量指标的得分对应漏洞严重度特征;漏洞攻击的平台、漏洞PoC的数量、影响的产品数量和种类数对应漏洞的影响特征;漏洞的类型对应漏洞的分类特征。
步骤4d:对每个非“漏洞基本信息”节点采用随机初始特征:采用全连接神经网络将非“漏洞基本信息”节点生成定长的随机特征向量;
步骤4e:按照所构建的知识图谱中存在的关系分类,将每个这样的关系类别中关系的首尾节点的编号组成二元组,从而得到图谱中所有关系类别的边关系二元组。
使用提取的节点向量和边关系二元组进行基于特征融合或迁移学习的多模态异构图神经网络的漏洞协同利用预测,其具体步骤包括:
步骤5a:根据实际情况选择漏洞协同利用预测方法为基于特征融合还是迁移学习。基于特征融合的方法的步骤流程如图4;基于迁移学习的方法的步骤流程如图5。
步骤5b:对于步骤5a中如图4的特征融合方法,首先进行向量初始化。通过全连接神经网络将每个模态映射映射至一个指定长度的向量中,再通过一层图卷积层进行节点信息的初步更新,从而完成特征向量的初始化和单模态的节点特征向量获取。对所有模态同时做这样的步骤;
优选地,向量长度可选择64维,图卷积层可选用SAGEConv。
步骤5c:将步骤5b中所获得的多个模态的特征向量通过融合模态算法的方式获取融合后的特征向量。
可选地,模态融合算法可为特征向量直接相乘(即将n个模态每个维度的特征相乘),也可为相加(即将n个模态每个维度的特征相加),或是进行拼接后通过全连接网络(即将n个模态每个维度的特征拼接后,通过全连接网络映射到指定特征长度)。
步骤5d:通过图神经网络将步骤5e中得到的“漏洞基本信息”的多模态特征和其余节点的特征送入异构图神经网络,从而实现节点特征的提取和训练。
可选地,此处图训练网络的层中包括:
两层SAGEConv层,每一层后添加ELU激活函数;
一层SAGEConv层;
一层多头图注意力层,该层后添加ELU激活函数;
一层单层注意力层,该层后添加Softmax激活函数。
步骤5e:对于步骤5d中所获得训练完成的节点特征,对每两个“漏洞基本信息”节点,提取这两个节点的特征向量,通过边预测二分类网络处理这两个节点间的特征向量,判断这两个节点间是否存在“协同利用”关系的边,获取训练结果。
可选地,此处二分类网络的层包括:
一层特征处理层,用于拼接和融合两个相邻节点的特征,该层后添加节点特征处理函数;
两层全连接层,用于二分类预测,输出边预测结果。
优选地,节点特征处理函数可使用全连接的方式,先对两个特征做简单拼接,之后经过全连接层转化为一个指定长度的特征向量。
可选地,可以使用早停法以保证模型获得较优的参数,当模型在数据集上的损失值连续上升五次时提前停止训练;并在每10轮训练结束后保存模型。
步骤5f:对于步骤5a中如图5的迁移学习方法,首先进行向量初始化。通过全连接神经网络将每个模态映射映射至一个指定长度的向量中。
优选地,向量长度可选择64维。
步骤5g:将步骤5f中获取的多模态特征向量,选取一个模态(语义模态),将该模态作为“漏洞基本信息”节点的初始向量。其余节点选用步骤4d所生成的特征向量。将当前所有节点的特征向量通过图神经网络进行全图节点特征的更新。保留网络训练参数。
可选地,此处图训练网络的层中包括:
两层SAGEConv层,每一层后添加ELU激活函数;
一层SAGEConv层;
一层多头图注意力层,该层后添加ELU激活函数;
一层单层注意力层,该层后添加Softmax激活函数。
步骤5h:提取步骤5g中所训练好的所有节点特征中每两个“漏洞基本信息”节点的特征向量,并通过边预测二分类网络处理每两个节点间的特征向量,判断这两个节点间是否存在“协同利用”关系的边,更新并保留边预测二分类网络的参数。
可选地,此处二分类网络可以是:
一层特征处理层,用于拼接和融合两个相邻节点的特征,该层后添加节点特征处理函数;
两层全连接层,用于二分类预测,输出边预测结果。
可选地,节点特征处理函数可以使用全连接的方式(先对两个节点的特征向量做简单拼接,之后经过全连接层转化为一个指定长度的特征向量),也可为特征向量直接相乘(即将两个节点的特征向量直接相乘)或相加(即将两个节点的特征向量直接相加)。
可选地,此处的二分类网络可换为向量加和(即将两个节点的特征向量的每个维度特征值全部相加取和)、向量乘积(即将两个节点的特征向量的每个维度特征值全部相乘取积)
可选地,可以使用早停法以保证模型获得较优的参数,当模型在数据集上的损失值连续上升五次时提前停止训练;并在每10轮训练结束后保存模型。
步骤5i:选取剩余模态中的一个模态,将该模态改为“漏洞基本信息”节点的初始向量,在上一次训练所选择模态的网络参数的基础上对该模态进行图神经网络训练,从而更新全图节点特征。保留网络训练参数。
步骤5j:提取步骤5i中所训练好的所有节点特征中每两个“漏洞基本信息”节点的特征向量,并通过上一次训练好的边预测二分类网络处理每两个节点间的特征向量,判断这两个节点间是否存在“协同利用”关系的边,更新并保留边预测二分类网络的参数。
步骤5k:当还余有多个模态的特征,则重复步骤5i到步骤5j,直到所有模态训练结束,获取训练结果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。
凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进,均应包含在本发明的保护范围之内。
Claims (7)
1.一种针对可公开获取漏洞的协同利用预测方法,该方法以漏洞基本信息为核心,以漏洞利用代码作者、托管平台、漏洞代码、所攻击的设备为主要实体的漏洞知识图谱的方法为第一部分,以基于特征融合或迁移学习的多模态异构图神经网络的漏洞协同利用预测方法为第二部分,其特征在于,所述方法包括:
步骤1:收集公开来源中的漏洞信息;
步骤2:对收集到的原始数据进行知识提取,获取知识三元组信息;
步骤3:汇总知识三元组信息,并基于知识本体构建漏洞领域知识图谱;
步骤4:从已构建的知识图谱中提取多模态节点向量和边关系二元组;
步骤5:使用提取的节点向量和边关系二元组进行基于特征融合或迁移学习的多模态异构图神经网络的漏洞协同利用预测。
2.根据权利要求1所述的一种针对可公开获取漏洞的协同利用预测方法,其特征在于,所述步骤1中:
每日定时从CVE Reference以及可信的三方漏洞情报平台中获取提取代码托管平台(GitHub、Gitee)中含漏洞利用代码仓库的URL,并通过网页模糊测试工具判定URL所对应的网页内容是否含漏洞利用代码仓库,对含有漏洞利用代码仓库的网页进一步通过代码托管平台的API进行作者、作者组织、漏洞代码所属CVE编号的提取;
每日定时从开源漏洞信息数据库(CVE、CPE、CWE、NVD、CVSS)中通过网络爬虫和开源情报平台的API进行漏洞描述、漏洞严重度分数和CVSS子项分数、漏洞所能攻击的平台、漏洞种类的提取,并从ExploitDB中提取漏洞代码、漏洞代码编号。
3.根据权利要求1所述的一种针对可公开获取漏洞的协同利用预测方法,其特征在于,所述步骤2中:
将步骤1中收集到的信息中的无意义内容(空信息、非ASCII字符、默认的缺省内容)去除,将处理结束的信息分为结构化信息和非结构化信息,并根据所设计的漏洞领域本体图对处理完成的结构化信息进行线索关联,获取包含实体-关系-实体的知识三元组;
在开源的漏洞描述语料库上依据语义标注命名实体(受影响的产品、受影响产品的提供商、受影响产品的版本),并将标注完成的语料库切分为两个子集,作为命名实体识别模型的数据集;搭建并使用包含预训练模型的深度学习命名实体识别模型进行训练,然后使用训练好的分类模型进行实体的标注,从而提取包含实体-关系-实体的知识三元组。
4.根据权利要求1所述的一种针对可公开获取漏洞的协同利用预测方法,其特征在于,所述步骤3中:
漏洞利用知识本体的实体类型包括:“漏洞基本信息”、“漏洞种类”、“所攻击的设备”、“设备的提供商”、“漏洞所被公开的代码托管平台仓库”、“漏洞利用代码作者”、“作者所属组织”、“ExploitDB信息”;
漏洞利用知识本体中的实体关系包括:“属于”、“实现”、“可攻击”、“依赖于”、“子类型”、“协同利用”及这些关系的逆关系;
根据知识本体的设计,将所提取的知识构成漏洞知识图谱,并使用图数据库进行持久化储存。
5.根据权利要求1所述的一种针对可公开获取漏洞的协同利用预测方法,其特征在于,所述步骤4中:
对步骤3中构建的知识图谱的每个节点按照节点种类分别进行编号;
“漏洞基本信息”节点的语义模态特征向量是通过从知识图谱中提取该节点所对应漏洞的语义描述后通过预训练模型将该描述转化为768维的动态词向量语义特征矩阵,再对矩阵进行一次PCA降维,将动态词向量语义特征矩阵转化为(768,20)的语义特征矩阵,之后将该矩阵转置后,再进行一次PCA降维,从而得到20维的语义特征向量;
“漏洞基本信息”节点的格式化模态特征向量是通过从知识图谱中提取漏洞影响的产品数量和种类、漏洞的类型、漏洞的CVSS总分数以及其细化度量指标的得分后,对其中的数值型特征进行Z-score标准化;对离散型特征进行独热编码标准化;布尔型特征不做处理;最终将几类初始化完成后的特征拼接为30维的特征向量;
对每个非“漏洞基本信息”节点采用随机初始特征:采用全连接神经网络将非“漏洞基本信息”节点生成定长的随机特征向量;
按照所构建的知识图谱每个类别的关系的首尾节点的编号组成二元组,并按关系类型分类,从而得到图谱中所有关系类别的边关系二元组。
6.根据权利要求1所述的一种针对可公开获取漏洞的协同利用预测方法,其特征在于,所述步骤5中特征融合的多模态异构图神经网络的漏洞协同利用预测为:
首先采用全连接神经网络将每个模态映射至一个指定长度的向量中,再通过一层图卷积层进行节点信息的初步更新,从而完成特征向量的初始化和单模态的节点特征向量,对语义模态和结构化模态同时做这样的步骤;
其次通过运用模态融合算法的方式将两个或多个模态的向量转化为一个综合的向量:模态融合算法是特征向量相乘;
之后通过图神经网络进行全图节点特征的更新,通过图传播算法和节点特征更新实现节点特征的训练,这里的训练方式是图卷积-图注意力机制的联合使用;
最后进行边预测,对于每两个“漏洞基本信息”节点,提取这两个节点的特征向量,并通过边预测二分类网络处理这两个节点的特征向量,判断这两个节点间是否存在“协同利用”关系的边,从而得到结果。
7.根据权利要求1所述的一种针对可公开获取漏洞的协同利用预测方法,其特征在于,所述步骤5中迁移学习的多模态异构图神经网络的漏洞协同利用预测为:
首先采用全连接神经网络将每个模态映射至一个指定长度的向量中;
其次,选取一个模态(语义模态),将该模态作为“漏洞基本信息”节点的初始向量,并通过图神经网络进行全图节点特征的更新;
通过图传播算法和节点特征更新实现节点特征的训练,并保留网络训练参数,这里的训练方式是图卷积-图注意力机制的联合使用;
然后进行边预测,对于每两个“漏洞基本信息”节点,提取其特征向量,通过边预测二分类网络处理每两个节点间的特征向量,判断这两个节点间是否存在“协同利用”关系的边,更新并保留边预测二分类网络的参数;
之后选取未训练模态中的一个模态(格式化模态),将该模态改为“漏洞基本信息”节点的初始向量,在训练第一次所选择模态的网络参数的基础上对该模态进行图神经网络训练,第二次更新全图节点特征,这里的训练方式是图卷积-图注意力机制的联合使用;
最后进行边预测,对于每两个“漏洞基本信息”节点,提取其特征向量,在训练第一次所选择模态的边预测二分类模型参数的基础上对该模态进行两个节点间是否存在“协同利用”关系的边预测任务,在所有模态都被网络学习结束后,得到最终预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311135463.4A CN117294472A (zh) | 2023-09-05 | 2023-09-05 | 一种针对可公开获取漏洞的协同利用预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311135463.4A CN117294472A (zh) | 2023-09-05 | 2023-09-05 | 一种针对可公开获取漏洞的协同利用预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117294472A true CN117294472A (zh) | 2023-12-26 |
Family
ID=89250847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311135463.4A Pending CN117294472A (zh) | 2023-09-05 | 2023-09-05 | 一种针对可公开获取漏洞的协同利用预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294472A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239358A (zh) * | 2021-03-11 | 2021-08-10 | 东南大学 | 基于知识图谱的开源软件漏洞挖掘方法 |
CN113872943A (zh) * | 2021-09-06 | 2021-12-31 | 深圳供电局有限公司 | 网络攻击路径预测方法及装置 |
CN114676435A (zh) * | 2022-03-04 | 2022-06-28 | 国网浙江省电力有限公司金华供电公司 | 一种基于知识图谱的软件漏洞可利用性预测方法 |
US20230038196A1 (en) * | 2021-08-04 | 2023-02-09 | Secureworks Corp. | Systems and methods of attack type and likelihood prediction |
-
2023
- 2023-09-05 CN CN202311135463.4A patent/CN117294472A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239358A (zh) * | 2021-03-11 | 2021-08-10 | 东南大学 | 基于知识图谱的开源软件漏洞挖掘方法 |
US20230038196A1 (en) * | 2021-08-04 | 2023-02-09 | Secureworks Corp. | Systems and methods of attack type and likelihood prediction |
CN113872943A (zh) * | 2021-09-06 | 2021-12-31 | 深圳供电局有限公司 | 网络攻击路径预测方法及装置 |
CN114676435A (zh) * | 2022-03-04 | 2022-06-28 | 国网浙江省电力有限公司金华供电公司 | 一种基于知识图谱的软件漏洞可利用性预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11327978B2 (en) | Content authoring | |
US11379548B2 (en) | Analyzing concepts over time | |
Yan et al. | Learning URL embedding for malicious website detection | |
US9424299B2 (en) | Method for preserving conceptual distance within unstructured documents | |
Deitrick et al. | Mutually enhancing community detection and sentiment analysis on twitter networks | |
US20160196491A1 (en) | Method For Recommending Content To Ingest As Corpora Based On Interaction History In Natural Language Question And Answering Systems | |
US20170132288A1 (en) | Extracting and Denoising Concept Mentions Using Distributed Representations of Concepts | |
US20170032273A1 (en) | Obtaining and Using a Distributed Representation of Concepts as Vectors | |
CN112989831B (zh) | 一种应用在网络安全领域的实体抽取方法 | |
Gurunath et al. | A novel approach for linguistic steganography evaluation based on artificial neural networks | |
Kejriwal et al. | On detecting urgency in short crisis messages using minimal supervision and transfer learning | |
CN112100398A (zh) | 一种专利空白预测方法及系统 | |
Xu | Cultural communication in double-layer coupling social network based on association rules in big data | |
US11361031B2 (en) | Dynamic linguistic assessment and measurement | |
Abdelhafeez et al. | Building a sustainable social feedback loop: a machine intelligence approach for Twitter opinion mining | |
Yan et al. | Cross-site scripting attack detection based on a modified convolution neural network | |
US20200202233A1 (en) | Future scenario generating device and method, and computer program | |
Zhou et al. | Cdtier: A Chinese dataset of threat intelligence entity relationships | |
CN117786088A (zh) | 一种威胁的语言模型分析方法、装置、介质及电子设备 | |
CN116450844A (zh) | 面向非结构化数据的威胁情报实体关系抽取方法 | |
Zarka et al. | Fuzzy reasoning framework to improve semantic video interpretation | |
Zhong et al. | FLP: a feature‐based method for log parsing | |
Li et al. | PipCKG-BS: A Method to Build Cybersecurity Knowledge Graph for Blockchain Systems via the Pipeline Approach | |
Li et al. | A novel threat intelligence information extraction system combining multiple models | |
CN117294472A (zh) | 一种针对可公开获取漏洞的协同利用预测方法 |
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 |