网络安全攻击图技术初探

一、背景

作为当前网络安全领域的研究热点之一,网络脆弱性评价不同于其他一般的性能评价技术。例如,入侵检测、防火墙和病毒扫描等技术都是在攻击进行时发生或发生后的被动检测,而网络脆弱性评价是由黑客攻击和防范技术发展而来的,是一种在攻击发生前的主动探测。因此在对网络脆弱性进行评价时,针对攻击行为构建安全模型是一个关键步骤。另一方面,根据安全模型可以获得系统可能的行为和状态,以此为基础展开进一步的分析和计算,为完善系统安全策略提供帮助。而攻击图是网络脆弱性评价的重要手段。

本文综合论述计算机网络攻击建模的研究概况,剖析网络攻击图的定义,讨论现有的网络攻击图的主要生成方法,归纳总结目前网络攻击图的应有,最后给出网络攻击图研究的若干热点问题及展望。

 

二、什么是攻击图

网络中总是存在一定的安全漏洞,同时这些漏洞之间可能存在一定的关联关系,即当一个漏洞被成功利用后,可能为另一漏洞的利用创造有利条件。虽然说消除所有的漏洞是不切实际的,但在网络环境中对遗留的漏洞置之不理,可能会对关键资源造成重大危害。为了能够彻底找出所有关联关系,最有效的方法就是通过模拟攻击者对存在安全漏洞的网络攻击过程,找到所有能够到达目标的攻击路径,同时将这些路径以图的形式表现,这种图就是网络攻击图,简称攻击图。

与攻击树和Petri网相比,攻击图对网络攻击过程的描述能力更强,应用范围也更加广泛。

攻击图是一种基于模型的网络脆弱性评估方法。攻击图技术能够把网络中各主机上的脆弱性关联起来进行深入地分析,发现威胁网络安全的攻击路径并用图的方式展现出来。安全管理人员利用攻击图可以直观地观察到网络中各脆弱性之间的关系,选择最小的代价对网络脆弱性进行弥补。攻击图技术主要有两个方面:

  • 攻击图生成技术,攻击图生成技术是指利用目标网络信息和攻击模式生成攻击图的方法,是攻击图技术中的基础。
  • 攻击图分析技术,攻击图分析技术是指分析攻击图,得到关键节点和路径或者对脆弱性进行量化的方法。

 

三、为什么做攻击图

目前,计算机网络已然构成了诸多信息技术基础设施的核心组成部分,这些设施包括电网、金融数据系统和应急通信系统领域等。及时发现和消除计算机网络系统中存在的安全隐患,杜绝恶意的攻击行为,是网络安全管理的一项重要的任务。我们常常能够在被利用来攻击这些系统的软件/应用中发现脆弱性,而攻击者就是利用这些被公布或者没有被公布的脆弱性方才得以实施攻击。

但是就目前而言,组织网络的安全风险管理与其说是科学,不如说是一门艺术。系统管理员通过直觉和丰富的经验来操作,而不是依靠客观指标来指导和证明决策的制订。

攻击图技术旨在用于解决此类场景的问题,其包括

  • 可用于客观评估的模型和指标
  • 评估企业网络中的安全风险的分析技术
  • 指导管理员使用模型和指标,帮助进行网络防御决策的理论和方法。

为了提高组织网络的安全性,提出了基于攻击图的网络安全评估方法,测量由不同网络配置提供的安全性。随着大数据网络的发展,网络攻击手段呈现出多样化与复杂化,网络安全分析的要求也是越来越高,而网络攻击图作为分析网络状况的一个重要方法,对防止网络攻击,实施网络安全防护有一定的现实指导意义。

攻击图研究的目的是开发一个标准模型,用于测量计算机网络的安全性。标准模型将使我们能够回答诸如“我们比昨天更安全吗?”或“一个网络配置的安全性如何与另一个进行比较?”这样的问题。另外,有一个标准模型来衡量网络安全可以使用户,软件供应商和研究人员能够一起评估网络安全的方法和产品。

对于组织来说,网络的安全风险分析主要有如下挑战:

  • 安全漏洞非常泛滥 CERT每周会报告约100个新的安全漏洞,这使得对于企业网络的安全管理(包括数百主机、每个主机上不同操作系统和应用程序以及它们上存在的可被利用的漏洞)非常困难。
  • 攻击者发起的多步骤攻击 相比以前攻击者仅能发起简单的原子攻击而言,现在的攻击者为了能够突破各类防火墙/网关的防御,往往会采用多步骤、多宿主的攻击,逐渐渗透进整个网络,最终危及到关键系统。但是其每一步骤却又不足以引起防护系统的警报,这使得对于关键系统的保护具有挑战性。
  • 现有防御手段不能处理攻击的复杂性,计算机系统遭受的攻击逐渐增多,当一个新的漏洞被报告出来后,攻击者可以非常快速的开始使用这个漏洞。传统的攻击检测方式(如入侵检测系统IDS)具有太多诸如误报、低可拓展性和检测攻击的限制方面的问题。

良好的评价指标应当具有如下性质:

  • 指标是一致的
  • 收集成本低
  • 数字表示
  • 有度量单位和具体的上下文

攻击图技术通过捕获漏洞之间的相关性,并以实际攻击者渗透网络的方式来测量安全性,从而应对这一挑战。通过网络分析所有攻击路径,提供整体系统的风险指标。通过这个指标,可以分析安全成本和安全利益之间的权衡。因此,决策者可以避免过度投资无法产生实际效果的安全措施,或避免投资和风险造成毁灭性后果。攻击图技术的度量是一致、明确的,并为理解计算机网络的安全风险提供了上下文。

 

四、攻击图生成和分析技术

攻击图是由Cuningham等人于1985年提出,他们认为是由各种通过物理的或者逻辑的方法相互相连的组件构成。典型的网络攻击图由节点和连接节点的有向边组成。其中节点表示网络所处的状态,节点间的有向边表示网络状态间的转移关系。

为了生成攻击图,首先需要对网络建模、建模过程中需要大量关于网络中的与安全相关的信息,如主机配置信息、主机漏洞信息、网络拓扑信息、网络配置信息等。在生成网络攻击图的过程中,需要应用相关漏洞库的知识确定网络中存在的各个漏洞之间的关系。

网络建模与攻击图生成需要充分考虑所生成的攻击图的最终应用,

  • 进行渗透测试时需要找出到达所有攻击路径
  • 用于风险分析或寻找最短攻击路径时可能需要考虑各个原子攻击的复杂度或成功概率以及漏洞被成功利用后所带来的危害程度等
  • 用于指导漏洞补丁管理时则需要计算每个漏洞补丁的代价
  • 用于定位溯源真实入侵的Rootcase时则需要按照发生概率对潜在的配置风险和代码漏洞进行排序,并尝试将真实攻击日志和入侵事件进行关联

因此,攻击图的最终应用在一定程度上决定了需要建立的模型与生成方法。

目前攻击图生成方法很多,为了便于对这些方法进行分析、比较及评价其优劣,需要对攻击图生成机制进行分析,找出可以用于对其分析比较的属性,并对生成方法进行分类,找出存在的问题,发现可能的研究发现。

0x1:攻击图生成技术的研究

典型的模型逻辑工具有:MulVAL和麻省理工学院实现的NetSPA系统。

1、MulVAL(多主机、多阶段的脆弱性分析)

2005年Ou等人提出了MulVAL。MulVAL具有强大的网络数据采集能力和性能优势。在研究中,实验者描述了一种基于Datelog的网络安全分析器。脆弱性数据库中的信息、每台主机的配置信息和其他的一些相关信息都能通过程序的加工处理编码成为Datelog中的事实,从而供推理引擎分析,计算出网络中各种组件之间的交互。MulVAL最后生成的逻辑攻击图(Logical Attack Graph)的规模随着网络规模大小的变化为O(n2)

2、NetSPA

2006年,麻省理工学院提出NetSPA(网络安全计划架构)。在实验中,实验者使用攻击图来模拟对手和简单反制措施的效果。它使用防火墙规则和网络漏洞扫描工具创建组织网络的模型。然后,它使用该模型来计算网络可达性和多先决条件攻击图(Multiple-Prerequisite Attack Graph),以表示对手利用已知的漏洞发起攻击的潜在路径。这会发现所有攻击者从一个或多个位置开始并最终能够入侵的主机。

NetSPA生成的攻击图规模通常随着典型网络中主机数量的增加而缩放为O(nlogn)。它解决了以往攻击图研究中的网络数据自动采集问题和攻击图生成算法扩展性的问题,定义了更为简单的网络模型,方便系统自动采集网络数据。而通过测量攻击者可以攻陷的总资产(数量、价值),可以评估不同攻击者的风险。

虽然方法不同,但是这两种攻击图生成方法从效率和能力上来说的差距其实是不大的,事实上,在近年的攻击图研究发展中,有关攻击图生成方向的研究不再主要以尝试发明新的攻击图元模型,而是更多的集中于研究如何提高攻击图的生成效率。

0x2:攻击图分析技术 

攻击图元模型和攻击图生成技术其实都仅仅是将组织网络、脆弱性、攻击模式等安全相关信息使用建模的方式进行表示,并且关联了起来。虽然更加直观的展示组织网络中存在的各类信息以及他们的之间的关系,但是么有提供任何评估、分析方面的内容,而这就是攻击图分析技术研究所进行的工作。

对于攻击图的分析主要是基于贝叶斯理论进行的,NayotPoolsappasit、RinkuDewri、Indrajit Ray(IEEE机构成员)提出了一个使用贝叶斯网络的风险管理框架,使系统管理员可以量化各个级别的网络陷落概率。

他们认为,安全风险评估和缓解技术是维持高效IT的两个重要过程基础设施。

  • 一方面,已经提出了诸如攻击图和攻击树等模型来评估各种网络状态之间的关系的原因和后果
  • 一方面,已经探索出不同的决策问题来识别最低成本加固措施

然而,这些风险模型并不能帮助网络之间因果关系的原因状态,由此,他们提出使用贝叶斯网络的风险管理框架,使系统管理员能够量化机会各级网络陷落。他们展示如何使用这些信息来制定安全缓解和管理计划。在与其他类似模型形成对照,该风险模型适用于网络部署阶段的动态分析。

Cauldron的作者Noel S.和Jajodia S.在2014年一篇文献中对攻击图度量的指标进行了分簇,如下图所示:

基于这样的一些安全度量指标,我们就能够对整个组织网络的安全态势,给出基本的判断——“一个网络到底有多安全?”

除开单纯数值上的分析,我们还可以对图结构进行更多的分析,其中最为主要的就是攻击面分析。攻击面分析的本质在于求解所有攻击路径,直观展示攻击者可以采用的攻击路线,便于后续对这些攻击路线的深层分析。

  • 路径的深层分析一方面包括路径代价分析,即首先确定每条路径的长度(或者说原子攻击的数量),然后就可以结合原子攻击的代价/成功率信息,计算整条攻击路径的代价/成功率。
  • 一方面则是对结点进行分析,包括“关键结点”的计算,即一定存在于攻击路径上的点,修复任何一个关键结点则所有的攻击路径失效。由于关键结点并不一定存在,所以可以进一步对结点权值进行计算,通过途径此结点所有攻击路径的代价、成功率以及目标价值,计算这个结点的收益权值,提供给决策者进行修复决策。

下图为一个典型的路径分析结果展示:

 

五、攻击图的应用

攻击图是种非常重要的工具,已广泛应用于网络安全分析与评估的研究。从安全生命周期PDR(防护、检测、响应)来看,可以应用于网络安全设计、网络安全与漏洞管理、入侵检测系统、入侵响应等。从应用领域来说,不仅应用于普通的互联网络,还可以应用于无线网络、工业控制网络,特别是电力网络以及对网络依赖性非常高的其他行业或领域。从应用角度来说,网络攻击图可以应用于网络渗透测试、网络安全防御、网络攻击模拟仿真等。 

0x1:攻击面管理(大型网络可观测)

0x2:网络渗透测试(攻击规划)

0x3:网络攻击路径预测(入侵方式溯源)

攻击路径预测的目的是通过告警关联分析技术分析攻击行为,揭露这些攻击行为背后隐藏的逻辑,进而构建攻击场景,最终推断出攻击者的后续攻击步骤,实现及时发现主动防御。

攻击路径预测的关键主要分为两部分:

  1. 了解当前的攻击行为

  2. 预测攻击者可能会采用的攻击路径

1、方法简述

1)网络攻击节点路径检测

在构建网络攻击节点路径检测模型的过程中,首先基于攻击图理论定义了网络攻击图,通过检测攻击者在当前时间节点的权限状态,获取网络连接矩阵,得到攻击者使用的漏洞、攻击效果和攻击条件的描述,进而构建网络攻击节点路径检测模型。

2)攻击意图预测和优化

在优化和预测网络中异常信息的攻击意图的过程中,根据主机之间的连接关系定义攻击路径图,计算攻击意图的可达性和实现的可能性,得到攻击意图的最短路径,进而优化和预测网络中异常信息的攻击意图

3)基于入侵概率的网络攻击节点路径检测模型 

在构建网络攻击节点路径检测模型的过程中,根据预定义的攻击标准,对网络中存在的漏洞的各个属性进行赋值,检测攻击者能够成功利用漏洞进行入侵的概率、攻击者获得高权限的概率以及实现攻击意图的概率,最后得攻击者在网络中各个攻击路径下能够进行入侵的最大可能性的那一条攻击路径,进行后续检测(这部分是建立在网络攻击节点路径检测的基础上实现的)。  

0x4:攻击路径风险源发现(漏洞溯源、漏洞修复建议生成)

现有攻击面管理产品存在几个痛点问题

  • 安全产品产出的攻击路径数量过于庞大,且很难根据危害真实性和资损大小进行排序,用户面临较大的运营成本压力
  • 基于外部攻击者视角发现的攻击路径,存在一定的发现盲区,并不能100%发现所有系统内部隐藏风险

基于运行时检测告警,进行反向的攻击路径分析,带来几个主要的优势

  • 可以显著提高攻击面管理的效率和针对性,也有助于帮助用户真正闭环攻击面管理中的高危风险,通过持续安全运营,不断提升企业安全水位
  • 从真实告警出发,天生具备大量的系统内部信息,有助于发现从外部视角不易发现的隐藏风险(例如精确到存在漏洞的代码文件路径、漏洞代码的行号、漏洞的利用sink路径等)

核心关注点:

  • 准确度
  • 召回率
  • 自动修复方案
  • 可利用性(从外部攻击面视角对产出告警进行分类/分级)

参考链接:

https://www.sohu.com/a/156772659_822985
https://www.secrss.com/articles/36058
https://www.quest.com/cn-zh/products/attack-path-management-software/
https://www.4hou.com/posts/VnY5
https://www.cnblogs.com/LittleHann/p/16798395.html
https://www.cnblogs.com/mq-maqi/p/16426232.html 

 

posted @ 2023-05-04 11:56  郑瀚Andrew  阅读(968)  评论(0编辑  收藏  举报