CN114257420B - 一种基于知识图谱的网络安全测试的生成方法 - Google Patents
一种基于知识图谱的网络安全测试的生成方法 Download PDFInfo
- Publication number
- CN114257420B CN114257420B CN202111436832.4A CN202111436832A CN114257420B CN 114257420 B CN114257420 B CN 114257420B CN 202111436832 A CN202111436832 A CN 202111436832A CN 114257420 B CN114257420 B CN 114257420B
- Authority
- CN
- China
- Prior art keywords
- test
- vulnerability
- attack
- network
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 217
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000035515 penetration Effects 0.000 claims abstract description 12
- 238000005516 engineering process Methods 0.000 claims description 64
- 230000008901 benefit Effects 0.000 claims description 24
- 230000007123 defense Effects 0.000 claims description 23
- 238000010998 test method Methods 0.000 claims description 11
- 238000011076 safety test Methods 0.000 claims description 6
- 238000007689 inspection Methods 0.000 claims description 4
- 230000008520 organization Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000009193 crawling Effects 0.000 claims description 2
- 230000000116 mitigating effect Effects 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 2
- 230000004927 fusion Effects 0.000 description 3
- 238000012098 association analyses Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012956 testing procedure 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
- 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
-
- 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/1441—Countermeasures against malicious traffic
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明属于网络安全测试技术领域,公开一种基于知识图谱的网络安全测试的生成方法,首先,设计了安全测试领域资产模型、脆弱点模型、攻击技术模型的相互关联本体框架;然后,抽取网络安全历史数据,用图数据库构建网络安全测试知识图谱;最后,基于知识图谱的网络安全测试的生成。本发明能够将安全性测试中的渗透测试用攻击模型表示,将攻击活动、脆弱点、攻击阶段等关联起来,能够充分利用历史攻击测试数据,智能化推荐生成安全测试方案,实现了知识的智能检索和自动推理关联。极大地提高了网络安全测试的完整性和高效性。
Description
技术领域
本发明属于网络安全测试技术领域,具体涉及一种基于知识图谱的网络安全测试的生成方法。
背景技术
随着网络攻防对抗博弈的日益加剧,网络攻击方式和攻击手法呈现出多样性、复杂性特点,网络安全威胁具有越来越明显的普遍性和持续性,且攻击者获取攻击工具越来越便利,导致网络攻击成本大大降低,检测网络攻击的难度却越来越大。安全性测试主要通过网络资产识别、脆弱点扫描、渗透测试等手段发现网络资产在机密性、完整性、可用性等方面存在的安全隐患,并做出针对性防范措施,对于网络资产的安全风险防范具有十分重要的意义。而传统的安全性测试很大程度上依赖个人的经验和知识,无法关联其他已有的经验和知识。由于这种方式利用到的知识有限,因此会存在测试不全面、效率低下,无法实现自动化智能构建等问题。同时,传统的网络安全防护方案由各个组织独立实施垂直的防护机制,在应对这些复杂网络攻击时显得越来越低效,亟需采取新的技术手段来提升整体网络安全防护能力。
发明内容
为克服现有技术的不足,本发明提出了一种基于知识图谱的网络安全测试的生成方法。
为实现上述发明目的,本发明采用如下技术方案:
一种基于知识图谱的网络安全测试的生成方法,首先采用安全测试领域资产模型、脆弱点模型、攻击技术模型构建的相互关联本体框架;然后抽取网络安全历史数据,用图数据库构建网络安全测试知识图谱数据库;最后基于知识图谱的网络安全测试的生成方法,其具体步骤如下:
步骤一、构建安全测试领域本体框架,是针对安全性测试领域,通过融合历史攻击、防御信息进行构建,网络安全本体框架具体包括:测试包、测试阶段、测试工具、测试技术、防御措施、脆弱点、网络资产实体,测试包与测试工具和测试技术间的“使用”关系,测试工具与测试技术的“使用”关系,测试工具和测试技术与测试阶段的“属于”关系、与防御措施的“缓解”关系、与脆弱性和网络资产的“目标”关系;网络空间安全领域本体由实体、实体间关系、实体及关系的属性组成,用于组织、表示以及共享网络安全相关的知识;
步骤二、构建安全性测试知识图谱数据库,采用爬虫技术从各类漏洞库、安全论坛的网站获取相关信息,并基于规则匹配技术对实体和关系完成抽取与融合,其中测试包、测试阶段、测试技术、测试工具、防御措施从ATT&CK官网获取数据并融合其他信息,测试包对应于ATT&CK中组织(Group),测试阶段对应于ATT&CK中战术(Tactic),测试技术融合ATT&CK中技术(Technique)和CAPEC数据,测试工具融合ATT&CK中恶意软件(malware)、工具(tool)和MAEC数据,防御措施融合ATT&CK中缓解措施(Mitigation)和CAPEC中应对措施数据,脆弱点融合CVE、CNNVD、CNVD漏洞库和漏洞分类(CWE)信息;经过上述步骤之后,构造了知识图谱的本体框架,并将爬取各类网络安全相关数据,并基于规则或命名实体识别技术对实体和关系完成抽取与融合,将其完成数据的实施化;由测试包、测试工具、测试技术、测试阶段四类实体构建的知识图谱反映历史上对指定攻击目标在各个攻击阶段采用了哪些攻击工具和攻击技术;由测试技术、测试工具、依赖平台、防御技术实体构建的知识图谱反映了测试工具和测试技术依赖的软件平台、攻击的可能性、检测方式,以及相对应的防御方式;由脆弱点、影响的资产构建的知识图谱反映了漏洞的分类、漏洞评分、漏洞利用条件、漏洞利用后收益、漏洞影响的资产类型。
步骤三、被测网络资产识别,采用资产识别工具、人工检查的方式对网络资产进行识别,识别各网络资产的软硬件型号、版本、配置信息;其中计算类设备采用采集工具Aida,其它网络设备采用自研资产识别工具进行资产识别;
步骤四、被测网络漏洞扫描,利用漏洞扫描工具Nessus、绿盟漏扫设备的工具对被测网络进行漏洞扫描,获取被测网络的脆弱点;
步骤五、基于知识图谱的渗透测试生成方法,包括测试所用工具、测试技术、测试步骤,及全面覆盖被测网络资产的所有脆弱点;
1)测试人员利用步骤3获取被测网络资产节点集合V={v1,v2,…vm}、各节点的邻接关系集合E={(vi,vj)|vi,vj∈V}和各节点初始攻击条件集合C={(pvi,tvi)|vi∈V},对应的攻击后收益集合R={(pvi,tvi)|vi∈V},其中pvi为权限要求,取值为无、user或root,其能力强弱依次为root>user>无;tvi为攻击方式,取值为local或network,其能力强弱依次为local>network。
2)在知识图谱AKG中对于任意的网络资产节点vi∈V,创建其与CPE节点vcpe的“相关”关系r=createEdges(vi,vcpe)。
3)在知识图谱AKG中根据“网络资产-CPE-脆弱点”间关联关系查找资产节点vi的漏洞信息Ui。
4)首先尝试对所有资产节点的所有漏洞进行漏洞利用,假设资产节点vi的漏洞为Ui={u1,u2,…un},其中漏洞uj的利用条件cuj=(puj,tuj)和利用后的收益ruj=(puj,tuj)从知识图谱AKG中的“脆弱点”节点属性获取,通过比较网络资产节点的初始攻击条件与漏洞利用条件来判断该漏洞是否能被利用,并记录被利用后的收益。对于能够漏洞利用的情况,在知识图谱中通过“脆弱点-测试技术-测试工具”和“脆弱点-测试技术-防御措施”关联关系将该脆弱点的攻击技术、攻击工具、防御措施查找出来,形成测试方法集合。
5)然后,对于未能直接进行漏洞利用的资产节点,考虑通过已攻击利用节点作为跳板进行攻击。此时,攻击的初始条件已经变为cvi=max(cvi,Rui),其中Rui={ru1,ru2,…run},继续进行4)的操作,对于经过跳板能够实现的漏洞利用,在知识图谱中将该脆弱点的攻击技术、攻击工具、防御措施查找出来,形成测试方法集合。
6)测试方法的集合根据脆弱点的利用难度依次排序,形成网络资产各节点的测试方案。具体实施方法如下:
步骤A:输入:网络资产节点集合V={v1,u2,…vm},初始攻击条件集合C={(oi,pi,ti)|vi∈V},邻接关系集合E={(vi,vj)|vi,vj∈V),脆弱点集合Ui={u1,u2,…un},知识图谱AKG;
输出:网络资产各节点的测试方案与最大收益;
Yv=initSet//初始化可被直接漏洞利用资产集合;
Nv=initSet//初始化不可被直接漏洞利用资产集合;
for each vi∈V
Si=searchEdges(vi,vcpe)in AKG//在知识图谱中查询每个网络资产节点包含的CPE信息;
Ui=getVul(Si)in AKG//在知识图谱中查询每个网络资产节点包含的漏洞信息;
{(Ai,Ti,ruj)}=directTestCase(Ui,cvi)in AKG//在知识图谱中对目标节点直接漏洞利用生成的测试方案;
//计算该节点所有漏洞利用收益的最大值;
end for
for each vi∈Nv
for each vm∈Yvand(vi,vm)∈E
ci=rmmax//将邻接节点的最大收益作为本节点的初始条件;
{(Ai,Ti,ruj)}=adjTestCase(Ui,cvi)
//在知识图谱中对目标节点通过邻接节点漏洞利用生成的测试方案;
end for
end for
步骤B:直接漏洞利用的测试方案生成函数directTestCase(Ui,cvi)定义如下,其中cuj为漏洞uj利用条件;
输入:目标节点vi的漏洞列表Ui,初始攻击条件cvi;
输出:漏洞攻击技术{Ai}、攻击工具集合{Ti},漏洞利用收益{rvi};
for each uj∈Ui
if cvi≥cuj
Yui.append(uj)//将条件满足的漏洞加入能被利用的漏洞集合。
createEdge(uj,vi)//将条件满足的漏洞加入目标节点的前置节点。
(Aj,Tj)=matchTestCase(uj)in AKG//在知识图谱中通过匹配“脆弱点-测试技术-测试工具”关系将该节点的攻击技术、攻击工具查找出来,形成测试方法集合;
rj=result(uj)in AKG//在知识图谱中查询该漏洞的收益。
Yv.append(vi)//将能够漏洞利用的资产节点加入能被利用资产集合。
else
Nui.append(uj)//将条件不满足的漏洞加入不能被利用的漏洞列表。
end if
end for
if Yui is null
Nv.append(vi)//将不能漏洞利用的资产节点加入不能利用资产集合。
else
for eachuk∈Nui
for each ul∈Yui
if rl≥conuk
createEdge(vm,uk)//对收益满足的漏洞利用创建关系。
end if
(Ak,Tk)=matchTestCase(uk)//对于每个攻击条件满足的漏洞匹配出对应的攻击技术、攻击工具。
rk=result(uk)in AKG//在知识图谱中查询该漏洞的收益。
end for
end for
end if
步骤C:通过邻接节点漏洞利用的测试方案生成函数adjTestCase(Ui,cvi,vm)定义如下,其中cuj为漏洞uj利用条件;
输入:目标节点vi的漏洞列表Ui,初始攻击条件cvi,邻接节点vm;
输出:漏洞攻击技术{Ai}、攻击工具集合{Ti},漏洞利用收益{rvi};
for each uj∈Ui
if cvi≥cuj
createEdge(vm,uj)//将条件满足的邻接节点作为该漏洞的前置节点。
createEdge(uj,vi)//将条件满足的漏洞加入目标节点的前置节点。
(Aj,Tj)=matchTestCase(uj)in AKG//在知识图谱中通过匹配“脆弱点-测试技术-测试工具”关系将该节点的攻击技术、攻击工具查找出来,形成测试方法集合;
rj=result(uj)in AKG//在知识图谱中查询该漏洞的收益。
end if
end for
其中,安全性测试包括资产识别、脆弱点扫描和渗透测试,而资产识别和脆弱点扫描在每个测试中都必不可少。
由于采用如上所述的技术方案本发明具有如下优越性:
一种基于知识图谱的网络安全测试的生成方法,利用了知识图谱在智能化语义检索和关联分析方面的优势,通过构建网络安全测试知识图谱将历史上各类攻击进行互联组织,实现知识的智能检索和自动推理关联。同时,将安全性测试中的渗透测试利用攻击图模型表示,将攻击活动、脆弱点、攻击阶段等关联起来,并在图数据库Neo4j中表示为知识图谱。基于知识图谱的网络安全测试方案生成方法将攻击图模型和知识图谱的优势结合起来,提高了网络安全测试的完整性和高效性。其优越性如下:
(1)构建了网络安全测试本体框架,利用数据爬虫和融合技术完成了本体框架中实体和关系的实例化,并用图数据库构建了网络安全测试知识图谱。该方法将历史上各类攻击(测试)在各攻击阶段使用的攻击技术和工具纳入到安全测试知识图谱本体构建中,其中实体主要包括测试包、测试阶段、测试技术、测试工具、防御措施、脆弱点、网络资产等,关系包括使用、属于、缓解、目标、具有等。
(2)提出了一种基于知识图谱的网络安全测试方案生成算法。相比传统安全测试方案的设计很大程度依赖个人的经验和知识,该方法能够充分利用历史攻击(测试)数据,智能化推荐生成安全测试方案,可以极大地提高测试方案设计的完整性和高效性。
附图说明
图1为安全性测试本体框架图;
图2为基于知识图谱的网络安全测试生成的工作流程图。
图3为基于知识图谱的渗透测试生成流程图。
具体实施方式
如图1、2、3所示,一种基于知识图谱的网络安全测试的生成方法,首先,设计了安全测试领域资产模型、脆弱点模型、攻击技术模型等相互关联的本体框架;然后,抽取网络安全历史数据,用图数据库构建网络安全测试知识图谱;最后,提出了一种基于知识图谱的网络安全测试的生成方法,具体包括以下详细步骤:
步骤一、安全性测试知识图谱本体框架构建
网络空间安全领域本体是知识图谱的语义基础,主要由实体、实体间关系、实体及关系的属性组成,可以用于组织、表示以及共享网络安全相关的知识。针对安全性测试领域,通过融合历史攻击、防御信息,构建网络安全本体框架,具体包括测试包、测试阶段、测试工具、测试技术、防御措施、脆弱点、网络资产等实体,测试包与测试工具和测试技术间的“使用”关系,测试工具与测试技术的“使用”关系,测试工具和测试技术与测试阶段的“属于”关系、与防御措施的“缓解”关系、与脆弱性和网络资产的“目标”关系等。测试包属性主要包括名称、测试包描述、测试目的等;测试阶段包括侦察、资源开发、初始访问、执行、持久化、提权、防御规避、凭证访问、发现、横向移动、收集、命令和控制、数据渗出、影响等14个阶段,属性主要包括名称、描述等;测试技术属性主要包括依赖平台、所需权限、所需技能、所需资源、执行流程、测试结果等;测试工具属性主要包括名称、工具描述、适用平台、所需权限、攻击方式等;防御措施主要包括检测、拒绝、中断、降级、欺骗、摧毁等手段,其属性包括名称、描述、具体措施等;脆弱点属性包括漏洞编号、漏洞描述、危害等级、漏洞分类、攻击方式、攻击收益等;网络资产属性包括名称、厂商、版本等。
步骤二、安全性测试知识图谱构建与分析
采用爬虫技术从各类漏洞库、安全论坛等网站获取相关信息,并基于规则匹配技术对实体和关系完成抽取与融合,其中测试包、测试阶段、测试技术、测试工具、防御措施主要从ATT&CK官网获取数据并融合其他信息,测试包对应于ATT&CK中组织(Group),测试阶段对应于ATT&CK中战术(Tactic),测试技术融合ATT&CK中技术(Technique)和CAPEC数据,测试工具融合ATT&CK中恶意软件(malware)、工具(tool)和MAEC数据,防御措施融合ATT&CK中缓解措施(Mitigation)和CAPEC中应对措施数据,脆弱点主要融合CVE、CNNVD、CNVD漏洞库和漏洞分类(CWE)信息,网络资产数据主要包括网络中主机、路由器、交换机、移动终端等硬件信息,操作系统、应用软件等软件信息,通过资产扫描工具对被测网络扫描来获取以及利用爬虫工具从各网络安全厂商官网爬取,并将其与CPE(Common Platform Enumeration)信息组合。针对构造的安全测试知识图谱,对测试包、测试阶段、测试工具、测试技术、防御措施、脆弱点、网络资产等实体和关系进行关联分析。
步骤三、被测网络资产识别
采用资产识别工具、人工检查的方式对网络资产进行识别,主要识别各网络资产的软硬件型号、版本、配置信息等。其中计算类设备采用Aida软件采集,其它网络设备采用自研资产识别工具进行资产识别。
步骤四、被测网络漏洞扫描
利用漏洞扫描工具Nessus、绿盟漏扫设备等工具对被测网络进行漏洞扫描,获取被测网络的脆弱点。
步骤五、基于知识图谱的渗透测试方案生成
安全性测试主要包括资产识别、脆弱点扫描和渗透测试,而资产识别和脆弱点扫描在每个测试中都必不可少,因此测试方案的生成重点是对渗透测试方案的生成。渗透测试方案主要包括测试所用工具、测试技术、测试步骤等,需要尽可能全面覆盖被测网络资产的所有脆弱点。
1)测试人员利用步骤3获取被测网络资产节点集合V={v1,v2,…vm}、各节点的邻接关系集合E={(vi,vj)|vi,vj∈V}和各节点初始攻击条件集合C={(Pvi,tvi)|vi∈V},对应的攻击后收益集合R={(Pvi,tvi)|vi∈V},其中Pvi为权限要求,取值为无、user或root,其能力强弱依次为root>user>无;tvi为攻击方式,取值为local或network,其能力强弱依次为local>network。
2)在知识图谱AKG中对于任意的网络资产节点vi∈V,创建其与CPE节点vcpe的“相关”关系r=createEdges(vi,vcpe)。
3)在知识图谱AKG中根据“网络资产-CPE-脆弱点”间关联关系查找资产节点vi的漏洞信息Ui。
4)首先尝试对所有资产节点的所有漏洞进行漏洞利用,假设资产节点vi的漏洞为Ui={u1,u2,…un},其中漏洞uj的利用条件cuj=(puj,tuj)和利用后的收益ruj=(puj,tuj)从知识图谱AKG中的“脆弱点”节点属性获取,通过比较网络资产节点的初始攻击条件与漏洞利用条件来判断该漏洞是否能被利用,并记录被利用后的收益。对于能够漏洞利用的情况,在知识图谱中通过“脆弱点-测试技术-测试工具”和“脆弱点-测试技术-防御措施”关联关系将该脆弱点的攻击技术、攻击工具、防御措施查找出来,形成测试方法集合。
5)然后,对于未能直接进行漏洞利用的资产节点,考虑通过已攻击利用节点作为跳板进行攻击。此时,攻击的初始条件已经变为cvi=max(cvi,Rui),其中Rui={ru1,ru2,…run},继续进行4)的操作,对于经过跳板能够实现的漏洞利用,在知识图谱中将该脆弱点的攻击技术、攻击工具、防御措施查找出来,形成测试方法集合。
6)测试方法的集合根据脆弱点的利用难度依次排序,形成网络资产各节点的测试方案。
7)具体实现算法如算法1-算法3所示。
直接漏洞利用的测试方案生成函数directTestCase(Ui,cvi)定义如下,其中cuj为漏洞uj利用条件。
通过邻接节点漏洞利用的测试方案生成函数adjTestCase(Ui,ci,vm)定义如下,其中conuj为漏洞uj利用条件。
步骤六、网络安全测试方案生成
合并步骤3、步骤4、步骤5的内容,生成完成网络安全测试方案。
Claims (1)
1.一种基于知识图谱的网络安全测试的生成方法,其特征是:首先采用安全测试领域资产模型、脆弱点模型、攻击技术模型构建的相互关联本体框架;然后抽取网络安全历史数据,用图数据库构建网络安全测试知识图谱数据库;最后基于知识图谱的网络安全测试的生成方法,其具体步骤如下:
步骤一、构建安全测试领域本体框架,是针对安全性测试领域,通过融合历史攻击、防御信息进行构建,网络安全本体框架具体包括:测试包、测试阶段、测试工具、测试技术、防御措施、脆弱点、网络资产实体,测试包与测试工具和测试技术间的“使用”关系,测试工具与测试技术的“使用”关系,测试工具和测试技术与测试阶段的“属于”关系、与防御措施的“缓解”关系、与脆弱性和网络资产的“目标”关系;网络空间安全领域本体由实体、实体间关系、实体及关系的属性组成,用于组织、表示以及共享网络安全相关的知识;
步骤二、构建安全性测试知识图谱数据库,采用爬虫技术从各类漏洞库、安全论坛的网站获取相关信息,并基于规则匹配技术对实体和关系完成抽取与融合,其中测试包、测试阶段、测试技术、测试工具、防御措施从ATT&CK官网获取数据并融合其他信息,测试包对应于ATT&CK中组织Group,测试阶段对应于ATT&CK中战术Tactic,测试技术融合ATT&CK中技术Technique和CAPEC数据,测试工具融合ATT&CK中恶意软件malware、工具tool和MAEC数据,防御措施融合ATT&CK中缓解措施Mitigation和CAPEC中应对措施数据,脆弱点融合CVE、CNNVD、CNVD漏洞库和漏洞分类CWE信息;经过上述步骤之后,构造了知识图谱的本体框架,并将爬取各类网络安全相关数据,并基于规则或命名实体识别技术对实体和关系完成抽取与融合,将其完成数据的实施化;由测试包、测试工具、测试技术、测试阶段四类实体构建的知识图谱反映历史上对指定攻击目标在各个攻击阶段采用了哪些攻击工具和攻击技术;由测试技术、测试工具、依赖平台、防御技术实体构建的知识图谱反映了测试工具和测试技术依赖的软件平台、攻击的可能性、检测方式,以及相对应的防御方式;由脆弱点、影响的资产构建的知识图谱反映了漏洞的分类、漏洞评分、漏洞利用条件、漏洞利用后收益、漏洞影响的资产类型;
步骤三、被测网络资产识别,采用资产识别工具、人工检查的方式对网络资产进行识别,识别各网络资产的软硬件型号、版本、配置信息;其中计算类设备采用采集工具Aida,其它网络设备采用自研资产识别工具进行资产识别;
步骤四、被测网络漏洞扫描,利用漏洞扫描工具Nessus、绿盟漏扫设备的工具对被测网络进行漏洞扫描,获取被测网络的脆弱点;
步骤五、基于知识图谱的渗透测试生成方法,包括测试所用工具、测试技术、测试步骤,及全面覆盖被测网络资产的所有脆弱点;
1)测试人员利用被测网络资产识别,采用资产识别工具、人工检查的方式对网络资产进行识别,获取被测网络资产节点集合V={v1,v2,…vm}、各节点的邻接关系集合E={(vi,vj)|vi,vj∈V}和各节点初始攻击条件集合C={(pvi,tvi)|vi∈V},对应的攻击后收益集合R={(pvi,tvi)|vi∈V},其中pvi为权限要求,取值为无、user或root,其能力强弱依次为root>user>无;tvi为攻击方式,取值为local或network,其能力强弱依次为local>network;
2)在知识图谱AKG中对于任意的网络资产节点vi∈V,创建其与CPE节点vcpe的“相关”关系r=createEdges(vi,vcpe);
3)在知识图谱AKG中根据“网络资产-CPE-脆弱点”间关联关系查找资产节点vi的漏洞信息Ui;
4)首先尝试对所有资产节点的所有漏洞进行漏洞利用,假设资产节点vi的漏洞为Ui={u1,u2,…un},其中漏洞uj的利用条件cuj=(puj,tuj)和利用后的收益ruj=(puj,tuj)从知识图谱AKG中的“脆弱点”节点属性获取,通过比较网络资产节点的初始攻击条件与漏洞利用条件来判断该漏洞是否能被利用,并记录被利用后的收益;对于能够漏洞利用的情况,在知识图谱中通过“脆弱点-测试技术-测试工具”和“脆弱点-测试技术-防御措施”关联关系将该脆弱点的攻击技术、攻击工具、防御措施查找出来,形成测试方法集合;
5)然后,对于未能直接进行漏洞利用的资产节点,考虑通过已攻击利用节点作为跳板进行攻击;此时,攻击的初始条件已经变为cvi=max(cvi,Rui),其中Rui={ru1,ru2,…run},继续进行4)的操作,对于经过跳板能够实现的漏洞利用,在知识图谱中将该脆弱点的攻击技术、攻击工具、防御措施查找出来,形成测试方法集合;
6)测试方法的集合根据脆弱点的利用难度依次排序,形成网络资产各节点的测试方案;具体实施方法如下:
步骤A:输入:网络资产节点集合V={v1,v2,…vm},初始攻击条件集合C={(oi,pi,ti)|vi∈V},邻接关系集合E={(vi,vj)|vi,vj∈V},脆弱点集合Ui={u1,u2,…un},知识图谱AKG;
输出:网络资产各节点的测试方案与最大收益;
Yv=initSet,初始化可被直接漏洞利用资产集合;
Nv=initSet,初始化不可被直接漏洞利用资产集合;
f0r each vi∈V
Si=searchEdges(vi,vcpe)in AKG,在知识图谱中查询每个网络资产节点包含的CPE信息;
Ui=getVul(Si)in AKG,在知识图谱中查询每个网络资产节点包含的漏洞信息;
{(Ai,Ti,ruj)}=directTestCase(Ui,cvi)in AKG,在知识图谱中对目标节点直接漏洞利用生成的测试方案;
end for
for each vi∈Nv
for each vm∈Yv and(vi,vm)∈E
ci=rmmax,将邻接节点的最大收益作为本节点的初始条件;
{(Ai,Ti,ruj)}=adjTestCase(Ui,cvi),在知识图谱中对目标节点通过邻接节点漏洞利用生成的测试方案,结束;
步骤B:直接漏洞利用的测试方案生成函数
directTestCase(Ui,cvi)定义如下,其中cuj为漏洞uj利用条件;
输入:目标节点vi的漏洞列表Ui,初始攻击条件cvi;
输出:漏洞攻击技术{Ai}、攻击工具集合{Ti},漏洞利用收益{rvi};
循环漏洞:for each uj∈Ui
if cvi≥cuj
Yui.append(uj),将条件满足的漏洞加入能被利用的漏洞集合;createEdge(uj,vi),将条件满足的漏洞加入目标节点的前置节点;
(Aj,Tj)=matchTestCase(uj)in AKG,在知识图谱中通过匹配“脆弱点-测试技术-测试工具”关系将该节点的攻击技术、攻击工具查找出来,形成测试方法集合;
rj=result(uj)inAKG,在知识图谱中查询该漏洞的收益;
Yv.append(vi),将能够漏洞利用的资产节点加入能被利用资产集合;
其它的Nui.append(uj),将条件不满足的漏洞加入不能被利用的漏洞列表;
判断结束end if
结束end for
参数if Yui is null
Nv.append(vi),将不能漏洞利用的资产节点加入不能利用资产集合;
其它的else
循环for eachuk∈Nui
循环for each ul∈Yui
if rl≥conuk
createEdge(vm,uk),对收益满足的漏洞利用创建关系;
结束end if;
(Ak,Tk)=matchTestCase(uk),对于每个攻击条件满足漏洞匹配出对应的攻击技术、攻击工具;
rk=result(uk)inAKG,在知识图谱中查询该漏洞的收益;
结束end for;
步骤C:通过邻接节点漏洞利用的测试方案生成函数adjTestCase(Ui,cvi,vm)定义如下,其中cuj为漏洞uj利用条件;
输入:目标节点vi的漏洞列表Ui,初始攻击条件cvi,邻接节点vm;
输出:漏洞攻击技术{Ai}、攻击工具集合{Ti},漏洞利用收益{rvi};
循环for each uj∈Ui,if cvi≥cuj;
createEdge(vm,uj),将条件满足的邻接节点作为该漏洞的前置节点;createEdge(uj,vi),将条件满足的漏洞加入目标节点的前置节点;
(Aj,Tj)=matchTestCase(uj)in AKG,在知识图谱中通过匹配“脆弱点-测试技术-测试工具”关系将该节点的攻击技术、攻击工具查找出来,形成测试方法集合;
rj=result(uj)in AKG,在知识图谱中查询该漏洞的收益;结束end if;结束end for;
其中,安全性测试包括资产识别、脆弱点扫描和渗透测试,而资产识别和脆弱点扫描在每个测试中都必不可少。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436832.4A CN114257420B (zh) | 2021-11-29 | 2021-11-29 | 一种基于知识图谱的网络安全测试的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436832.4A CN114257420B (zh) | 2021-11-29 | 2021-11-29 | 一种基于知识图谱的网络安全测试的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257420A CN114257420A (zh) | 2022-03-29 |
CN114257420B true CN114257420B (zh) | 2024-01-09 |
Family
ID=80793512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111436832.4A Active CN114257420B (zh) | 2021-11-29 | 2021-11-29 | 一种基于知识图谱的网络安全测试的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257420B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745171A (zh) * | 2022-04-08 | 2022-07-12 | 深圳市魔方安全科技有限公司 | 一种基于图技术的外部攻击面可视化分析的方法和系统 |
CN114900346B (zh) * | 2022-04-28 | 2023-09-19 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 基于知识图谱的网络安全测试方法及系统 |
CN115134122B (zh) * | 2022-05-30 | 2024-04-26 | 上海安锐信科技有限公司 | 一种基于工业系统网络实体的威胁图谱的构建方法 |
CN115048533B (zh) * | 2022-06-21 | 2023-06-27 | 四维创智(北京)科技发展有限公司 | 知识图谱构建的方法、装置、电子设备及可读存储介质 |
CN115225338B (zh) * | 2022-06-28 | 2023-12-12 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种基于知识图谱的漏洞关联图生成方法及存储介质 |
CN116260637B (zh) * | 2023-02-15 | 2023-11-07 | 中国电子技术标准化研究院 | 渗透测试的路径规划方法、装置、电子设备及存储介质 |
CN116405325B (zh) * | 2023-06-07 | 2023-09-12 | 鹏城实验室 | 基于安全知识图谱的网络安全测试方法以及相关设备 |
CN117676586A (zh) * | 2023-12-04 | 2024-03-08 | 中科南京信息高铁研究院 | 5gc渗透测试敌手模型知识图谱构建系统、方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532793A (zh) * | 2013-10-28 | 2014-01-22 | 中国航天科工集团第二研究院七〇六所 | 一种信息系统安全性自动化渗透测试方法 |
CN109922075A (zh) * | 2019-03-22 | 2019-06-21 | 中国南方电网有限责任公司 | 网络安全知识图谱构建方法和装置、计算机设备 |
CN113282759A (zh) * | 2021-04-23 | 2021-08-20 | 国网辽宁省电力有限公司电力科学研究院 | 一种基于威胁情报的网络安全知识图谱生成方法 |
CA3112143A1 (en) * | 2020-03-18 | 2021-09-18 | Cyberlab Inc. | System and method for determining cybersecurity rating and risk scoring |
-
2021
- 2021-11-29 CN CN202111436832.4A patent/CN114257420B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532793A (zh) * | 2013-10-28 | 2014-01-22 | 中国航天科工集团第二研究院七〇六所 | 一种信息系统安全性自动化渗透测试方法 |
CN109922075A (zh) * | 2019-03-22 | 2019-06-21 | 中国南方电网有限责任公司 | 网络安全知识图谱构建方法和装置、计算机设备 |
CA3112143A1 (en) * | 2020-03-18 | 2021-09-18 | Cyberlab Inc. | System and method for determining cybersecurity rating and risk scoring |
CN113282759A (zh) * | 2021-04-23 | 2021-08-20 | 国网辽宁省电力有限公司电力科学研究院 | 一种基于威胁情报的网络安全知识图谱生成方法 |
Non-Patent Citations (2)
Title |
---|
Yongfu Wang,etc..The analysis method of security vulnerability based on the knowledge graph.《IEEE》.2021,第135-145页. * |
基于知识图谱的网络安全漏洞类型关联分析系统设计;王晓辉等;《电子设计工程》;第29卷(第17期);第85-89页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114257420A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114257420B (zh) | 一种基于知识图谱的网络安全测试的生成方法 | |
Ren et al. | Cskg4apt: A cybersecurity knowledge graph for advanced persistent threat organization attribution | |
Straub | Modeling attack, defense and threat trees and the cyber kill chain, att&ck and stride frameworks as blackboard architecture networks | |
Chauhan et al. | A comparative study of classification techniques for intrusion detection | |
Azaria et al. | Behavioral analysis of insider threat: A survey and bootstrapped prediction in imbalanced data | |
Hankin et al. | Attack dynamics: An automatic attack graph generation framework based on system topology, CAPEC, CWE, and CVE databases | |
CN113965469B (zh) | 网络数据分析模型的构建方法 | |
Nia et al. | Detecting new generations of threats using attribute‐based attack graphs | |
CN116566674A (zh) | 自动化渗透测试方法、系统、电子设备及存储介质 | |
Shin et al. | ART: automated reclassification for threat actors based on ATT&CK matrix similarity | |
Alhassan et al. | A fuzzy classifier-based penetration testing for web applications | |
Sree et al. | Artificial intelligence based predictive threat hunting in the field of cyber security | |
Grusho et al. | On some artificial intelligence methods and technologies for cloud-computing protection | |
CN118138361A (zh) | 一种基于可自主进化智能体的安全策略制定方法和系统 | |
Amarasinghe et al. | AI based cyber threats and vulnerability detection, prevention and prediction system | |
Ma et al. | Vulnerability association evaluation of internet of thing devices based on attack graph | |
Hassan | STUDY OF ARTIFICIAL INTELLIGENCE IN CYBER SECURITY AND THE EMERGING THREAT OF AI-DRIVEN CYBER ATTACKS AND CHALLENGE | |
Parameswarappa et al. | A Machine Learning-Based Approach for Anomaly Detection for Secure Cloud Computing Environments | |
Li et al. | Edge: An enticing deceptive-content generator as defensive deception | |
Istiaque et al. | Smart intrusion detection system comprised of machine learning and deep learning | |
Ostler | Defensive cyber battle damage assessment through attack methodology modeling | |
De Faveri et al. | Deception planning models for Cyber Security | |
Zimmer et al. | Insiders Dissected: New Foundations and a Systematisation of the Research on Insiders | |
Krishna et al. | Malware Detection using Machine Learning | |
Oesch et al. | The Path To Autonomous Cyber Defense |
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 |