知识图谱在网络安全配置领域的应用研究*
2021-08-06秦晓娜臧立成
秦晓娜,黄 兴,臧立成,赵 文
(中国电子科技集团公司第三十研究所,四川 成都 610041)
0 引 言
随着信息系统网络化和智能化的快速发展,网络规模和复杂程度急剧增大。一方面为信息的高效快捷流转带来了极大便利,另一方面扩大了网络的攻击面,给网络安全管理人员带来了极大的运维压力。鉴于信息系统中复杂多样的安全防护设备和网络设备,错综复杂的网络拓扑和通连关系,以及不断扩大的网络规模形势,网络安全配置变得异常复杂困难。以人工为主的配置方式已无法满足当前需求,网络安全配置正在寻求更加自动化和智能化的解决方案。
近几年知识图谱受到了人们的广泛关注。知识图谱本身是一种图结构数据[1]。采用图构建知识和数据之间的关联,能够有效解决海量信息处理问题[2]。本文主要结合知识图谱的特点对其在网络安全配置领域的应用进行研究。
1 研究思路
网络安全配置复杂困难的原因主要是网络、设备、业务等各类数据繁杂。通过构建适合网络安全配置场景的知识图谱,将网络安全配置相关的数据进行关联处理及可视化分析,能够辅助网络安全管理人员快速高效地完成配置任务。根据知识图谱通用的构建方式,网络安全配置知识图谱的构建主要包括网络安全配置数据处理、网络安全配置知识融合和网络安全配置图谱构建3个方面[3],如图1所示。
网络安全配置数据处理部分通过将网络安全配置相关的数据进行知识抽取,以获取结构化数据。
网络安全配置知识融合即根据专业知识库进行各类数据知识的融合处理。
网络安全配置图谱构建通过完成节点及关系创建,实现网络安全配置图谱的数据逻辑展示。
2 网络安全配置数据处理
网络安全配置相关的数据主要包括网络拓扑、设备资产、设备策略、业务信息、设备属性以及安全专业知识等多源异构数据,经过实体抽取、属性抽取以及关系抽取等操作转化为结构化数据。
实体抽取又叫命名实体识别,指的是从采集数据的原始语料中自动识别出命名实体。由于实体是知识图谱中的最基本元素,其抽取的完整性、准确率以及召回率等将直接影响知识库的质量。目前,实体抽取主要使用深度学习如长短期记忆网络(Long Short Term Memory Network,LSTM)实现。
属性抽取主要是针对实体而言的,通过属性可形成对实体的完整勾画。由于实体的属性可以看成是实体与属性值之间的一种名称性关系,因此可以将实体属性的抽取问题转换为关系抽取问题。
关系抽取主要是对待抽取关系的语句进行词性标注、依存句法分析以及命名实体识别3个基础自然语言处理任务。关系抽取过程如图2所示。
在预处理阶段,对于待抽取关系的语句进行词性标注、依存句法分析以及命名实体识别3个基础自然语言处理任务。在关系抽取阶段,使用基于图卷积的关系抽取,根据自然语言语句生成可被网络处理的图,以从非结构化的数据中抽取出关系。
3 网络安全配置知识融合
依托数据处理之后的结构化网络安全配置数据,网络安全配置知识融合主要从实体链接和知识合并两方面进行。
实体链接是指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。实体链接主要使用实体消歧和共指消解技术,判断知识库中的同名实体是否代表不同的含义以及知识库中是否存在其他命名实体表示相同的含义,然后创建实体或链接到现有实体。
实体消歧是专门用于解决同名实体产生歧义问题的技术。通过实体消歧,可以根据当前的语境准确建立实体链接。实体消歧主要采用聚类法,也可以看做基于上下文的分类问题,类似于词性消歧和词义消歧。
共指消解技术主要用于解决多个指称对应同一实体对象的问题。在一次会话中,多个指称可能指向的是同一实体对象。利用共指消解技术可以将这些指称项关联(合并)到正确的实体对象。该问题在信息检索和自然语言处理等领域具有特殊的重要性,吸引了大量的研究努力。共指消解还有一些其他的名字,如对象对齐、实体匹配和实体同义。
知识合并主要是指将前面处理之后的结构化数据与外部已存在的结构化知识库或关系数据库进行合并,主要需要处理数据层与模式层的冲突等问题。
4 网络安全配置图谱构建
经过知识融合得到完整的、结构化的网络安全配置专业数据集,可方便后续进行图谱构建。图谱构建选择Neo4j图形数据库,将结构化数据存储在网络上而不是表中,在图(网络)中存储数据。Neo4j提供了大规模可扩展功能,在一台机器上可以处理数十亿节点/关系/属性的图,同时可扩展到多台机器并行运行[4]。图谱构建分为节点创建和关系创建两方面。
4.1 节点创建
在知识图谱中构建节点,节点包含网络名称、设备名称以及设备能力等。创建节点的数据格式如图3所示,以load CSV方式创建。
首先将不同类型的数据节点放在不同的.csv文件中。例如,网络数据文件为network.csv、设备数据文件为devices.csv等,图3展示的是设备数据文件前5行数据,列数为节点的属性信息,A列含义为设备名字,通过运行指令“LOAD CSV FROM“file:///devices.csv” AS line create (a:devices{name:line[0]})”,得到的图谱如图4所示。
通过点击名称为“病毒查杀系统”的节点,可以在底部看到此节点的详细信息,如节点类型为“devices”,节点id为“38”(Neo4j自动分配)。
4.2 关系创建
根据创建的实体节点,完成相应的关系建立。实体关系建立的过程中需要明确头节点、尾节点及连接关系。关系创建数据格式,如图5所示。
文件每一行有3列,依次为头结点、关系和尾节点。以一条数据为例,关系创建流程如图6所示。
基于Neo4j构建的网络安全配置知识图谱,通过围绕图进行数据建模,以相同的速度遍历节点与边,且遍历速度与构成图的数据量没有任何关系,因此可解决网络规模增大带来的问题。最后,创建的网络安全配置知识图谱可视化效果,如图7所示。
网络安全配置知识图谱不仅实现了对网络安全配置领域多源知识的整合存储,而且善于处理大量复杂、互连接、低结构化的数据,并利用Neo4j解决了查询响应性能衰退问题,可以通过其进行多维网络安全配置数据的关联查询及可视化分析,辅助完成准确快速的网络安全配置[5]。
5 结 语
本文对知识图谱在网络安全配置领域的应用进行研究,主要根据网络安全配置面临的问题现状及知识图谱在处理海量多源数据方面的优势,提出构建网络安全配置知识图谱的思路。通过网络安全配置数据处理、网络安全配置知识融合以及网络安全配置图谱构建等技术,构建出适合网络安全配置场景的知识图谱,可以辅助完成网络安全配置过程,促进网络安全配置向更加自动化和智能化方向发展。