CN107104960A - 一种基于机器学习的工业控制系统入侵检测方法 - Google Patents
一种基于机器学习的工业控制系统入侵检测方法 Download PDFInfo
- Publication number
- CN107104960A CN107104960A CN201710260754.4A CN201710260754A CN107104960A CN 107104960 A CN107104960 A CN 107104960A CN 201710260754 A CN201710260754 A CN 201710260754A CN 107104960 A CN107104960 A CN 107104960A
- Authority
- CN
- China
- Prior art keywords
- intrusion detection
- control system
- vector
- machine learning
- sip
- 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.)
- Pending
Links
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static 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
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
Abstract
本发明公开了一种基于机器学习的工业控制系统入侵检测方法,先通过实际的工业环境中进行机器学习,记录下控制端和执行端的IP和端口号等,再将数据流量和时间对应的特征建立模型,最后通过建立的模型进行入侵检测,其中,如果发现有未知IP或者端口进行通信或者某个时间段的通信流量极大的大于或者小于学习阶段的阈值,则进行报警,极大的提高系统的通信安全性;此外,本发明还可以适用于各种工业网络环境下的入侵检测,无需手动配置,通过自动学习即可实现异常检测。
Description
技术领域
本发明属于入侵检测技术领域,更为具体地讲,涉及一种基于机器学习的工业控制系统入侵检测方法。
背景技术
工业控制系统信息安全在控制器的安全防护方面有着非常广泛的应用,诸如电力、石油天然气、以及大型制造行业等。过去几年间,工业控制系统开始广泛采用信息化技术,使工厂变的智能化,但是由于工业控制系统与传统的IT系统之间有着很大的区别,工业控制系统在安全方面还存着很多不足,而由于防护不足会造成很多严重的问题,其中包括核心数据被窃取、关键工控流程被破坏、对工业系统功能未经授权的访问以及甚至造成工厂停产等,所以增加工业控制系统的防护功能有非常重要的意义。机器学习是一种让计算机在没有事先明确的编程的情况下做出正确反应的科学。在过去的十年中,机器学习已经给我们在自动驾驶汽车,实用语音识别,有效的网络搜索,以及提高人类基因组的认识方面带来大量帮助。将机器学习应用到工业控制环境中具有极大的适用性和极强的便利性。工业控制系统网络中的通信跟传统网络不同的是,工业控制系统网络中通信具有较高的周期性特点,这给机器学习在工业控制系统安全方面的使用提供了基础,这是机器学习在工业控制环境中具有适用性的体现。在工业控制系统中引入机器学习可以减少对于工业防火墙的配置,提高工业防火墙对于不同工业环境的适应性,所以将机器学习引入工业控制系统环境中是一种非常有效且可行的方式。
工业控制系统环境中,所谓控制端是指工业环境中控制指令发送端,也就是发送工业现场设备动作指令的一端;所谓执行端就是工业环境中具体执行动作的一端,像PLC控制器等。实际工业环境中,发送指令的控制端和执行指令的执行端都相对固定,也就是说发送指令的控制端的IP、执行端的IP和端口号等都相对固定,在防火墙的机器学习阶段,我们可以对于控制端和执行端的IP和端口号进行学习,在检测过程中若出现非常用的IP或者端口号则进行报警。另外,根据工业控制系统环境中通信的周期性特点,将实际的通信流量和时间作为一种检测特征,将在机器学习阶段,统计不同时间段内流量大小的阈值,在检测过程中,若出现在某个时间段内高于学习阶段的阈值情况则发送报警。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于机器学习的工业控制系统入侵检测方法,在任何工业环境中都无需人工配置工业防火墙,通过入侵检测模块的机器学习实现入侵的自动检测。
为实现上述发明目的,本发明一种基于机器学习的工业控制系统入侵检测方法,其特征在于,包括以下步骤:
(1)、对待检测的工业控制系统通信进行数据包的检测、识别和分析;
设工业控制系统中共有M组控制端和执行端组合,其通信周期划分为X个单位时间;
在机器学习阶段,通过防火墙中的入侵检测模块对工业控制系统的通信数据包进行检测、识别,分析提取出控制端和执行端之间通信数据包的源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD、时刻值T以及单位时间内通过的数据包数量N,则共提取出M×X组数据;
(2)、对获取的数据进行预处理;
在M×X组数据中,分别将每组数据中的源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD、时刻值T以及单位时间内通过的数据包数量N组成向量(SIP,SD,DIP,DD,T,N),再将M×X组向量(SIP,SD,DIP,DD,T,N)传入防火墙中的入侵检测模块;
(3)、判断M×X组向量(SIP,SD,DIP,DD,T,N)的异常
(3.1)、入侵检测模块监测机器学习阶段某一组向量出现未检测到的源/目的IP地址SIP或未使用的端口号SD或未出现的组合,即出现非法IP或非法端口或非法组合,则判断该组向量异常,否则判断该组向量正常,并进入步骤(3.2)进行下一步判断;
(3.2)、根据源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD确定通信的双方,若时刻值T通信双方的通信数据包数量N在合法的通信数据包的上限阈值和下限阈值之间,则判断该组向量正常,否则判断该组向量异常;
(4)、建立入侵检测模型
将步骤(3)中得到的M×X组正常或异常的向量进行机器学习,其正常向量对应的输出设置为1,异常向量对应的输出设置为0,从而建立起入侵检测模型;
(5)、利用入侵检测模型对通信数据进行异常流量检测
在实际的工业环境中进行检测,入侵检测模块提取到工业控制系统的通信数据之后,将通信数据按照步骤(1)~(2)所述方法调整成向量(SIP,SD,DIP,DD,T,N),并输入到入侵检测模型中进行检测,若入侵检测模型的输出为1,则判断该通信数据正常,若入侵检测模型的输出为0,则判断该通信数据异常,存在入侵。
本发明的发明目的是这样实现的:
本发明一种基于机器学习的工业控制系统入侵检测方法,先通过实际的工业环境中进行机器学习,记录下控制端和执行端的IP和端口号等,再将数据流量和时间对应的特征建立模型,最后通过建立的模型进行入侵检测,其中,如果发现有未知IP或者端口进行通信或者某个时间段的通信流量极大的大于或者小于学习阶段的阈值,则进行报警,极大的提高系统的通信安全性;此外,本发明还可以适用于各种工业网络环境下的入侵检测,无需手动配置,通过自动学习即可实现异常检测。
附图说明
图1是本发明基于机器学习的工业控制系统入侵检测的拓扑结构图;
图2是入侵检测模块检测流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明基于机器学习的工业控制系统入侵检测的拓扑结构图。
在本实施例中,如图1所示,控制端和执行端所有的通信流量都会经过防火墙,而入侵检测模块就在防火墙之中,在防火墙中包含有入侵检测模块和深度包解析模块。
下面结合图1对本发明一种基于机器学习的工业控制系统入侵检测方法进行详细说明,具体包括以下步骤:
S1、对待检测的工业控制系统通信进行数据包的检测、识别和分析;
设工业控制系统中共有M组控制端和执行端组合,其通信周期划分为X个单位时间;
在机器学习阶段,通过防火墙中的入侵检测模块对工业控制系统的通信数据包进行检测、识别,分析提取出控制端和执行端之间通信数据包的源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD、时刻值T以及单位时间内通过的数据包数量N,则共提取出M×X组数据;
S2、对获取的数据进行预处理;
在M×X组数据中,分别将每组数据中的源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD、时刻值T以及单位时间内通过的数据包数量N组成向量(SIP,SD,DIP,DD,T,N),例如此刻的向量值为(19216810147,10036,19216810133,502,011008,30)其中19216810147是源IP地址,10036是源端口号,1921610133是目的IP地址,502是目的端口号,011008代表时刻值,30代表此时刻内通过的数据包数量,再将M×X组向量(SIP,SD,DIP,DD,T,N)传入防火墙中的入侵检测模块;
S3、判断M×X组向量(SIP,SD,DIP,DD,T,N)的异常
S3.1、入侵检测模块监测机器学习阶段某一组向量出现未检测到的源/目的IP地址SIP或未使用的端口号SD或未出现的组合,即出现非法IP或非法端口或非法组合,则判断该组向量异常,否则判断该组向量正常,并进入步骤(3.2)进行下一步判断;例如正常的IP地址为19216810147、19216810133、19216810178出现了未知的IP地址1921610110则通信异常;再比如正常的端口号为10036,10098,出现了未知的端口号10010则判断为通信异常;再比如IP地址19216810147跟端口号10098是合法搭配,但是出现了19216810133跟端口10098搭配则判断为通信异常。
S3.2、根据源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD确定通信的双方,若时刻值T通信双方的通信数据包数量N在合法的通信数据包的上限阈值和下限阈值之间,则判断该组向量正常,否则判断该组向量异常;例如通过源IP地址19216810147、源端口号10036、目的IP地址1921610133、目的端口号502来确定的通信双方在时刻011008时通信的数据包的上限阈值是50,下限阈值是30,但是此刻检测到通信数据包是100则判断为通信异常。
S4、建立入侵检测模型
将步骤S3中得到的M×X组正常或异常的向量进行机器学习,其正常向量对应的输出设置为1,异常向量对应的输出设置为0,从而建立起入侵检测模型;
S5、利用入侵检测模型对通信数据进行异常流量检测
在实际的工业环境中进行检测,入侵检测模块提取到工业控制系统的通信数据之后,将通信数据按照步骤S1~S2所述方法调整成向量(SIP,SD,DIP,DD,T,N),例如(19216810147,10036,19216810133,502,011008,30),并输入到入侵检测模型中进行检测,若入侵检测模型的输出为1,则判断该通信数据正常,若入侵检测模型的输出为0,则判断该通信数据异常,存在入侵。
实例
使用控制端软件作为客户端,执行端软件服务器,设置为每1分钟读取一次数据。
进行一段时间的通讯,我们选取的合法样本值为:
x1=(19216810147,10036,19216810133,502,011008,30)
x2=(19216810147,10098,19216810133,502,011009,45)
x3=(19216810147,10023,19216810133,502,011010,50)
x4=(19216810125,10211,19216810133,502,011010,19)
选取非法的样本值为:
x1=(19216810147,10036,19216810133,502,011008,100)
x2=(19216810147,10098,19216810133,502,011009,10)
x3=(19216810147,10023,19216810133,502,011010,198)
x4=(19216810125,10211,19216810133,502,011010,201)
输出结果:对于该模型,当入侵检测模块获取数据为(19216810147,10036,19216810133,502,011008,30),输入入侵检测模型,正常时候由源IP地址19216810147、源端口号10036、目的IP地址1921610133、目的端口号502确定的同通信双方在时刻011008通信数据包的合法范围是30到50,此时通过的数据包是30,检测结果是0.99,通常在理想状态下,入侵检测模型的输出为1或0,但在实际的检测中,其输出只能趋近于1或0,如图2所示,当输出结果在0.7至1.3之间的时候,我们判断为通信正常;当入侵检测模块获取的数据为(19216810147,10036,19216810133,502,011008,100),输出结果为0.001,此时0.001不在0.7到1.3的范围内,所以同样的分析判断为通信异常。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (1)
1.一种基于机器学习的工业控制系统入侵检测方法,其特征在于,包括以下步骤:
(1)、对待检测的工业控制系统通信进行数据包的检测、识别和分析;
设工业控制系统中共有M组控制端和执行端组合,其通信周期划分为X个单位时间;
在机器学习阶段,通过防火墙中的入侵检测模块对工业控制系统的通信数据包进行检测、识别,分析提取出控制端和执行端之间通信数据包的源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD、时刻值T以及单位时间内通过的数据包数量N,则共提取出M×X组数据;
(2)、对获取的数据进行预处理;
在M×X组数据中,分别将每组数据中的源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD、时刻值T以及单位时间内通过的数据包数量N组成向量(SIP,SD,DIP,DD,T,N),再将M×X组向量(SIP,SD,DIP,DD,T,N)传入防火墙中的入侵检测模块;
(3)、判断M×X组向量(SIP,SD,DIP,DD,T,N)的异常
(3.1)、入侵检测模块监测机器学习阶段某一组向量出现未检测到的源/目的IP地址SIP或未使用的端口号SD或未出现的组合,即出现非法IP或非法端口或非法组合,则判断该组向量异常,否则判断该组向量正常,并进入骤(3.2)进行下一步判断;
(3.2)、根据源IP地址SIP、源端口号SD、目的IP地址DIP、目的端口号DD确定通信的双方,若时刻值T通信双方的通信数据包数量N在合法的通信数据包的上限阈值和限阈值之间,则判断该组向量正常,否则判断该组向量异常;
(4)、建立入侵检测模型
将步骤(3)中得到的M×X组正常或异常的向量进行机器学习,其正常向量对应的输出设置为1,异常向量对应的输出设置为0,从而建立起入侵检测模型;
(5)、利用入侵检测模型对通信数据进行异常流量检测
在实际的工业环境中进行检测,入侵检测模块提取到工业控制系统的通信数据之后,将通信数据按照步骤(1)~(2)所述方法调整成向量(SIP,SD,DIP,DD,T,N),并输入到入侵检测模型中进行检测,若入侵检测模型的输出为1,则判断该通信数据正常,若入侵检测模型的输出为0,则判断该通信数据异常,存在入侵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710260754.4A CN107104960A (zh) | 2017-04-20 | 2017-04-20 | 一种基于机器学习的工业控制系统入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710260754.4A CN107104960A (zh) | 2017-04-20 | 2017-04-20 | 一种基于机器学习的工业控制系统入侵检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107104960A true CN107104960A (zh) | 2017-08-29 |
Family
ID=59656947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710260754.4A Pending CN107104960A (zh) | 2017-04-20 | 2017-04-20 | 一种基于机器学习的工业控制系统入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107104960A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861988A (zh) * | 2019-01-07 | 2019-06-07 | 浙江大学 | 一种基于集成学习的工业控制系统入侵检测方法 |
CN109933001A (zh) * | 2019-04-11 | 2019-06-25 | 韩拥军 | 用于可编程逻辑控制器的防火墙、方法及系统 |
CN112136132A (zh) * | 2018-05-22 | 2020-12-25 | 三菱电机株式会社 | 设置场所选定支援装置、设置场所选定支援方法及设置场所选定支援程序 |
CN112929232A (zh) * | 2021-01-27 | 2021-06-08 | 长扬科技(北京)有限公司 | 一种基于python+mysql的工业防火墙流量统计方法及系统 |
WO2022007581A1 (en) * | 2020-07-10 | 2022-01-13 | Kyndryl, Inc. | Deep learning network intrusion detection |
US11877153B2 (en) | 2019-03-14 | 2024-01-16 | Hitachi Energy Ltd | Method of authentication of wireless communication based on physical layer security |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150954A1 (en) * | 2005-12-27 | 2007-06-28 | Tae-Shik Shon | System and method for detecting network intrusion |
CN102821002A (zh) * | 2011-06-09 | 2012-12-12 | 中国移动通信集团河南有限公司信阳分公司 | 网络流量异常检测方法和系统 |
CN104994076A (zh) * | 2015-06-01 | 2015-10-21 | 广东电网有限责任公司信息中心 | 一种基于机器学习的日常访问模型实现方法及系统 |
CN105306463A (zh) * | 2015-10-13 | 2016-02-03 | 电子科技大学 | 基于支持向量机的Modbus TCP入侵检测方法 |
CN106209870A (zh) * | 2016-07-18 | 2016-12-07 | 北京科技大学 | 一种针对分布式工业控制系统的网络入侵检测系统 |
-
2017
- 2017-04-20 CN CN201710260754.4A patent/CN107104960A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150954A1 (en) * | 2005-12-27 | 2007-06-28 | Tae-Shik Shon | System and method for detecting network intrusion |
CN102821002A (zh) * | 2011-06-09 | 2012-12-12 | 中国移动通信集团河南有限公司信阳分公司 | 网络流量异常检测方法和系统 |
CN104994076A (zh) * | 2015-06-01 | 2015-10-21 | 广东电网有限责任公司信息中心 | 一种基于机器学习的日常访问模型实现方法及系统 |
CN105306463A (zh) * | 2015-10-13 | 2016-02-03 | 电子科技大学 | 基于支持向量机的Modbus TCP入侵检测方法 |
CN106209870A (zh) * | 2016-07-18 | 2016-12-07 | 北京科技大学 | 一种针对分布式工业控制系统的网络入侵检测系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112136132A (zh) * | 2018-05-22 | 2020-12-25 | 三菱电机株式会社 | 设置场所选定支援装置、设置场所选定支援方法及设置场所选定支援程序 |
CN109861988A (zh) * | 2019-01-07 | 2019-06-07 | 浙江大学 | 一种基于集成学习的工业控制系统入侵检测方法 |
US11877153B2 (en) | 2019-03-14 | 2024-01-16 | Hitachi Energy Ltd | Method of authentication of wireless communication based on physical layer security |
CN109933001A (zh) * | 2019-04-11 | 2019-06-25 | 韩拥军 | 用于可编程逻辑控制器的防火墙、方法及系统 |
WO2022007581A1 (en) * | 2020-07-10 | 2022-01-13 | Kyndryl, Inc. | Deep learning network intrusion detection |
US11611588B2 (en) | 2020-07-10 | 2023-03-21 | Kyndryl, Inc. | Deep learning network intrusion detection |
GB2611189A (en) * | 2020-07-10 | 2023-03-29 | Kyndryl Inc | Deep learning network intrusion detection |
CN112929232A (zh) * | 2021-01-27 | 2021-06-08 | 长扬科技(北京)有限公司 | 一种基于python+mysql的工业防火墙流量统计方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107104960A (zh) | 一种基于机器学习的工业控制系统入侵检测方法 | |
CN109861988A (zh) | 一种基于集成学习的工业控制系统入侵检测方法 | |
US20210319113A1 (en) | Method for generating malicious samples against industrial control system based on adversarial learning | |
CN103748853B (zh) | 用于对数据通信网络中的协议消息进行分类的方法和系统 | |
CN106921676A (zh) | 一种基于OPCClassic的入侵检测方法 | |
CN109600363A (zh) | 一种物联网终端网络画像及异常网络访问行为检测方法 | |
CN105306463B (zh) | 基于支持向量机的Modbus TCP入侵检测方法 | |
CN107204975B (zh) | 一种基于场景指纹的工业控制系统网络攻击检测技术 | |
CN113904862A (zh) | 分布式列车控制网络入侵检测方法、系统、存储介质 | |
CN105429963A (zh) | 基于Modbus/Tcp的入侵检测分析方法 | |
CN106603531A (zh) | 一种基于工业控制网络的入侵检测模型的自动建立方法及装置 | |
US8606378B2 (en) | Methods, apparatus, and articles of manufacture to identify hazardous process conditions associated with devices in a process control system | |
CN112565270B (zh) | Http会话异常检测方法及检测系统 | |
CN110324323A (zh) | 一种新能源厂站涉网端实时交互过程异常检测方法及系统 | |
CN110113336B (zh) | 一种用于变电站网络环境的网络流量异常分析与识别方法 | |
CN112688946B (zh) | 异常检测特征的构造方法、模块、存储介质、设备及系统 | |
CN109768952A (zh) | 一种基于可信模型的工控网络异常行为检测方法 | |
CN105871861B (zh) | 一种自学习协议规则的入侵检测方法 | |
CN104378361A (zh) | 一种网络入侵检测方法及系统 | |
CN109768971A (zh) | 一种基于网络流量实时检测工控主机状态的方法 | |
CN111679657A (zh) | 一种基于工控设备信号的攻击检测方法及系统 | |
CN107104988A (zh) | 一种基于概率神经网络的IPv6入侵检测方法 | |
CN110266680A (zh) | 一种基于双重相似性度量的工业通信异常检测方法 | |
CN107896229A (zh) | 一种计算机网络异常检测的方法、系统及移动终端 | |
CN110365717A (zh) | 基于hart-ip协议的工业入侵监测方法和系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170829 |
|
RJ01 | Rejection of invention patent application after publication |