CN112804270B - 一种基于自编码的通用工业协议异常检测模块及方法 - Google Patents
一种基于自编码的通用工业协议异常检测模块及方法 Download PDFInfo
- Publication number
- CN112804270B CN112804270B CN202110403007.8A CN202110403007A CN112804270B CN 112804270 B CN112804270 B CN 112804270B CN 202110403007 A CN202110403007 A CN 202110403007A CN 112804270 B CN112804270 B CN 112804270B
- Authority
- CN
- China
- Prior art keywords
- module
- payload
- information
- self
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于自编码的通用工业协议异常检测模块及方法,包括解析模块、预处理模块和编码器特征重构模块;所述解析模块用于解析工控事件的数据包头并截取数据包的payload信息,获取单个事件表征;所述预处理模块用于借鉴自然语言预处理方式对payload信息进行编码及词嵌入;所述编码器特征重构模块用于对预处理后的payload信息进行编码及重构,利用重构误差及所设阈值,判断是否有工控异常通信行为的存在。本发明给出了一种基于实时滑动时间窗口,并结合上下文事件的流量预处理方式,并借助自编码器及其变种有效提取时间、空间及特征的相关性。
Description
技术领域
本发明涉及工业控制系统技术领域,具体涉及一种基于自编码的通用工业协议异常检测模块及方法。
背景技术
现有的工业控制系统(ICS)中的工业协议异常通信行为的检测基本都依赖于各种工控协议的深度解析特征。而工控网络协议众多,包含工控标准协议如Modbus、DNP3IEC104,私有协议如FINS,私有不公开协议S7、PPI、 GE SRTP等,这给安全产品的检测带来了更高的成本。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于自编码的通用工业协议异常检测模块及方法解决了工控网络协议众多导致安全产品检测成本较高的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于自编码的通用工业协议异常检测模块,包括解析模块、预处理模块和编码器特征重构模块;
所述解析模块用于解析工控事件的数据包头并截取数据包的payload信息,获取单个事件表征;
所述预处理模块用于借鉴自然语言预处理方式对payload(载荷)信息进行编码及词嵌入;
所述编码器特征重构模块用于对预处理后的payload信息进行编码及重构,利用重构误差及所设阈值,判断是否有工控异常通信行为的存在。
进一步地:所述预处理模块包括数据订阅子模块、字符编码子模块和Embedding(词嵌入)子模块;
所述数据订阅子模块用于提取滑动窗口流量数据,并在每个时间窗口内把将下位机/从机作为源地址的流量进行聚合,获取当前事件的上下文信息;
所述字符编码子模块用于将payload信息中的十六进制码依次编码为[1,256]的数字,并进行序列截断及填充;
所述Embedding子模块用于对标准长度的编码序列进行嵌入,得到预处理后的payload信息。
进一步地:所述单个事件表征形式包括时间戳,五元组信息和payload信息。
进一步地:一种基于自编码的通用工业协议异常检测方法,包括以下步骤:
S1、通过解析模块解析工控事件的数据包头并截取包的payload信息,获取单个事件的表征,表征形式包括时间戳、五元组信息和payload信息;
S2、通过数据订阅子模块提取滑动窗口流量数据,并在每个时间窗口内把将下位机/从机作为原地址的流量进行聚合,获取当前事件的上下文信息;
S3、通过字符编码子模块将payload信息中的十六进制码依次编码为[1,256]的数字,并进行序列截断及填充;
S4、通过Embedding子模块对标准长度的编码序列进行嵌入,输出预处理后的payload信息;
S5、将预处理后的payload信息的正常样本通过编码模块获取重构误差序列;
S6、将重构误差与判断阈值进行比较,若重构误差大于判断阈值,则将当前事件判断为异常事件。
进一步地:所述步骤S2中的上下文信息为(2n+1)个payload信息[payload -n ,payload -(n-1),…,payload 0,payload 1,…,payload n ],其中payload n 为当前下位机应答数据包后的第n个包,payload -n 为当前下位机应答数据包前的第n个包,且n≥2。
进一步地:所述步骤S3中序列截断的长度l=200。
进一步地:所述步骤S4中嵌入的维度d=128,输出的维度为((2n+1),l,d)。
进一步地:所述步骤S6中判断阈值的计算公式为:
thr=mean(MSE
list
)+sdt(MES
list
)
上式中,thr为判断阈值,MSE list 为均方误差序列,mean(MSE list )表示对MSE list 求取均值,sdt(MES list )表示对MSE list 求取标准差。
本发明的有益效果为:
1、本发明给出了一种基于实时滑动时间窗口,并结合上下文事件的流量预处理方式,并借助自编码器及其变种有效提取时间、空间及特征的相关性;
2、本发明在检测过程中避免了对深度协议解析的依赖,只提取了工控事件时间、五元组和有效payload;
3、本发明通过无监督学习方式实现工控异常检测,经在Modbsus仿真数据集验证,通过深层卷积自编码器的重构误差检测方法,可以有效覆盖常见工控协议攻击。
附图说明
图1为本发明流程示意图;
图2为本发明滑动时间窗口内的数据流处理图;
图3为本发明检测模块流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种基于自编码的通用工业协议异常检测模块,本发明所述基于自编码的通用工控协议异常检测方法工作原理主要基于工控通信行为状态有效和行为有限的先天条件,通过预处理模块提取当前工控事件的原始上下文信息(payload),并借鉴自然语言预处理方式对信息进行编码及词嵌入(Embedding),之后通过自编码器对预处理后的数据进行编码及重构,利用重构误差及所设阈值,判断是否有工控异常通信行为的存在,具体包含解析模块、预处理模块和编码器特征重构模块;
所述解析模块用于解析工控事件的数据包头并截取数据包的payload信息,获取单个事件表征;所述单个事件表征形式包括时间戳,五元组信息和payload信息。
所述预处理模块用于借鉴自然语言预处理方式对payload信息进行编码及词嵌入;所述预处理模块包括数据订阅子模块、字符编码子模块和Embedding子模块;
所述数据订阅子模块用于提取滑动窗口流量数据(可通过Spark Streaming实现),并在每个时间窗口内把将下位机/从机(slave)作为源地址的流量进行聚合,获取当前事件的上下文信息;
所述字符编码子模块用于将payload信息中的十六进制码依次编码为[1,256]的数字,并进行序列截断及填充;
所述Embedding子模块用于对标准长度的编码序列进行嵌入,得到预处理后的payload信息。
所述编码器特征重构模块用于对预处理后的payload信息进行编码及重构,利用重构误差及所设阈值,判断是否有工控异常通信行为的存在。
如图1所示,一种基于自编码的通用工业协议异常检测方法,包括以下步骤:
S1、通过解析模块解析工控事件的数据包头并截取包的payload信息,获取单个事件的表征,表征形式包括时间戳、五元组信息和payload信息;
S2、通过数据订阅子模块提取滑动窗口流量数据(可通过Spark Streaming实现),并在每个时间窗口内把将下位机/从机作为原地址的流量进行聚合,获取当前事件的上下文信息;上下文信息为(2n+1)个payload信息[payload -n ,payload -(n-1),…,payload 0,payload 1,…,payload n ],其中payload n 为当前下位机应答数据包后的第n个包,payload -n 为当前下位机应答数据包前的第n个包,且n≥2,n的参考取值为3,如图2所示。
S3、通过字符编码子模块将payload信息中的十六进制码依次编码为[1,256]的数字,并进行序列截断及填充;序列截断的长度l=200,如图3所示。
S4、通过Embedding子模块对标准长度的编码序列进行嵌入,输出预处理后的payload信息;嵌入的维度d=128,输出的维度为((2n+1),l,d),如图3所示。
S5、在训练阶段,将预处理后的payload信息的正常样本通过编码模块获取重构误差序列;可参考判断阈值为均方误差序列的均值加方差,即thr=mean(MSE list )+sdt(MES list )
上式中,thr为判断阈值,MSE list 为均方误差序列,mean(MSE list )表示对MSE list 求取均值,sdt(MES list )表示对MSE list 求取标准差。
S6、将重构误差MSE与判断阈值thr进行比较,若重构误差大于判断阈值,则将当前事件判断为异常事件,如图3所示。
本发明摆脱了对深度解析模块和异常样本的依赖,通过自动化的事件上下文信息提取,编码,词嵌入(Embedding),可有效替代协议的深度解析;并通过无监督自编码器对于Embedding层的重构误差,有效识别常见工控攻击,本发明适用于所有工控协议。
Claims (7)
1.一种基于自编码的通用工业协议异常检测模块,其特征在于,包括解析模块、预处理模块和编码器特征重构模块;
所述解析模块用于解析工控事件的数据包头并截取数据包的payload信息,获取单个事件表征;所述payload信息即载荷信息;
所述预处理模块用于借鉴自然语言预处理方式对payload信息进行编码及词嵌入;
所述预处理模块包括数据订阅子模块、字符编码子模块和Embedding子模块;所述Embedding子模块即词嵌入子模块;
所述数据订阅子模块用于提取滑动窗口流量数据,并在每个时间窗口内把将下位机/从机作为源地址的流量进行聚合,获取当前事件的上下文信息;
所述字符编码子模块用于将payload信息中的十六进制码依次编码为[1,256]的数字,并进行序列截断及填充;
所述Embedding子模块用于对标准长度的编码序列进行嵌入,得到预处理后的payload信息;
所述编码器特征重构模块用于对预处理后的payload信息进行编码及重构,利用重构误差及所设阈值,判断是否有工控异常通信行为的存在。
2.根据权利要求1所述的基于自编码的通用工业协议异常检测模块,其特征在于,所述单个事件表征包括时间戳,五元组信息和payload信息。
3.一种基于自编码的通用工业协议异常检测方法,其特征在于,包括以下步骤:
S1、通过解析模块解析工控事件的数据包头并截取包的payload信息,获取单个事件的表征,表征形式包括时间戳、五元组信息和payload信息;所述payload信息即载荷信息;
S2、通过数据订阅子模块提取滑动窗口流量数据,并在每个时间窗口内把将下位机/从机作为原地址的流量进行聚合,获取当前事件的上下文信息;
S3、通过字符编码子模块将payload信息中的十六进制码依次编码为[1,256]的数字,并进行序列截断及填充;
S4、通过Embedding子模块对标准长度的编码序列进行嵌入,输出预处理后的payload信息;所述Embedding子模块即词嵌入子模块;
S5、将预处理后的payload信息的正常样本通过编码模块获取重构误差序列;
S6、将重构误差与判断阈值进行比较,若重构误差大于判断阈值,则将当前事件判断为异常事件。
4.根据权利要求3所述的基于自编码的通用工业协议异常检测方法,其特征在于,所述步骤S2中的上下文信息为(2n+1)个payload信息[payload -n ,payload -(n-1),…,payload 0,payload 1,…,payload n ],其中payload n 为当前下位机应答数据包后的第n个包,payload -n 为当前下位机应答数据包前的第n个包,且n≥2。
5.根据权利要求4所述的基于自编码的通用工业协议异常检测方法,其特征在于,所述步骤S3中序列截断的长度l=200。
6.根据权利要求5所述的基于自编码的通用工业协议异常检测方法,其特征在于,所述步骤S4中嵌入的维度d=128,输出的维度为((2n+1),l,d)。
7.根据权利要求3所述的基于自编码的通用工业协议异常检测方法,其特征在于,所述步骤S6中判断阈值的计算公式为:
thr=mean(MSE
list
)+sdt(MES
list
)
上式中,thr为判断阈值,MSE list 为均方误差序列,mean(MSE list )表示对MSE list 求取均值,sdt(MES list )表示对MSE list 求取标准差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110403007.8A CN112804270B (zh) | 2021-04-15 | 2021-04-15 | 一种基于自编码的通用工业协议异常检测模块及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110403007.8A CN112804270B (zh) | 2021-04-15 | 2021-04-15 | 一种基于自编码的通用工业协议异常检测模块及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112804270A CN112804270A (zh) | 2021-05-14 |
CN112804270B true CN112804270B (zh) | 2021-06-18 |
Family
ID=75811411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110403007.8A Active CN112804270B (zh) | 2021-04-15 | 2021-04-15 | 一种基于自编码的通用工业协议异常检测模块及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112804270B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779045B (zh) * | 2021-11-12 | 2022-02-22 | 航天宏康智能科技(北京)有限公司 | 工控协议数据异常检测模型的训练方法和训练装置 |
CN114143085B (zh) * | 2021-11-30 | 2023-08-01 | 中国人民解放军国防科技大学 | 一种基于自编码器的bgp团体属性异常检测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020036850A1 (en) * | 2018-08-17 | 2020-02-20 | Nec Laboratories America, Inc. | Protocol-independent anomaly detection |
CN111222133A (zh) * | 2019-11-14 | 2020-06-02 | 辽宁工程技术大学 | 一种工控网络入侵检测的多级自适应耦合方法 |
CN112165464A (zh) * | 2020-09-15 | 2021-01-01 | 江南大学 | 一种基于深度学习的工控混合入侵检测方法 |
CN112578756A (zh) * | 2020-12-18 | 2021-03-30 | 国家工业信息安全发展研究中心 | 一种工业设备异常数据的监测系统及监测方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11836746B2 (en) * | 2014-12-02 | 2023-12-05 | Fair Isaac Corporation | Auto-encoder enhanced self-diagnostic components for model monitoring |
CN108270779B (zh) * | 2017-12-29 | 2020-08-21 | 湖南优利泰克自动化系统有限公司 | 一种入侵检测系统安全规则的自动生成方法 |
CN112101400A (zh) * | 2019-12-19 | 2020-12-18 | 国网江西省电力有限公司电力科学研究院 | 工业控制系统异常检测方法、设备和服务器、存储介质 |
-
2021
- 2021-04-15 CN CN202110403007.8A patent/CN112804270B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020036850A1 (en) * | 2018-08-17 | 2020-02-20 | Nec Laboratories America, Inc. | Protocol-independent anomaly detection |
CN111222133A (zh) * | 2019-11-14 | 2020-06-02 | 辽宁工程技术大学 | 一种工控网络入侵检测的多级自适应耦合方法 |
CN112165464A (zh) * | 2020-09-15 | 2021-01-01 | 江南大学 | 一种基于深度学习的工控混合入侵检测方法 |
CN112578756A (zh) * | 2020-12-18 | 2021-03-30 | 国家工业信息安全发展研究中心 | 一种工业设备异常数据的监测系统及监测方法 |
Non-Patent Citations (6)
Title |
---|
"Deep Learning based Efficient Anomaly Detection for Securing Process Control Systems against Injection Attacks";Sasanka Potlur;《IEEE》;20190919;全文 * |
"基于国密算法的航油工业控制系统安全解决方案";邹大均;《通信技术》;20210131;全文 * |
"基于自编码器和极限学习机的工业控制网络入侵检测算法";李熠;《南京理工大学学报》;20190831;全文 * |
"工控通信行为的自编码特征降维和双轮廓模型异常检测方法";尚文利;《小型微型计算机系统》;20180731;全文 * |
"时空卷积自编码网络异常行为检测";宁亚飞;《研究与开发》;20201031;全文 * |
"面向工业控制系统的入侵检测技术综述";刘睿;《信息技术与网络安全》;20210331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112804270A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112804270B (zh) | 一种基于自编码的通用工业协议异常检测模块及方法 | |
CN111885059B (zh) | 一种工业网络流量异常检测定位的方法 | |
CN113645065B (zh) | 基于工业互联网的工控安全审计系统及其方法 | |
CN111191767B (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN110113227B (zh) | 一种变分自编码的模糊测试测试用例生成方法 | |
CN113395276B (zh) | 基于自编码器能量检测的网络入侵检测方法 | |
CN112422531A (zh) | 基于CNN和XGBoost的网络流量异常行为检测方法 | |
CN113935426A (zh) | 一种电力物联网异常数据流量的检测方法及装置 | |
CN114629718A (zh) | 一种基于多模型融合的隐匿恶意行为检测方法 | |
CN117336055A (zh) | 一种网络异常行为检测方法、装置、电子设备及存储介质 | |
CN114444096B (zh) | 一种基于数据分析的网络数据储存加密检测系统 | |
CN114884849B (zh) | 基于Adaboost的CAN总线异常检测方法及系统 | |
CN116708431A (zh) | 一种基于大数据的政务信息安全与资源共享系统 | |
CN116112209A (zh) | 漏洞攻击流量检测方法及装置 | |
CN112929364B (zh) | 一种基于icmp隧道分析的数据泄漏检测方法及系统 | |
CN114205151A (zh) | 基于多特征融合学习的http/2页面访问流量识别方法 | |
CN115037632A (zh) | 一种网络安全态势感知分析系统 | |
CN112561306A (zh) | 一种基于Hankel矩阵的滚动轴承健康状态评价方法 | |
CN116662184B (zh) | 一种基于Bert的工控协议模糊测试用例筛选方法及系统 | |
CN117749535B (zh) | 一种网络流量异常检测方法及装置 | |
CN113179277B (zh) | 一种隐藏于标准http明文消息头的校验方法 | |
CN115442154B (zh) | 模块化工控协议包深度解析验证方法与系统 | |
CN114726600B (zh) | 基于物联网的网关防护方法 | |
CN113381996B (zh) | 基于机器学习的c&c通讯攻击检测方法 | |
CN117768641A (zh) | 一种iptv链路拨测系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |