CN114257420B - 一种基于知识图谱的网络安全测试的生成方法 - Google Patents

一种基于知识图谱的网络安全测试的生成方法 Download PDF

Info

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
Application number
CN202111436832.4A
Other languages
English (en)
Other versions
CN114257420A (zh
Inventor
苗泉强
刘迎龙
郭荣华
袁学军
王震
吴迪
郝亮
宋胜利
石长安
赵亚新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unit 63891 Of Pla
Original Assignee
Unit 63891 Of Pla
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unit 63891 Of Pla filed Critical Unit 63891 Of Pla
Priority to CN202111436832.4A priority Critical patent/CN114257420B/zh
Publication of CN114257420A publication Critical patent/CN114257420A/zh
Application granted granted Critical
Publication of CN114257420B publication Critical patent/CN114257420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network 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;
其中,安全性测试包括资产识别、脆弱点扫描和渗透测试,而资产识别和脆弱点扫描在每个测试中都必不可少。
CN202111436832.4A 2021-11-29 2021-11-29 一种基于知识图谱的网络安全测试的生成方法 Active CN114257420B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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