APP下载

基于攻击图的工控网络主动防御方法

2022-03-01郑少凡连宏浩

大众标准化 2022年1期
关键词:主动防御蜜罐工控

郑少凡,连宏浩,王 炅

(闽江学院计算机与控制工程学院,福建 福州 350108)

随着互联网技术的不断发展和工业互联网等概念的提出和实现,工业生产变得越发智能与高效,从传统工业控制系统的相互独立到现在的互联开放,工业控制系统受到攻击的风险也是与日俱增,其中工控安全事件发生的重点领域集中在能源和供水系统。近年来国家的交通等重要行业已经开始进行大规模信息化升级和改造,一旦受到攻击则损失不可估量。随着各类病毒和攻击方式的不断迭代翻新,在组合攻击的威胁下原本被动防御的防御方式显得越发无力,在这样的背景下主动防御的概念被提出和实现,本文介绍的攻击图模型就是主动防御措施的一种。在攻击图理论的基础上,进行脆弱性加固和最佳蜜罐部署的实际应用。

1 攻击图介绍

攻击图是一种根据网络环境中的脆弱性绘制的有向图,从攻击的起始节点到网络中的目标节点对其中的所有节点进行描述,是一种将攻击过程可视化的高效攻击模型。通过借助攻击图,工程师可以更好地从全局把握当前网络的安全态势,更加高效地整合和分析当前网络环境中节点间的关系,可能存在的渗透路径和关键脆弱节点等信息。

根据攻击图中节点和有向边所代表的不同含义可以将常见的攻击图模型分为状态攻击图和属性攻击图两个类型。

1.1 状态攻击图

在状态攻击图中,节点用于表示全局状态,其中包括主机信息,用户权限和服务等,有向边表示能够引起状态改变的攻击行为。如果表示的网络复杂度增加,状态攻击图会发生状态爆炸问题,故状态攻击图不适用于大规模网络。

1.2 属性攻击图

属性攻击图模型中存在两种节点类型,分别表示原子攻击和原子攻击发生的前提或后果,只有在满足属性节点的必须前提时,原子攻击才会发生。连接属性节点和前提后果的有向边成为前提边和后果边。属性攻击图没有爆炸问题,但是可能含有圈,含圈会导致复杂度上升,但是可以通过层次整合等方式降低其影响或避免。

1.3 贝叶斯网络攻击图

贝叶斯网络是一种在以上两种攻击图中引入了概率这一因素的改进形式,在贝叶斯网络中赋予了根节点概率值,通过根节点的概率值和节点间的因果关系进行推导,获得后续节点的攻击成功概率。张少俊等根据贝叶斯网络攻击图提出了加入时间因素的动态贝叶斯攻击图,可以随着网络中节点情况的变化及时更新攻击图中节点的攻击成功概率。

1.4 0day 攻击图

0day 攻击图是一种通过漏洞数据库数据整理出暂时没有补丁和解决方案的0day 漏洞并据此优化攻击图同时根据结果进行网络安全风险评估的一种生成方案,生成过程中假定网络内所有远程服务都存在0day 漏洞并基于攻击者成功完成攻击所需的0day 漏洞数量进行网络安全风险评估。

目前暂时没有针对工控网络的攻击图生成工具,可以根据需求选择Attack Graph Toolkit 等开源工具进行攻击图的生成。

2 攻击图的构建

2.1 攻击图生成过程

攻击图的生成大致可以分为三个阶段,如图1 所示

图1 攻击图生成过程

2.1.1 可达性分析阶段

可达性分析阶段的主要工作是通过网络扫描工具,例如Nmap,Nessus 等获取目标网络的可达性信息,其中包括目标网络拓扑,网络中的主机信息等。其中主机信息又包含目标网络中主机上运行的服务,安装的应用,采用的信息过滤和访问控制规则等,以及网络中防火墙等安全设备的安全策略配置与网络中主机之间的信任关系。

2.1.2 攻击图建模阶段

攻击建模阶段的主要工作内容是将攻击者初始获得的权限、目标网络中主机存在的漏洞、与这些漏洞相关联的权限、攻击实例以及实例见的结构和关系进行量化和表示。

2.1.3 攻击图构建阶段

构建用于构造攻击图的核心算法,定义攻击图的类型与表示方法,通过对算法的改动建立更优的攻击路径,同时进行攻击图的关键路径抽取,以降低复杂性及完成环状路径的消除。

2.2 攻击图的自动构建

目前大规模使用的开源攻击图生成工具主要有MulVAL 和Attack Graph Toolkot 两种,其中后者由于模型选择和复杂度管理方面的问题导致其算法复杂度达到了指数级,故难以应用于复杂网络环境中,因此在本文中选用前者作为示例。

MulVAL 是一款由普林斯顿大学研究者开发的,Linux 平台下的开源攻击图生成工具,基于Nessus或OVAL 扫描输出的漏洞信息进行攻击图生成,故可以在Kali Linux 中安装并直接使用预装的Nessus作为输入,其漏洞信息来源为CVE 漏洞信息库,主要应用场景是企业网络威胁感知和主动防御。

MulVAL 使用Datalog 或Prolog 作为模型语言,将输入的漏洞信息、网络管理策略、网络拓扑等信息转化为Datalog 语言的事实并交由推导引擎进行攻击过程的推导,最后由可视化工具输出为可视化属性攻击图。

构建图2 所示的网络拓扑并进行测试,生成攻击图如图2 所示,其中圆形结点表示原子攻击,方形节点表示初始条件,菱形结点表示中间条件。

2.3 攻击图复杂度控制

在攻击图的应用中,往往简单的网络环境就会输出如图2 的复杂且规模较大的攻击图,故需要改进生成算法等方式简化生成结果。

图2 试验网络拓扑

除了状态攻击图,其他形式的攻击图都存在攻击图含有环形攻击路径的问题,即当前节点的前置节点存在于已计算过的路径中,这样的问题会导致攻击图复杂度大幅上升,但是在真实的攻击中通常并不会使用含圈攻击路径进行,即攻击者是理性的,不会重复已经进行过的步骤,故需要通过算法改进来去除生成的重复攻击路径。在攻击图构建过程中引入单调性假设和概率性可以有效减少环形攻击路径的出现,即假设攻击者在攻击过程中的能力是不断增长且不会失去的。

当网络被分割为过多层次,则每个结点之间都会存在一条攻击路径,但是很多情况下可以将多个结点进行聚合成为一个含有多个元素的结点,比如将同一个子网下的主机和原子攻击聚合成为一个结点,这样的处理可以有效减少攻击图的复杂度,但是实现规则的指定过程较为复杂。

通过将攻击图方法与概率算法,诸如蚁群算法或粒子群算法的结合也可以优化攻击图生成效果并且简化生成结果,亦可以结合机器学习的方式,训练模型模拟攻击者可能的攻击思路,优化攻击图中路径的权重分配并改进生成结果。

2.4 动态攻击图构建

在动态网络环境下,当网络中节点的状态或网络的整体状态发生变化后,攻击路径的起点,攻击者的初始能力,网络环境中脆弱性之间的互相联系都有可能发生改变,这样的改变将会影响到生成的攻击图结果。针对这种情况可以采用基于逆向搜索的攻击图动态生成方案,即从目标节点开始反向向攻击者进行逆向拓展。

3 攻击图在工控网络场景中的应用

工业控制系统是从直接数字控制方式发展而来的,由一系列自动化控制器件和监控器件组成的工业生产控制系统,从网络结构分析,一个典型的工控网络可以分为外部网络、企业管理、状态监控、实际控制等部分,具有明显的层次结构。常见的工控网络体系架构有双防火墙架构、单一防火墙的停火区架构,骨干网体系架构和数据DMZ 区等。

根据图3 中中国关键基础设施安全应急响应中心工控漏洞子库的数据可以看出,目前收录的工控系统漏洞已经超过三千个且每年以超过300个的速度增长,其中接近50%是高危漏洞,只有小部分危险性较低。

图3 工控系统漏洞发现趋势与危害等级

有效的安全风险评估应当是定量的、基于模型的评估,能够有效地监控安全状况,对系统中的关键脆弱点进行发现和预警,并通过对安全状态的监控预测即将发生的风险,指导系统的加固。利用攻击图进行风险评估的方式无疑符合以上的要求。

3.1 脆弱性加固

通过生成攻击图可以清晰地展现出网络环境中各脆弱点之间的依赖关系,通过类比AOV 网可知,通过将其中的关键路径实现难度加大致使攻击无法成功,或攻击成本和技术要求大幅提升,以实现在最小花销的情况下实现成本与风险承受能立的平衡。

基于攻击图的攻防博弈模型首先由姜伟等提出并实现,姜伟等基于攻击图建立攻防博弈模型,给出主动防御选取算法,基于此算法可以依据攻击图进行脆弱性加固以实现主动防御。

3.2 基于博弈论的最佳蜜罐部署

蜜罐技术是一种主动防御技术,通过在网络中部署伪装成计算机或服务器的虚拟蜜罐设备来欺骗攻击者,能够收集攻击者信息,发出警报,同时分散攻击者的注意,增加攻击成本。但蜜罐设备本身并不承载实际功能或运行服务且其中不包含有效信息,故遭到攻击并不影响安全性。

博弈论是关于策略互相作用的理论,主要研究的是在决策主体各方中如何以他人将会有的反应作为自己行动选择的依据,主动防御属于其中的非合作博弈。

借助博弈论方法结合攻击图模型,可以在网络中确定一个部署蜜罐位置的最优解,让蜜罐有迷惑性的同时能够对潜在的安全风险进行及时告警,最大限度维护系统安全。

4 结语

在网络通信与民生、国防结合日益紧密的今天,为了应对愈发多样化的网络安全威胁和攻击者不断提升的攻击水平,需要结合各方面的知识来维护网络安全,为网络管理者提供更优的安全防御策略。诸如文中介绍的攻击图主动防御方式作为基础,可以结合数学,运筹学等诸多学科门类,达到更好效果。

猜你喜欢

主动防御蜜罐工控
工控编程编译工具应用现状分析及展望
工控系统脆弱性分析研究
变电站动静互联式的主动防御小动物入侵系统开发
◆素材
蜜罐蚁
主动防御飞行器的范数型微分对策制导律
被自己撑死的蜜罐蚁
哈密瓜:乡间蜜罐
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖