◆张 晴
基于隐马尔可夫模型的网络安全态势预测的研究
◆张 晴
(河北师范大学(石家庄)信息技术学院 河北 050024)
随着国家重要信息设施日益网络化,网络安全形势越来越复杂,本文提出根据网络安全态势的特点重新构建隐马尔可夫模型。采用隐马尔可夫模型的时间序列方法,刻画出不同时刻的安全态势,优化模型的参数,以增加模型参数的准确性和客观性,并用前向算法和后向算法相结合的方法实现识别单个状态的概率,最后用维特比算法预测其安全态势的变化趋势,为网络管理人员提供合理数据提高其工作效率和效果。
隐马尔科夫模型;网络安全态势;优化参数;维特比算法
随着国家重要信息设施日益网络化,相应的网络安全形势也越来越复杂,因此,网络安全态势预测成了网络安全研究领域的重点,有望解决网络安全与管理问题。研究者提出了一些方法,谢丽霞等针对网络安全态势感知问题,提出一种基于神经网络的网络安全态势感知方法,但其对态势发展趋势及预测准确度还不够。李伟明等提出利用遗传算法来确定状态转移概率分布和观测概率分布,但其针对特定攻击和风险的描述规则缺乏灵活性,规则库不易构造。因此,本文提出基于隐马尔可夫模型对网络安全态势进行预测,达到提高其识别和预测的精确度。
隐马尔可夫模型是用来描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个可产生观测随机序列的过程[1]。针对网络安全态势的特性,参照马尔可夫经典模型,可建立隐马尔可夫模型,由一个λ=(V,S,PI,A,B)表示:
(1)V表示可观测集合空间,记V={V1,V2,…,VM},其中M表示各状态观测向量值的数目。
(2)S表示隐藏状态集合空间,记S={S1,S2,…,SN},其中Si表示一个独立的状态,N表示状态的数目。不同的报警信息导致网络进入不同的安全状态,可将网络的安全状态划分为“高、中高、中、中低、低”5个状态。
(3)PI表示初始隐藏状态概率分布矩阵,记PI={PIi},其中PI=P(i1=Si),1≤i≤N,表示可观测序列O在某时刻t=1时,各个隐状态的初始所处状态Si的概率分布情况。
(4)A表示隐藏状态的状态转移概率分布矩阵,记A={aij},其中aij=P(it+1=Sj|it=Si),1≤i,j≤N,表示在t时刻处于状态Si且在t+1时刻转移到状态Sj的概率。
(5)B表示隐藏状态对应的观测状态概率分布矩阵,记B=bi(k),其中bi(k)=P(Ot+1=Vk|it=Si), 1≤k,i≤N,表示在时刻t处于状态Si的条件下生成观测值Vk的概率。
前向算法的步骤如下所述:
(1)初始化前向概率
αi(1)=PIi*bi(O1),i=1,2,…,N
(2)迭代计算
(3)终止条件
P(O|λ)=
维特比算法的步骤如下所述:
(1)初始化
δi(1)=PIi*bi(O1),i=1,2,…,N
ηi(1)=0, i=1,2,…,N
(2)进行递推公式
δi(t)=max[δj(t-1)aij]bi(Ot), i=1,2,…,N;j=1,2,…,N
ηi(t)=argmax[ηj(t-1)aji], i=1,2,…,N;j=1,2,…,N
(3)求最优路径的终点
P*=maxδi(T), i=1,2,…,N
it*=argmax[δi(T)],i=1,2,…,N
(4)最优路径回溯,对于t=T-1,T-2,…,1
it*=ηit+1*(t+1)
综上所述,可求得最优路径为I*=( i1*, i2*,…, iT*)。
传统的状态转移矩阵往往依据经验给出,具有很强的主观性,因此,本文提出将网络安全状态的转移看作攻击事件与防护措施的博弈过程,可描述为|E|×|R|矩阵。E为网络中发生的攻击事件,将网络划分为5种攻击事件:IP扫描类、端口扫描类、获取口令类、破解口令类、获取系统权限类。R为网络中所部署的防护措施,将网络划分为5种防护措施:监测IP扫描类、监测端口扫描类、阻止获取口令类、阻止破解口令类、修复获取系统权限类。
根据上述矩阵分析,可得当网络安全状态分别5种状态时的|E|×|R|矩阵,最终可确定得到隐藏状态的状态转移概率分布矩阵A,如下所示:
由于前向算法求得某一观测序列出现的概率对于网络安全态势毫无实际意义,因此,本文提出采用隐马尔可夫模型的前向算法和后向算法相结合的方式,刻画出不同时刻的安全态势,实现识别某一时刻网络处于的安全状态的概率,进而推断出此时的网络安全状态。
后向算法步骤如下所述:
(1)初始化后向概率,对最终时刻的所有状态Si规定: βi(t)=1,即βi(T)=1,i=1,2,…,N。
(2)后向概率的递推公式
(3)给出P(O|λ)的计算公式,
综上所述,可用前向算法和后向算法相结合的方式,计算出在t时刻网络处于状态Si的概率,公式如下:
本实验选用美国麻省理工学院林肯实验室提供的DARPA2000攻击测试数据集LLDOS1.0。
本实验的运行平台为Windows操作系统。硬件环境的要求为主机处理器在500.0MHz以上,存在512M以上。软件运行环境为Sublime开发软件,Python语言编写。
分别将依据经验给出的状态转移矩阵和通过博弈过程计算出的状态转移矩阵,对网络安全态势进行计算识别。此时的初始概率分布矩阵PI和观测概率分布矩阵B均匀设置,状态转移概率分布矩阵A为改进得出,如下所示。
本实验将报警信息依照威胁性划分为3个等级,分别为“低、中、高”。采集一组报警信息的观测样本数据,分别为“低、中、中、低、低、中、高、低、中、高”,使用前向后向算法。实验结果得出,t=5时,报警信息为“低”,可推断此时的状态为“高”。根据专家经验计算和根据博弈过程计算的网络安全状态概率如表1所示。
表1 网络安全状态概率
经过对比分析,可以明显地看出根据博弈过程计算出的网络安全态势的概率更高、更精准。
本实验继续将采集的报警信息的观测样本数据,使用维特比算法得到网络安全态势最佳隐状态序列为:高、低、低、高、高、低、低、高、低、低。最后一个隐状态为“低”,根据博弈过程计算出的状态转移概率矩阵,低状态转移到低状态的概率为最高概率0.8。所以,可预测出在下一时刻的安全态势为“低”。接下来,网络管理人员可根据预测的结果对下一步的防护措施进行部署和调整,这就大大地提高了网络管理人员的工作效率。
本文研究了基于隐马尔可夫模型对网络安全态势的识别和预测,重构了隐马尔可夫模型,并且提出更科学的方法来确立模型参数。采用前向后向算法识别某一时刻的安全态势概率,最后用维特比算法得到隐藏状态序列,从而预测其安全态势的变化趋势,为网络管理人员提供合理数据,提高其工作效率。
[1]刘科.基于隐Markov模型的网络安全态势评估机制研究[D].曲阜师范大学,2017.
[2]于滢.网络安全态势感知系统的研究[J].电脑知识与技术,2017.
[3]陈丛.网络安全态势评估与预测技术分析[J].科技风,2017.
[4]张艳雪.基于模糊-隐马尔可夫模型的复合式攻击预测方法研究[D].河北师范大学,2015.
[5]刘景玮.博弈论在网络安全态势感知中的应用[D].大连海事大学,2013.
[6]詹雄,郭昊,张錋,毛澍.基于隐马尔可夫模型的网络安全态势预测方法[J].电信科学,2015.
[7]张勇,谭小彬.一种基于隐Markov模型的网络安全态势感知方法研究[J].信息网络安全,2011.
[8]李方伟,杨绍成,朱江.基于模糊层次法的改进型网络安全态势评估方法[J].计算机应用,2014.