一种基于机器学习的工业控制系统入侵检测方法技术方案

技术编号:16105672 阅读:25 留言:0更新日期:2017-08-30 00:09
本发明专利技术公开了一种基于机器学习的工业控制系统入侵检测方法,先通过实际的工业环境中进行机器学习,记录下控制端和执行端的IP和端口号等,再将数据流量和时间对应的特征建立模型,最后通过建立的模型进行入侵检测,其中,如果发现有未知IP或者端口进行通信或者某个时间段的通信流量极大的大于或者小于学习阶段的阈值,则进行报警,极大的提高系统的通信安全性;此外,本发明专利技术还可以适用于各种工业网络环境下的入侵检测,无需手动配置,通过自动学习即可实现异常检测。

【技术实现步骤摘要】
一种基于机器学习的工业控制系统入侵检测方法
本专利技术属于入侵检测
,更为具体地讲,涉及一种基于机器学习的工业控制系统入侵检测方法。
技术介绍
工业控制系统信息安全在控制器的安全防护方面有着非常广泛的应用,诸如电力、石油天然气、以及大型制造行业等。过去几年间,工业控制系统开始广泛采用信息化技术,使工厂变的智能化,但是由于工业控制系统与传统的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、入侵检测模块监测机器学习阶段某一组本文档来自技高网
...
一种基于机器学习的工业控制系统入侵检测方法

【技术保护点】
一种基于机器学习的工业控制系统入侵检测方法,其特征在于,包括以下步骤:(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,则判断该通信数据异常,存在入侵。...

【技术特征摘要】
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)、入侵检测模块监测机器学习阶段某一组向量出现未检测到...

【专利技术属性】
技术研发人员:郑宏邹见效辛晓帅何建
申请(专利权)人:四川电科智造科技有限公司
类型:发明
国别省市:四川,51

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

1