美文网首页
基于 Markov 博弈模型的网络安全态势感知方法

基于 Markov 博弈模型的网络安全态势感知方法

作者: JerryLoveCoding | 来源:发表于2019-05-08 15:09 被阅读0次

    摘要

    为了分析威胁传播对网络系统的影响,准确、全面地评估系统的安全性,并给出相应的加固方案,提出一种基于 Markov 博弈分析的网络安全态势感知方法。通过对多传感器检测到的安全数据进行融合,得到资产、威胁和脆弱性的规范化数据;

    对每个威胁,分析其传播规律,建立相应的威胁传播网络;通过对威胁、管理员和普通用户的行为进行博弈分析,建立三方参与的 Markov博弈模型,并对相关算法进行优化分析,使得评估过程能够实时运行。Markov博弈模型能够动态评估系统安全态势,并为管理员提供最佳的加固方案。通过对具体网络的测评分析表明,基于 Markov 博弈分析的方法符合实际应用,评估结果准确、有效,提供的加固方案可有效抑制威胁的扩散。

    介绍

    网络安全技术已经从关注单个安全问题的解决发展到研究网络的整体安全状况及变化趋势,网络安全态势感知(network security situation awareness,简称 NSSA)成为下一代安全技术的焦点。
    对于网络安全态势感知,主要从以下三个角度考虑:

    • 从网络连接可视化的角度
      将网络的安全状态以可视化视图的形式表现出来
    • 从层次化分析的角度
      对网络进行分层计算,譬如将网络分为服务、主机、系统进行分层计算,再进行综合分析得到网络安全态势图
    • 从数据融合的角度
      譬如将数据融合过程分为数据精炼、对象精炼、态势精炼、影响评估和过程精炼

    网络安全态势感知模型

    网络安全态势感知系统框架

    网络态势是指由各种网络设备运行状况、网络行为以及用户行为等因素所构成的整个网络当前状态和变化趋势。NSSA 是在大规模网络环境中,对能够引起网络态势发生变化的安全要素进行获取、理解、显示以及预测未来的发展趋势。

    NSSA 需要考虑多方因素:首先,数据来源要全面和丰富,包括网络结构、资产、脆弱性、 威胁等数据;其次,态势感知过程要简洁和客观,尽可能地实现自动化和满足实时性;最后,态势感知结果要到深度广度兼备,满足多种用户需求,提供加固方案给管理员以提高系统安全性.本文在态势感知概念模型基础上, 结合数据融合的思想,给出了如图 1 所示的 NSSA 系统框架。


    系统框架

    该框架通过多传感器检测网络系统的各种安全信息,根据态势感知模型评估系统的安全态势及其变化趋势,并给出安全加固方案,主要包括以下几个模块:

    (1) 数据采集:通过多传感器监测网络系统的运行状况,检测大量的原始安全数据;
    (2) 态势理解:采用规范化分析、冗余检测和冲突检测等方法,分析原始数据,得到规范化的数据集;
    (3) 态势评估:采用态势评估算法,分析态势理解模块的数据,定量描述系统的安全态势;
    (4) 态势预测:采用态势预测算法,分析态势的变化规律,预测系统安全态势变化趋势;
    (5) 加固方案生成:分析系统最薄弱的节点,给出加固方案,指导管理员提高系统安全性.。

    威胁传播分析

    网络系统的各个节点相互连接,当系统中某个节点被成功攻击后,威胁可以传播到与该节点相关联的其他节点,从而使这些节点遭受安全威胁。

    因此,在进行态势感知时不能仅静态考虑系统节点安全状况,还需对威胁传播及其影响进行动态分析。张永铮等人提出了用于风险评估的风险传播模型,考虑了风险传播带来的潜在风险,实质是分析威胁的传播对风险的影响.本文在针对不同威胁分析其传播规律,并结合相关的脆弱性分析 对相关资产和相关传播链路的影响,提出威胁传播网络的概念。

    定义相关概念:

    1. 资产


      定义1
    2. 威胁


      定义2
    3. 脆弱性


      定义3
    1. 威胁传播节点
    定义4
    1. 威胁传播路径


      定义5
    2. 威胁传播网络


      定义6

      根据图 1 给出的 NSSA 系统框架,给出如图 2 所示的 NSSA 流程,态势感知过程分为两部分:基于 Markov 博弈分析的态势量化评估和基于时间序列分析的态势预测. 态势量化评估部分是态势感知的核心.首先,数据采集模块检测的安全数据被融合归类到资产集合、威胁 集合、脆弱性集合和网络结构信息,这些数据以规范化数据集的格式保存在数据库中,可以被实时地存取和修 改;接着,对威胁集合中的每个威胁建立 TPN;然后,对威胁、管理员和普通用户的行为进行 Markov 博弈分析,评 估单个威胁的保密性态势,并给出最佳加固方案;最后,对威胁集合中的所有威胁的保密性态势综合分析评估出 系统保密性态势;以同样的方法评估系统完整性态势和系统可用性态势,根据不同的应用背景和需求,对保密 性、完整性、可用性态势加权,评估整个系统当前状态的安全态势. 态势预测部分以态势评估结果为基础.系统在不同时刻安全态势彼此相关,可以利用这种相关性分析态势 变化规律对系统安全态势进行预测.有很多预测方法,比如神经网络、模糊数学、灰色理论等等.在此,采用时间 序列分析方法[14]刻画不同时刻安全态势的前后依赖关系.


      NSSA流程

    基于 Markov 博弈分析的态势评估

    Markov博弈模型的建立

    博弈论是研究决策者在决策主体各方相互作用下如何进行决策的理论,每个决策主体在考虑其他参与者的反应后选择行动方案.

    Markov决策过程(MDP)是指决策者根据每个时刻观察到的状态,从可用的行为集合中选用行为的过程。系统下一步的状态是随机的,状态转移概率具有 Markov 性,即下一时刻的状态只与当前时刻相关。
    Markov 博弈是由博弈论和 MDP 综合而来,综合考虑多个参加者的决策。博弈分析方法被广泛用于网络安全性分析。本文对威胁集合中每个威胁t建立如下的 Markov 博弈模型:

    博弈模型

    博弈过程###

    将博弈过程近似认为是三角色非零完全信息静态非合作博弈.下面以一个简单网络为例说明博弈过 程,该网络具有 4 个节点和 5 条有向边.对该网络威胁集合的某个威胁 t,建立 t 的 TPN.博弈三方是威胁 t、管理 员和普通用户,攻击方的行为是按照 TPN 向未感染的节点传播 t,防守方的行为是管理员修补系统节点上t 利用 的脆弱性,中立方的行为是普通用户增加或减少对该网络的访问率,系统状态是 t 对应 TPN 的所有可能的状态. 博弈各方根据系统的状态和己方的报酬函数动态地选择己方行为,系统根据各方行为的影响以一定的概率跳 转到下一状态,博弈过程如图所示


    马尔科夫博弈过程示意图

    网络安全态势量化评估算法###

    输入:数据采集模块检测到的各类安全数据;
    输出:网络安全态势。

    1. 对检测模块测得得安全数据进行融合,得到资产集合、威胁集合、脆弱性集合和网络结构信息;
    2. 根据检测模块得到的网络信息,综合资产集合、威胁集合和脆弱性集合,对威胁集合中每个威胁 t 建 立该威胁的威胁传播网络 TPN(t);
    3. 根据 TPN(t),对 t 建立 Markov 博弈模型,计算 t 的保密性损害,评估 t 的保密性态势;
    4. 根据 TPN(t),对 t 建立 Markov 博弈模型,分析管理员应对 t 保密性损害的最佳加固方案;
    5. 按照步骤(3)、步骤(4)类似的方法,评估 t 的完整性态势和可用性态势,并分析相应的最佳加固方案;
    6. 将威胁集合中所有威胁的保密性损害求和,评估网络保密性态势;
    7. 按照步骤(6)同样的计算方法,评估系统的完整性态势和可用性态势;
    8. 根据不同应用需求,采用加权模型评估网络的整体安全态势.

    子算法 2.
    单个威胁保密性态势评估算法.
    输入:威胁集合中某个威胁的 TPN(t);
    输出:该威胁保密性态势.
    A. 令 k=K,取 R(TPN(t,K+1))=0,Rc(TPN(t,K+1))=0, 0 t ku = ;
    B. 如果 k=0,则跳转到步骤 E;否则,令 k=k−1 后进入下一步;
    C. 对每个 TPN 状态和每个历史依次计算公式(4);
    D. 返回步骤 B;
    E. 该威胁保密性态势按照公式(6a)计算输出.

    子算法 3.
    单个威胁的保密性最佳加固方案生成算法.
    输入:威胁集合中某个威胁的 TPN(t);
    输出:防守方对最大损害的最佳加固方案.
    A. 令 k=K,取 R(TPN(t,K+1))=0,Rc(TPN(t,K+1))=0;
    B. 如果 k=0,则跳转到步骤 E;否则,令 k=k−1 后进入下一步;
    C. 对每个 TPN 状态和每个历史依次计算公式(4);
    D. 返回步骤 B;
    E. 防守方最佳加固方案按照公式(7a)生成输出.

    实验##

    本文给出态势感知系统在一个具体公司网络测评中的应用,网络主要结构如下图所示。网络中的FTP和HTTP两个服务器通过交换机放置在DMZ区;内网办公区主机由交换机划分为2 个 VLAN,并与外界通过防火墙相隔离.远程办公室主机经交换机相连后远程访问公司络,NetScreen204 是带防火墙的路由器, Internet 用户通过该路由器访问公司网络资源,整个公司部署一个硬件 IDS.。


    待评估的网络系统结构

    态势感知系统首先进行安全数据检测,包括对每个网络节点部署资产识别,对每个主机和两个服务器部署恶意代码检测和脆弱性扫描,对 IDS、防火墙、路由器和交换机部署渗透测试和在线测试,同时收集 IDS报警日志数据;接着,根据检测数据融合得到资产集合、威胁集合、脆弱性集合。然后,对威胁集合中的每个威胁建立 TPN,根据 TPN 建立 Markov 博弈模型,分析威胁的安全态势;最后,由每个威胁的安全态势评估网络安全态势。下面以威胁集合中的某个威胁 t 的保密性态势评估过程为例进行描述。首先建立威胁 t 的 TPN,如图 6 所示,传播节点和传播路径由检测模块测得。


    威胁t的TPN 传播节点的状态见表 1,资产的保密性价值和资产的性能利用率均以等级的形式表示。例如,N4(N4,5,4,0,1) 节点表示路由防火墙保密性价值很高,被成功入侵后造成的保密性损害很大。目前的性能利用率在10%~30%之间,还未感染威胁t,但是存在t利用的脆弱性。 威胁t传播节点的状态

    传播路径的状态见表 2,路径的价值以等级的形式表示切断该条路径后造成的损失;路径性能利用率与资 产性能利用率也类似地分为5 个等级;威胁通过该传播路径成功传播的概率也分5 个等级。例如,E8(N4,N5,5, 4,2) 路径表示威胁t以20% ~ 40%的概率通过该路径从节点4传播到节点5,该路径非常重要,如果切断对网络造成很大损害,该路径目前处于10% ~ 30%的利用率。

    威胁 t 传播路径的状态

    接着建立威胁t 的 Markov博弈模型,攻击方为威胁t,动作为通过TPN 进行传播;防守方为系统管理员,动作为修复TPN中传播节点上的脆弱性或切断TPN中某条传播路径;中立方为所有普通用户的统计特性,状态转移概率矩阵可以根据各方动作影响确定。

    最后,利用Markov博弈模型评估威胁t的保密性态势(子算法2)。以同样的方法评估威胁集合中所有威胁的保密性态势,得到网络安全态势。下图为模型对系统保密性态势评 估和预测,包括采用基于传播分析的 Markov 博弈模型评估结果和未考虑威胁传播的静态评估结果。

    保密性态势评估与预测图

    同时,采用子算法 3 得到应对 t 保密性损害的最佳加固方案。以同样的方法,威胁集合中的每个威胁找出应 对该威胁保密性损害的最佳加固方法。图 8 为测评系统提供的针对保密性损害的加固方案。


    保密性加固方案

    优势分析及性能优化

    通过上述测评过程的分析可以发现,本文提出的网络安全态势感知模型具有下列优点:
    (1) 评估数据来源丰富,采用的多种异构检测模块从多个侧面检测网络的安全因素;
    (2) 采用基于 Markov 博弈分析的态势评估算法,增加了对威胁传播分析和对普通用户行为影响分析.比 起将各个网络节点孤立的静态分析,能发现系统的潜在危害,更贴近实际;
    (3) 采用基于 Markov 博弈分析的安全加固方案生成算法,对威胁传播和普通用户行为动态分析,找到危 害程度最大的节点和路径,给出最佳加固方案;
    (4) 对不同类型的威胁区别对待,从保密性态势、完整性态势和可用性态势 3 个方面评估系统的安全态 势,评估结果细致全面,针对性强.
    此外,本文提出的基于 Markov 博弈模型的分析方法考虑了攻击方、防守方和中立方三方的博弈过程,在建 立 TPN 的时候考虑了传播节点和传播路径的双重影响,因此在做决策时状态空间会很大.在执行子算法 2 和子 算法 3 的迭代时,将会耗费大量的资源.尤其在网络的节点和路径较多时,很难做到实时评估分析,需要考虑性能 优化,性能优化主要从以下两个方面分析:
    (1) 博弈模型的状态空间随着资产数量的增加而指数增加,当网络的资产数量很多时,首先进行资产缩 减,合并一些连接紧密功能相似的节点,剔除一些影响不大的资产;
    (2) 评估过程对每个威胁都要建立博弈模型,同一个威胁可能在多次评估时遇到.每一次的博弈模型是 相似的,可将每个威胁对目标网络的每个可能状态的一步损害静态地存储,在每次评估时通过查表 的方式取得;以类似的方式将管理员每个行为对目标网络的每个可能状态的一步报酬静态地存储, 在评估时通过查表方式获取,虽然增加了存储空间的损耗,但是提高了算法的执行速度,能够做到实 时评估.

    相关文章

      网友评论

          本文标题:基于 Markov 博弈模型的网络安全态势感知方法

          本文链接:https://www.haomeiwen.com/subject/lbwsoqtx.html