«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (5): 104-116  DOI: 10.19678/j.issn.1000-3428.0060128
0

引用本文  

杨艳丽, 宋礼鹏. 融合社交网络威胁的攻击图生成方法[J]. 计算机工程, 2021, 47(5), 104-116. DOI: 10.19678/j.issn.1000-3428.0060128.
YANG Yanli, SONG Lipeng. Attack Graph Generation Method Integrating Social Network Threats[J]. Computer Engineering, 2021, 47(5), 104-116. DOI: 10.19678/j.issn.1000-3428.0060128.

基金项目

国家自然科学基金(61772478)

作者简介

杨艳丽(1994-), 女, 硕士研究生, 主研方向为网络安全、知识图谱;
宋礼鹏, 教授、博士生导师

文章历史

收稿日期:2020-11-27
修回日期:2021-01-15
融合社交网络威胁的攻击图生成方法
杨艳丽 , 宋礼鹏     
中北大学 大数据学院, 太原 030051
摘要:针对现有攻击图生成和分析方法多数未考虑社交网络威胁的问题,提出一种基于知识图谱融合社交网络威胁的攻击图生成方法。根据攻击图的构建需求和收集的内网环境数据,设计融合社交网络威胁的网络安全本体模型和知识图谱,以实现对社交网络和物理网络数据的关联分析以及对攻击图输入信息的扩展,基于知识图谱采用广度优先搜索算法生成融合社交网络威胁的攻击图,并给出内部社交网络威胁的攻击成功率计算方法。基于真实网络拓扑和脆弱性信息的实验结果表明,与现有攻击图的相关方法相比,该方法可有效发现网络中潜在的借助社交网络入侵的攻击路径。
关键词网络安全    知识图谱    社交网络威胁    属性攻击图    本体模型    
Attack Graph Generation Method Integrating Social Network Threats
YANG Yanli , SONG Lipeng     
School of Big Data, North University of China, Taiyuan 030051, China
Abstract: The existing methods for attack graph generation and analysis do not consider the threats of social network. This paper proposes a method to generate an attack graph integrating social network threats based on a knowledge graph. According to attack graph construction requirements and the collected intranet data, a network security ontology model and knowledge graph that integrate social network threats are designed.The model and the knowledge graph enable the analysis of the association between social network data and physical network data, as well as the extension of the input information of the attack graph.Then based on the knowledge graph, a breadth-first search algorithm is used to generate an attack graph that integrates social network threats, and a method for calculating the attack success rate of internal social network threats is given.Experiments are carried out based on the real-world network topology and real-world vulnerability information.The results show that compared with the existing attack graph-related techniques, this method can effectively discover the paths of potential attacks based on social network.
Key words: network security    knowledge graph    social network threats    attribute attack graph    ontology model    
0 概述

攻击图技术通过图形化的形式展示网络中可能存在的攻击路径,帮助防御者直观地理解目标网络内各个脆弱性之间的关系,以便防御者采取相应的防御措施。PHILIPS[1]等人提出了攻击图的概念,并将其应用于网络脆弱性分析。随着攻击图技术的发展,攻击图作为关键技术被应用于告警信息关联分析[2]、网络风险评估[3]、网络入侵意图识别[4]等方面,但这些研究在攻击图构建过程中都未考虑社交网络威胁对网络安全状况的影响。随着网络攻防对抗技术的不断发展,攻击者为达到入侵的目的,已不仅仅是依赖于网络设备中存在的漏洞,而是更多地借助社交网络发起社交工程攻击。在社交网络中,攻击者利用社交网络好友间的信任关系,模仿正常用户与受害者进行互动,以达到窃取敏感信息的目的,而受害者难以发现[5]。因此,借助社交网络和物理网络入侵的两网协作攻击比单独利用传统网络脆弱性的攻击更具威胁性[6]。但由于社交工程攻击随生活方式的改变不断产生新的攻击方式,并且受非技术因素影响太大,目前鲜有研究将社交网络威胁结合到传统攻击图中。

知识图谱具有组织、管理和理解互联网海量信息的能力[7]。针对上述攻击图技术未将社交网络威胁和传统网络脆弱性结合的问题,知识图谱技术的知识组织和管理特性能够为社交网络和物理网络的各类信息提供统一的知识表达方式,可以对现实网络环境中的实体、概念、属性以及它们之间的关系进行建模,尽可能直观、真实地展现现实环境中的情况,利用其知识推理的能力可以对社交网络数据和物理网络数据进行关联分析。知识图谱的引入,可以将社交网络和物理网络有机地连接起来,从而丰富攻击图的输入信息,提高攻击图分析的全面性和完备性。

本文提出一种基于知识图谱生成融合社交网络威胁的攻击图生成方法。通过构建融合社交网络威胁的网络安全本体模型和知识图谱,整合社交网络与物理网络的相关数据,在此基础上,利用广度优先搜索算法和自定义的查询推理规则生成融合社交网络威胁的攻击图。

1 相关工作 1.1 攻击图技术

攻击图技术中的最小攻击单位被称为原子攻击。由于攻击图的类型和需求不同,原子攻击可以是一次漏洞利用攻击、一次社交工程攻击和一次非授权登录行为,或仅表示网络状态发生了变化而不体现具体的攻击细节[8]

在攻击图生成方面,文献[9]利用手工构建的安全规则和攻击模式知识库生成攻击图,该方法效率较低,且可能存在收集信息不全面、难以发现信息间的关联关系等问题。文献[10]提出了基于攻击模式的广度搜索攻击图的生成算法,该方法能有效减少冗余的攻击路径,但该方法中数据的存储使用关系型数据库,在存储大规模数据时读写性能较差。文献[11]以矩阵描述攻击过程中攻击者的权限提升过程,基于权限矩阵构建攻击图。上述研究成果存在的共同问题是忽略了社交工程对整个网络带来的威胁,导致防御者不能全面地掌握整个网络状况,一旦在内部社交网络中发生社交工程攻击,防御者难以及时采取有效措施。

在利用攻击图技术分析社交工程威胁方面,文献[12]通过构建社交工程属性攻击图,利用贝叶斯网络实现社交网络中社交工程对个人隐私威胁的评估,该研究主要是针对面向Internet的社交账号,并不完全适用于企业和组织内部的局域网社交网络。文献[13]提出一种社交工程框架,并用攻击图技术展示了社交工程攻击各阶段之间的相互关系。上述研究侧重于利用攻击图技术分析社交工程造成的个人隐私数据泄露的问题,但未利用攻击图技术展示出社交工程攻击对局域网终端设备的影响。另外,社交工程可以是网络入侵过程中的一个阶段性攻击,单纯利用社交网络威胁构建的攻击图无法为防御者提供完整的攻击链。

文献[14]提出一种将社交工程威胁结合到传统攻击图中的方法,其利用企业内部的访问控制列表和通信图来识别可能成为社交工程攻击受害者的相关角色。该方法生成的攻击图在节点粒度上,没有考虑详细的网络拓扑,一旦发生攻击,无法准确地定位到受害者,在攻击图分析方面,没有提供社交工程威胁利用成功率的评估模型。

1.2 网络安全领域知识图谱

在构建网络安全领域知识图谱方面,文献[15]提出一种构建网络安全本体的方法,并设计了STUCCO网络安全本体,该本体中涵盖了15种实体类型以及115种属性。文献[16]提出一种构建网络安全知识库的方法,并设计了网络安全知识库架构,实现了网络安全领域知识的抽取以及属性和关系的推理。

随着知识图谱技术在医疗、金融等行业的广泛应用,知识图谱在网络安全领域的研究也开始向应用方面发展。文献[17]根据态势感知的需求设计了物联网网络安全本体模型和用户自定义推理规则,利用本体的推理能力实现了对复杂攻击的推理和网络态势的推断。文献[18]提出利用原子攻击知识图谱生成扩展的攻击图,通过知识图谱技术对多源信息融合的能力,为攻击图分析技术提供更加精确的攻击成功率和攻击收益评估,该方法提供了一种一般网络通用的漏洞知识库。

本文利用知识图谱的方法关联社交网络和物理网络的各类信息,将构建的知识图谱应用于社交网络威胁和传统网络脆弱性结合的属性攻击图的生成与分析。本文将社交网络威胁和漏洞作为攻击图的顶点,并以两者为核心,根据搭建的内网环境和生成攻击图的需求,设置相关实体并与社交网络威胁实体和漏洞实体进行关联。上述构建网络安全知识图谱的研究成果主要以传统网络脆弱性为核心,其设计的网络安全本体中未包含社交网络的相关信息,因此不能直接用于指导本文攻击图的生成与分析,需要重新设计能辅助生成融合社交网络威胁的攻击图的本体模型并构建知识图谱。本文在参考上述研究成果的本体设计的基础上,提出了“社交网络+物理网络”的本体模型。

2 “社交网络+物理网络”知识图谱构建

知识图谱的构建方法有自顶向下和自底向上两种[7]。自顶向下是指预先定义领域内的本体模型,通过添加获取的实体数据构建知识图谱。自底向上是通过获取到的数据抽象出领域内的概念,再将置信度较高的信息加入知识库中,从而构建知识图谱。本文采取自顶向下和自底向上相结合的方式构建知识图谱。在预先定义好本体模型的基础上,依据内网环境中收集到的数据,对本体模型中的类、关系和属性进行补充。下文将介绍“社交网络+物理网络”的网络安全本体模型的设计及知识图谱构建。

2.1 本体模型设计

知识图谱通常被划分为模式层和数据层[7]。本体是结构化知识库的概念模板,通过本体库形成的知识库不仅层次结构较强,而且冗余程度较小,所以本体库通常作为知识图谱的模式层。本文提出的“社交网络+物理网络”的本体模型的整体设计如图 1所示。

Download:
图 1 本体模型整体设计 Fig. 1 The overall design of the ontology model

本体模型主要包括以下8种实体类型:

1) 用户:企业或组织内部对网络中设备具有操作和访问能力的人员。每个用户实例包括资历和身份两种属性。资历用时间表示,以“年”为单位;身份指用户在企业或组织内部承担的角色或职位。在真实内网环境中,用户和用户之间存在具体的关系。用户是物理网络和社交网络关联的核心。

2) 用户名:企业或组织内部人员访问网络内设备需要登录的用户名。

3) 权限:每个用户名访问设备时所具备的权限,主要包括管理员权限和用户权限。

4) 账号:内部人员使用的内部通信软件的账号。所属应用用以标识账号所属的具体通信软件;账号设置表示用户设置的账号登录方式,例如记住密码、自动登录等。账号之间通过好友关系建立起社交网络。

5) 资产:内部网络中存在的各类设备,如服务器、计算机等。设备与设备之间存在连接关系(包括直连和远程连接)。每个资产实例具备5种属性,分别为IP、MAC、操作系统、重要程度、区域。其中区域用以区分设备所处的网段。

6) 攻击:网络中可能存在的威胁,包括社交网络威胁和软硬件漏洞利用攻击等。每种攻击实例包括攻击条件和攻击危害两种属性。

7) 脆弱性:内部网络中存在的已知漏洞。每个脆弱性实例包括脆弱性利用条件、脆弱性危害、CVSS(Common Vulnerability Scoring System)值、攻击利用复杂度、利用路径和认证方式6种属性。脆弱性利用条件是指脆弱性利用的访问条件以及权限条件;脆弱性危害指脆弱性利用后可能产生的后果,例如信息泄露、系统破坏等;攻击利用复杂度、利用路径和认证方式是CVSS中对脆弱性评分的3个基础指标,也是本文在计算脆弱性利用成功率中要用到的指标。

8) 防御措施:能够降低内部网络威胁风险值的建议或措施。

基于以上本体模型构建的知识图谱,能够将物理网络和社交网络联系在一起,为后续攻击图的生成和分析提供更加全面的数据。

2.2 知识图谱构建

数据是知识图谱构建中必不可少的部分,常见的网络安全漏洞知识库主要包括中国信息安全漏洞库、CVE(Common Vulnerabilities and Exposures)漏洞库和NVD(National Vulnerability Database)漏洞库等各国政府建立的漏洞库,以及知道创宇的Seebug漏洞平台等由安全企业建立的漏洞库。本文构建知识图谱所用到的信息主要来自于搭建的内网环境中采集到的数据以及CVE、NVD漏洞数据库和安全论坛的网络文本数据。

2.2.1 知识抽取

知识抽取是从半结构化和非结构化数据源中抽取实体、关系和属性的过程,目前已有不少成熟的工具和方法[19-21]

在网络安全实体抽取方面,文献[16]验证了Stanford的NER(Named Entities Recognition)工具提供的一些特征,能有效地识别网络安全领域实体。本文中需要抽取2.1节中提到的8类实体,大部分实体可以从结构化数据中获得。

关系抽取是从各类信息中抽取实体与实体、实体与属性之间的关系,通常利用规则或机器学习的方法。本文需要抽取如图 1所示的类与类之间存在的威胁、访问、拥有、利用、修复、缓解等关系以及各类与其属性之间存在的关系。对于半结构化或非结构化数据,利用已有的关系抽取技术实现。

属性抽取是从信息源中获取特定实体的相关属性。本文中资产属性通过网络拓扑扫描可获得结构化数据信息,其中区域以网段和各网段的设备类型划分为外部服务器区、用户区和内部服务器区,重要程度利用层次分析法对连接设备量、设备类型、设备访问量、隐私数据量、设备使用人员身份5个方面评估得出;从漏洞扫描报告和CVE漏洞库中可通过规则提取脆弱性属性信息;攻击属性需要从非结构化的网络文本数据中获取。

利用采集的数据构建的局部知识图谱如图 2所示。

Download:
图 2 局部知识图谱 Fig. 2 Local of knowledge graph
2.2.2 知识推理

知识推理是对知识图谱进行补全的一个过程,通过推理发现知识图谱中实体间存在的隐藏关系或属性。常见的推理方式有基于规则的推理、基于分布式表示的推理和基于神经网络的推理[22]。本文通过自定义查询和推理规则,实现在攻击图生成过程中对网络节点连通性、社交账号与网络内设备之间映射等的查询和推理。部分查询和推理规则如下:

1) 已知主机查找该主机上登录的社交账号:

sql = "MATCH (n:账号)$ \leftarrow $[r:拥有]-(u:用户)-[r:拥有]$ \to $(m:用户名)-[f:访问]$ \to $(d:资产) WHERE d.uri='PC27' return n.uri"

2) 节点连通性推理规则:

(A-[连接]-B) or (A.区域=B.区域)

2.2.3 知识存储

常见的知识图谱存储方式包括图数据库和关系型数据库。图数据库以图的形式存储数据,与传统的关系型数据库相比,图数据库查询速度更快,并且能够发现节点间隐藏的关系。目前常用的图数据库有Neo4j、OrientDB和Titan等,本文采用Neo4j图数据库存储知识图谱数据。

3 基于知识图谱的属性攻击图生成与分析 3.1 攻击图生成过程

基于“社交网络+物理网络”知识图谱生成攻击图的过程如图 3所示。在攻击图生成过程中,数据处理是对知识图谱中脆弱性和攻击的利用条件以及危害信息进行提取标记,便于后期条件匹配时调用。查询推理是通过自定义查询规则获取节点连接关系、访问权限、节点漏洞、账号与设备间映射关系等信息。条件匹配是指根据获取的节点连通性、访问权限、利用条件、危害、账号间好友关系等信息来发现攻击路径。最后通过调用graphviz实现攻击图的可视化。

Download:
图 3 基于“社交网络+物理网络”知识图谱生成攻击图的过程 Fig. 3 Process of generating attack graph based on "social network + physical network" knowledge graph
3.2 攻击图生成算法

本文攻击图的生成分为两个部分:一是利用社交工程手段的攻击路径的生成,便于第二部分的快速调用;二是社交网络威胁和脆弱性利用攻击相结合的攻击图的生成。社交网络威胁攻击路径的生成方法如算法1所示。

算法1   社交攻击路径生成算法

输入   “社交网络+物理网络”知识图谱

输出   社交账号威胁攻击路径集合dictsapath

1.连接图数据库

2.创建社交网络威胁攻击路径集合空字典dictsapath

3.account$ =[{\mathrm{a}}_{1}, {\mathrm{a}}_{2}, \dots , {\mathrm{a}}_{\mathrm{m}}]\leftarrow $getaccount()

//执行查询语句获取社交网络威胁的属性集

4.sattpro$ \leftarrow $getsattpro()

//提取社交网络威胁的利用条件和危害

5.sattcon$ \leftarrow $extract(sattpro)

//构建社交网络威胁攻击路径

6.for$ {\mathrm{a}}_{\mathrm{i}}\in $ account,$ 0\le \mathrm{ }\mathrm{i} <\mathrm{m} $

//创建威胁路径邻接表

7.dict = {}

//查询账号$ {\mathrm{a}}_{\mathrm{i}} $的威胁

8.$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{i}}\leftarrow $getsatt $ \left({\mathrm{a}}_{\mathrm{i}}\right) $

9.if$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{i}}= $NULL

10.continue

11.else

//查询账号$ {\mathrm{a}}_{\mathrm{i}} $具备好友关系的账号集

12.$ \mathrm{f}=[{\mathrm{f}}_{1}, {\mathrm{f}}_{2}, \dots , {\mathrm{f}}_{\mathrm{n}}]\leftarrow $getfriend($ {\mathrm{a}}_{\mathrm{i}} $)

13.for$ {\mathrm{f}}_{\mathrm{j}}\in \mathrm{f}, 0\le \mathrm{j} <n $

//查询账号$ {\mathrm{f}}_{\mathrm{i}} $的威胁

14.$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{j}}\leftarrow $getsatt($ {\mathrm{f}}_{\mathrm{i}} $)

//当$ {\mathrm{f}}_{\mathrm{i}} $存在威胁并且$ {\mathrm{a}}_{\mathrm{i}} $威胁的后置条件满足$ {\mathrm{f}}_{\mathrm{i}} $威胁的前//置条件时,建立连接关系

15.if$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{j}}!= $NULL & & sattcon[$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{i}} $][$ \mathrm{p}\mathrm{o}\mathrm{s}\mathrm{t}\mathrm{c}\mathrm{o}\mathrm{n} $]$ \ge $sattcon $ \left[\mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{j}}\right]\left[\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n}\right] $

16.dict$ \leftarrow $createlink$ (\mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{i}}, \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{j}}) $

17.dict$ \leftarrow $link($ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{j}} $,getdev(sattcon[$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{j}} $] [$ \mathrm{h}\mathrm{a}\mathrm{r}\mathrm{m} $],$ {\mathrm{f}}_{\mathrm{j}} $))

18.end for

19.dictsapath $ \left[{\mathrm{a}}_{\mathrm{i}}\right]= $dict

20.end for

算法1生成社交网络威胁攻击路径的集合,以便后续加入到攻击图中,生成过程采取了后向链接和广度优先搜索的思想。首先从知识图谱中查询获取社交账号集和社交网络威胁属性,然后从社交账号威胁属性中提取利用条件和危害,分别作为其前置条件和后置条件;获取目标账号$ {a}_{i} $存在的威胁$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{i} $,若存在,则查找账号$ {a}_{i} $具有好友关系的账号列表;对于账号列表中的每个账号$ {f}_{j} $,若存在威胁$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{j} $,且$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{i} $的后置条件满足$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{j} $的前置条件,则为其建立关系,同时为$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{j} $与被其危害的设备建立连接关系;最后将从$ {a}_{i} $开始的所有攻击路径存入社交网络威胁攻击路径集。重复以上过程直到遍历完所有账号。

在生成所有存在的社交网络威胁攻击路径的基础上,社交网络威胁和漏洞利用攻击相结合的攻击图的生成算法如算法2所示。

算法2   攻击路径生成算法

输入   “社交网络+物理网络”知识图谱,社交账号威胁攻击路径集合dictsapath

输出    攻击图

1.连接图数据库

2.创建攻击图邻接表attgraphdict

//从知识图谱查询所有设备节点

3.node$ =[\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{1}, \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{2}, \dots , \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{t}}]\leftarrow $getnode()

//查询存在的脆弱性及其属性

4.vulpro$ \leftarrow $getvulpro()

//提取脆弱性的利用条件和危害

5.vulcon$ \leftarrow $extract(vulpro)

//构建基于脆弱性的攻击路径并在满足环境条件情况//下加入社交威胁攻击路径,从而生成攻击图

6.for $ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}\in $node,$ 0\mathrm{ }\le \mathrm{i} <t $

7.$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}}\leftarrow $getvul$ \left(\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}\right) $

8.if $ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}}= $NULL

9.continue

10.else

//查询节点$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $可访问到的邻接节点集

11.adjnode$ = $[$ {\mathrm{n}}_{1}, {\mathrm{n}}_{2}, .., {\mathrm{n}}_{\mathrm{s}} $]$ \leftarrow $getadjnode ($ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $)

12.for$ {\mathrm{n}}_{\mathrm{j}}\in $adjnode,$ 0\le \mathrm{j} <\mathrm{s} $

//查询邻接节点$ {\mathrm{n}}_{\mathrm{j}} $存在的脆弱性

13.$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{j}}\leftarrow $getvul $ \left({\mathrm{n}}_{\mathrm{j}}\right) $

//当邻接节点存在脆弱性并且邻接节点脆弱性的后置//条件满足$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $存在脆弱性的前置条件时,建立连接关系

14.if $ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{j}}!= $NULL & & vulcon$ [\mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{j}}][\mathrm{p}\mathrm{o}\mathrm{s}\mathrm{t}\mathrm{c}\mathrm{o}\mathrm{n}]\ge $vulcon $ [\mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}}][\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{o}\mathrm{n} $]

15.attgraphdict$ \leftarrow $link(vulcon [$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{j}} $] [$ \mathrm{p}\mathrm{o}\mathrm{s}\mathrm{t}\mathrm{c}\mathrm{o}\mathrm{n} $]$ , \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}} $)

16.attgraphdict$ \leftarrow $ link($ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}} $,vulcon[$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}} $][$ \mathrm{p}\mathrm{o}\mathrm{s}\mathrm{t}\mathrm{c}\mathrm{o}\mathrm{n} $])

//查询设备节点$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $对应的社交账号

17.$ {\mathrm{a}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}}\leftarrow $getcomacc ($ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $)

18.$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}}\leftarrow $getsatt$ \left({\mathrm{a}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}}\right) $

//如果$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $对应的账号存在威胁,并且$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $存在脆弱//性的后置条件能满足对应账号威胁的前置条件,建立连接//关系

19.if$ {\mathrm{a}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}} $!=NULL & & $ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}} $!=NULL & & vulcon[$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}} $][$ \mathrm{p}\mathrm{o}\mathrm{s}\mathrm{t}\mathrm{p}\mathrm{r}\mathrm{o} $]$ \ge $sattcon[$ \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}} $][$ \mathrm{p}\mathrm{r}\mathrm{e}\mathrm{p}\mathrm{r}\mathrm{o} $]

20.attgraphdict$ \leftarrow $link(vulcon[$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{\mathrm{i}} $] [$ \mathrm{p}\mathrm{o}\mathrm{s}\mathrm{t}\mathrm{p}\mathrm{r}\mathrm{o} $]$ , \mathrm{s}\mathrm{a}\mathrm{t}{\mathrm{t}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}} $)

//将$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}} $对应账号的社交威胁路径加入到攻击图邻接//表中

21.attgraphdict$ \leftarrow $adddictsatt ($ {\mathrm{a}}_{\mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{\mathrm{i}}} $,dictsapath)

22.end for

23.end for

24.攻击图可视化graphviz(attgraphdict)

算法2采用前向链接、广度优先搜索的思想生成融合社交网络威胁的攻击图。首先从图数据库中获取设备节点集和脆弱性属性,并从脆弱性属性中提取利用条件和危害,分别作为其前置条件和后置条件;依次将node中的节点作为目标节点,当$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{i} $存在脆弱性$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{i} $时,通过图数据库的查询,找到$ \mathrm{n}\mathrm{o}\mathrm{d}{\mathrm{e}}_{i} $所有能访问到的节点;对于邻接节点集中的每个节点$ {n}_{j} $,如果$ {n}_{j} $存在$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{j} $,并且$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{j} $的后置条件满足$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{i} $的前置条件,则为其建立连接关系。在此基础上,如果$ \mathrm{v}\mathrm{u}{\mathrm{l}}_{i} $的后置条件满足其映射账号的威胁的前置条件,则为其建立连接关系,并将该账号的威胁攻击路径加入到攻击图邻接表中。重复以上过程,直到遍历所有的设备节点。

3.3 攻击成功率与节点损失计算

攻击成功率反映攻击者成功入侵路径上所有节点的概率。假设一条攻击路径$ R=\left\{{n}_{1}, {n}_{2}, \cdots , {n}_{m}\right\} $,则该路径的攻击成功率为:

$ P\left(R\right)=P\left({n}_{1}\right)\times P\left({n}_{2}\right|{n}_{1})\times P({n}_{3}\left|{n}_{2}\right)\times \cdots \times P\left({n}_{m}\right|{n}_{m-1}) $ (1)
3.3.1 传统脆弱性利用成功率

CVSS提供了一套通用的脆弱性评分机制,其度量指标中的攻击路径AV、攻击复杂度AC、访问认证条件AU描述了漏洞利用的攻击方式。因此,本文将这3个指标作为漏洞利用攻击成功率计算的指标,其中,AV、AC、AU的概率赋值如表 1所示。

下载CSV 表 1 攻击路径、攻击复杂度和认证方式的概率 Table 1 Probability of attack path, attack complexity and authentication method

表 1可以看出,漏洞利用攻击的入侵路径条件越低,攻击复杂度越低,对攻击者的认证要求越低,一次漏洞利用攻击的成功率越高。因此,本文定义一次漏洞利用攻击成功概率为:

$ P\left(n\right)=2\times \mathrm{A}\mathrm{V}\times \mathrm{A}\mathrm{C}\times \mathrm{A}\mathrm{U} $ (2)
3.3.2 社交网络威胁利用成功率

社交网络中的社交工程攻击通过收集用户的信息发展和利用用户间的信任关系,从而达到入侵网络设备的目的。目前,大部分企业使用企业内部的通信工具软件来提高工作效率[23]。因此,本文基于内部社交网络的特征以及属性攻击图的特点列出了3种内部社交网络可能存在的威胁,如表 2所示,其中诱饵计划和网络钓鱼为社交工程攻击。

下载CSV 表 2 内部社交网络可能存在的威胁 Table 2 Possible threats to internal social networks

攻击者在能访问到通信软件的环境条件下,利用社交账号的登录设置或通过一定技术盗取用户的账号及密码,并伪装成内网的正常用户与受害者交互,这一过程称为身份盗用。由于被盗取的账号在内部社交网络中与其他账号之间存在一定的信任度,因此身份盗用攻击为后续的诱饵计划和网络钓鱼提供了攻击基础。

身份盗用成功率根据账号登录设置、用户是否有使用弱密码的习惯来定级。有弱密码使用习惯的用户可以猜测他的密码复杂度不会太高,在密码爆破时比较容易成功。弱密码使用习惯可以从用户对用户名的密码设置情况来检测。当用户未设置记住密码或自动登录,并且未检测到用户有弱密码使用习惯时,暴力破解在密码复杂度不确定的情况下,可能比较费时,所以概率取值比较低。身份盗用成功率$ P\left(n\right) $取值如表 3所示。

下载CSV 表 3 身份盗用成功率$ \boldsymbol{P}\left(\boldsymbol{n}\right) $取值 Table 3 Value of the success rate $ \boldsymbol{P}\left(\boldsymbol{n}\right) $ of identity theft

攻击者通过身份盗用可获得某一账号的控制权,同时继承该账号在社交网络中的信任度,从而利用用户间信任发起社交工程攻击。因此,诱饵计划和网络钓鱼这两种威胁的成功率根据账号间信任度来度量。假设账号a被攻击者控制,账号b对账号a的信任度越高,社交工程攻击成功率也越高。

在内网环境中,用户和用户之间彼此认识,所以账号间的信任度可以转化为现实环境中用户间的信任度。本文利用用户资历和相处时间两个因素来衡量用户间的信任度。

在实际情况中,用户资历会对信任度产生影响。随着资历差值的增大,资历浅的用户对资历深的用户的信任度有所提升,但提升速度相对较缓。本文资历表示用户在企业或组织中工作或学习的时长,因此设置账号a对账号b基于资历的信任度函数$ {R}_{\mathrm{e}}({t}_{\mathrm{a}}, {t}_{\mathrm{b}}) $

$ {R}_{\mathrm{e}}({t}_{\mathrm{a}}, {t}_{\mathrm{b}})=1-\frac{1}{\sqrt[]{1+({t}_{\mathrm{b}}-{t}_{\mathrm{a}})}},{t}_{\mathrm{b}}>{t}_{\mathrm{a}}>0 $ (3)

其中,$ {t}_{\mathrm{a}} $$ {t}_{\mathrm{b}} $表示账号a用户和账号b用户的资历,$ {t}_{\mathrm{b}}-{t}_{\mathrm{a}} $表示两个用户资历差值。

在一般情况下,相处时间长的用户值得相信。随着相处时间的不断变化,用户间的信任度也动态地变化,且随着相处时间的增长,信任度增长速度逐渐变缓,因此设置账号a对账号b基于相处时间的信任度函数$ {R}_{\mathrm{t}}({t}_{\mathrm{a}}, {t}_{\mathrm{b}}) $

$ {R}_{\mathrm{t}}({t}_{\mathrm{a}}, {t}_{\mathrm{b}})={\mathrm{e}}^{\frac{-1}{\mathrm{m}\mathrm{i}\mathrm{n}\mathrm{ }({t}_{\mathrm{a}}, {t}_{\mathrm{b}})}},{t}_{\mathrm{a}}>0, {t}_{\mathrm{b}}>0 $ (4)

其中,$ \mathrm{m}\mathrm{i}\mathrm{n}\mathrm{ }({t}_{\mathrm{a}}, {t}_{\mathrm{b}}) $表示两个用户的相处时间,即资历短的为两人相处的时长。综上所述,可得账号a对账号b的信任度$ R(\mathrm{a}, \mathrm{b}) $

$ R(\mathrm{a}, \mathrm{b})=\left\{\begin{array}{l}{R}_{\mathrm{t}}({t}_{\mathrm{a}}, {t}_{\mathrm{b}}), {t}_{\mathrm{a}}\ge {t}_{\mathrm{b}}>0\\ C, {t}_{\mathrm{a}}>{t}_{\mathrm{b}}\mathrm{且}{t}_{\mathrm{b}}=0\\ \genfrac{}{}{0pt}{}{\rho {R}_{\mathrm{e}}({t}_{\mathrm{a}}, {t}_{\mathrm{b}})+(1-\rho ){R}_{t}({t}_{\mathrm{a}}, {t}_{\mathrm{b}}), \mathrm{ }0 <{t}_{\mathrm{a}} <{t}_{\mathrm{b}}}{\alpha C+\left(1-\alpha \right){R}_{\mathrm{e}}({t}_{\mathrm{a}}, {t}_{\mathrm{b}}), {t}_{\mathrm{a}} <{t}_{\mathrm{b}}\mathrm{且}{t}_{\mathrm{a}}=0}\end{array}\right. $ (5)

其中,$ {t}_{\mathrm{a}}=0 $$ {t}_{\mathrm{b}}=0 $表示两个用户为陌生关系,即相处时间很短,可根据实际情况确定时间界限值来定义陌生关系,C为常数,代表账号a用户资历深且两个用户为陌生关系时的信任度,即账号a对陌生人的信任度,$ \alpha $为权重,当账号b用户资历较深且两个用户为陌生关系时,相处时间对信任度的影响很小,即$ \alpha $取值较小,$ \rho $为信任学习因子,其值越小,用户资历对信任度的影响越小。随着相处时间的增加,用户资历对信任度的影响逐渐减小,$ \rho $是动态变化的,因此将$ \rho $值定义为:

$ \rho ={\mathrm{e}}^{-\frac{{t}_{\mathrm{a}}}{{t}_{\mathrm{b}}-{t}_{\mathrm{a}}}},{t}_{\mathrm{b}}>{t}_{\mathrm{a}}>0 $ (6)

综上可知,诱饵计划和网络钓鱼这两种威胁的成功率$ P\left(n\right): $

$ P\left(n\right)=kR(\mathrm{a}, \mathrm{b}) ,0 <k\le 1 $ (7)

其中,$ k $为比例系数,代表社交工程成功率与用户间信任度正相关。

3.3.3 节点和路径损失计算

节点损失是指脆弱性利用或社交网络威胁发生后对设备节点造成的影响。假设单个设备节点$ i $被攻击后产生了$ b $种危害,则该节点$ i $的损失为:

$ \mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{i}=0.1\times {w}_{i}\sum \limits_{j=0}^{b}\mathrm{h}\mathrm{a}\mathrm{r}{\mathrm{m}}_{j},{w}_{i}\in \left[\mathrm{0, 10}\right], \mathrm{h}\mathrm{a}\mathrm{r}{\mathrm{m}}_{j}\in \left[\mathrm{0, 1}\right] $ (8)

其中,$ {w}_{i} $为设备节点$ i $的重要程度,是一个权重参数。因此,任意一条包含$ m $个节点的攻击路径造成的路径损失为:

$ \mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}=\sum \limits_{i=0}^{m}\mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{i} $ (9)
3.4 结果分析

为验证本文所提本体模型的可行性和生成攻击图的有效性,本文基于真实内部环境网络进行实验,所有实验运算均在相同系统平台(处理器Intel®CoreTMi7—8550U CPU 1.80 GHz,内存8.00 GB,操作系统Windows10)和编程环境(python 3.7)下进行。实验环境的网络拓扑如图 4所示。

Download:
图 4 网络拓扑结构 Fig. 4 Network topology

网络中包含外部服务器区、用户区和内部服务器区3个区域。防火墙隔离外网和内网,攻击者可通过远程网络连接对内部网络系统发起攻击。外部服务器区有一台Web服务器,为用户区的用户提供外网访问的功能。内部服务器区包括通信服务器、FTP服务器和SQL服务器,为用户区提供内部通信、文件传输和信息存储的功能。由于内部网络的配置,攻击者从外部网络只能访问到外部服务器区,外部服务器区和内部服务器区不能访问其他网段,用户区主机可访问外部服务器区和内部服务器区中的设备,用户区有16个用户,每个用户拥有自己的内网社交账号。其中,有两个用户分别拥有访问FTP服务器和SQL服务器的管理员账号,有一个用户为临时人员且与其他用户相处时间短。网络中存在的脆弱性和社交网络威胁如表 4所示。

下载CSV 表 4 脆弱性及社交网络威胁信息 Table 4 Information of vulnerabilities and social network threats

为计算社交工程成功率,需确定式(5)和式(7)中C、$ \alpha $$ k $3个参数,参数取值如表 5所示。根据CSS2015调查报告显示,在人际交往中对陌生人的信任度仅为0.056[24],考虑到不同用户可能对陌生人的信任度不同,因此将对陌生人的信任度C设置为[0.04,0.07]之间的值;$ \alpha $取值视用户间的资历差确定;本文将用户间信任度视为社交工程攻击成功率,因而$ k $取值为1。

下载CSV 表 5 参数取值 Table 5 Parameter values

假设攻击者在穿透防火墙后对内部网络发起攻击,在现有实验环境下攻击者可通过两种方式入侵内网:一是通过漏洞利用攻击实现对内部网络的入侵,攻击示意图如图 5所示;二是通过漏洞利用攻击和社交工程攻击相结合的方式达到入侵内网的目的,攻击示意图如图 6所示,攻击者通过漏洞利用攻击获得用户区主机控制权后,盗用该主机上的社交账号信息,冒充该用户与正常用户交互,利用用户间的信任度获取内部服务器的登录账号密码或诱导正常用户点击恶意链接。

Download:
图 5 利用漏洞入侵内网的攻击方式 Fig. 5 Attack methods to use loopholes to invade the intranet
Download:
图 6 利用漏洞和社交网络威胁入侵内网的攻击方式 Fig. 6 Attack methods that exploit vulnerabilities and social network threats to invade the intranet

为测试本文方法能够提高攻击图分析的全面性,在现有网络拓扑和脆弱性信息条件下,选择文献[10]中的方法得到传统攻击图,与本文方法得到的攻击图进行对照分析。传统攻击图如图 7所示,使用本文方法得到的融合社交网络威胁的攻击图如图 8所示。从图 7图 8两个攻击图中可以看出,社交工程攻击和利用传统脆弱性的攻击都能入侵到内网的FTP服务器和SQL服务器,从而窃取机密信息。在对网络系统造成大规模破坏方面,攻击者通过社交网络可以使用诱饵计划传播木马等恶意代码,从而扩大攻击范围,但是仅利用软硬件上存在的漏洞不足以对网络系统造成大规模破坏。因此,本文方法得到的攻击图能使防御者更加全面地了解网络安全状况。

Download:
图 7 传统攻击图 Fig. 7 Traditional attack graph
Download:
图 8 基于知识图谱生成的融合社交网络威胁攻击图 Fig. 8 Attack graph of fusion of social network threats generated based on knowledge graph

本文实验中利用用户间信任度度量社交工程的成功率。在实际攻击中,当用户间信任度较低时,社交工程容易失败并且攻击者会被发现,导致攻击路径无效。因此,对用户间信任度进行约束,即用户间信任度大于0.6视为社交工程可成功发生,得到如图 9所示的攻击图。另外,在实验环境下得到的3种攻击图的规模如表 6所示。

Download:
图 9 用户间信任度大于0.6的攻击图 Fig. 9 Attack graph with trust between users greater than 0.6
下载CSV 表 6 攻击图规模对比 Table 6 Comparison of attack graph scale

表 6数据和3种攻击图可以看出,在实验环境下,约束用户信任度后的攻击图的攻击路径数比不加约束的攻击图减少约15个百分点,影响网络内设备节点数减少约16个百分点,由此可见:约束用户信任度后的融合社交网络威胁的攻击图能减少部分无效路径;约束用户信任度后的攻击图与传统攻击图相比,有效攻击路径增加21条,影响网络内设备节点数增加6个。在本文实验环境中,网络系统内有20个节点,存在5种不同漏洞和10台存在漏洞的设备,增加的6个节点为不存在漏洞的设备。因此,借助社交网络可入侵到不存在漏洞的设备,并且约束用户信任度后的攻击图依然能为防御者提供相对全面的网络威胁信息。

在内部网络中,FTP服务器上存放了重要内部资料,是网络内部首要防御对象。为进一步说明引入社交网络威胁能有效提高攻击图分析的全面性和准确性,根据图 7图 9分别生成以FTP服务器为攻击目标,以attacker为攻击源的有效攻击路径,其路径规模对比如表 7所示,根据图 7传统攻击图生成的有效攻击路径数据如表 8所示,根据图 9攻击图生成的攻击成功率前7的有效攻击路径数据如表 9所示。

下载CSV 表 7 FTP为攻击目标的攻击路径规模对比 Table 7 Comparison of attack path scale with FTP as the target
下载CSV 表 8 根据图 7生成的以FTP服务器为攻击目标且攻击成功率前7的攻击路径 Table 8 Generate the attack path with the FTP server as the top7 attack success rate according to Fig. 7
下载CSV 表 9 根据图 9生成的以FTP服务器为攻击目标且攻击成功率前7的攻击路径 Table 9 Generate the attack path with the FTP server as the target and the top 7 attack success rate according to Fig. 9

表 7数据可看出,融合社交网络威胁的攻击图生成的攻击路径比传统攻击图增加5条,且均为借助社交网络入侵的路径。由表 9可知,在攻击成功率前7的路径中,3/7的攻击路径为借助社交网络入侵的路径,且为表中攻击成功率前3的路径,对网络系统造成的损失也排在表中攻击路径的前4位。由此可知,在以FTP服务器为攻击目标的攻击路径中,约42%的攻击路径为借助社交网络入侵的路径,其中,60%的攻击路径的攻击成功率高于单纯利用传统网络脆弱性进行攻击的路径。从防御角度来看,在防御资源有限的情况下,应当优先防御攻击成功率最高和造成损失度最大的路径节点。由表 8数据可知,攻击成功率最高和造成损失度最大的路径均为路径1,因此优先防御的节点为Web服务器,主机PC9和FTP服务器;由表 9数据可知,路径1借助社交网络入侵,且攻击成功率最高,比表 8路径1的攻击成功率高出82.3%,表 9中路径3造成的损失度最高,因此优先防御路径1和路径3上的Web服务器,主机PC27,社交账号acc_num4,主机PC9,社交账号acc_num7和FTP服务器。另外,社交工程攻击需要利用社交网络好友间信任度,所以在加强设备和账号安全性的同时,需要加强对用户网络安全意识的培养。由以上分析可知,利用融合社交网络威胁的攻击图进行网络脆弱性分析时,比传统攻击图的分析角度更全面,得到的威胁路径更符合实际情况。

4 结束语

本文针对传统攻击图中忽略社交网络威胁的问题,设计一种融合社交网络威胁的网络安全本体模型并构建知识图谱。通过对内部通信社交账号使用特性的分析,列出3种可能存在于局域网社交网络的威胁,给出了社交网络威胁的攻击成功率的计算方法,并利用构建的知识图谱生成社交网络威胁和传统网络脆弱性相结合的攻击图。实验结果表明,与传统攻击图相比,本文生成的攻击图在对整个网络的威胁分析上明显比单纯针对传统网络脆弱性生成的攻击图更加全面。后续将尝试与入侵检测相结合,优化攻击图生成算法,并检测该算法在动态网络中的实时性和准确率。

参考文献
[1]
PHILLIPS C, SWILER L P. A graph-based system for network-vulnerability analysis[C]//Proceedings of IEEE Workshop on New Security Paradigms. Washington D.C., USA: IEEE Press, 1998: 71-79.
[2]
LIU Weixin, ZHENG Kangfeng, WU Bin, et al. Alert processing based on attack graph and multi-source analyzing[J]. Journal on Communications, 2015, 36(9): 135-144. (in Chinese)
刘威歆, 郑康锋, 武斌, 等. 基于攻击图的多源告警关联分析方法[J]. 通信学报, 2015, 36(9): 135-144.
[3]
MUÑOZ-GONZÁLEZ L, SGANDURRA D, BARRÈRE M, et al. Exact inference techniques for the analysis of Bayesian attack graphs[EB/OL]. [2020-10-20]. https://arxiv.org/abs/1510.02427.
[4]
WANG Hui, ZHAO Ya, ZHANG Juan, et al. Research on attack path prediction based on PANAG model[J]. Computer Engineering, 2020, 46(9): 154-162. (in Chinese)
王辉, 赵雅, 张娟, 等. 基于PANAG模型的攻击路径预测研究[J]. 计算机工程, 2020, 46(9): 154-162.
[5]
ALGARNI A, XU Y, CHAN T. Social engineering in social networking sites: the art of impersonation[C]//Proceedings of IEEE International Conference on Services Computing. Washington D.C., USA: IEEE Press, 2014: 587-696.
[6]
FIRE M, GOLDSCHMIDT R, ELOVICI Y. Online social networks: threats and solutions survey[EB/OL]. [2020-10-20]. https://arxiv.org/abs/1303.3764.
[7]
Chinese Information Society of China. 2018 knowledge graph development report[EB/OL]. [2020-10-20]. http://www.199it.com/archives/577392.html. (in Chinese)
中国中文信息学会. 2018知识图谱发展报告[EB/OL]. [2020-10-20]. http://www.199it.com/archives/577392.html.
[8]
YE Ziwei, GUO Yuanbo, WANG Chendong, et al. Summary of application research on attack graph technology[J]. Journal on Communications, 2017, 38(11): 121-132. (in Chinese)
叶子维, 郭渊博, 王宸东, 等. 攻击图技术应用研究综述[J]. 通信学报, 2017, 38(11): 121-132. DOI:10.11959/j.issn.1000-436x.2017213
[9]
KOTENKO I V, STEPASHKIN M. Attack graph based evaluation of network security[C]//Proceedings of International Conference on Communications & Multimedia Security. Berlin, Germany: Springer, 2006: 132-146.
[10]
WU Shuyu, LI Bo. Attack graph generation algorithm based on attack mode breadth search[J]. Journal of Chongqing Technology and Business University (Natural Science Edition), 2012, 29(12): 44-48. (in Chinese)
吴淑语, 李波. 基于攻击模式的广度搜索攻击图生成算法[J]. 重庆工商大学学报(自然科学版), 2012, 29(12): 44-48.
[11]
QIN Hu, WANG Jianli, PENG Xiaoyao. Attack graph generation method based on privilege escalation matrix[J]. Journal of Beijing Institute of Technology, 2019, 39(1): 101-105. (in Chinese)
秦虎, 王建利, 彭逍遥. 基于权限提升矩阵的攻击图生成方法[J]. 北京理工大学学报, 2019, 39(1): 101-105.
[12]
ZHANG Xueqin, ZHANG Li, GU Chunhua. Quantitative assessment of social engineering threat in social network[J]. Journal of Zhejiang University (Engineering Science), 2019, 53(5): 837-842. (in Chinese)
张雪芹, 张立, 顾春华. 社交网络中社会工程学威胁定量评估[J]. 浙江大学学报(工学版), 2019, 53(5): 837-842.
[13]
ZHENG Kangfeng, WU Tong, WANG Xiuhuan, et al. A session and dialogue based social engineering framework[J]. IEEE Access, 2019, 7: 67781-67794. DOI:10.1109/ACCESS.2019.2919150
[14]
BECKERS K, KRAUTSEVICH L, YAUTSIUKHIN A. Analysis of social engineering threats with attack graphs[C]//Proceedings of Annual European Research Event in Computer Security, Data Privacy Management International Workshop. Wroclaw, Poland: [s.n.], 2014: 216-232.
[15]
IANNACONE M, BOHN S, NAKAMURA G, et al. Developing an ontology for cyber security knowledge graphs[C]//Proceedings of Cyber & Information Security Research Conference. New York, USA: ACM Press, 2015: 1-4.
[16]
JIA Yan, QI Yulu, Shang Huaijun, et al. A practical approach to constructing a knowledge graph for cybersecurity[J]. Engineering, 2018, 4(1): 53-60. DOI:10.1016/j.eng.2018.01.004
[17]
XU Guangquan, CAO Yan, REN Yuanyuan, et al. Network security situation awareness based on semantic ontology and user-defined rules for Internet of things[J]. IEEE Access, 2017, 8: 169676-169687.
[18]
YE Ziwei, GUO Yuanbo, LI Tao, et al. An extended attack graph generation method based on knowledge graph[J]. Computer Science, 2019, 46(12): 165-173. (in Chinese)
叶子维, 郭渊博, 李涛, 等. 一种基于知识图谱的扩展攻击图生成方法[J]. 计算机科学, 2019, 46(12): 165-173. DOI:10.11896/jsjkx.190400092
[19]
FINKEL J R, GRENAGER T, MANNING C. Incorporating non-local information into information extraction systems by Gibbs sampling[C]//Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics. Stroudsburg, USA: Association for Computational Linguistics, 2005: 363-370.
[20]
REHMAN M S, MUSTAFA P K. Software design level vulnerability classification model[J]. Computer Science Journals, 2012, 6(4): 238-255.
[21]
QIN Ya, SHEN Guowei, ZHAO Wenbo, et al. A network security entity recognition method based on feature template and CNN-BiLSTM-CRF[J]. Frontiers of Information Technology & Electronic Engineering, 2019, 20(6): 872-884.
[22]
GUAN Saiping, JIN Xiaolong, JIA Yantao, et al. Knowledge reasoning over knowledge graph: a survey[J]. Journal of Software, 2018, 29(10): 2966-2994. (in Chinese)
官赛萍, 靳小龙, 贾岩涛, 等. 面向知识图谱的知识推理研究进展[J]. 软件学报, 2018, 29(10): 2966-2994.
[23]
WANG Huiping. The design and implementation of the enterprise's internal instant messaging system[D]. Hohhot: Inner Mongolia University, 2019. (in Chinese)
王慧平. 企业内部即时通信系统的设计与实现[D]. 呼和浩特: 内蒙古大学, 2019.
[24]
ZOU Yuchun, ZHOU Xiaochun. Survey of current Chinese social trust[N]. Beijing Daily, 2016-06-13(3). (in Chinese)
邹宇春, 周晓春. 当前中国社会信任度调查[N]. 北京日报, 2016-06-13(3).