CN116303976A - 基于网络安全知识图谱的渗透测试问答方法、系统及介质 - Google Patents
基于网络安全知识图谱的渗透测试问答方法、系统及介质 Download PDFInfo
- Publication number
- CN116303976A CN116303976A CN202310531433.9A CN202310531433A CN116303976A CN 116303976 A CN116303976 A CN 116303976A CN 202310531433 A CN202310531433 A CN 202310531433A CN 116303976 A CN116303976 A CN 116303976A
- Authority
- CN
- China
- Prior art keywords
- knowledge graph
- network security
- penetration test
- triples
- security knowledge
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 76
- 230000035515 penetration Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 54
- 230000007246 mechanism Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000007547 defect Effects 0.000 claims description 14
- 238000011176 pooling Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 230000010354 integration Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000001502 supplementing effect Effects 0.000 abstract 1
- 230000001965 increasing effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- 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/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language 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
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- 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
-
- 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 Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于网络安全知识图谱的渗透测试问答方法、系统及介质,涉及网络安全测试技术领域。所述方法具体包括:在网络安全知识层面与网络空间情报层面建立知识图谱,用户通过自然语言问句与该知识图谱产生问答,利用信息抽取技术提取出问句中的关键词汇,将与关键词汇匹配相似度高的三元组作为答案反馈给用户;对于知识图谱中尚未记录的知识,利用知识图谱推理技术对其进行补全,将补全的结果反馈给用户。利用所述方法为渗透测试工作者提供情报层面以及知识层面的专业化指导,为渗透测试提供有效的数据支撑,提高渗透测试的成功率。
Description
技术领域
本发明属于网络安全测试技术领域,尤其涉及一种基于网络安全知识图谱的渗透测试问答方法、系统及介质。
背景技术
随着计算机网络的不断普及,人们对网络的依赖程度不断增强。与此同时,网络空间安全问题也引起了人们的广泛关注。黑客攻击行为使得企业及个人的信息安全受到严重威胁,容易造成隐私泄露、财产损失等严重后果,因此维护网络安全具有十分重要的意义。
在现有技术中,渗透测试是维护网络安全的重要手段。在测试操作授权状况下,渗透测试工作者模拟黑客的攻击行为对计算机系统实施入侵等操作,用来检验计算机系统现存的缺陷及漏洞。由于渗透测试工作具有较高的技术难度,对专业技术水平要求较高;此外,由于漏洞的增长速度较快,每年也有新的软件缺陷暴露,网络安全领域知识更新较快,以上均大大增加了渗透测试工作的难度。
此外,网络安全领域数据呈现碎片化的特点,在进行渗透测试时,如何有效组织管理相关数据,也是在渗透测试中所需要解决的难题。知识图谱是一种用于描述现实世界中事物之间关联的语义网络。随着对其研究的不断深入,知识图谱已被广泛的应用于医疗、金融、教育等领域。而在知识图谱应用中,知识存储于图数据库中,而对图数据库的掌握需要具备一定操作基础,操作门槛高,人机协作差,对于不能熟练掌握数据库使用方式的工作者来说具有较大难度,且不具备智能化与界面友好的特点。如何有效组织网络安全领域数据,以及如何合理有效利用知识图谱来实现对于数据的管理,也是在渗透测试相关管理中需要改进的。
发明内容
为解决现有渗透测试方法实现时的不足,本发明提供一种基于网络安全知识图谱的渗透测试问答方法、系统及介质,旨在解决当前渗透测试时无法有效获取相应的知识及情报,以对测试进行有效支撑的技术问题。
本发明第一方面公开了一种基于网络安全知识图谱的渗透测试问答方法,所述方法包括:
步骤S1、基于收集到的网络安全知识及情报资源构建网络安全知识图谱,得到多个三元组,利用图数据库对获得的多个三元组进行存储;
步骤S2、接收用户输入的关于渗透测试的相关问句,所述问句涉及硬件缺陷知识、漏洞信息和网络空间资产;
步骤S3、基于步骤S1构建的网络安全知识图谱,对步骤S2中用户输入的关于渗透测试的相关问句提取实体及实体之间的关系;
步骤S4、将步骤S3中提取的实体及实体之间的关系与步骤S1中的网络安全知识图谱中的三元组进行匹配,获得匹配相似度;
步骤S5、判断步骤S4中匹配相似度是否高于阈值;如果匹配相似度高于阈值,返回对应的三元组;如果匹配相似度低于阈值,进行知识图谱推理,返回补全后的三元组;将补全后得到的三元组作为所述测试相关问句的答案进行返回。
根据本发明第一方面的方法,在所述步骤S1中,在所述步骤S1中,所述网络安全知识包括:CVE漏洞数据库的数据、CWE软硬件缺陷知识库的数据、CAPEC知识库中存储的知识数据,所述情报资源包括当前网络资产、网络拓扑结构、主机端口、网络服务、操作系统和地理位置。
根据本发明第一方面的方法,在所述步骤S3中,提取实体及实体之间的关系具体为:根据渗透测试领域的相关知识,构建相应的词汇表,以规则匹配的方式进行实体提取,其中,具体对于问句中的IP地址及域名信息,通过正则表达式进行实体提取;基于步骤S1中的网络安全知识图谱构建关系名称词典,对问句中的实体之间的关系进行提取。
根据本发明第一方面的方法,将步骤S3中提取的实体及实体之间的关系与步骤S1中的网络安全知识图谱中的三元组进行匹配,获得匹配相似度具体包括:将步骤S3中抽取到的实体及实体之间的关系拼接为查询句子,将查询句子中的各个词分别映射为查询词向量,将步骤S1中的网络安全知识图谱中的单个三元组视为候选匹配目标,将候选匹配目标内的各个词映射为目标词向量,计算查询词向量与目标词向量的相似度。
根据本发明第一方面的方法,计算查询词向量与目标词向量的相似度包括:
步骤S41:第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的相似矩阵元素计算方式为:
其中和/>均为常数,其中Wasserstein(Pi,Vj)表示第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的Wasserstein距离,JS(Pi,Vj)表示第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的JS散度,根据计算得到的相似矩阵元素Mij生成相似矩阵M;
步骤S42:利用动态卷积神经网络对步骤S41中获得的相似矩阵M进行特征处理,利用全连接层获得查询词向量与目标词向量之间的相似度。
根据本发明第一方面的方法,步骤S5中返回补全后的三元组具体为:
步骤S51:利用图卷积神经网络对各个实体的信息进行聚合;
步骤S52:在得到信息聚合后的实体向量后,将所述实体向量与关系向量进行组合,结合步骤S1中的网络知识图谱中的实体构建多个三元组;
步骤S53:将步骤S52中构建的多个三元组通过不同的全连接层,分别将其映射到欧式空间、复数空间以及四元数空间,在不同空间中利用不同的评分函数来度量三元组成立的可能性;
步骤S54,在获取到不同空间的评分后,设置不同的权重来对步骤S53中得到的不同评分函数进行集成,得到集成后的分数最大的三元组作为补全后的三元组进行返回。
根据本发明第一方面的方法,所述步骤S42还包括:动态卷积神经网络包括三种不同的注意力机制,所述三种注意力机制的差别在于池化方式不同,分别采用最大池化方法、平均池化方法以及最小池化方法,对于每个卷积核Convk,三种注意力机制生成不同的权重数值,用CRITIC权重法来对不同的权重进行处理来获得最终的权重,对于n个卷积核和m个注意力机制,生成矩阵:
利用关系系数来计算注意力机制的冲突性,注意力机制j的冲突性计算方式为:
注意力机制j的信息量计算方式为:
注意力机制j的可信权重为:
卷积核k的最终权重:
卷积层的卷积核由n个卷积核构成:
本发明第二方面公开了一种基于网络安全知识图谱的渗透测试问答系统,所述系统包括:
第一处理模块,用于基于收集到的网络安全知识及情报资源构建网络安全知识图谱,得到多个三元组,利用图数据库对获得的多个三元组进行存储;
第二处理模块,用于接收用户输入的关于渗透测试的相关问句,所述问句涉及硬件缺陷知识、漏洞信息和网络空间资产;
第三处理模块,用于基于第一处理模块构建的网络安全知识图谱,对第二处理模块中用户输入的关于渗透测试的相关问句提取实体及实体之间的关系;
第四处理模块,用于将第三处理模块中提取的实体及实体之间的关系与第一处理模块中的网络安全知识图谱中的三元组进行匹配,获得匹配相似度;
第五处理模块,用于判断第四处理模块中获得的匹配相似度是否高于阈值;如果匹配相似度高于阈值,返回对应的三元组;如果匹配相似度低于阈值,进行知识图谱推理,返回补全后的三元组;将补全后得到的三元组作为所述测试相关问句的答案进行返回。
本发明第三方面公开了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现第一方面中所述的基于网络安全知识图谱的渗透测试问答方法中的步骤。
本发明第四方面公开了一种计算机可读存储介质,存储有计算机可读存储指令,所述指令用于实现第一方面中所述的基于网络安全知识图谱的渗透测试问答方法中的步骤。
综上,本发明提出的方案具备如下技术效果:
(1)本发明基于网络安全领域数据呈现碎片化的特点,将知识图谱引入网络安全领域的数据分析中,可以实现对网络安全数据有效的组织与管理;
(2)本发明的渗透测试问答系统接受来自用户的询问请求,通过对用户问句进行实体及关系抽取,将抽取到的信息与网络安全知识图谱中的知识进行文本匹配,通过文本匹配来提高渗透测试中相关知识的获取,从而为渗透测试过程提供有效的数据支撑;
(3)本发明通过文本匹配技术,该技术手段生成查询语句与目标三元组的相似矩阵,能更好地度量文本之间的相似性,有效地解决了渗透测试问句与知识图谱中三元组答案之间匹配的问题;
(4)本发明通过知识图谱推理技术,该技术手段利用图卷积神经网络与卷积神经网络增强了实体及关系的信息交互,同时将实体及关系映射到多种空间,在多空间表达方式集成时采用智能优化算法调整权重,有效地解决了现存网络安全知识图谱中信息残缺的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的基于网络安全知识图谱的渗透测试问答系统的交互方式;
图2为根据本发明实施例的一种基于网络安全知识图谱的渗透测试问答方法的流程图;
图3为根据本发明实施例的实体及实体之间的关系与知识图谱中的三元组进行匹配时获取相似度评分的示意图;
图4为根据本发明实施例的知识图谱推理示意图;
图5为根据本发明实施例的权重调整策略总体流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供的渗透测试问答系统便于人机交互,用户通过自然语言对系统进行询问,系统将知识图谱中对应的知识三元组作为答案返回给用户。该系统可以为渗透测试工作者提供情报层面以及知识层面的专业化指导。
如图2所示,本发明的渗透测试问答方法包括如下步骤:
步骤101:构建网络安全知识图谱
在渗透测试过程中,人们需要具备渗透测试相关工作经验,同时需要对当前的目标网络环境态势有所了解,即目标网络空间情报,包括资产、拓扑连接、地理位置等重要信息。
由于知识学习与经验积累的长期化,工作人员短时间内难以具备丰富的渗透测试经验。随着人们在网络安全领域的斗争不断增多,大量宝贵的网络安全知识得到了充分的积累。一些开源的网络安全知识库的运行与维护使得经验知识的重复利用成为了可能。CVE(Common Vulnerabilities and Exposures)、CWE(Common Weakness Enumeration)、CAPEC(Common Attack Pattern Enumeration and Classification)是重要的网络安全知识库,可以为渗透测试过程提供有力的支撑。CVE是漏洞数据库,包含有众多漏洞的属性等信息。CWE是软硬件缺陷知识库,CAPEC是攻击模式知识库。
除了基础的网络安全知识,面对现实场景时,用户需要对网络环境中的各类信息有所了解,例如用户需要了解当前的网络拓扑结构,主机端口、服务、操作系统等有价值的信息。
基于网络安全知识及情报资源构建网络安全知识图谱,建立本体及关系模型,将搜集到的网络安全数据映射到知识图谱的本体及关系模型中,利用图数据库进行有效地存储。
步骤102:用户输入渗透测试相关问句
当用户在实际工作过程中产生相关疑问时,可以构造简单的问句来与渗透测试问答系统进行交互。询问范围包括软硬件缺陷知识、漏洞信息、网络空间资产及其关联等。例如,当用户通过扫描等手段获取到网络资产等基本信息时,可以通过问答系统询问此类资产信息可能遭受到哪些漏洞的影响。获取到主机开放的IP端口,可以得到与该端口相关的服务,根据服务类型可以告知用户可能会受到哪些漏洞的影响。若用户得知主机当前存在的某种缺陷,可以通过该问答系统得知该主机可能还存在有哪些尚未被发现的关联缺陷,以及可能会受到哪些攻击模式的影响。当用户在检测到主机已经受到某类攻击模式的影响后,可以通过该问答系统得知之后可能还会受到其他哪些攻击手段的影响,提前做好防御,减少损失。
步骤103:对自然语言问句提取实体及关系
为了获取较高的准确率,采用基于规则的实体及关系抽取方法。
步骤1031:由于将应用限定在渗透测试范围内,因此领域规则和词典得以精简。根据渗透测试领域的相关知识,构建相应的词汇表,包含服务、操作系统、地理名称、端口号、漏洞名称、软件缺陷名称、攻击手段名称等。以规则匹配的方式对上述关键实体进行抽取。对于问句中的IP地址及域名等规律性较强的信息则可以通过设计正则表达式的方式来进行抽取。
步骤1032:对于关系抽取,本发明设计的系统提供渗透测试相关的查询,因此关系类别限定在步骤101中构建的知识图谱关系模型范围内。因此采用基于模板的关系抽取来对问句进行处理,通过对各种关系的相近意义进行搜集,构建关系名称词典,可以较为准确的用于自然语言问句中的关系抽取。以下两个实例展示了对问句中重要关系的抽取。
例1:CVE-2017-0146会影响哪些服务?
关系模板1:......影响......
例2:SQL注入攻击之后还会受到哪些攻击?
关系模板2:......之后......
步骤104:将实体及关系与知识图谱中的三元组进行匹配
如图3所示,具体包括如下步骤:
步骤1041:将抽取到的实体与关系拼接为查询句子,将查询句子中的各个词分别映射为查询词向量。对知识图谱中的单个三元组可视为候选匹配目标,将候选匹配目标内的各个词映射为目标词向量。
步骤1042:为了衡量查询语句与候选匹配目标中各个词的相似度,首先用Wasserstein距离与JS散度生成相似矩阵M。第i个查询词向量Pi与单个三元组内第j个目标词向量Vj的相似矩阵元素计算方式为:
其中和/>均为常数,其中Wasserstein(Pi,Vj)表示第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的Wasserstein距离,JS(Pi,Vj)表示第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的JS散度,根据计算得到的相似矩阵元素Mij生成相似矩阵M。
步骤1043:利用卷积神经网络对该相似矩阵的进行特征处理。为了进一步增强卷积层提取特征的能力,对动态卷积进行了改进,设计出CRITIC-Dynamic卷积层来更好地实现多卷积核的融合。
在对输入的文本特征进行卷积之前,我们首先利用三种不同的注意力机制对文本特征进行处理,每种注意力机制均可生成对n个卷积核的权重。三种注意力机制的差别在于池化方式不同,分别为最大池化方法、平均池化方法以及最小池化方法。不同的池化方法会关注不同的特征层面,对于后续权重的生成具有重要影响。对于每个卷积核Convk而言,三种注意力机制为其生成了不同的权重数值。用CRITIC权重法来对不同的权重进行处理来获得最终的权重。
对于n个卷积核和m个注意力机制,生成矩阵:
计算注意力机制j产生权重的波动性,为注意力j产生权重的均值(第j列均值):
利用关系系数来计算注意力机制的冲突性,注意力机制j的冲突性计算方式为:
注意力机制j的信息量计算方式为:
注意力机制j的可信权重为:
对于卷积核k的最终权重:
对于该卷积层的卷积核则由n个卷积核构成:
在经过CRITIC-Dynamic卷积后,我们采用残差结构加深神经网络层数,来获取更加复杂抽象的特征。经过深层神经网络的处理,最后利用全连接层来产生查询向量与目标向量的相似度大小。
步骤105:判断匹配相似度是否高于阈值
预先设定阈值,用来判断相似的程度。若相似度高,说明知识存在于知识图谱中。若相似度低,说明知识可能并不存在于知识图谱中。
步骤106:匹配相似度高于阈值,返回匹配相似度高的三元组
计算查询向量与各个目标向量的相似度,按照相似度从大到小进行排序。返回与查询向量相似度最高的前K个三元组给用户,将其作为自然语言问句的答案。
步骤107:匹配相似度低于阈值,进行知识图谱推理,返回补全后的三元组
当查询向量与知识图谱中的所有目标向量的相似度均低于阈值时,说明用户所需要的答案可能并不存在于当前知识图谱中,但有可能通过知识图谱推理技术来进行获得。
由于网络安全领域关系的复杂多样,我们利用步骤S101中获得的知识实体表示的方式对查询实体及关系进行嵌入式表达,将其与实体集合中的候选实体构成候选三元组,利用评分函数来评价三元组成立的可能性,返回成立可能性最高的三元组,将其作为答案反馈给用户。具体如图4所示:
步骤S61,基于图卷积神经网络在处理图结构数据时具有一定的优势,我们首先利用图卷积神经网络来对各个实体节点的信息进行聚合,增强其表达能力。
步骤S62,在得到信息聚合后的实体向量后,将其与关系向量进行组合,利用卷积神经网络对组合向量进行卷积处理,增强异质交互性。
步骤S63,通过不同的全连接层,分别将其映射到欧式空间、复数空间以及四元数空间,依靠多空间不同表示形式的联合优化增强其表达能力。
在不同空间中利用不同的评分函数来度量三元组成立的可能性大小。三元组中的(头实体,关系,尾实体),分别用h,r,t进行表示。在欧式空间中的评分函数形式为,在复数空间中评分函数形式为/>,在四元数空间中评分函数形式为。
步骤S64,在获取到不同空间的评分后,设置不同的权重来对其进行集成优化。
步骤S71,将各个权重随机初始化,范围为0到1,同时分别为各个权重随机初始化增长方向(+或-),记录权重数值和各个权重的增长方向。
步骤S72,在模型训练过程中,若当前迭代次数epoch步骤的损失值小于上个迭代次数epoch的损失值,则权重不变,增长方向不变。(增长方向正确,权重合适)
步骤S73,若当前迭代次数epoch的损失值大于上个迭代次数epoch的损失值,各个权重则有的概率权重不变,增长方向也不变(防止陷入局部最优解)。各个权重有/>的概率先改变增长方向(+变为-或者-变为+),并在改变的增长方向上为权重添加变化数值。若增长方向为+,原有权重加上变化数值;若增长方向为-,原有权重上减去变化数值。变化数值的大小为当前权重乘一个小的折扣因子,该折扣因子范围限制在0到1以内。(寻优过程:原方向已经不正确,改一个方向,同时调整权重)
在训练过程中,将各个权重范围限制在0到1范围内。
步骤S74,当训练迭代次数epoch到达预定最大时停止。
综上,本发明提出的技术方案具备如下技术效果:本发明所述的基于网络安全知识图谱的渗透测试问答方法,对于渗透测试新手,知识的掌握程度并不全面,可以在问答系统中进行询问,为其下一步的行动提供参考,此外渗透测试工作者可能来不及补充最新的网络安全知识,利用问答系统可以为其提供一定的辅助,自然语言问答系统可以较好地实现人机友好交互协作。利用知识图谱进行问答设置,并且通过知识图谱推理来补全未记录的知识,保证了问答的全面及完整性。本发明的方法可以为渗透测试工作者提供情报层面以及知识层面的专业化指导,保证渗透测试工作的效率。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于网络安全知识图谱的渗透测试问答方法,其特征在于,所述方法包括:
步骤S1、基于收集到的网络安全知识及情报资源构建网络安全知识图谱,得到多个三元组,利用图数据库对获得的多个三元组进行存储;
步骤S2、接收用户输入的关于渗透测试的相关问句,所述问句涉及硬件缺陷知识、漏洞信息和网络空间资产;
步骤S3、基于步骤S1构建的网络安全知识图谱,对步骤S2中用户输入的关于渗透测试的相关问句提取实体及实体之间的关系;
步骤S4、将步骤S3中提取的实体及实体之间的关系与步骤S1中的网络安全知识图谱中的三元组进行匹配,获得匹配相似度;
步骤S5、判断步骤S4中匹配相似度是否高于阈值;如果匹配相似度高于阈值,返回对应的三元组;如果匹配相似度低于阈值,进行知识图谱推理,返回补全后的三元组;将补全后得到的三元组作为渗透测试所述相关问句的答案进行返回。
2.根据权利要求1所述的基于网络安全知识图谱的渗透测试问答方法,其特征在于,在所述步骤S1中,所述网络安全知识包括:CVE漏洞数据库的数据、CWE软硬件缺陷知识库的数据、CAPEC知识库中存储的知识数据,所述情报资源包括当前网络资产、网络拓扑结构、主机端口、网络服务、操作系统和地理位置。
3.根据权利要求1所述的基于网络安全知识图谱的渗透测试问答方法,其特征在于,在所述步骤S3中,提取实体及实体之间的关系具体为:根据渗透测试领域的相关知识,构建相应的词汇表,以规则匹配的方式进行实体提取,其中,具体对于问句中的IP地址及域名信息,通过正则表达式进行实体提取;基于步骤S1中的网络安全知识图谱构建关系名称词典,对问句中的实体之间的关系进行提取。
4.根据权利要求2或3所述的基于网络安全知识图谱的渗透测试问答方法,其特征在于,将步骤S3中提取的实体及实体之间的关系与步骤S1中的网络安全知识图谱中的三元组进行匹配,获得匹配相似度具体包括:将步骤S3中抽取到的实体及实体之间的关系拼接为查询句子,将查询句子中的各个词分别映射为查询词向量,将步骤S1中的网络安全知识图谱中的单个三元组视为候选匹配目标,将候选匹配目标内的各个词映射为目标词向量,计算查询词向量与目标词向量的相似度。
5.根据权利要求4所述的基于网络安全知识图谱的渗透测试问答方法,其特征在于,计算查询词向量与目标词向量的相似度包括:
步骤S41:第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的相似矩阵元素计算方式为:
其中和/>均为常数,其中Wasserstein(Pi,Vj)表示第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的Wasserstein距离,JS(Pi,Vj)表示第i个查询词向量Pi与单个三元组内第j个目标词向量Vj之间的JS散度,根据计算得到的相似矩阵元素Mij生成相似矩阵M;
步骤S42:利用动态卷积神经网络对步骤S41中获得的相似矩阵M进行特征处理,利用全连接层获得查询词向量与目标词向量之间的相似度。
6.根据权利要求3所述的基于网络安全知识图谱的渗透测试问答方法,其特征在于,步骤S5中返回补全后的三元组具体为:
步骤S51:利用图卷积神经网络对各个实体的信息进行聚合;
步骤S52:在得到信息聚合后的实体向量后,将所述实体向量与关系向量进行组合,结合步骤S1中的网络知识图谱中的实体构建多个三元组;
步骤S53:将步骤S52中构建的多个三元组通过不同的全连接层,分别将其映射到欧式空间、复数空间以及四元数空间,在不同空间中利用不同的评分函数来度量三元组成立的可能性;
步骤S54,在获取到不同空间的评分后,设置不同的权重来对步骤S53中得到的不同评分函数进行集成,得到集成后的分数最大的三元组作为补全后的三元组进行返回。
7.根据权利要求5所述的基于网络安全知识图谱的渗透测试问答方法,其特征在于,所述步骤S42还包括:所述动态卷积神经网络包括三种不同的注意力机制,所述三种注意力机制的差别在于池化方式不同,分别采用最大池化方法、平均池化方法以及最小池化方法,对于每个卷积核Convk,三种注意力机制生成不同的权重数值,用CRITIC权重法来对不同的权重进行处理来获得最终的权重,对于n个卷积核和m个注意力机制,生成矩阵:
利用关系系数来计算注意力机制的冲突性,注意力机制j的冲突性计算方式为:
注意力机制j的信息量计算方式为:
注意力机制j的可信权重为:
卷积核k的最终权重:
卷积层的卷积核由n个卷积核构成:
8.一种基于网络安全知识图谱的渗透测试问答系统,其特征在于,所述系统包括:
第一处理模块,用于基于收集到的网络安全知识及情报资源构建网络安全知识图谱,得到多个三元组,利用图数据库对获得的多个三元组进行存储;
第二处理模块,用于接收用户输入的关于渗透测试的相关问句,所述问句涉及硬件缺陷知识、漏洞信息和网络空间资产;
第三处理模块,用于基于第一处理模块构建的网络安全知识图谱,对第二处理模块中用户输入的关于渗透测试的相关问句提取实体及实体之间的关系;
第四处理模块,用于将第三处理模块中提取的实体及实体之间的关系与第一处理模块中的网络安全知识图谱中的三元组进行匹配,获得匹配相似度;
第五处理模块,用于判断第四处理模块中获得的匹配相似度是否高于阈值;如果匹配相似度高于阈值,返回对应的三元组;如果匹配相似度低于阈值,进行知识图谱推理,返回补全后的三元组;将补全后得到的三元组作为渗透测试所述相关问句的答案进行返回。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至7中任一项所述的基于网络安全知识图谱的渗透测试问答方法中的步骤。
10.一种计算机可读存储介质,存储有计算机可读存储指令,其特征在于,所述指令用于实现权利要求1至7中任一项所述的基于网络安全知识图谱的渗透测试问答方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531433.9A CN116303976B (zh) | 2023-05-12 | 2023-05-12 | 基于网络安全知识图谱的渗透测试问答方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531433.9A CN116303976B (zh) | 2023-05-12 | 2023-05-12 | 基于网络安全知识图谱的渗透测试问答方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116303976A true CN116303976A (zh) | 2023-06-23 |
CN116303976B CN116303976B (zh) | 2023-08-08 |
Family
ID=86836282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310531433.9A Active CN116303976B (zh) | 2023-05-12 | 2023-05-12 | 基于网络安全知识图谱的渗透测试问答方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303976B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874240A (zh) * | 2024-03-12 | 2024-04-12 | 天津电力工程监理有限公司 | 基于知识图谱的审计文本分类方法、系统和设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748757A (zh) * | 2017-09-21 | 2018-03-02 | 北京航空航天大学 | 一种基于知识图谱的问答方法 |
CN109062939A (zh) * | 2018-06-20 | 2018-12-21 | 广东外语外贸大学 | 一种面向汉语国际教育的智能导学方法 |
CN109271506A (zh) * | 2018-11-29 | 2019-01-25 | 武汉大学 | 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法 |
CN111353030A (zh) * | 2020-02-26 | 2020-06-30 | 陕西师范大学 | 基于旅游领域知识图谱的知识问答检索方法及装置 |
CN111552774A (zh) * | 2020-04-24 | 2020-08-18 | 中国人民大学 | 基于沃瑟斯坦距离正则化的查询-文档匹配方法和系统 |
WO2021008180A1 (zh) * | 2019-07-16 | 2021-01-21 | 扬州大学 | 面向软件缺陷知识的知识搜索方法 |
WO2021139738A1 (zh) * | 2020-01-07 | 2021-07-15 | 北京嘀嘀无限科技发展有限公司 | 一种确定目标任务执行车辆的方法和系统 |
WO2022001805A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 一种神经网络蒸馏方法及装置 |
CN114866358A (zh) * | 2022-07-07 | 2022-08-05 | 中国人民解放军国防科技大学 | 一种基于知识图谱的自动化渗透测试方法及系统 |
-
2023
- 2023-05-12 CN CN202310531433.9A patent/CN116303976B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748757A (zh) * | 2017-09-21 | 2018-03-02 | 北京航空航天大学 | 一种基于知识图谱的问答方法 |
CN109062939A (zh) * | 2018-06-20 | 2018-12-21 | 广东外语外贸大学 | 一种面向汉语国际教育的智能导学方法 |
CN109271506A (zh) * | 2018-11-29 | 2019-01-25 | 武汉大学 | 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法 |
WO2021008180A1 (zh) * | 2019-07-16 | 2021-01-21 | 扬州大学 | 面向软件缺陷知识的知识搜索方法 |
WO2021139738A1 (zh) * | 2020-01-07 | 2021-07-15 | 北京嘀嘀无限科技发展有限公司 | 一种确定目标任务执行车辆的方法和系统 |
CN111353030A (zh) * | 2020-02-26 | 2020-06-30 | 陕西师范大学 | 基于旅游领域知识图谱的知识问答检索方法及装置 |
CN111552774A (zh) * | 2020-04-24 | 2020-08-18 | 中国人民大学 | 基于沃瑟斯坦距离正则化的查询-文档匹配方法和系统 |
WO2022001805A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 一种神经网络蒸馏方法及装置 |
CN114866358A (zh) * | 2022-07-07 | 2022-08-05 | 中国人民解放军国防科技大学 | 一种基于知识图谱的自动化渗透测试方法及系统 |
Non-Patent Citations (2)
Title |
---|
PENG WANG: "A Cybersecurity Knowledge Graph Completion Method for Penetration Testing", MDPI * |
胡文: "基于KL散度与JS散度相似度融合推荐算法", 哈尔滨商业大学学报(自然科学报), vol. 36, no. 1 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874240A (zh) * | 2024-03-12 | 2024-04-12 | 天津电力工程监理有限公司 | 基于知识图谱的审计文本分类方法、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116303976B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Jointly embedding the local and global relations of heterogeneous graph for rumor detection | |
Nie et al. | Data-driven answer selection in community QA systems | |
CN108509519A (zh) | 基于深度学习的通用知识图谱增强问答交互系统及方法 | |
CN108829719A (zh) | 一种非事实类问答答案选择方法及系统 | |
Tan et al. | Context-aware answer sentence selection with hierarchical gated recurrent neural networks | |
EP3940582A1 (en) | Method for disambiguating between authors with same name on basis of network representation and semantic representation | |
CN110008390A (zh) | 应用程序的评估方法、装置、计算机设备及存储介质 | |
CN116303976B (zh) | 基于网络安全知识图谱的渗透测试问答方法、系统及介质 | |
Altheneyan et al. | Big data ML-based fake news detection using distributed learning | |
CN107609389A (zh) | 一种基于图像内容相关性的验证方法及系统 | |
Zhao et al. | Brain-inspired search engine assistant based on knowledge graph | |
CN112749558A (zh) | 一种目标内容获取方法、装置、计算机设备和存储介质 | |
Porteous et al. | Extending narrative planning domains with linguistic resources | |
Yang et al. | Reinforcement learning over knowledge graphs for explainable dialogue intent mining | |
Wang et al. | Transferable adversarial examples can efficiently fool topic models | |
CN117786088A (zh) | 一种威胁的语言模型分析方法、装置、介质及电子设备 | |
Su et al. | A survey based on knowledge graph in fault diagnosis, analysis and prediction: key technologies and challenges | |
Chang et al. | MatchACNN: A multi-granularity deep matching model | |
CN116737911A (zh) | 基于深度学习的高血压问答方法及系统 | |
Guo | [Retracted] Financial Market Sentiment Prediction Technology and Application Based on Deep Learning Model | |
Ling et al. | Uncertainty Decomposition and Quantification for In-Context Learning of Large Language Models | |
Fu et al. | Robot for mathematics college entrance examination | |
Tang | Analysis of English multitext reading comprehension model based on deep belief neural network | |
Cheng et al. | Enhancing question answering over knowledge base using dynamical relation reasoning | |
Sun et al. | An Intelligent Question-Answering System for Myopia Prevention and Control based on Knowledge Graph |
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 |