网络弹性大数据图知识库

来源:Big-Data Graph Knowledge Bases for Cyber Resilience

本文介绍了MITRE的CyGraph工具在主动和被动网络恢复中的应用。CyGraph采用多关系属性图形式,将来自多个数据源的数据组合在一起,为网络基础设施、安全态势、网络威胁和任务依赖关系构建统一的图表示。这形成了一个企业 Resilience知识库,用于修复攻击漏洞路径和响应入侵事件,同时重点保护关键网络资产。我们利用之前拓扑漏洞分析的工作,通过网络映射已知的漏洞路径,以及映射企业任务对网络资产的依赖关系的功能。然后,我们通过在流量、警报和漏洞之间发现并确定危险的多步骤模式的优先级来扩展此功能。通过CyGraph resilience知识库,我们将有风险的网络流量路径与允许它们的流量过滤设备和规则关联起来,以实现主动修复和被动缓解。CyGraph使用NoSQL图形数据库技术大规模存储和处理弹性知识库,使用领域特定的查询,揭示从对脆弱主机的威胁到关键网络资产的多步可达性。

1.0介绍

网络弹性是指对网络资源[1]进行预测、抵御、恢复和适应不利条件、压力、攻击或破坏的能力。网络弹性可以是单个系统、网络、任务、任务所依赖的系统系统或组织的属性。了解风险可以使系统工程师和网络防御者在系统或网络中实现适当水平的网络弹性。任务风险也可以作为一个弹性指标[2]。

风险是可能性和影响的函数,即,特定不良事件发生的可能性以及该事件对某些重要结果的影响。在网络安全的背景下,可能性通常被分解为包括对企业可能的威胁和企业系统[3]已知的漏洞,有时还包括其他因素,如对策[4][5]的可用性。风险可以通过降低可能性或影响严重程度来减轻;漏洞可以通过删除它们(例如,通过修补不正确的代码,通过删除未使用的未确定缺陷的代码段)或减少它们的暴露来补救。缓解和补救可以是主动的,其基础是分析,分析揭示了风险实现的可能性;或者是被动的,其基础是分析,在评估可能性和/或影响严重程度时考虑到具体的威胁。

由于网络系统之间存在复杂的相互依赖关系,不应该孤立地考虑与单个主机、漏洞和事件相关的风险。先进的对手通常通过增量移动来扩大他们的网络存在。复杂的任务系统和系统中的系统被部署在多个联网的网络资产上。在这种情况下,网络风险的可能性和影响方面并不取决于单个主机、威胁、漏洞或警报。相反,它们是这些实体之间关系模式的涌现属性。

图是一种理想的表示方式,用于编码网络领域中的实体和关系。然而,传统的具有单一同构类型的实体(顶点)和关系(边)的图公式缺乏表示分析网络风险所涉及的丰富结构所需的表达性。所谓的属性图[6]是带属性的多关系图[7],具有任意键/值属性(属性)的多个类型的顶点和边。属性图具有表达一系列异构顶点和边缘类型所需的能力,这些类型是将来自各种来源的数据组合成一个连贯统一的网络安全图模型而产生的。

存在许多用于在属性图上存储和计算的软件系统,包括NoSQL图形数据库[8](如Neo4j[9][10]和JanusGraph[11])、RDF存储(如Rya[12])和Apache TinkerPop[13]图形计算框架。已经有了查询非关系图数据库[14]的标准化工作,并且有对Cypher[15]、SPARQL[16]和Gremlin[17]等图查询语言的多供应商支持。虽然有些语言具有命令式特性,但图形查询语言通常是声明性的[18],其中指定要匹配的图形查询模式,而不是给出访问数据的特定指令。相反,数据库实现基于查询声明访问数据,从而支持特定于实现的优化。图形数据模型与查询其[19]的语言之间存在直接对应关系,即,数据分析需要匹配数据表示。

MITRE的CyGraph[20][21]是一种方法和工具,用于改善网络安全态势,在面对网络攻击时保持态势感知,并专注于保护关键任务资产。CyGraph构建网络安全知识图,即,表示基于网络安全知识库的网络安全态势图。它支持识别漏洞路径,其中漏洞路径是通过网络的攻击路径,其中的漏洞被依次利用,并且可以通过补救漏洞来破坏。

CyGraph利用来自各种网络和主机源的数据,利用NoSQL图形数据库技术捕捉网络安全领域实体之间的复杂关系。它使用图形查询来识别具有优先级匹配的子图集群的风险模式。领域特定的CyGraph查询语言(CyQL)被编译为后端图形数据库的本地查询语言。CyGraph采用基于web的客户机-服务器架构,在浏览器中提供交互式图形可视化,用于导航查询结果。CyGraph在网络数据的多步骤关系中发现并确定风险模式的优先级,并指导主动补救和响应性缓解。它提供了更成熟的网络安全技术,该技术基于威胁和任务需求,并基于[22]的实际经验。

2.0系统体系结构

如图1所示,CyGraph从各种来源摄取数据并对其进行规范化。然后将标准化模型的元素转换为特定于网络安全领域的图模型。图形查询从客户机前端发出,在后端数据库上执行,结果查询匹配是可视化的。

网络弹性大数据图知识库_第1张图片

在这种敏捷架构中,图模型是由数据源如何转换为属性图来定义的,而不是按照预先确定的模式来定义的。模型扩展只是在属性图模型中创建额外的节点、关系和属性,不需要模式更改或其他数据库重新规范化。CyGraph目前支持两种后端数据存储和查询处理选项:

•Neo4j图形数据库[9][10],使用Elasticsearch[23][24]中的规范化数据。

•Apache Rya [12] RDF存储在Apache Accumulo[25]中的规范化数据。

这些选项都可以作为开源软件使用,并且(除了Rya之外)都有商业支持。第二个选项(Rya+Accumulo)作为DISA的大数据平台(BDP)[26]的一部分可用,并提供水平可伸缩性。Neo4j水平伸缩用于读取,垂直伸缩用于写入[27]。

在CyGraph前端分析师仪表板中,图模式匹配查询是表示特定于领域的查询语言,CyGraph将其编译为Cypher(用于Neo4j)或SPARQL(用于Rya)。这提供了一个简化的抽象层,专门设计了所需的风险分析,将分析人员从学习复杂的通用查询语言中解放出来。

如图2所示,CyGraph的典型输入分为四类:

1. 网络基础设施:它捕获网络环境的配置和策略方面。

2. 安全态势:网络基础设施的规范与漏洞数据相结合,映射网络中潜在的攻击路径。

3.网络威胁:它捕获实际网络攻击的事件和指标,这些事件和指标与安全态势相关,为风险分析和攻击响应提供上下文。

4. 任务依赖关系:这捕获了企业任务的元素如何依赖于网络资产。这使得系统或网络风险与任务风险之间的关系得以表达。

网络弹性大数据图知识库_第2张图片

CyGraph的主要作用是一个知识库和分析工具。它依靠其他工具和数据源来构建网络安全图表。例如,用于拓扑漏洞分析的坩埚Cauldron工具[28][29][30]从主机漏洞、防火墙规则和网络拓扑中构建网络攻击图(安全态势),并将其输入CyGraph。对于网络威胁,CyGraph收集潜在和实际威胁的数据,包括Splunk日志分析工具[31]、通过Wireshark[32]捕获数据包、国家漏洞数据库(NVD)[33]和常见攻击模式枚举和分类(CAPEC™)[34]。为了捕获任务对网络资产的依赖关系,CyGraph摄取通过其他MITRE工具[35]开发的模型,包括王冠宝石分析(CJA)[36]、网络指挥系统(CyCS)[37]和自动依赖映射(ADM)[38]。

CyGraph数据模型是无模式的,因此该模型与存储实现解耦。将数据转换为属性图的特殊方式决定了实例化的CyGraph模型。因此,例如,为了进行有用的分析,需要填充图2中数据源的任意子集—通常只摄取一个数据源。用户查询必须匹配给定的图形模型实例化。这是通过CyGraph领域特定的查询语言实现的。这意味着,如果通过新的节点类型或边缘类型扩展数据模型,则需要通知中间层查询语言转换。

网络弹性大数据图知识库_第3张图片

你可能感兴趣的:(网络弹性大数据图知识库)