工业互联网安全知识图谱设计研究
2022-01-18黄思蓓
黄思蓓,张 磊
(上海工业自动化仪表研究院有限公司,上海 200233)
0 引言
工业发展是国民经济相关产业不断发展的前提条件和物质基础,决定着国家整体的科技和经济水平[1]。目前,我国工业互联网还处于初级阶段,即从工业设备上提取运行数据并进行多维度的数据分析,根据分析结果辅助管理者进行决策[2]。随着计算机、互联网等技术的逐渐成熟,用户数据经过各类数据分析系统聚合分析,形成各类冗杂庞大的报表数据。对其内在关联进行分析、获取深度相关的信息、提炼成知识体系,已成为数据后发展时代更高的诉求。知识图谱通过结合数学和图形学的方法,利用当下数据可视化手段进行呈现,将数据升华为知识实体及其内在的结构关系,最终以知识图谱的方式进行可视化展示。该方法使得用户可以从冗杂繁复的报表数据中抽身出来,只需通过知识图谱即可揭示数据背后的客观发展规律。
1 工业互联网安全知识图谱综述
在人工智能迅速发展的背景下,知识图谱被广泛认为是人工智能技术和系统的重要组成部分[3]。近年来,大量不同规模的知识图谱发布在网络上,得到了学术界和工业界的广泛关注。谷歌公司正式提出了知识图谱的概念[4]。在工业控制系统与物联网、互联网呈现深度融合的发展趋势后,人们需要根据大数据环境下的知识组织原则[5],从新的视角去探索既符合网络信息资源发展变化又能适应用户认知需求的知识互联方法[6],从更深层次揭示人类认知的整体性与关联性[7]。
工业互联网安全知识图谱是一种基于安全数据而构建的图形知识库,可涵盖现有全部工控安全设备的数据。通过提取安全数据中的知识进行实体建模,提取出实体、关系、属性三种特征。然后通过知识融合,消除差异和歧义,得到基础知识库。在基础知识库的基础上,进一步分析、挖掘隐含的内在逻辑关系,横向推理,从而大大扩展基础知识库,挖掘深层次安全知识。
工业互联网设备品类繁杂、用途多,设定的数据格式差异大。不同厂商所生产的同类设备,虽然数据格式有差异,但数据指标却大都相同,且这些数据指标蕴含的信息也一致。这些数据信息经过转换、提炼后,可提取出信息安全知识。针对这个现状,本文提出一种关于工业互联网安全知识图谱的设计和开发流程。这种架构设计便于相关开发和设计人员对工业互联网安全知识图谱进行设计和开发。
2 工业互联网安全知识图谱设计过程
工业互联网安全知识图谱以工控安全设备数据为基础,在庞大、各异的数据中提取出实体、关系、属性三种特征,并根据这三种特征构建出网状结构。由于知识具有网状特征,因此可用回溯的方式进行深度搜索,通过关键字等方式直观地查看知识形态。本文提出一种从下而上构建知识图谱的设计方法。此方法包括需求调研、数据分析、架构设计和部署设计四个步骤。每个步骤都着重从实用性出发,最终从基础数据信息中逐步构建一张基础的、完整的安全知识图谱。
2.1 需求调研
在推广工业互联网的过程中,其内部工业控制系统与传统互联网系统一样,面临着安全问题。这使得工业互联网安全层面的重要性愈发凸显。工业互联网采集到的安全数据和网络数据一样,具有规模大、差异大和结构松散的特点。结合互联网大数据的模式,很多大数据挖掘和分析工具应运而生,衍生了对安全知识进行总结和提取的更深层需求。知识图谱用于描述实体之间的关系,节点代表实体,连线代表关系,可向上、向下层层溯源,非常适合知识的表达和学习。如果能对工业互联网的安全数据进行信息提取、表示和融合,就能构建一张安全知识图谱,有助于信息安全研究。
2.2 数据分析
工业互联网的数据是由工业设备和工业控制系统产生或采集得到的。其中,工业安全数据是工业系统中部署的安全设备在工业网络中进行监控活动所产生的原始数据和经过分析的数据。工业现场常见的安全设备包括传统防火墙、入侵侦测防御系统( intrusion detection & prevention system,IDPS)、入侵防御系统(intrusion prvention system,IPS)、入侵检测系统(intrusion detection system,IDS)、病毒检测工具、网址入侵防御系统(web application firewall,WAF)和网闸等,其数据格式、传输方式各异。从知识层面出发,关注重点应放在可以构建知识点的内容层面上。最基本的内容层面有发生设备和发生事件。发生设备本身视为知识实体。发生事件构建实体之间的关系。由此可构建知识图谱三元组:实体1—关系—实体2,也就是设备1—安全事件a—设备2,进而刻画整个工业网络中所有设备的关系,构成全局知识网络。
当两个设备之间发生的安全事件,在其他设备之间也重复发生时,在知识网络中自然而然地构成了新的知识点。例如,设备1—安全事件a—设备3,即以安全事件a为入口点,可追查到设备2和设备3都是受害者,设备1是攻击者。如果将设备1~设备3的其他属性作为知识点,能进一步追溯得到受害者和攻击者的特征关系,便于观察到受害者的内在关联属性,为后续安全加固提供了知识参考。
如果逐条观察数据,可分析得到以上关系。而工业互联网设备繁多,按上述方式构建知识关系能比较容易地构建完整的知识图谱。因此,在数据处理层面,需要关注实体、属性和关系三个层面的信息提取。
2.3 架构设计
知识图谱的架构主要包括自身的逻辑结构和体系架构[8],构建方式主要有自顶向下和自底向上两种。在工业互联网中,不同厂商的设备型号、种类不同,数据千差万别。而设备更新换代极快、现场情况复杂多变,预先定义的实体和关系易于被新出现的实体、关系打破。自顶向下的构建方法不适用于此场景。而自底向上的构建方法更加灵活,更适用于工业互联网场景。
2.3.1 逻辑结构设计。
知识图谱的基础数据单元为三元组,即实体—关系—实体。每个三元组均构成一条知识语义,即元信息[9],而实体和关系皆为基本元素。图1为实体—关系图。图1中,包含的两条知识语义,由三个实体和两个关系组成。
图1 实体—关系图
工业互联网安全数据一般是由厂商设备提供的半机构化、结构化数据。使用关键词提取技术,在原始数据中找到实体和关系的关键词。现有的各种提取技术已经很完善,因此只需要关注可作为实体关键词的数据,其必须是完整的、准确的、普遍的、互通的。由于语言的二义性和多义性,还要对同义词、近义词互通处理,使其在知识图谱中指向同一个实体。
在原始数据中抽取的关键词既可作为实体,又可作为关系。一个关键词在知识图谱中的角色取决于所需要构建的知识是动态的还是静态的。静态知识代表客观世界中固有的、真实存在的现象。动态知识则用于描绘主体作用于客体这一事实过程。同一个客观事实既可以构建为静态知识,又可以构建为动态知识,还可以构建为多种知识关系。例如,如果构建静态知识“太阳是圆形的”,在知识图谱中则标志为太阳—形状—圆形或太阳—圆形—圆形等。
上述例子中,自行补全了代表关系的关键词“形状”。原始数据中没有这个关键词,需要在提炼后添加。由此可见,关系并不一定是原始数据中出现的关键词。对于自行补全到知识图谱中的关系,同样要求其是准确的、普遍的。例如在月亮—形状—圆形这个知识语义中,“形状”也可用于表达关系。工业互联网安全数据中,往往包含大量的动态关系,动词更适用于构建动态知识中的关系,例如设备1—攻击—设备2。按照这样的逻辑结构,可自动提取出基础数据中的知识语义三元组。简单知识图谱示例如图2所示。
图2 简单知识图谱示例
2.3.2 体系结构设计
组成工业互联网安全知识图谱的模块包括数据采集、知识提取、知识融合和知识图谱。体系结构如图3所示。
图3 体系结构图
2.4 部署设计
设计完成后,需要部署和测试,以验证合理性,并进行调试。其目标是取得最优性能和较好的用户体验。知识图谱最终需要落实到文件存储。根据其数据结构特点,应优先选择专业的图数据库,可根据存储数据量大小、性能要求进行具体选择。以开源图数据库Neo4j[10]为例,其存储文件分为四大类:节点、关系、属性、标签。其中,节点对应知识图谱中的知识实体,关系也是一一对应的。
部署后主要进行功能测试和性能测试。功能测试重点关注数据入库速率、查询准确性、数据完整性和准确性等。性能测试主要是查询效率,在知识图谱复杂且数据量很大的情况下,需要进行数据分析和后续的聚类分析,对搜索和分析性能有一定要求。通过测试和调优,知识图谱的使用情况可达到设计要求。
3 设计实例
本文以某集团单位的安全防火墙数据为依托,采集syslog日志中的攻击数据作为基础数据,并创建该单位的安全知识图谱。通过一段时间的采集,其基础数据达到千万级,数据内容形式为结构化。在数据样例中,通过知识提取方法,将结构化的数据分隔为不同知识实体,并选定所有动态性语义的实体转化为关系,例如“入侵”“攻击”等,分析所构建知识语义的合理性。
根据选定的知识实体关系的构建方法,由选定的知识逻辑批量转化基础数据,并用开源图数据库Neo4j存储,最终构建出安全知识图谱。对安全知识图谱进行准确性测试,观察到其能如实反映现有安全知识,可在合理范围内进行安全事件的预测和推理。
4 结论
现阶段工控系统、物联网、互联网深度融合[11],对信息安全的要求有所提高,将各类安全产品捕获的数据信息转化为安全知识的需求与日俱增。知识图谱可以有效地转化数据,并提炼为安全知识,进行大规模知识应用,将客观世界以实体和关系的形式进行表现,构成安全知识库。本文提出了工业互联网安全知识图谱的设计方法,并通过设计实例进行了相关的论述,展开需求调研、数据分析、架构设计和部署设计,将处理后的数据存入图数据库,最终完成整个安全知识图谱的架构设计。此设计过程在一定程度上能够为架构设计人员提供设计思路和参考方案,用于工业互联网安全知识图谱设计。