APP下载

基于隐马尔可夫模型的电力信息系统动态威胁定量分析

2022-09-21苏鹏涛陈孟婕张雪芹

上海理工大学学报 2022年4期
关键词:马尔可夫贝叶斯报警

苏鹏涛,吴 贶,陈孟婕,张雪芹

(1.上海欣能信息科技发展有限公司,上海 200025;2.上海挚达科技发展有限公司,上海 200433;3.华东理工大学 信息科学与工程学院,上海 200237)

电力信息系统与其他计算机信息系统一样,面临着各种各样的安全威胁。传统的信息系统威胁评估通常采用CORAS 方法、层次分析法、贝叶斯网络法、以及ISSREM 方法等。但是,随着网络攻击的多元化、复杂化,这些方法不能有效地实现对网络威胁进行实时动态定量评估。对此,李欣等[1]提出了一种基于改进隐马尔可夫模型的网络安全态势评估方法,该方法通过结合人群搜索算法(seeker optimization algorithm,SOA)以解决Baum-Welch 参数优化算法易陷入局部最优解的问题,实验表明,使用优化后的参数进行量化分析有效地提高了模型的准确率。梁智强等[2]设计了一种新型的信息安全风险评估模型,该模型通过在风险评估与定量分析中引入层次分析法,并在风险计算过程中融合模糊数学知识,有效地在降低评估成本的基础上提高了评估效率。马刚等[3]针对大规模分布式复杂信息系统的风险评估,提出了一种基于威胁传播树(threat propagation trees,TPT)的系统风险评估定量分析方法,该方法利用采样资产节点的转移状态和发出的威胁传播边来生成TPT,通过计算TPT 的概率和TPT 中资产的期望损失定量评估系统的风险。Ciapessoni 等[4]提出了基于改进的概率风险动态安全评估方法,将概率风险与时间域模拟评估应急影响相结合,提供不稳定风险指标。该方法可应用于当前的电力系统以及预测电力系统状态,为操作和运营规划环境提供了有价值的支撑。Xiong 等[5]提出了基于动态攻防博弈的信息网络漏洞威胁评估模型,根据信息系统实际控制调度,兼顾可用资源的数量、资源的配置合理性、成本效益和攻击节点的数量等制约条件,建立了信息网络漏洞威胁评估模型,实现了对网络物理系统漏洞威胁的定量评估。周未等[6]提出了一种层次化的网络安全风险评估框架,通过计算单个脆弱点的置信度,并综合分析攻击危害指数以及危害指数,推算节点攻击安全风险值,继而依据各节点的权重值来量化全网的安全风险。张至元等[7]提出基于广义随机佩式网和网络安全拓扑确定的状态转移图Cybernet,利用电力监控系统的历史流量数据对初始入侵概率分量进行建模,根据系统运行结果和马尔可夫链稳态概率量化电力系统信息安全和工程安全的相关关系,通过仿真验证了该模型的准确性和适用性。杨英杰等[8]提出一种基于属性攻击图的动态威胁风险分析模型,该方法结合通用漏洞评分标准和贝叶斯概率转移方法,设计了单步及综合威胁转移概率度量策略,并且使用动态威胁属性攻击图生成算法,实现了消解攻击图中威胁传递环路干扰的目的。王辉等[9]提出了一种基于新型贝叶斯模型的网络风险评估方法,该模型通过采用删除节点次序算法以确定消元顺序,并在计算节点的后验风险概率时,采用团树传播算法进行动态计算,有效降低了后验概率计算时间。张雪芹等[10]提出基于属性攻击图和贝叶斯网络的社会工程学威胁评估方法,通过定义社会工程学的可利用的脆弱性语义和攻击节点语义,提出相应的脆弱性可利用概率计算方法,根据属性攻击图构建社会工程学攻击图,采用贝叶斯网络模型对其进行量化评估。

可见,采用隐马尔可夫模型、攻击图、贝叶斯网络等方法可以有效实现对信息系统威胁的动态量化评估,但是这些方法都没有充分利用信息系统中部署的网络入侵检测系统(network intrusion detection syetem,NIDS)的报警信息,而NIDS 的报警信息具有威胁检测实时性强的特点,能够很好地反映当前系统所面临的威胁变化。对此,本文提出一种基于NIDS 报警信息和改进的隐马尔可夫模型的网络威胁动态分析方法HMM-NIDS。该方法提出综合优先级、严重度、资产值和可信度4 个方面对NIDS 报警信息进行分析,基于贝叶斯网络分析NIDS 报警信息的可信度,基于改进的隐马尔可夫模型动态计算系统风险值,实现电力信息系统威胁的动态定量评估。

1 相关理论

1.1 HMM 隐马尔可夫模型

1.1.1 马尔可夫链

马尔可夫链通常用于描述一组互相转化关系之间具有无后效性关系的状态[x]。设在任一时刻t,随机序列Ot可以处于的状态为s1,s2,···,sN,假设它在m+k时刻处于某一个状态qk+m的概率只与它在m时刻的状态qm有关,而与m时刻以前的状态无关,即P(Om+k=qm+k|Om=qm,Om-1=qm-1,···,O1=q1)=P(Om+k=qm+k|Om=qm),q1,q2,···,qm,qm+k(s1,s2,···,sN),则称Ot为Markov 链,并且称Pij(m,m+k)=,为k步转移概率。

1.1.2 隐马尔可夫模型

隐马尔可夫模型 (hidden Markov model,HMM),是由Baum 和Welch 提出的一种统计分析模型,被广泛应用在语音识别、图像处理、故障诊断等领域[8-9]。隐马尔可夫模型通常用于描述一个存在隐含参数的马尔可夫过程,是一个双重随机过程。一个 HMM模型包括如下元素:

a.s,HMM 中隐藏 Markov 链。设有N个状态s1,s2,···,sN,在t时刻所处的状态为qt,则qt∈s1,s2,···,sN。

b.V,观测状态集合。设有M个观测状态,V={v1,v2,···,vM}。观测序列O={o1,o2,···,oT},其中ot∈V,T表示观测序列的长度。

c.π,初始状态概率分布。πi=P(q1=vi),其中 1≤i≤N。向量表示 π=(r1,···,rN)。

d.T,状态转移矩阵。

上式表示在t时刻状态为si,则t+1时刻状态为sj的概率。

e.O,观测矩阵。

式中:1≤n≤N,1≤m≤M。Onm表示在时刻t、主机处于sn状态下观察到vm的概率。

隐马尔可夫模型通常由两个部分构成,如图1所示:第一部分采用 π,P状态转移概率描述马尔可夫链;第二部分采用Q描述随机过程。第一部分的输出结果为状态向量,第二部分的输出结果为观察值向量。

图1 隐马尔可夫模型过程Fig.1 Process of HMM

1.2 贝叶斯网络

贝叶斯网络是一种概率图模型,其网络拓扑结构是一个有向无环图(directed acyclic graph,DAG),即图中所有边都是有方向的,并且没有循环,用来刻画随机变量之间的依赖关系。贝叶斯网络为了能够表示随机变量之间的因果关系或非条件独立,把某个研究系统中所关联到的所有随机变量,依据变量之间是否满足条件独立将其绘制在一个有向图中。图2 展示了一个贝叶斯网络,边集是E={(A,C),(B,C)},由于A,B相互独立,因此P(A|C,B)=P(A|C)。这意味着,对于这个贝叶斯网络,A的概率只取决于C,而B值与这个局部概率无关。对图2,可推出P(A,B,C)=P(A|C)*P(C)*P(B|C)成立。

图2 贝叶斯网络结构Fig.2 Bayesian network structure

一般来说,在给定DAG 中的节点X={X1,X2,···,Xn}的条件下,任何贝叶斯网络的联合概率函数都是P(X)=,其中Xi-1为Xi的父结点。

2 基于NIDS 报警信息和HMM 的电力信息系统威胁定量评估

电力信息系统是一类特定的信息系统。一个典型的电力信息系统通常包括生产控制区和信息管理区。控制区通常包括分散控制系统DCS、电能计量系统、调度系统和保护管理系等。信息管理区通常有办公自动化系统、生产管理信息系统等,信息管理区的关键硬件资产包括交换机、网关、操作员站、工程师站等。

为了实现对电力信息系统遭受威胁的动态定量评估,通常可以先计算出系统中每个资产(主机、路由器、系统等)的风险值,继而得到整个系统的风险值。但是,由于威胁的动态变化,要定量分析系统中每个资产的安全动态通常是一个难点问题。通过文献分析可以看到,基于隐马尔可夫模型能够对信息系统的安全态势进行有效量化评估。同时,电力信息系统中通常在防火墙后部署有网络入侵检测系统NIDS,用于实时检测和发现网络攻击。为此本文提出基于HMM 和NIDS 报警信息分析和资产相关的网络安全事件,通过综合评估感知资产的威胁状态,最终实现对系统面临威胁的定量评估。

2.1 基于HMM 的电力信息系统威胁定量评估

设在电力信息系统中,每个资产的安全状态变化构成一个马尔可夫链,信息系统中NIDS 的报警序列是一个随机过程,每发生一个报警,就会对资产安全状态的转移带来影响(不同类型和不同威胁度的报警带来的影响不同)。因此,NIDS 的报警序列和资产的安全状态之间就形成了一个隐马尔可夫模型,可根据观察一段时间的报警序列,计算出该资产的安全状态以及风险值。

2.1.1 主机的安全状态

定义系统中的资产有4 个安全状态,S={G,P,A,C},含义如表1 所示。4 个状态的转换关系如图3 所示。

表1 网络威胁状态描述Tab.1 Description of network threat state

图3 网络威胁状态转换图Fig.3 Network threat state transition diagram

2.1.2 主机安全状态的分布概率

HMM包含一个三元组 λ=(T,O,π)。其中,T表示资产状态转换概率的状态转换矩阵;O表示当资产处于某一特定状态时,观察到某种攻击概率的观察矩阵;初始状态 π则代表计算开始时资产处于各个状态的概率。

资产状态的初始值可依据主机的漏洞信息取得,其后资产处于各个状态的概率可通过O和O计算。状态分布在t时刻表示为rt={rt(i)},1≤i≤N,状态的分布概率公式表示为

Oi(ot+1)是在t+1 时刻观察到观测序列ot+1的概率。

2.1.3 主机和系统风险值的定量计算

为了能够定量计算资产的风险值,引入代价向量C={c1,c2,...,cN},该向量表示某资产在各个状态下的量化风险值,通过该量化处理可以将资产状态转化为定量风险值R

式中:R为1~4 表示攻击有一定可能被探测到;R为4~7 表示资产已经遭受到攻击;R为7~10则表示攻击比较严重。

假设一个系统中共有L个资产,那么整个系统的风险值表示为

2.2 基于NIDS 报警信息的威胁分析

2.2.1 NIDS 报警类型分类

在电力信息系统中,借助入侵检测系统的报警信息可以了解某资产处于某一特定状态时,遭受到某种攻击的情况。但是由于NIDS 报警类型繁多,如Snort 的基本报警类型就有几千个[11],由于直接将NIDS 报警和HMM 中的观察矩阵O关联会使得观察矩阵的规模相当庞大,导致算法运行效率严重降低。因此需寻找一种合适的报警归类方法,缩小观察矩阵的规模,加快计算速度。

为了合理根据报警信息评估主机状态,除了考虑攻击报警本身之外,还应综合考虑被攻击主机的信息,以及NIDS 虚警的可能性。为此,本文通过对报警严重程度、目标资产关键程度、攻击目标的优先等级和攻击成功执行的可能性进行分析,提出采用严重度(severity)、资产值(asset)、优先级(priority)、可信度(reliability) 4 个因素相结合的方式来综合分析和分类报警信息,如表2 所示。

表2 报警数据处理分类Tab.2 Alert data processing classification

a.严重度

NIDS,如Snort,对入侵威胁类型有较为明确的分类和严重等级定义,如表3 所示,通过查询该表单可以得到相应等级的严重度S。

表3 基于Snort 的严重度分级Tab.3 Severity classification of snort alert

b.资产值

通常在进行威胁分析时,可以由相关管理人员给出电力信息系统资产清单,并根据信息技术安全评估标准(information technology security evaluation criteria,ITSEC)给出的资产CIA 三性(机密性、完整性与可用性)计算资产值A并划分资产等级。设资产值为v,则

式中:x为资产的机密性;y为资产的完整性;z为资产的可用性值,通常由相关管理人员结合企业业务来确定。以某电力信息系统为例,表4给出了关键资产清单及其资产等级示例。表中资产等级1,2,3,4,5 分别代表资产等级为很低、低、中、高、很高。

表4 系统资产清单示例Tab.4 Example of system asset list

c.优先级

优先级用于表示攻击类型的优先级。Snort 中含有攻击优先级信息,级别从1 到3。1 代表级别最高,3 代表级别最低。表5 给出优先级P的量化值。

表5 NIDS 报警优先级分类Tab.5 Classification of priority

2.2.2 基于贝叶斯网络的可信度分析

可信度用于衡量攻击发生的真实性以及成功执行的可能性。由于NIDS 报警信息中不可避免地存在着虚警或误报情况,为了更合理地评估风险状态,需要对报警的可信度做进一步分析。为此,本文提出结合目标资产的配置信息、运行状态以及成功执行攻击所依赖条件,基于贝叶斯网络对可信度R进行计算。

a.构建贝叶斯网络的拓扑结构

贝叶斯网络方法使用概率值来表示变量之间的依赖关系。影响攻击成功执行概率的相关因素可以通过贝叶斯网络进行推测。考虑 Microsoft公司安全小组对攻击向量的定义,同时考虑到网络环境中的威胁和攻击同样会对漏洞的脆弱性产生一定的影响,建立动态威胁分析贝叶斯网络的拓扑结构如图4 所示。

图4 动态威胁分析贝叶斯拓扑结构Fig.4 Bayesian network topology of network threat

在上述贝叶斯网络拓扑中的5 个节点分别代表漏洞、操作系统、服务、端口和应用。设每个节点有“Yes”和“No”两种状态,各个节点处在“Yes”状态的含义如表6 所示。

表6 贝叶斯网络各节点信息Tab.6 Node information of Bayesian network

b.确定条件概率分布

条件概率表(conditional probability table,CPT)通常可以通过专家知识和对历史数据的学习获得[12],示例如表7 所示。

表7 条件概率表示例Tab.7 Parts of CPT reliability assessment

表7 中,V_ID表示漏洞信息;Ser表示正在运行的服务;App表示应用程序。以第一行数据为例,P(V_ID)=0.4表示V_ID 节点处在“Yes”状态的先验概率为0.4,其后4 个概率分别表示OS,Ser,Port,App处在“Yes”状态的先验概率;P(Attack|V_ID,OS,Ser,Port,App)=0.99表示5 个节点均处在“Yes”状态时攻击成功的概率为0.99;P(Jiont)=P(Attack=succeed,App=yes,V_ID=yes,OS=yes,Port=yes,Ser=yes)=0.099 8,表示全部节点均处在“Yes”状态的联合概率为0.099 8。

c.可信度计算

首先可使用Nmap 等工具获取实际环境中的主机节点信息,包括操作系统、端口、应用、服务等,接下来可以通过漏洞扫描工具获取在目标资产中存在的漏洞,漏洞信息可以在美国国家通用漏洞数据库(national vulnerability database,NVD)[13]中查询得到。

在获取5 个节点的状态后,使用贝叶斯网络计算攻击成功的概率。设节点状态数据集为D,需要进行推理的网络结构为B,P(D)和P(B)为先验概率,则贝叶斯网络的推理目标计算后验概率P(B|D)的公式为

在现实网络环境中,若一个攻击所针对的漏洞信息、操作系统和应用程序都与目标主机运行状态相匹配,而其他3 个节点的状态均是未知的,则状态D表示为

D=(V_ID=yes,OS=yes,App=yes)

根据表7 的前5 行,可信度R可由下式计算:

d.报警信息分类

根据上述分析可以得到攻击严重度、资产价值、优先级和可信度的评分指标,为了实现对报警信息的分类,首先将各因素做归一化处理,之后采用加权融合,得到威胁的综合严重程度分析步骤如下。

第一步:归一化处理。定义攻击严重度为VS,资产值为VA,优先级为VP,以及可信度为VR。归一化处理的公式为

第二步:给定各个因素的权重因子 δ,一个攻击的综合威胁程度T′的计算式为

T′=δ1P+δ2S+δ3R+δ4A

这里,δ可以由专家确定或者根据历史数据采用层次分析法等方法确定[14]。

第三步:参考CVSS 对于漏洞评级的分类,将报警分为四类[15],威胁程度和报警分类的对应关系如表8 所示。

表8 报警分类标准Tab.8 Snort alert classification standard

2.3 HMM-NIDS 算法

将本文所提的基于NIDS 报警信息和改进HMM的威胁定量分析方法命名为HMM-NIDS 算法,该算法描述如下:

步骤1:根据电力信息系统拓扑结构,定义资产当前安全状态,并确定各安全状态概率密度。

步骤2:优化HMM 中的T和O的矩阵参数。

a.获取Snort 报警数据信息。

b.根据报警信息对优先级、资产值和严重度进行量化分析。

c.对动态威胁建立贝叶斯拓扑结构,并建立条件概率表,确定条件概率分布;利用工具获取节点的状态信息;通过贝叶斯网络分析计算得到攻击成功的概率,量化可信度评价指标。

d.将上述四类因素进行融合,确定威胁值和报警类别。

e.根据报警类别对HMM 中原始Trans 和Obs矩阵的参数进行优化,并设置初始概率和代价向量。

步骤3:利用HMM 对系统动态威胁量化分析,计算主机当前的风险值。

步骤4:计算当前系统风险值。

3 实验及结果

为了验证本文所提方法的有效性,实验模拟某电力信息系统遭受到DDoS 网络攻击,采用本文所提方法对其进行动态威胁定量风险分析。

3.1 实验场景描述

实验采用Darpa2000 LLDOS1.0 攻击数据集[16]模拟DDoS 攻击。Darpa2000 LLDOS1.0 的实验环境包含4 个C 类子网。整个数据集包含了由两台Snort 采集得到的190 min 的NIDS 报警数据。一条Snort 报警包含的信息包括:时间戳、报警类型编号、报警名称、攻击类型、优先级、协议、源地址和端口、目标地址和端口等。通常情况下,一个攻击可触发多条 NIDS 报警,一条报警表示攻击在该时间节点上的攻击特征。

图5 给出了该次 DDoS 攻击的步骤,描述如下:

图5 DARPA 实验场景攻击步骤Fig.5 Scenario steps of DARPA experiment

第一阶段:IP 扫描。攻击入侵者发送ICMP请求监听ICMP 应答,进行IP 扫描是为了寻找网络中的活跃主机。

第二阶段:Sadmind Ping。通过探查发现的活跃主机,确定正在执行远端管理工具的主机,以此锁定了Pascal,Mill 和Locke3 台主机。

第三阶段:攻击Pascal,Mill 和Locke3 台主机。3 台主机被攻击者使用Sadmind 漏洞攻击锁定。由于是一个远程缓冲区溢出攻击,攻击者需不断尝试入侵,直至成功。

第四阶段:3 台主机Pascal,Mill 和Locke遭受了入侵攻击,成为傀儡机。攻击者在 Pascal,Mill 和Locke 上安装DDoS 工具,经由RSH 服务登录,并装配攻击代理。

第五阶段:开始DDoS 攻击。傀儡机上所有的服务均被攻击者使用攻击代理控制,攻击者通过伪造IP 地址对远程服务器发起DDoS 攻击。

3.2 实验及结果

3.2.1 报警分类

对实验中每条Snort 报警信息分析后可得到严重度、资产值、优先级和可信度量化值,根据经验设优先级、严重度、可信度和资产值的权重分别为δ1=0.30,δ2=0.33,δ3=0.21,δ4=0.16,融合得到该条Snort 报警信息的威胁值以及类别。受篇幅限制,表9 仅列出部分Snort 报警信息的威胁类别。

表9 Snort DARPA 实验报警分类Tab.9 Snort DARPA alert classification

3.2.2 观测矩阵优化

根据上述实验场景,在设置HMM 参数时要综合考虑到以下几点因素:a.转移矩阵T中,下一时刻,主机和网络维持原状态的可能性最大;b.观测矩阵O中,当网络和主机处在危险状态时,更有可能观测到威胁度高的报警;c.一旦主机进入“攻破(C)”状态,处于该状态的时长将比其他状态的更久;d.为了便于实验比较,假设所有主机的参数相同。

设置初始概率为:π=(πG,πP,πA,πC)=(0.8,0.1,0.05,0.05),代价向量设置为:C=(CG,CP,CA,CC)=(0.1,0.4,0.7,1),假设最初有100 种NIDS 报警分类,则原始的转移矩阵为4×100 的矩阵,观测矩阵为4×4 的矩阵,受篇幅限制不在此列出。

采用本文改进的报警分类,由于优化了报警类型数量和一定程度上克服虚警干扰,计算出的风险值以及对应的安全状态概率也随之改变,转移矩阵T和观测矩阵O为

式中:pGP表示由Good 状态转换为Probed 状态的概率;qG(1),qG(2),qG(3),qG(4)分别表示在Good 状态下观察到报警类别为优先级、严重度、可信度和资产值的概率,以此类推。这里,各概率值根据式(1)和式(2)计算得到。

可见,若NIDS 报警类型很多,则原始矩阵O规模很大,运算量大,本方法通过对NIDS 报警信息归类,有效地缩小了矩阵O的规模,减少了算法的复杂度。

3.2.3 实时风险分析

为了进一步验证所提方法能够有效描述系统所受的威胁状态,对这段攻击场景,根据式(4)和式(5)计算系统风险值,对传统报警分类和改进分类方法分别计算其实时风险值,使用Sigmaplot 进行作图,计算结果如图6 所示,图中以min 为单位并选取130 min 的实验数据作为展示。

从图6(a)和图6(b)可以看到,采用HMM 和HMM-NIDS 方法可以还原出攻击场景。

第一阶(0~20 min):IP 扫描。这段时间的威胁值并不高,图6(a)和图6(b)均显示存在4 分以下威胁。

图6 威胁实时分析图Fig.6 Real-time threat analysis diagram

第二阶段(约35~48 min):尝试入侵。可以发现在这一阶段,两种方法表征的风险值都有了明显的提升。

第三阶段(约48~68 min):漏洞攻击。图6(a)和图6(b)都在约58 min 左右出现较高风险值,HMM-NIDS 计算得到的最高风险值达到了7.865 8。

第四阶段(约68~118 min):安装 DDoS 程序。该段时间Snort 检测的网络风险值大多趋于零,这是因为Snort 只能检测到网络攻击行为。

第五阶段(118~120 min):DDoS 攻击。此时攻击者发起DDoS 攻击,图6(a)显示威胁值达到7.962,图6(b)显示威胁值达到8.216。

可见,采用HMM 和HMM-NIDS 分析得到的威胁值与网络安全态势变化状况均与实际情况相符合,说明采用HMM 模型能够实现电力信息系统动态威胁定量风险分析。从图中可以看到,HMM-NIDS 对1,2,3 阶段的刻画更显著和清晰。在第一阶段,大约3 min 左右,图6(a)中出现虚警;在第二阶段,48 min 左右,图6(b)更清晰地刻画出了查探结束和发起攻击前的间歇;在第三阶段,在图6(b)对攻击趋势(弱-强-弱)刻画与实际更加一致,更好地反映了连续性的攻击状态,而图6(a)在62 min 左右出现了风险为0 的情况。

4 结论

针对典型电力信息系统的网络威胁定量评估问题,提出了基于NIDS 报警信息和 HMM 的网络威胁动态分析方法HMM-NIDS。该方法充分利用系统中部署的网络入侵检测系统NIDS 的报警信息,提出从优先级、严重度、资产值和可信度4 个方面对当前威胁进行分类,简化隐马尔可夫模型中的观测矩阵,并给出了优先级、严重度、资产值和可信度的定量描述方法,特别是提出基于贝叶斯网络分析NIDS 报警信息的可信度,防止了误报和虚警信息的干扰。最后,基于优化的HMM模型,融合计算得到系统的动态威胁量化值。基于Darpa2000 数据集,模拟系统发生DDoS 攻击时的状态,实验验证了本文方法的有效性和优越性。未来,可进一步结合脆弱性等其他因素,对电力信息系统做更全面的风险评估。

猜你喜欢

马尔可夫贝叶斯报警
面向电力系统的继电保护故障建模研究
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
基于贝叶斯网络的海盗袭击事件影响因素
基于马尔科夫算法对预测窗户状态模型的研究
小心,墙纸在报警
鞋子摆放透露的信息
事业单位财务风险预测建模及分析
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究