[发明专利]一种基于事件序列的威胁检测方法有效
申请号: | 201910898421.3 | 申请日: | 2019-09-23 |
公开(公告)号: | CN110535878B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 丁旭阳;谢盈;张帅;游新童;丁晓聪;张小松 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06K9/62 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 周刘英 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: |
本发明提供了一种基于事件序列的威胁检测方法,该方法包括:捕获正常运行时工控系统的网络数据包,从中提取训练数据集;建立并训练隐马尔可夫模型λ;提取当前运行状态下工控系统的网络数据包,从中获取当前运行状态下真实的观测序列o′ |
||
搜索关键词: | 一种 基于 事件 序列 威胁 检测 方法 | ||
【主权项】:
1.一种基于事件序列的威胁检测方法,其特征在于,该方法包括如下步骤:/nS1)当工控系统正常运行时,抓取大量正常运行状态下的网络数据包,并从所述网络数据包中获取所有可能的状态集合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,...);/nS2)根据步骤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的状态;/nS3)采用步骤S1)提取的所述训练数据集训练步骤S2)建立的隐马尔可夫模型λ,利用极大似然估计估计隐马尔可夫模型λ的参数:初始状态概率πi的估计值为所述训练数据集中初始状态为qi的频率;aij和bj(k)的估计值分别为 其中Aij表示所述训练数据集中当前时刻状态为qi且下一时刻状态为qj的频数,Bjk表示所述训练数据集中状态为qj并且观测值为vk的频数,由此得到训练完成的隐马尔可夫模型λ;/nS4)根据步骤S3)训练完成的隐马尔可夫模型λ生成一个预测观测序列,所述预测观测序列的生成过程为:根据正常运行状态下工控系统的初始状态分布确定初始时刻状态I1,然后根据所述正常运行状态下工控系统的观测概率分布bj(k)确定所述工控系统在t时刻的观测值ot,随后根据所述正常运行状态下工控系统的状态转移概率分布aij确定下一时刻的状态,重复上述步骤,直至所述工控系统的观测序列预测完成,预测出的观测序列是训练完成的隐马尔可夫模型λ生成的概率最大的观测序列o′pre;/nS5)在威胁检测的时候,将当前运行状态下所述工控系统的当前网络流量数据转化为当前事件序列,从中获取当前运行状态下所述工控系统真实的观测序列o′real,首先采用前向算法计算在步骤S3)训练完成的隐马尔可夫模型λ下当前运行状态下所述工控系统真实的观测序列o′real的概率P(o′real|λ),然后将当前运行状态下所述工控系统真实的观测序列o′real和步骤S4)预测出的观测序列o′pre进行比对,计算两个观测序列o′real和o′pre之间相似度r;由计算得到的概率P(o′real|λ)和相似度r,根据公式D=u*P(o′real|λ)+v*r计算出D值,其中u+v=1,u和v表示预设权重;当计算出的D值小于预设阈值T时表明当前运行状态下所述工控系统真实的观测序列o′real与所述工控系统正常运行状态下的观测序列差异太大,判定遭受到攻击,否则所述工控系统当前运行状态正常。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910898421.3/,转载请声明来源钻瓜专利网。