一种基于事件序列的威胁检测方法技术

技术编号:22726018 阅读:39 留言:0更新日期:2019-12-04 07:10
本发明专利技术提供了一种基于事件序列的威胁检测方法,该方法包括:捕获正常运行时工控系统的网络数据包,从中提取训练数据集;建立并训练隐马尔可夫模型λ;提取当前运行状态下工控系统的网络数据包,从中获取当前运行状态下真实的观测序列o′

A threat detection method based on event sequence

The invention provides a threat detection method based on event sequence, which includes: capturing the network data packet of industrial control system in normal operation, extracting the training data set from it; establishing and training the hidden Markov model \u03bb; extracting the network data packet of industrial control system in current operation state, and obtaining the real observation sequence o \u2032 in current operation state

【技术实现步骤摘要】
一种基于事件序列的威胁检测方法
本专利技术涉及工业控制系统领域的攻击检测技术,具体涉及一种基于事件序列的威胁检测方法。
技术介绍
目前,越来越多的工业控制系统(简称工控系统)内部网络需要和外部网络互连,使工业控制系统暴露于公共网络之中,面临更多的攻击。为了保证工业控制系统的安全性,网络安全技术被越来越多地应用。网络流量分析技术是目前应用最广泛的信息网络攻击检测方法之一,通过监视和分析网络流量以检测出带有异常行为的数据分组,从而实现攻击检测。但是,传统的攻击检测技术通常是搜索单个、不寻常或不允许的“操作”,而越来越多的攻击表明,网络入侵采用一系列合法的但操作顺序异常,能够避开标准的攻击检测系统,由于执行的顺序发生改变,仍然会破坏工业控制系统的基础设施。
技术实现思路
针对上述问题,本专利技术提出了一种基于事件序列的威胁检测方法,该威胁检测方法不但能够检测出单个的常规的不合法操作,而且能够检测出操作顺序异常的攻击序列。本专利技术旨在提出一种基于事件序列的威胁检测方法,这种攻击检测方法只需要获取控制系统网络的数据包,经过处理转化成事件序列,根据得到的事件序列进行建模;不仅保障了工控系统的实时性要求,而且能够很方便的在其他工控系统使用,提高了扩展性。本专利技术首先捕获正常运行时工控系统的网络数据包,将所述网络数据包转换成事件序列,然后提取观测序列o和状态序列I作为训练数据集,建立并训练隐马尔可夫模型λ;在威胁检测时提取当前运行状态下所述工控系统的当前网络数据包,将所述当前网络数据包转化为当前事件序列,从中获取当前运行状态下所述工控系统真实的观测序列o′real,计算观测序列o′real在已训练完成的隐马尔可夫模型下的概率P(o′real|λ);然后通过已训练完成的隐马尔可夫模型生成一个预测观测序列o′pre,然后计算出两个观测序列o′real和o′pre的相似度r,最后根据概率P(o′real|λ)和相似度r来判断所述工控系统是否遭受攻击。本专利技术提出的一种基于事件序列的威胁检测方法只需要对工控系统的网络数据包进行抓取,执行威胁检测的检测模块可以用单独的主机来执行,不需要将所述检测模块放入到工控系统的工控设备中,不仅保障了工控系统的实时性要求,而且能够很方便的在其他工控系统使用,提高了扩展性。附图说明图1是本专利技术的流程示意图图2是本专利技术序列攻击检测阶段示意图图3是本专利技术实施例中采用的替换矩阵具体实施方式下面将结合本专利技术实施例,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,在工控系统中,首先获取上位机和PLC(ProgrammableLogicController,可编程逻辑控制器)等设备之间的正常运行状态下工控系统网络数据包,然后对所述网络数据包中的每个数据包提取相应特征转化为事件e,事件e表示为:e=<ID,Code,Data,Time>(1)其中ID表示每个数据包唯一标识,Code表示工控系统中工控设备执行的操作类型,Data表示执行操作的具体信息,Time表示时间戳;根据事件定义,将获取到的所述网络数据包转化为事件序列E={e1,e2,…,et,…},并从所述网络数据包中获取所有可能的状态集合Q={q1,q2,...,qN}以及所有可能的观测值集合V={v1,v2,...,vM};获得事件序列E后,根据事件序列E建立隐马尔可夫模型λ;隐马尔可夫模型由初始状态概率向量π、状态转移概率矩阵A和观测概率矩阵B决定,隐马尔可夫模型λ可以用(2)中的三元符号表示:λ=(A,B,π)(2)A=[aij]N*N(3)B=[bj(k)]N*M(4)π=(πi)(5)其中,aij=P(It+1=qj|It=qi),i,j=1,2,...,N(6)aij表示t时刻处于状态qi的条件下在t+1时刻转移到状态qj的概率;It表示t时刻的状态,t≥1并且为整数;bj(k)=P(ot=vk|It=qj),k=1,2,...,M;j=1,2,...,N(7)bj(k)表示t时刻处于状态qj的条件下生成观测值vk的概率;ot表示t时刻的观测值;πi=P(I1=qi),i=1,2,...,N(8)πi表示初始时刻t=1处于状态qi的概率;I1表示初始时刻t=1的状态。当工控系统正常运行时,抓取大量正常情况下的网络数据包,并从中获取所有可能的状态集合以及所有可能的观测值集合,将所述网络数据包转化成大量的事件序列,从中提取出训练隐马尔可夫模型λ模型所需的观测序列和状态序列作为训练数据集。所述训练数据集的提取方法为:将所述事件序列中的每个事件中的Data字段均作为一个观测值、Code字段均作为一个状态值,从而获取训练所需的众多观测序列o=(o1,o2,...,ot,...)和对应的状态序列I=(I1,I2,...,It,...);然后利用极大似然估计来估计隐马尔可夫模型λ的参数:初始状态概率πi的估计值为训练数据集中初始状态为qi的频率;aij和bj(k)的估计值如下公式所示:其中Aij表示训练数据集中当前时刻状态为qi且下一时刻状态为qj的频数,Bjk表示训练数据集中状态为qj并且观测值为vk的频数。隐马尔可夫模型λ训练完成后,可以通过训练完成的隐马尔可夫模型λ生成一个预测观测序列,所述预测观测序列的生成过程为:根据正常运行状态下工控系统的初始状态分布确定初始时刻状态I1,然后根据所述正常运行状态下工控系统的观测概率分布bj(k)确定所述工控系统在t时刻的观测值ot,随后根据所述正常运行状态下工控系统的状态转移概率分布aij确定下一时刻的状态,重复上述步骤,直至所述工控系统的观测序列预测完成,预测出的观测序列是训练完成的隐马尔可夫模型λ生成的概率最大的观测序列o′pre。如图2所示,在威胁检测的时候,将当前运行状态下所述工控系统的当前网络流量数据转化为当前事件序列,从中获取当前运行状态下所述工控系统真实的观测序列o′real,先是用前向算法计算在训练完成的隐马尔可夫模型λ下当前运行状态下所述工控系统真实的观测序列o′real的概率P(o′real|λ),然后将当前运行状态下所述工控系统真实的观测序列o′real和预测出的观测序列o′pre进行比对,计算两个观测序列o′real和o′pre之间相似度r;两个序列之间相似度的定义为:两个序列对应位置上元素相同或相似的数目占序列长度的百分比。判断两个元素是否相似取决于所述工控系统正常情况下的训练数据集,在训练数据集中如果两个序列相同位置上的元素具有相似性,则它们可以互相替换。为记录相应位置上元素之间的相似关系,用L个替换矩阵CK来记录序列对应位置上元素之间的相似本文档来自技高网...

【技术保护点】
1.一种基于事件序列的威胁检测方法,其特征在于,该方法包括如下步骤:/nS1)当工控系统正常运行时,抓取大量正常运行状态下的网络数据包,并从所述网络数据包中获取所有可能的状态集合Q={q

【技术特征摘要】
1.一种基于事件序列的威胁检测方法,其特征在于,该方法包括如下步骤:
S1)当工控系统正常运行时,抓取大量正常运行状态下的网络数据包,并从所述网络数据包中获取所有可能的状态集合Q={q1,q2,...,qN}以及所有可能的观测值集合V={v1,v2,...,vM},并将所述网络数据包转化成大量的事件序列E={e1,e2,…,et,…},从中提取出训练隐马尔科夫模型λ模型所需的观测序列和状态序列作为训练数据集,其中,所述网络数据包中的每个数据包被提取相应特征转化为一个事件e,e1,e2,…,et分别表示第1,2,…,t个事件e,每一个事件e表示为e=<ID,Code,Data,Time>,ID表示每个数据包唯一标识,Code表示所述工控系统中工控设备执行的操作类型,Data表示所述工控设备执行操作的具体信息,Time表示时间戳;所述训练数据集的提取方法为:将所述事件序列中的每个事件e中的Data字段作为一个观测值、Code字段作为一个状态值,从而获取训练所需的观测序列o=(o1,o2,...,ot,...)和对应的状态序列I=(I1,I2,...,It,...);
S2)根据步骤S1)得到的事件序列E建立隐马尔可夫模型λ,隐马尔可夫模型λ由初始状态概率向量π、状态转移概率矩阵A和观测概率矩阵B决定,表示为三元符号λ=(A,B,π),A=[aij]N*N,B=[bj(k)]N*M,π=(πi),其中,aij=P(It+1=qj|It=qi),bj(k)=P(ot=vk|It=qj),πi=P(I1=qi),t≥1并且为整数,i,j=1,2,...,N,k=1,2,...,M,M表示所述观测值集合V的大小,N表示所述状态集合Q的大小,aij表示t时刻处于状态qi的条件下在t+1时刻转移到状态qj的概率;It表示t时刻的状态;bj(k)表示t时刻处于状态qj的条件下生成观测值vk的概率;ot表示t时刻的观测值;πi表示初始时刻t=1处于状态qi的概率;I1表示初始时刻t=1的状态;
S3)采用步骤S1)提取的所述训练数据集训练步骤S2)建立的隐马尔可夫模型λ,利用极大似然估计估计隐马尔可夫模型λ的参数:初始状态概率πi的估计值为所述训练数据集中初始状态为qi的频率;aij和bj(k)的估计值分别为其中Aij表示所述训练数据集中当前时刻状态为qi且下一时刻状态为qj的频数,Bjk表示所述训练数据集中状态为qj并且观测值为vk的频数,由此得到训练完成的隐马尔可夫模型λ;
S4)根据步骤S3)训练完成的隐马尔可夫模型λ生成一个预测观测序列,所述预测观测序列的生成过程为:根据正常运行状态下工控系统的初始状态分布确定初始时刻状态I1,然后根据所述正常运行状态下工控系统的观测概率分布bj(k)确定所述工控系统在t时刻的观测值ot,随后根据所述正常运行状态下工控系统的状态转移概率分布aij确定下一时刻的状态,重复上述步骤,直至所述工控系统的观测序列预测完成,预测出的观测序列是训练完成的隐马尔可夫模型λ生成的概率最大...

【专利技术属性】
技术研发人员:丁旭阳谢盈张帅游新童丁晓聪张小松
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1