网络安全分析的图形方法综述

来源:A Review of Graph Approaches to Network Security Analytics

摘要在过去的20多年里,有一系列的研究扩展了应用基于图形的方法来评估和改进操作计算机网络的安全性、保持态势感知和确保组织任务。本章审查了这些领域中的一些关键发展,并将它们置于若干相互补充的方面的范围内。这些维度面向操作安全性的需求,以帮助指导从业者将他们的用例与现有的技术方法进行匹配。我们考虑的一个维度是应用方法的安全操作(预防、检测和反应)阶段。另一个维度是方法跨越的操作层(网络基础设施、安全态势、网络空间威胁、任务依赖关系)。我们还研究了应用于安全需求的各种方法的数学基础。最后,我们将描述各种方法的体系结构方面,特别是它们对可伸缩性和性能的贡献。

一、介绍

在网络安全运营中,孤立地考虑单个事件和数据元素的价值往往有限。相反,这些项目需要在复杂的网络环境和威胁环境的背景下进行评估。简而言之,正是个体实体之间的关系为操作决策提供了最深入的了解。图是捕捉和分析这种关系的理想数学结构。它们为分析工作提供了形式化的语义和众所周知的算法,并且具有直观的特性,可以用可视化的方式捕获这些特性,以便进行通信和易于理解。

图在网络安全方面的早期应用(1991年引入)是威胁逻辑树,用于对针对计算机[1]的攻击建模。这些与30年前为安全建模而开发的故障树[2]相似,后来被推广为攻击树[3]。攻击图这个术语是在1998年被创造出来的,它代表了从一个不安全条件的逻辑树到一个安全状态图的转变,攻击者利用攻击引起状态变化。使用模型检验器通过枚举状态变化序列(攻击路径)来自动生成攻击图[5,6],尽管这会导致状态空间爆炸[7]。

从枚举攻击序列到映射攻击之间的依赖关系,最终得到的图可以按网络主机[8]的数量进行二次伸缩。在保持语义和保持分析表达性的同时,还进一步改进了攻击图的复杂性[9-12]。[13]最近的一项研究发现,这种攻击图模型在分析感知网络攻击方面更有效,特别是对于经验丰富的网络安全分析师。

至此,基于图的网络安全方法的研究和开发已经达到了一定程度的成熟。这方面的一个指标是来自政府和商业部门的大量现成工具的出现[14-19]。在[20]的第五个年头里,还有一个专门研究[20]安全图形模型的研讨会。

早在2005年就有一篇关于这一研究领域的文献综述。最近的综述[22,23]描述了30多种(非循环)基于图的方法,用于建模网络攻击和防御,还有许多其他方法用于更一般的有向图。甚至在最近的[13]中,已经提出了50多种表示攻击图的方法,每种方法在表示上都有关键的区别。另一个分类处理[24]根据模型构建阶段对攻击图生成的各个方面进行分类。

二、运营方向

当将技术解决方案应用于问题领域时,关键的第一步是确定所需的结果。这反过来又有助于定义问题的范围,需要与潜在技术解决方案的功能保持一致。在本节中,我们考虑网络安全问题领域的两个主要方面:

1. 整个安全过程的特定阶段(预防、检测或反应)。这是安全性的“何时”方面。

2. 关注的操作层(网络基础设施、安全态势、网络空间威胁、任务依赖性)。这是安全性的“where”方面。

下面两个小节将研究基于图的网络安全的各种技术方法如何与这些安全阶段和操作层保持一致。

2.1安全操作阶段

分阶段的安全措施有助于提供深度防御。图形模型适用于操作安全的所有阶段,如下面的小节所述。

2.1.1预防

安全的第一阶段是通过减少攻击者成功可能性的补救活动,帮助防止攻击成功。网络安全是在复杂的环境中进行的,有许多因素促成了攻击的成功。例如,网络拓扑结构、主机配置、漏洞、防火墙设置和许多其他元素都可以发挥作用。要超越基本的保护措施,需要将孤立的数据合并到整个网络的攻击漏洞模型中,特别是捕获到对手如何利用多个漏洞逐步渗透网络的模型。

从历史上看,基于图的模型首先应用于防止攻击,作为安全的第一个(而且可以说是最重要的)阶段。早期基于图的模型(例如,攻击树)通常捕获用于攻击单个系统(例如,主机)的逻辑组合。到1996年,多主机攻击图被认为是[25]。针对一般TCP/IP连接的攻击图模板[26]为适用于一般(脆弱的)网络服务的模型铺平了道路,防火墙规则限制连接。通过漏洞扫描报告[27]和防火墙规则[28]自动填充模型,使得为操作网络生成攻击图成为可能。图1说明了如何从网络拓扑结构、主机漏洞(扫描报告)和防火墙配置文件(访问控制规则)构建模型。然后可以分析这个网络模型来生成攻击图。


在网络主机及其脆弱服务的级别上对多步骤利用进行建模,而不是单个利用(在最坏的情况下,假设一台机器上的任何多个较低级别利用序列都可以由攻击者执行),从而降低攻击图[9]的复杂性。其他简化的假设(例如,对具有隐式无限制访问彼此脆弱服务的机器集的“保护域”)进一步降低了图的复杂性。这种图复杂度的降低有助于计算(提高伸缩性和性能)和认知(便于理解分析结果,例如,在可视化时)。

如图2所示。图的顶部显示了原始攻击图在单个攻击级别上的全部复杂性,其中未应用带隐式域内攻击的保护域聚合。这里,完全显式的非聚合图仅用于演示。域内边实际上不在操作工具中计算。

图2的底部显示了一个分析仪表板,其中应用了复杂性降低技术。它有许多保护域(框),每个域包含一组主机。在每个保护域中,隐式地假定主机在域中完全公开其脆弱的服务。攻击向量只在保护域中显式。在仪表板中,安全分析人员可以为攻击场景选择起点(子网中的机器)和/或终点(要保护的关键主机)。然后,该工具将攻击图限制为只包含在起始点和结束点之间可访问的主机。

在最近的一项研究[13]中,研究人员对不同背景的参与者进行了测试,旨在衡量特定图形模型在回忆、理解和应用每个模型方面的感知有效性。所选模型为(1)“自适应攻击图”,即(2)较为传统的故障树模型。选择这两类模型是出于功能考虑(与基本的网络攻击构造相对应)以及它们在学术界的接受程度。本研究发现利用依赖图表示对于网络攻击的分析感知更有效,尤其是对于网络安全专家.

一旦建立了攻击图模型,我们就可以根据一些最优性准则应用算法来加强网络(减少攻击图)。一个例子是计算攻击的起始点和结束点之间的最小切割[29](在保护域级别)。这就找到了阻止对手到达关键主机所需的最少数量的网络更改(修补过的漏洞或防火墙规则修改)。另一种(贪婪的、次优的)启发式是根据暴露在保护域[30]上的次数对不同的漏洞进行排序。根据这个通用攻击图模型,提出了多种度量方法,通过加强度量来度量整体网络安全[31,32]。

对于更精确的网络强化决策(基于攻击序列),我们可以计算一组确保给定关键资源安全性的强化措施(初始网络条件)[8,33]。这涉及到从攻击图构建逻辑表达式,根据攻击图(通常是多步骤)开发所需的条件来表示攻击目标。表达式被转换为规范的连接法线形式,因此每个连接maxterm表示防止攻击目标的初始条件(可能不是最优的)的组合。然后,该算法根据maxterms所需要的网络配置更改的数量,在maxterms之间形成偏序,从而找到最优的加固解决方案(即,这需要最少的配置更改)。

网络加固中的最优性条件可以考虑其他实际因素。在实践中,强化选项通常是相互关联的,比如对许多主机应用相同的补丁,或者在强化选项(例如补丁与防火墙规则更改)之间进行选择,这些选项可能对服务可用性产生意想不到的影响。通过将强化策略形式化为可允许的操作,并定义(可能相互依赖的)强化操作的成本,可以应用提供近似最优解的近似算法,同时随着攻击图[34]的大小线性伸缩。通过模拟退火[35]对基于攻击图的硬措施进行了优化。

攻击图的一般结构也可用于分析利用未知(零日)漏洞的弹性。这包括枚举每个网络主机上不同的服务,并根据到这些服务的连接性构建攻击图,并添加任何已知的服务漏洞。然后可以根据实现攻击目标[36][37]所需的零日漏洞数量定义度量。虽然计算实际需要的零日漏洞数量是NP-hard,但是测试一个网络是否安全到给定的零日漏洞数量(相当小)在计算上是可行的。

2.1.2检测

当然,一个组织首先应该努力阻止网络攻击的成功。但是,从实际情况来看,通常仍然存在残留的漏洞,例如,由于缺少补丁或需要对遗留系统进行处理。下一道防线是检测攻击网络环境的敌对企图。同样,为了有效的安全,不应该孤立地考虑入侵警报。例如,当攻击者试图获得更大的网络存在时,可能会发出多个警报。或者,针对已知漏洞的机器发出的警报(尤其是那些与警报行为相匹配的漏洞)可能需要更多的关注。考虑到许多入侵检测系统中存在大量假阳性警报,这一点尤其重要。

从语义上讲,入侵警报与攻击者的攻击有对应关系。实际上,已经提出了警报相关图,用于从警报流[38]中发现多步骤攻击场景。警报在匹配前置条件和后置条件方面是相关的,比如利用预测(与观察)攻击图中的依赖关系。在这种方法中,通过从其他观察到的事件(如扫描)推断出的间接依赖关系来处理丢失的警报(假阴性)。还可以通过标准化攻击模式[39]之间的关系(例如,公共攻击模式枚举和分类(CAPEC)™[40])来填补检测到的对手操作中的空白。

如果我们已经计算了网络的潜在攻击图(如图2所示),那么确保监视暴露的脆弱路径上的流量是合理的。考虑到部署和维护每个入侵传感器的成本不可忽略,我们可以最小化覆盖所有已知攻击路径的总成本(传感器数量)[41-43]。如图3所示。右上角是攻击图(在保护域级别)。问题是使用最少的传感器来查找覆盖所有域间暴露漏洞的入侵传感器(与拓扑中的路由器协同)的位置。

这个传感器放置问题是最小集覆盖问题[44]的一个实例。当集合覆盖是np困难时,我们通过一个贪心算法来解决这个问题,它被认为是一般集合覆盖[45]的多项式时间逼近的最佳可能。在set cover中,我们给定了某些元素集,它们可能有共同的元素。问题是选择这些集合的最小数量,这样它们就包含了所有的元素。

在这种情况下,元素是攻击图的边缘(在保护域之间),集合是部署在特定网络设备上的入侵传感器。每个传感器监视一组给定的边,即,可以查看给定攻击者/受害者计算机之间的通信。在贪婪集覆盖算法中,我们迭代地选择包含最多未覆盖元素的集合。对于每个选择迭代,我们喜欢包含不频繁元素的大型集合。在图3的例子中,在路由器A和D放置传感器覆盖了攻击图的所有5条边。一般来说,贪心算法将n个元素的最优解近似为ln(n)的一个因子,尽管在实践中它通常做得更好。例如,图3中的解(通过贪心算法得到)是最优的。

利用特定的数据结构,集合覆盖的贪心算法复杂度为O(n),其中n为域级攻击图边的个数。改进的解决方案可以通过运行时间较长的算法[46],如模拟退火或遗传算法[47]。Set cover是计算机科学[48]中研究最广泛的问题之一,它将传感器的最优配置问题置于坚实的理论基础上。

一旦入侵检测传感器就位并生成警报,我们就可以使用攻击图来关联警报,对警报进行优先级排序(例如,根据到关键资产的距离),确定下一个可能被利用的脆弱路径,等等。以图4为例。这说明了如何利用潜在攻击图从入侵警报[49]流推断多步骤攻击事件。

在图4中,最上面时间序列图中的警报距离显示嵌入在基于漏洞的主机到主机攻击图中的警报对之间的图距离。这里,距离为1表示嵌入攻击图时两个警报立即相邻(距离为1)。然后,距离为2表示虽然警报不是直接相邻的,但是只有一个可利用的漏洞将它们分隔开(例如,有一个未检测到)。对于根据攻击图关联警报,可以方便地将距离转换为相似点(相对于不同点),如图4中的相似点(最低的时间序列图)。

由于测量中的噪声(错误)(例如,导致警报之间相似性较低的漏检),对一系列相似性值应用某种形式的平均(低通滤波)是合理的。如图4所示(从上至下第二列),计算之前所见值的全局平均值可以平滑波动,但不能很好地响应局部趋势。另一方面,移动平均线(从上至下的第二个系列)对剧烈波动具有一定的鲁棒性,同时仍能很好地跟踪本地趋势。在这里,我们应用指数加权移动平均[50],它逐渐减少了进一步删除数据的权重。这相当于一个一阶低通信号滤波器,通过一个高效的递归公式计算,该公式不需要存储过去的值(无内存)。

如图4所示,通过对警报相似度的移动平均值应用阈值(基于攻击图距离),我们可以将多步骤事件推断为相关警报组。通过维护多个警报序列并计算每个序列的过滤相似性,可以跟踪同时发生的事件[49]。

拥有更丰富的潜在多步骤攻击的图模型,为关联入侵警报[39]提供了其他选项。如图5所示。在这里,我们构建了一个安全事件相关数据的图表,如图顶部所示。这包括主机、拓扑信息(保护域和防火墙设备)、漏洞和来自国家漏洞数据库(CVE、CWE、CPE、CVSS等)的相关数据[51],以及用CAPEC攻击模式表示的潜在攻击漏洞。在这里,利用(攻击模式)是基于一种利用如何为另一种利用做准备(通过准备关系)联系在一起的。这些漏洞还与它们所针对的特定漏洞相关联。


图5的底部显示了通过遍历事件图,两个入侵警报以及其他上下文和推断是如何关联的。遍历被限制为从图中Alert类型的节点开始,并遵循[Alert、AGAINST、VICTIM、ON、launch、prepare]类型的边。这些边缘类型将警报与漏洞(类型警报)、漏洞与漏洞(针对)、漏洞与机器(受害者)、机器上的漏洞(on)、机器上的漏洞(启动)和漏洞与其他漏洞(准备)关联起来。

这个遍历结果显示,“客户端缓冲区溢出”警报(针对任务客户机上的QuickTime漏洞)沿着可利用的路径引导到“web应用程序指纹”警报(针对数据库前端)。由此,我们可以推测,警报可能是同一对手的多个攻击步骤。以下是相关的利用链:

•针对任务客户端的客户端缓冲区溢出。

•客户端数据库登录凭证的解除。

•从客户端登录数据库(通过web前端)。

•通过指纹识别发现后端数据库细节。

•针对数据库的SQL注入攻击。

这种发现警报之间漏洞路径的能力尤其重要,因为在许多情况下,关键攻击者的行为没有被检测到,尤其是来自高级对手的攻击。

2.1.3反应

在遭受攻击之前,组织可以采取补救措施,帮助预防和限制安全事件的蔓延,并部署入侵检测传感器来监视网络。然后,一旦攻击真正发生并被检测到,最后的防线是做出反应,将攻击者的影响降到最低。在这方面,图形分析也可以帮助制定有效的方法来应对攻击。例如,可以应用图表对相关警报进行聚类,根据关键任务系统对攻击响应进行优先级排序,显示访问策略更改,这些更改可以防止攻击传播,同时最小化对其他网络服务的干扰,或者评估操作流程对攻击响应的有效性。

在上一节中,我们描述了如何利用攻击图从独立的入侵警报和相关数据推断潜在的多步骤网络攻击事件。然后可以对推断出的事件进行优先级排序,以集中安全运营商的努力。例如,考虑图6。它描述了在一段时间内检测到的入侵检测警报,其中源地址和目标地址作为节点,每条边表示一对地址之间的一个或多个警报。

这说明了警报集群(作为独立连接的图组件与其他集群分离)如何形成可以作为一个整体进行研究的警报集。图6是一个模拟,它与部署在企业上的基于主机的安全系统(HBSS)[52]发出的真实警报非常相似。从图中可以看出,这种警报图由相对较少的大集群(弱连接组件)和许多小集群(包括只有一个地址的集群,即,本地主机警告)。这是一个常见的幂律分布[53]的例子,其中大型事件很少见,但小型事件很常见。

我们可以通过对集群进行某种重要程度的排序来利用这一点,通常根据集群的大小进行排序。这种优先级可能会考虑其他信息,比如警报的严重程度和/或关键任务网络资产的接近程度。这里,与关键资产的接近程度取决于可利用的漏洞路径[41],如图7所示。这显示了分组到子网(保护域)的机器,以及来自子网的机器对机器边缘(显式的漏洞暴露)。可以将一个或多个主机指定为关键资产(如图所示)。然后,我们可以根据攻击图距离(例如,到关键资产的最短路径)对警报进行优先级排序。也就是说,靠近关键资产的攻击具有更高的优先级,因为它们代表更大的风险。我们可以将其从单个警报扩展到警报集群,例如,从集群中的任何警报到关键资产的最短路径。

入侵警报可以与网络流数据相结合,生成的图表为网络弹性和情景理解提供了更完整的画面。例如,网络流记录可以帮助填补检测到的攻击中的空白(假阴性)。这种组合警报+流程图通常合并集群(从图6的意义上看),其方式是单独的组件不足以区分事件集群。为了解决这个问题,我们可以应用图形模式匹配查询[54]来约束将事件集群作为独立组件分开的图(例如,与警报和关键网络资产的距离)。

在检测到攻击时,我们可以使用graph来预测下一步可能的步骤,并采取特定的操作,例如阻塞特定的源/目标机器和目标端口。例如,在图7中,假设出现了优先级-3警报(在子网2中)。此时,我们知道攻击者下一步可以移动到子网2中的任何位置,或者可以从受害机器对子网5中的机器发起攻击。因此,为了防止对关键资产的渗透,可以阻止从受害计算机到子网-3计算机的通信,针对其脆弱服务的特定端口。图形查询还可以显式地显示受影响的计算机和关键资产之间的网络拓扑的路径,以确定哪些防火墙可以阻塞流量[55]。

对于这种警报优先级排序,仍然存在捕获计算机资产和任务功能之间依赖关系的问题。的确,如果我们还能将较低层次的任务职能与较高层次的任务要素(例如任务、目标和整个任务)联系起来,就有可能进行更深层次的组织决策。如图8所示,这是一个为演示网络态势理解和决策支持能力而开发的任务依赖模型[56,57]。

该模型将依赖关系从整体任务映射到各个抽象级别,最后映射到特定类型的网络资产。具体来说,每项任务都有若干目标需要完成,每项目标都由一项或多项任务完成。每项任务都依赖于完成它的一组功能,而这些功能又依赖于特定的网络资产。依赖关系通过逻辑关系(Boolean AND / or)关联,默认关系是conjunctive (AND)。该模型还包括依赖项的临界权重,作为一种表示如果依赖项的子元素不可用时对父元素的影响程度的方法。这是一个在美国国防部普遍使用的四级临界模型(任务完全失败、显著降级、部分能力损失、可忽略的损失)[58,59]。

通过图形查询,我们可以确定网络攻击对任务元素的潜在影响。如图9所示。这个子图(整个任务-网络图的子集)显示了获取目标位置任务任务的传递依赖关系,直到网络资产类型(服务器)。在此基础上,我们分析了针对宽带卫星服务的网络攻击的影响,并推荐了额外的冗余如何防止任务失败。

在分析任务影响时,我们可以忽略FFT服务,因为它不以任何方式依赖宽带卫星服务。通过OR2节点的冗余提供了通过VOIP服务(这需要宽带卫星服务和VOIP电话)丢失语音通信的替代方案。电子邮件服务由于丢失宽带卫星服务而丢失(虽然存在冗余的电子邮件服务器,但仍然需要依赖宽带卫星服务)。不过,由于OR4的冗余,聊天服务仍然可用。

仍然存在对COP服务的依赖。虽然OR7提供了一种冗余,但是COP服务仍然直接依赖于宽带卫星服务。由于获取目标位置严重依赖COP服务(作为一级依赖),任务无法执行获取目标位置任务。为了降低这种风险(在宽带卫星服务丢失时失去目标位置),需要为COP服务本身或其对宽带卫星服务的依赖提供冗余的替代方案。

我们描述的图形模型捕捉网络空间以及任务元素如何依赖它。网络安全的另一个方面是实施的操作过程。能够在可执行模型中捕获这些信息,允许通过模拟[60]对流程有效性进行正式评估。在这种方法中,可以通过业务流程模型表示法(BPMN)捕获流程流[61]。这包括(1)完成和防御网络攻击任务的过程,(2)网络防御,以及(3)对手战术、技术和程序。通过对该集成模型的离散事件模拟,可以根据基于任务的度量对各种威胁场景的影响进行量化。

图10显示了这种网络防御流程模型的高级部分。该过程由警报(入侵检测系统、用户提示等)触发,然后进行分类以了解警报的基本性质。根据事件的严重程度和受害计算机的过去历史,防御者要么重新启动计算机,要么恢复损坏的数据,要么从未受损害的映像重新构建计算机。如果在多个事件中检测到感染或机器是受害者,辩护人将进行更深入的取证(例如,搜索其他感染并根据需要重建受害者)。

2.2安全运营层

图分析在安全的所有操作层中都扮演着重要的角色。网络弹性包括网络基础设施内部和跨网络基础设施之间复杂的相互关系、安全态势、网络威胁和任务依赖性。

如图11所示,较低层次的方面往往会影响到上面的方面。安全状态受网络配置元素(防火墙规则、访问控制策略、web网关、已知漏洞等)的影响。网络威胁行动者的成功受到防御姿态的影响。任务的成功反过来取决于防御者保护关键网络资产的能力。

在这一描述中,安全态势和网络威胁呈现重叠;由于网络态势的弱点,一些威胁更为严重,而如果从未受到攻击,一些漏洞就不那么严重。从安全的三个阶段(预防、检测、反应)来看,通过改变网络基础设施,组织的安全态势在安全的预防阶段得到改善真实(软件补丁,访问策略等)。网络威胁处于检测阶段,考虑到安全态势(例如已知的漏洞路径)和任务依赖性。

因此,尽管将安全问题考虑为发生在单独的层中在概念上是有帮助的,但实际上,在每个方向上,层内和层间都存在相互关系。基于图的模型提供了一种结构化且灵活的方法,将这些方面合并到一个统一的知识库中,用于网络情景理解、风险分析、主动补救和反应性缓解。

三、数学结构

从本质上讲,在每一种基于图表的网络安全方法中,基础数学都不是纯粹的图表理论。相反,图形结构是框架的一部分,框架还包含其他类型的数学结构和算法。重要的是要理解每种方法的基础数学属性,将它们与要处理的特定问题域的语义和满足操作安全需求所需的分析结果相匹配。

例如,基于图的网络安全分析的最早实例之一是威胁逻辑树[1],它使用图(树)来组织导致系统不安全状态的逻辑关系。这种逻辑框架后来被应用于寻找最优解(逻辑初始条件的组合)来加强对这种威胁的抵御[8,33,34,62]。网络硬化问题也被表述为一个多目标优化问题[35,63]。研究人员已经将更通用的基于逻辑的技术应用于攻击图的生成,包括逻辑编程[64]和模型检查[5,6]。

贝叶斯方法也被纳入到安全图分析中。这提供了更微妙的模型,承认网络环境中存在不确定性的可能性(例如,特定漏洞被利用的可能性),而不是严格的布尔决策。例如,贝叶斯网络是由攻击图模型生成的,用于评估网络安全[65,66]。贝叶斯网络也被应用于入侵响应,如处理攻击结构(先决条件)、对手行为或入侵检测精度中的不确定性[67]。贝叶斯模型还可以通过仿真进行分析[68],从而更深入地了解攻击结果的概率分布。

转换到更高的抽象级别(更少的底层细节)具有降低复杂性的优势,可以减轻计算和认知负担。通过假设(对于防御者)攻击者将成功利用暴露的漏洞的最坏情况,可以抽象出此类利用的详细信息[9]。这种简单的模式,攻击图可视为一个流网络[69],我们可以申请最低的Ford-Fulkerson方法减少[44],他们发现最少暴露的弱点变硬,防止敌人达到给定的攻击目标从给定起点[70]。它还提供了一种将攻击图距离应用于关联入侵警报[49]的直接方法。

将标准图算法应用于简化的攻击图模型的另一种方法是使标准图算法适应于攻击图的特定语义。这方面的一个例子是对著名的PageRank算法[71,72]的泛化,泛化处理攻击图语义[73]。在某些情况下,嵌入到图结构中的优化问题能够得到集合理论解[41-43]。图与矩阵之间的对应关系(通过邻接矩阵[74])可以用于特定的攻击图分析,如对暴露漏洞的相关模式进行聚类[75]。

对基本攻击图的另一种扩展将其建模为包含动态(随时间的变化)。时变图已经在许多学科中得到了研究,并以许多名字为人所知[76]。基于图像的分析还需要考虑其他因素[77]。一些网络安全图形分析工具[55]已经包含了对时变图的支持。通过环境(移动并发系统)[78],动态也被纳入攻击图模型中,例如用于跟踪被盗凭证[79,80]。

基于过程建模的动态安全建模已应用标准化建模规范[61],如评估网络攻击对任务效能和性能的时变影响[81],包括网络攻击者和防御者[60]的动态交互作用。博弈论方法已被应用于攻击者-防御者动力学中,用于确定给定投资水平下的最优安全方法[82]。

网络安全的图分析也利用了属性图的形式[39,54,55]。属性图是具有属性的多关系图,其中顶点和边被标记,并且可以具有与它们相关联的任意属性[83]。这种方法从摄取的数据构建属性图模型,并将其存储在图数据库中。这提供了丰富的图形特性源,支持图形模式查询(带有属性约束的遍历),这些特性在用户界面中是可视化的。

四、架构方面

从历史上看,为安全图分析构建的应用程序是作为自定义代码编写的,运行在一台主机上。更通用的框架(如模型检查器)已应用于[5][6]进行此类分析。由于模型检查具有较高的一般表达能力,长期以来一直存在状态空间爆炸的问题,但在可扩展性方面也有一些改进,如多核模型检查[84]。并行分布式搜索算法也被提出,通过在分布式多代理系统上提供一个虚拟共享内存抽象来处理构建攻击图时的状态空间爆炸[35,85]。

关系数据库也被用来实现攻击图分析[86]。虽然这具有标准数据表示的优点,但它也有性能限制,因为图遍历需要昂贵的自连接操作[83]。跟上不断发展的网络环境和分析需求是困难的,因为扩展关系模型需要模式重新设计、数据库重新加载等等。此外,许多图形操作很难用结构化查询语言(SQL)表示。

出现了一类称为图数据库的非关系数据库,它们通过属性图存储和计算,并针对图操作(尤其是遍历)进行优化。示例包括NoSQL图形数据库,如Neo4j[87, 88]和JanusGraph[89],资源描述框架(RDF)存储,如Rya[90],以及Apache TinkerPop[91]图形计算框架。已经有了查询非关系图数据库的标准化工作[92],并且有对Cypher[93]、SPARQL[94]和Gremlin[95]等图查询语言的多供应商支持。

图形查询语言通常是声明性的[96],其中指定要匹配的图形查询模式。数据库实现基于查询声明访问数据,允许实现特定的优化。

图数据模型与查询它的语言之间存在直接对应关系[97],即,如何分析(查询)数据需要匹配数据的表示方式。

NoSQL图形数据库技术已经被用于网络安全分析和可视化[39,54,55]。在从各种网络和主机源获取数据之后,这种方法将数据映射到存储在图数据库中的属性图,从而捕获网络安全领域中实体之间的复杂关系。在这个架构中,网络安全模型模式可以随可用的数据源和所需的分析而自由发展,而不是在设计时固定下来。该方法定义了一种特定于网络安全领域的查询语言,便于安全运营商理解,并将其编译为本机后端图形数据库查询语言。它还通过对实例化数据库的检查自动推断底层图模型,并将模型呈现给用户以进行交互查询表示。然后,它在交互式图形可视化中呈现图形查询结果。

五、总结

本章综述了基于图的方法在网络安全中的应用研究。应用领域包括评估和改进计算机网络的安全性、保持态势感知和确保组织任务。讨论的重点是操作安全需求。我们研究的一个方面是应用基于图的方法的安全操作(预防、检测和反应)阶段。另一个方面是方法跨越的操作层(网络基础设施、安全态势、网络空间威胁、任务依赖关系)。我们还研究了各种方法的数学基础和体系结构方面,特别是它们对可伸缩性和性能的贡献。

你可能感兴趣的:(网络安全分析的图形方法综述)