一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于时序检测的工业控制系统入侵检测方法

2022-11-30 08:49:46 来源:中国专利 TAG:


1.本发明属于网络安全技术领域,尤其是针对工业控制系统的入侵检测方法。


背景技术:

2.现如今全球的工业现代化水平大幅提高,工业控制系统作为国家关键基础设施的重要组成部分,务必保证其安全运行。最初工业控制系统的设计理念是使其处于闭环隔离的状态,但是随着“工业4.0”等思想的推进和大数据和工业互联网等技术的发展,原本处于相对安全状态的工控系统开始面临诸多风险,近年来,全球范围内不停发生工控系统遭受大型攻击和勒索的事件。因此,如何保护更加先进的工业控制系统免于攻击变得越来越关键,而入侵检测技术是其中一个重要的解决思路。


技术实现要素:

3.本发明的目的是为解决工业控制系统流量数据复杂冗余导致入侵检测准确率不高的问题,在双向长短时记忆网络层前面加入注意力机制,使用权重隐藏层来计算输入流量序列的特征权重分布,以重点关注对入侵检测分类贡献度大的特征,然后再将选取出来的特征作为新的数据集输入到双向长短时记忆网络中进行时序检测,从而大大降低算法的时间复杂度并提高了工业控制系统入侵检测准确率。
4.采用的技术方案是:
5.定义1:工控流量时间序列x={x1,x2,

,xn},其中xi为各条工控流量数据。
6.定义2:工控流量中每个特征的注意力值α=∑s(x,ki)vi,,其中s是相似性度量函数,x是定义1中的工控流量时间序列,ki是注意力机制中的关键词,vi为ki在注意力机制中对应的权重系数。
7.定义3:工控流量数据各特征的注意力得分ei=α(u,vi),其中u为当前待测工控流量的特征向量;vi是经注意力层训练后得到的第i个关键词ki的特征向量。
8.定义4:归一化注意力得分αi=ei/∑
iei
,,其中ei为定义3中的未归一化的注意力得分。
9.定义5:工控流量数据相关性向量c=∑iαivi,αi是经过归一化后的注意力权重,可看作注意力概率;vi是关键词的值向量。
10.定义6:双向长短时记忆网络中正向传输层的隐藏层状态其中为正向传输层输出门的输出值,tanh为激活函数,为当前时间步的细胞状态。
11.定义7:双向长短时记忆网络中反向传输层的隐藏层状态其中为反向传输层中输出门的输出值,tanh为激活函数,为当前时间步的细胞状态,

表示同或运算。
12.定义8:双向长短时记忆网络的输出向量其中,为t时刻内双向长短时记忆网络模型正向层输出向量,为t时刻内双向长短时记忆网络模型反向层输出向量。其中,

表示双向长短时记忆网络输出层的结合方式,包括sum、mul、concat、ave和none五种。其中,sum、mul分别表示对待合并层做求和、乘积运算;concat表示将待合并层输出沿着一个维度进行拼接;ave表示求输出的平均值;none表示输出不会被结合。
13.基于时序检测的工业控制系统入侵检测方法主要包含三个模块,即数据采集模块、数据预处理模块和入侵检测模块。
14.(1)数据采集模块:使用嗅探工具scapy作为数据采集工具,将需要存储的流量数据存储为pcap文件。pcap是存储流量文件的格式。
15.设置抓包数量为n;设置是否储存流量标识为1;关掉只读包不嗅探标识offline;设置回调函数标识为none,为每一条流量定义一个回调函数,方便在抓包后统计信息;设置过滤规则filter='modbus/tcp'。
16.采集流量数据之后,将不携带载荷信息的读请求包和写返回包过滤掉。
17.(2)数据预处理模块分为数值化与归一化和时序重构两个部分,首先对流量数据进行数值化和归一化处理,然后将处理后的数据进行时序重构。
18.采用独热编码的方法对流量数据进行数值化。遍历流量包中的每个特征,若某特征为非数值型,将流量包中的元素排序去重,保存为唯一函数,再将唯一函数中的序号和值互换位置保存为表的格式。当遍历流量包中所有特征值后,从表中取出特征值对应的数字,即为标签,替换原特征值,最后使用独热编码器对其进行独热编码。
19.经独热处理后的流量数据按照归一化公式进行处理,其中,x'为归一化后的数据,为数据的平均值,σ为数据的标准差。
20.进行时序检测之前,将工控流量数据进行时序重组,用滑动窗口将原始数据格式转换为时间序列。首先设置窗口大小,然后将某条待检测流量在窗口内的前面的流量数据和其后面的流量数据作为双向长短时记忆网络的输入,并将本条待测流量的标签作为时序重组后的标签。
21.(3)入侵检测模块:首先判断是训练模型还是调用模型。
22.当选择训练模型时,选择密西西比州立大学公开的工控网络安全数据集作为训练集,该数据集具有26个特征(如指令功能码、指令地址码、响应功能码、响应地址码和比例-积分-微分增益等)及一个标签位,共包含七种攻击流量和一种良性流量,其中攻击流量包括简单的恶意响应注入攻击、复杂的恶意响应注入攻击、恶意状态命令注入攻击、恶意参数命令注入攻击、恶意功能命令注入攻击、拒绝服务攻击和侦察攻击。首先加载训练集并进行预处理和时序重构,然后输出到本发明的时序检测模型中,本发明的时序检测模型包括两个注意力层,每个注意力层后面都接dropout层,之后是双向长短时记忆网络层对流量数据进行时序检测。训练过程中,损失函数使用交叉熵损失,激活函数使用线性整流函数,优化器使用自适应运动估计算法。在注意力层,首先计算t时刻的注意力概率,将t时刻的注意力
概率与当前时间步的隐藏状态加权求和得到注意力分布向量,将分布向量输入到双向长短时记忆网络中,得到网络输出,计算不同时间步数的注意力得分,并使用相似度函数进行比对,最后使用全连接层再次抽取特征并输入到softmax分类器中得到入侵行为类别。
23.当选择调用模型时,先导入经数值化和归一化后的待测流量并进行时序重构,以输入到时序检测模型中,得到入侵行为分类结果。
24.其优点在于:
25.为解决工业控制系统流量数据维度大及冗余特征较多导致入侵检测分类准确率低的问题,在借鉴现有网络安全技术和深度学习技术的基础上,本发明在数据采集模块、数据预处理模块和入侵检测模块的数据处理过程中均进行了数据降维的操作,无需依赖人工经验进行特征提取,在尽可能保留原始数据完整性的情况下,加快了模型训练速度和分类速度,降低了误报率计算开销,提升了工控系统入侵检测效率和准确率,为工业4.0时代下的工业控制系统保驾护航。
26.基于时序检测的工业控制系统入侵检测方法主要包含三个模块,即数据采集模块、数据预处理模块和入侵检测模块。数据采集模块嗅探工控流量数据并将不携带载荷信息导致对入侵检测分类无效的读请求包和写返回包过滤掉。数据预处理模块对数据进行数值化和归一化处理,并对流量数据进行时序重构,以输入到后续时序检测网络中,符合长短时记忆网络的输入要求。入侵检测模块使用注意力机制将对工控入侵检测分类分类贡献大的特征提取出来并对其重点关注,以忽略冗余特征对模型训练的负担,降低算法复杂度,提升训练效率,提升工控入侵检测准确率,为智能安全工业控制系统提供新的思路。
附图说明
27.图1是本发明基于基于时序检测的工业控制系统入侵检测方法流程图。
具体实施方式
28.基于时序检测的工业控制系统入侵检测方法主要包含三个模块,即数据采集模块、数据预处理模块和入侵检测模块。
29.(1)数据采集模块:使用嗅探工具scapy作为数据采集工具,将需要存储的流量数据存储为pcap文件。
30.设置抓包数量为n;设置是否储存流量标识为1;关掉只读包不嗅探标识offline;设置回调函数标识为none,为每一条流量定义一个回调函数,方便在抓包后统计信息;设置过滤规则filter='modbus/tcp'。
31.采集流量数据之后,将不携带载荷信息的读请求包和写返回包过滤掉。
32.(2)数据预处理模块分为数值化与归一化和时序重构两个部分,首先对流量数据进行数值化和归一化处理,然后将处理后的数据进行时序重构。
33.采用独热编码的方法对流量数据进行数值化。遍历流量包中的每个特征,若某特征为非数值型,将流量包中的元素排序去重,保存为唯一函数,再将唯一函数中的序号和值互换位置保存为表的格式。当遍历流量包中所有特征值后,从表中取出特征值对应的数字,即为标签,替换原特征值,最后使用独热编码器对其进行独热编码。
34.经独热处理后的流量数据按照归一化公式进行处理,其中,x'为归一化后的数据,为数据的平均值,σ为数据的标准差。
35.进行时序检测之前,将工控流量数据进行时序重组,用滑动窗口将原始数据格式转换为时间序列。首先设置窗口大小,然后将某条待检测流量在窗口内的前面的流量数据和其后面的流量数据作为双向长短时记忆网络的输入,并将本条待测流量的标签作为时序重组后的标签。
36.(3)入侵检测模块:首先判断是训练模型还是调用模型。
37.当选择训练模型时,选择密西西比州立大学公开的工控网络安全数据集作为训练集,该数据集具有26个特征(如指令功能码、指令地址码、响应功能码、响应地址码和比例-积分-微分增益等)及一个标签位,共包含七种攻击流量和一种良性流量,其中攻击流量包括简单的恶意响应注入攻击、复杂的恶意响应注入攻击、恶意状态命令注入攻击、恶意参数命令注入攻击、恶意功能命令注入攻击、拒绝服务攻击和侦察攻击。首先加载训练集并进行预处理和时序重构,然后输出到本发明的时序检测模型中,本发明的时序检测模型包括两个注意力层,每个注意力层后面都接dropout层,之后是双向长短时记忆网络层对流量数据进行时序检测。训练过程中,损失函数使用交叉熵损失,激活函数使用线性整流函数,优化器使用自适应运动估计算法。在注意力层,首先计算t时刻的注意力概率,将t时刻的注意力概率与当前时间步的隐藏状态加权求和得到注意力分布向量,将分布向量输入到双向长短时记忆网络中,得到网络输出,计算不同时间步数的注意力得分,并使用相似度函数进行比对,最后使用全连接层再次抽取特征并输入到softmax分类器中得到入侵行为类别。
38.当选择调用模型时,先导入经数值化和归一化后的待测流量并进行时序重构,以输入到时序检测模型中,得到入侵行为分类结果。
39.基于时序检测的工业控制系统入侵检测方法的实施步骤如下:
40.步骤1:使用嗅探工具scapy作为数据采集工具,将需要存储的流量数据存储为pcap文件。
41.步骤2:设置抓包数量为n;设置是否储存流量标识为1;关掉只读包不嗅探标识offline;设置回调函数标识为none,为每一条流量定义一个回调函数;设置过滤规则filter='modbus/tcp'。
42.步骤3:过滤不携带载荷信息的读请求包和写返回包。
43.步骤4:采用独热编码的方法对流量数据进行数值化。
44.步骤7:使用标准分数归一化公式对数值化后的数据进行归一化处理。
45.步骤8:将工控流量数据进行时序重组,其中包括:用滑动窗口将原始数据格式转换为时间序列,首先设置窗口大小,将待检测流量在窗口内的前面的流量数据和其后面的流量数据作为双向长短时记忆网络的输入,然后将本条待测流量的标签作为时序重组后的标签。
46.步骤9:搭建本发明的时序检测模型,包括两个注意力层,每个注意力层后面都接dropout层,之后是双向长短时记忆网络层,其中在正向长短时记忆网络和反向长短时记忆网络中间设置dropout层。
47.步骤10:训练本发明的时序检测模型,损失函数使用交叉熵损失,激活函数使用线性整流函数,优化器使用自适应运动估计算法。
48.步骤11:将时序重构后的工控流量数据输入到注意力层,计算t时刻的注意力概率。
49.步骤12:将t时刻的注意力概率与当前时间步的隐藏状态加权求和得到注意力分布向量。
50.步骤11:将分布向量输入到双向长短时记忆网络网络中,得到网络输出。
51.步骤12:计算不同时间步数的注意力得分,并使用相似度函数进行比对。
52.步骤13:使用全连接层再次抽取特征并输入到softmax分类器中。
53.步骤14:使用随时间反向传播在学习率为0.05的条件下训练。
54.步骤15:结束训练模型,将测试集输入到本发明的时序检测模型中,获得对应输出。
55.步骤16:若对应输出概率大于0.5,则分类结果与实际标签相符,反之则不相符。
56.步骤17:利用分类结果与实际标签计算时序检测模型的相关性能指标。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献