新型电力系统中基于人工免疫和隐马尔可夫的网络安全态势评估

2023-09-22 01:09张智勇万俊岭袁培森
关键词:态势概率网络安全

徐 植, 陈 俊, 张智勇, 万俊岭, 袁培森

(1. 广西电网有限责任公司计量中心, 南宁 530024;2. 南京农业大学 人工智能学院, 南京 210095)

0 引 言

随着计算机技术的快速发展, 电力领域的信息化和智能化建设也越来越完善. 电力高级量测系统(advanced metering infrastructure, AMI)是智能电网建设的重要基础设施, 可用于电力网络之间的信息传输, 并且可以收集、存储和分析智能电表的数据[1]. 网络安全已受到越来越多的重视和关注, 其中的各种安全漏洞、情报等内容的抵御防护已经成为企业、国家相关部门的重要工作. 对于用电网络而言, 错综复杂的电网结构中存在着大量的安全漏洞及攻击点, 涉及很多不同岗位不同部门的工作人员.针对这些问题[2], 首先, 需要对网络安全态势进行研究. 其次, 用户也可以基于AMI 主动参与到电力价值链中, 实时看到共享的用电信息, 提升用户的参与度和满意度[3]. 通过AMI 系统可以收集、存储和分析智能电表的数据, 从而实现数字化电网. 然而, 随着智能电表的广泛安装, 隐私泄露的风险越来越大, 因为它们同时传输读数和敏感数据[4]. 在电力网络不断地迭代发展中, 电网和信息化、智能化的结合越来越紧密. 信息化开放的电力网络中显然存在着很高的网络安全风险, 如果不及时地进行防范抵御, 就会导致电力数据的泄露, 甚至于电网的瘫痪. 因此, 对电网的安全检测是很有必要和有意义的事情. 电网的信息化虽然带来了一些安全风险, 但是通过对基于信息化程度较高的电网收集到的电网数据进行安全分析, 可以及时观察和预测到电网的安全态势变化情况, 并及时采取措施干预[5].

AMI 作为新型电力系统的基础设施, 收集数据并存储和分析时, 也依赖于网络信息设备, 存在着很大的网络安全风险[6]. 然而, 智能电网等网络设备经常出现被攻击的现象, 并且网络安全系统在防范、反应及遭遇攻击后的恢复能力等方面仍然很薄弱[7], 甚至于可能会永久性地破坏大量的智能电表等设备, 最终影响数以百计用户的电力使用, 更为严重的是电力用户的信息遭到泄露[8]. 因此, AMI 系统网络安全问题的研究仍然面临着严峻的挑战[9].

网络安全态势评估是对网络进行安全上的估计, 进而发现网络系统中可能出现的在实现上或者在设计上的脆弱性, 然后运维人员能够针对性地对安全薄弱的节点及时干预, 从而保证网络系统不会遭受故意或者偶然的损害[10]. 网络系统的安全态势评估技术可以准确地发现网络安全系统中的相关缺陷, 从而最大限度地保证网络系统的安全运行[11-12].

王金恒等[13]将概率神经网络用来评估网络的安全态势, 并且采用遗传算法去优化概率神经网络以提高评估的结果. 但是算法的建模复杂度较高, 且通过遗传算法的参数优化存在不足, 导致部分算法模型具有一定的局限性. Liu 等[14]设计了一种双向简约存储单元, 通过其时间序列关系来学习、表征数据及评估无线网络的安全状况. 但是其算法的建模复杂度也较高, 并且其研究成果针对特定的场景, 对模型的推广具有局限性.

虽然国内外的专家学者对安全态势做了较多工作, 但是由于存在建模复杂程度较高的问题, 并且参数优化的不足导致了评估结果不理想及应用场景的局限性, 也导致了算法模型存在一定的缺陷, 又或者是针对波动较大的数据、实时数据存在评估准确性不高的问题. 隐马尔可夫模型 (hidden Markov model, HMM) 的算法复杂程度可控, 并且对于时序波动数据也具有不错的分析效果. HMM 是一种动态的贝叶斯模型, 广泛应用于天气预报、行为评估等[15]. 在信息化的电力网络里, 根据告警信息能够知道某个电网节点或者设备的网络攻击状态. 在网络入侵过程中会产生大量的告警, 其种类多种多样,如果不做处理就用于HMM 的观察矩阵, 会使矩阵的维度非常大[16]. 本文提出了一种基于人工免疫和隐马尔可夫模型的算法对新型电力系统进行网络安全态势评估. 首先, 利用计数器算法来获得观测序列; 其次, 将告警类型分为4 类, 分别对应4 种网络状态, 通过人工免疫算法来确定隐马尔可夫模型不同状态之间的转移概率, 得到状态转移矩阵; 接着, 利用态势评估误差对状态转移矩阵进行修正; 最终, 计算得到安全态势评估值.

1 基于博弈论和隐马尔可夫模型的用电信息采集网络安全态势评估方法

1.1 隐马尔可夫模型

HMM 是一种动态的贝叶斯模型, 常用于统计学习及序列数据处理, 具有以下特点: 识别率高、数据量小、建模简单、计算速度快, 被广泛应用于天气预报、行为识别等领域[17]. 此外, 在网络安全领域,除了主机信息、告警信息、漏洞信息等是可以直接看见的, 网络安全状态等信息是看不见摸不到的.但通过可直接看见的因素可以表征电力网络的安全状态变化的过程, 适合HMM 的应用领域[18], 因此,可以利用HMM 对网络安全的变化过程进行描述. 隐马尔可夫模型可以用λ={S,V,P,Q,π}[19]表示,模型说明如下.

(1)本文将网络安全状态划分为4 个状态, 状态集合空间用S来表示,S={I,P,A,C}. 其中,I表示安全状态, 指此时的电力网络无任何安全隐患;P表示预攻击状态;A表示攻击入侵状态;C表示网络攻陷状态.

(2)由于电力网络安全状态是一个感知不到的状态, 无法通过具体形象的描述让电力网络运维人员感知, 因此, 本文以发生安全攻击时电力网络运维系统中所产生的安全警报的数量作为电力观测数据. 由于警报种类、数量庞大, 故将警报进行分类. 根据网络安全状态将警报对应地分为4 类, 电力观测向量集合空间用V表示,V={i,p,a,c}. 警报分类如表1 所示.

表1 警报分类Tab. 1 Classification of alarms

(3)状态转移矩阵用P来表示, 其含义是某状态的下一个时刻变换为另一个状态的概率分布,P=[pij] . 其中,pij={qt+1=Sj|qt=Si}, 1 ≤i,j≤N, 表示从t时刻的状态Si到t+1 时刻的状态Sj的概率. 采用的状态转移矩阵如图1 所示.

图1 网络安全状态转移矩阵Fig. 1 Network security state transfer matrix

(4)概率分布矩阵用Q表征, 其具体形式为Q=[qi(vk)] , 含义是网络在Si状态下观测到的警报为vk的概率, 用qi(vk) 来表示,qi(vk) 的表达式如式(1)所示.

(5)初始概率分布矩阵用π表征,π=[πi] ,πi=p{q1=Si}的含义为在初始时间刻度下的网络处于Si状态的概率, 其中, 1 ≤i≤N.

确定参数{S,V,P,Q,π}之后, 根据从网络设备上获取的观测序列求出在t时刻处于不同网络状态Si的概率λt(i) , 接着引入一个参数: 风险损失向量C(i) , 便可得到t时刻网络安全态势值Rt[20],Rt的计算如式(2)所示.

式(2)中:λt(i) 表示t时刻网络状态为Si的概率;C(i) 表示对应状态下的风险损失;N表示设定的网络安全状态的总数目.

随着可再生能源的大规模并网,电网运行逐渐呈现出高阶不确定性的新特点,对系统运行的安全性和稳定性提出了严峻的挑战[21]. 尽管基于隐马尔可夫模型的态势评估模型能够反映当前研究中的网络安全状况, 但也存在一些问题. 首先, 在统计不同时间段的安全观测数据时, 有可能由于不同时间段重叠或者安全事件在某些时间段过于集中, 导致实际观测得到的安全数据不准确. 其次, 状态转移矩阵和观测矩阵的建立通常基于专家经验, 取得好的或坏的效果也取决于专家的知识经验水平, 具有较强的主观性.

1.2 计数器算法

为了避免由于时间段重叠或者时间段间隔较大导致获取的电力安全观测数据较多或者较少, 从而影响电力网络态势评估, 本文利用计数器算法将时间分成时间片段, 根据时间片段内的请求记录安全状态, 该算法描述如下.

首先, 设置时间片段的大小. 给定一个时间段T=(ts,ts+1,··· ,te-1,te) , 时间段的长度为te-ts.其中, 子时间片段的大小为ti-ti-1(s+1 ≤i≤e).

其次, 统计安全观测值落在不同子时间片段内的数量是多少, 并且间隔时间后子时间片段就要向右进行滑动, 如果子时间片段内的安全观测数据达到设定的阈值则该时间片段停止滑动, 其余子时间片段继续滑动, 直到观测值数量满足阈值后停止. 当时间片段往右滑动的片段较小时, 电力网络安全情况可以反映在更多的时段.

1.3 初始状态转移矩阵

利用隐马尔可夫模型进行电力网络安全态势评估的关键是确定网络安全状态转移矩阵, 传统的方法是根据专家的经验给出, 但是这种方法太过于主观, 不同专家给出的经验值不尽相同. 为此, 本文基于人工免疫算法, 借鉴免疫过程来确定网络安全的状态转移矩阵. 具体地说, 就是参考病毒入侵后免疫系统和病毒抗原之间的过程来确定状态转移矩阵, 通过这种方式可以提高评估的准确性[22].

Si状态转移到Sj状态的概率如式(3)所示.

式(3)中:pij表示Si状态转移到Sj状态的概率,也就是说,Si状态转移到Sj状态的数目占Si状态转移到其他所有状态数目的比例;NSj表示Si状态转移到Sj状态的数目;NSk表示Si状态转移到其他所有状态数目的和. 然后根据每个状态的概率分布便可得到网络安全状态转移矩阵.

人工免疫算法(immune algorithm, IA)[23]是受自然免疫系统的启发, 用于数据操作、分类、表示和推理的方法. 其处理过程包括: ① 当病毒抗原入侵机体时, 免疫系统首先进行抗原的识别, 然后产生初始抗体; ② 计算抗体和抗原之间的亲和性以及抗体之间的亲和性, 并且将与病毒抗原亲和性高的抗体加入记忆单元, 如果新产生的抗体和病毒抗原的亲和性更高, 则进行抗体的更新; ③ 计算每个抗体的抑制期望值, 如果抗体的抑制期望值小于设定的阈值, 那么就对该抗体进行抑制; 对和病毒抗原具有高亲和力的抗体加速克隆, 该抗体的克隆数目越高, 其变异率就越低, 经过交叉和变异产生进入下一代的抗体, 具有更强的杀灭病毒的能力; ④ 最终机体中交叉变异产生的抗体中和病毒抗原, 分解病毒, 使病毒失去致病能力, 从而达到消灭病毒的目的.

1.4 根据人工免疫算法确定状态转移概率

当电力网络受到安全攻击时, 电力运维系统及运维人员会有相应的安全防御措施. 结合人工免疫算法中的病毒抗原和抗体的斗争过程, 得到如下的状态转移过程.

(1) 假如初始电力网络处于安全状态, 此时在任意的安全防护措施下, 依然是安全的; 如果接着发生了预攻击的安全事件, 那么如果不做任何防护措施, 就会处于预攻击状态; 如果进行检测类防护, 并且不组织安全攻击, 此时处于安全和预攻击状态的概率均为1/2; 当进行抗体对抗类防护措施时, 此时处于安全和预攻击状态的概率均为1/2, 修复防护时, 会处于安全状态.

(2) 如果接着发生了攻击入侵类安全事件, 那么如果不做任何防护措施, 就会处于攻击入侵状态;如果进行检测类防护, 并且检测到后采取了防护策略, 那么处于预攻击状态或者安全状态的概率分别为3/4、1/4; 当进行抗体对抗类防护时, 处于安全状态的概率为1/2, 处于预攻击状态的概率为1/2, 当进行修复防护时, 会处于安全状态.

(3) 如果接着发生了攻陷类安全事件, 那么如果不做任何防护措施, 就会处于网络攻陷状态; 如果进行检测类防护, 那么处于安全状态和攻陷状态的概率分别为1/4、3/4; 当进行抗体对抗类防护时,处于安全状态的概率为1/2, 处于攻陷状态的概率为1/2, 当进行修复防护时, 会处于安全状态. 转移概率如表2 所示.

表2 安全状态I 的矩阵Tab. 2 Matrix of security state I

根据网络安全状态I的|E|×|D|矩阵, 可以得到网络安全状态I在t+1 时刻转移到其他几种网络安全状态的概率分别为:pII=0.59 ,pIP=0.13 ,pIA=0.14 和pIC=0.14 .

同理, 分别构建P状态、A状态、C状态的|E|×|D|矩阵, 从而初步确定网络安全状态转移矩阵如式(4)所示.

1.5 修正状态转移矩阵

利用态势评估误差对状态转移矩阵进行修正. 态势评估误差是指根据模型计算出的态势评估值和实际的态势评估值之间的误差.

首先, 统计一段时间内网络安全态势评估的误差情况, 设为ε=(ε1,ε2,··· ,εi,··· ,εm) ; 然后, 计算状态Si到下一个状态的所有误差和与状态Si到状态Sj之间累计的误差和的商, 并作为pij的修正因子θij. 那么, 修正后的状态转移概率如式(5)所示.

由于表示Si状态转移到其他状态的概率和为1, 故需要将p′ij的值进行归一化处理, 如式(6)所示.

式(6)中:p′i′j表示最终的状态转移概率值;p′ik表示中间计算中修正状态概率转移概率值.

2 实验分析

2.1 实验数据集

选取经典数据集DARPA2000[24-25]中的LLDOS 1.0 作为实验数据集. LLDOS 1.0 是DDOS 攻击场景的测试集, 数据集是对美国艾尔空军基地的主机实施分布式的拒绝服务攻击的模拟产物. 场景模拟攻击的阶段数目为5, 对于不同阶段而言, 不同的攻击或者安全事件会使网络处于不同的安全状态, 详见表3.

表3 LLDOS 1.0 数据集攻击说明表[26] Tab. 3 LLDOS 1.0 dataset attack description table

2.2 实验评价标准

为了在被攻击时运维人员能够及时反应, 故出现攻击时需要及时告警. 本文对网络态势评估的性能评价采用告警准确率 (accuracy, ACC, 用RA表示) 、漏报率 (false negative rate, FNR, 用RFN表示) 、误报率(false positive rate, FPR, 用RFP表示)、误警率 (false alarm rate, FAR, 用RFA表示) 作为衡量指标. 各项指标的计算如式(7)—(10).

其中, 真正例 (true positive, TP, 用nTP表示) 代表正例样本被预测为正例的数量, 真反例 (true negative, TN, 用nTN表示) 代表反例样本被预测为反例的数量, 假反例 (false negative, FN, 用nFN表示) 代表正例样本被预测为反例的数量, 假正例 (false positive, FP, 用nFP表示) 代表反例样本被预测为正例的数量[27], 如表4 所示.

表4 混淆矩阵Tab. 4 Confusion matrix

通过利用网络安全状态更新的前向 (forward) 算法计算t时刻处在状态Si下的概率λt(i) , 根据不同时刻处于各个状态下的概率判断其所处的状态, 计算出ACC、FPR、FNR、FAR 的值, 从而得出该方法判断的准确性.

2.3 实验结果与分析

本文利用wireshark 对转储文件进行分析, 并通过wireshark 设置过滤规则, 从而获取文件中的各种服务信息. 为了避免由于时间段重叠或者时间段间隔较大获取的电力安全观测数据较多或者较少,从而影响电力网络态势评估, 本文利用计数器算法获取安全观测数据. 将时间窗宽度 Δt设置为5 min,子窗口大小为1 min, 滑动步长为1, 设置的每个子窗口的阈值为50, 也就是说当子窗口的警报数超出50 时, 则停止滑动, 否则向右进行步长为1 的滑动.

LLDOS1.0 数据集没有提供防护措施的相关说明, 根据对告警信息及安全事件的分析, 并进行修正确定初始的网络安全状态转移矩阵, 其结果如式(11)所示.

Q, π ,C(i) 的值如下所示:

确定观测序列Ot和λ={S,V,P,Q,π}后, 利用网络安全状态更新的前向算法计算t时刻处在状态Si下的概率λt(i) , 结果如图2 所示.

图2 各状态概率分布图Fig. 2 Probability distribution of each state

在各状态概率分布图(图2)中, 若某一时刻中有一个状态概率最大, 则判断当前处于该状态. 场景模拟攻击的总时间为200 min, 整个实验过程为初始的网络处于安全状态, 且前10 min 网络都是处于安全状态. 通过图2 可以看出, 前10 min 都是处于安全状态的概率最高. 然后开始获取电力网络攻击的列表, 接着开始进行网络预攻击, 寻找薄弱的主机. 接下来的大约50 min, 此时网络处于预攻击状态的概率最大. 在不断地攻击、寻找到薄弱的主机后, 开始通过漏洞对主机进行入侵, 从而达到控制薄弱主机的目的. 在控制薄弱主机时, 根据攻击场景的描述, 当t=90 min 时攻击者就获得了主机的系统权限, 此刻的网络安全状态应该是攻陷状态. 接下来的25 min 内, 网络处于攻击入侵状态. 然后在第90 分钟时, 处于状态C的概率最大. 由图2 可知, 在90 min 时攻陷状态C的概率远大于其他状态, 出现了0.8 的高概率值, 而其他状态的概率值很低, 所以此时可以判定为处于攻陷状态C. 接着, 在网络攻陷后开始网络防御, 并且攻击者停止了网络攻陷, 网络安全状态开始慢慢恢复. 然后, 攻击者又开始进行新一轮的服务器攻击, 网络安全状态又开始恶化. 但是由于网络安全的自身防御, 并没有被网络攻陷, 并且在停止服务器攻击后, 网络安全处于相对平稳的状态中. 根据图2 可以看出, 在接下来的时间中, 网络安全状态由攻陷状态变为攻击入侵状态又变为预攻击状态; 但是由于服务器攻击, 网络状态又开始变为攻击入侵状态; 在服务器攻击停止后, 又慢慢变为预攻击状态, 网络状态逐渐好转.

本文算法与Xi 算法[26]、Arnes 算法[28]、Haslum 算法[29]、遗传算法[30]进行比较, 对比结果如表5 所示. 根据表5, 并结合图2 和表3 可以看出, 本文提出的算法可以较好地描述网络攻击时的安全状态变化, 并且相较于另外4 种算法, 唯一正确体现出了网络被攻时的安全状态. Xi 算法虽然也一定程度上体现出了网络攻击时的安全状态变化, 但是和实际情况相比还是存在一定的误差, 且没有体现出攻陷状态. Arnes 算法和Haslum 算法在整个攻击过程中只有两种安全状态, 显然与实际情况不符合. 而遗传算法的几种状态概率值差别不大, 不能较好地区分不同时刻的网络状态. 因此, 经过对比, 本文提出的算法能够较好地描述不同时刻的安全状态.

表5 算法在不同时刻的不同的网络安全状态情况比较Tab. 5 Comparison of the different network security states of the algorithms at different moments

网络安全态势评估的性能测试结果如图3 所示. 通过图3 可以得出, 网络态势判断的准确率达到了95%, FPR、FNR、FAR 分别为19%、3%、10%, 因此, 本文提出的方法对于网络状态的判断具有不错的效果, 当电力网络出现攻击行为时, 能够及时地告警上报.

图3 各衡量指标值分布图Fig. 3 Distribution of each measurement index value

根据图2 已经计算得出的不同时刻下的不同状态的概率值, 还可以得出各个状态的准确率, 结果如图4 所示.

图4 4 种状态准确率图Fig. 4 Four-state accuracy bar graph

图4 可以看出, 对I状态的预测准确率为82%, 对P状态的预测准确率为93%, 对A状态的预测准确率为89%, 对C状态的预测准确率为100%. 以上数据表明, 该方法可以准确地预测攻陷状态的趋势变化, 同时对其他态势的预测也比较准确. 可以说明, 通过该方法判断网络所处状态是较为准确的.为了在被攻击时及时作出反应, 出现攻击时需要告警. 通过前100 min 时间段内每5 min 的告警准确率来判断告警是否平稳, 从而反映预测的正确性, 结果如图5 所示.

图5 告警准确率折线图Fig. 5 Alarm accuracy line chart

通过图5 可以判断出, 总体上告警的准确率比较平稳, 在20 min 以后准确率始终在92%以上, 说明该方法可以准确预测各状态的趋势变化, 在出现不安全的情况下及时告警, 同时还能够精确地通过量化的概率值来说明某个时刻网络的实际状态.

图6 网络安全态势值Fig. 6 Network security posture values

3 总 结

本文基于HMM 评估AMI 系统的安全状态. 首先, 利用滑动时间窗口机制可以完全捕捉到某个时间段的变化; 然后, 利用安全防护措施和AMI 安全事件的博弈过程结合专家经验确定状态转移的过程, 从而初步确定AMI 系统的网络安全状态转移矩阵, 最终对AMI 系统的网络安全状态作态势评估,保障智慧电网的安全平稳运行. 实验结果表明, 该方法对于网络安全态势的评估比较合理.

猜你喜欢
态势概率网络安全
第6讲 “统计与概率”复习精讲
第6讲 “统计与概率”复习精讲
概率与统计(一)
概率与统计(二)
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
我国天然气供需呈现紧平衡态势
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?