一种基于嵌入式的工业系统的安全检测方法及系统
技术领域
本发明涉及工业自动化信息安全技术领域,特别是指一种基于嵌入式的工业系统的安全检测方法及系统。
背景技术
目前,工业系统中的工业信息,如数据信息的获取和监控显示都是简单的进行数据获取和数据传输。并且,工业系统中的控制系统通常采用可编程逻辑控制器(Programmable Logic Controller,PLC)、分散控制系统(Distributed Control System,DCS)等控制器,这些控制器均存在被攻击的漏洞,使得工业系统存在安全隐患。这样,当工业系统中的漏洞被攻击或者被病毒入侵时,将给国家的工业、国防等重大基础设施,带来毁灭性的打击。
发明内容
本发明要解决的技术问题是提供一种基于嵌入式的工业系统的安全检测方法及系统,能够提高工业系统运行的安全性。
为解决上述技术问题,本发明实施例提供一种基于嵌入式的工业系统的安全检测方法,包括:
获取工业系统的数据信息;
对获取的所述数据信息进行入侵检测,确定所述工业系统是否被入侵;
若确定所述工业系统被入侵,则发送报警信息至远端服务器;
若确定所述工业系统未被入侵,则发送所述数据信息至远端服务器。
可选地,所述获取工业系统的数据信息包括:
通过高速光耦隔离的方式获取工业系统同步电动机的状态信息,所述工业系统同步电动机的状态信息包括:电动机转子的机械位置及转动速度;
获取modbus接口的工业设备信息,所述modbus接口的工业设备信息包括:modbus总线上的传感器从站信息。
可选地,所述获取工业系统的数据信息之后还包括:
对获取的所述数据信息实时地进行统计分析;
判断所述数据信息是否超过预先设定的第一阈值,若是,则确定所述数据信息对应的设备的运转状况发生异常;
若确定所述数据信息对应的设备的运转状况发生异常,则启动发送报警信息至远端服务器的操作;
若确定所述数据信息对应的设备的运转状况没有异常,则启动发送所述数据信息至远端服务器的操作。
可选地,所述对获取的所述数据信息进行入侵检测,确定所述工业系统是否被入侵包括:
对获取的工业系统的历史数据信息进行统计分析,确定每个时段的数据流量;
通过贝叶斯网络入侵检测方法确定所述数据流量的评估值;
判断所述评估值是否超过预先设定的第二阈值,若是,则确定所述工业系被入侵。
可选地,所述发送报警信息至远端服务器包括:
对报警信息进行加密,并生成数字签名信息,并将加密后的所述报警信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的报警信息及所述数字签名信息进行解密及认证;
所述发送所述数据信息至远端服务器包括:
对所述数据信息进行加密,并生成数字签名信息,并将加密后的所述数据信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的数据信息及所述数字签名信息进行解密及认证。
本发明实施例所述的基于嵌入式的工业系统的安全检测方法,在不干涉原有工业控制系统的情况下,采取另外一条信息获取通道来获取工业系统的数据信息,对获取的所述数据信息进行入侵检测,当确定所述工业系统被入侵时,将发送报警信息至远端服务器,使监控人员能够及时发现工业系统的异常,使得在原有的工业控制系统的基础上再加一道安全屏障,从而提高了工业系统运行的安全性。
另一方面,本发明实施例还提供一种基于嵌入式的工业系统的安全检测系统,包括:
获取单元:用于获取工业系统的数据信息;
检测单元:用于对获取的所述数据信息进行入侵检测,确定所述工业系统是否被入侵;
第一发送单元:用于当确定所述工业系统被入侵时,发送报警信息至远端服务器;
第二发送单元:用于当确定所述工业系统未被入侵时,发送所述数据信息至远端服务器。可选地,所述获取单元包括:
第一获取模块:用于通过高速光耦隔离的方式获取工业系统同步电动机的状态信息,包括:电动机转子的机械位置、转动速度;
第二获取模块:用于获取modbus接口的工业设备信息,包括:modbus总线上的传感器从站信息。
可选地,所述系统还包括:
处理单元:用于对获取的所述数据信息实时地进行统计分析;
确定单元:用于判断所述数据信息是否超过预先设定的第一阈值,当所述数据信息超过预先设定的所述第一阈值时,确定所述数据信息对应的设备的运转状况发生异常;
所述确定单元,还用于当确定所述数据信息对应的设备的运转状况发生异常时,启动发送报警信息至远端服务器的操作;
所述确定单元,还用于当确定所述数据信息对应的设备的运转状况没有异常时,启动发送所述数据信息至远端服务器的操作。
可选地,所述检测单元包括:
第一确定模块:用于对获取的工业系统的历史数据信息进行统计分析,确定每个时段的数据流量;
第二确定模块:用于通过贝叶斯网络入侵检测方法确定所述数据流量的评估值;
第三确定模块:用于判断所述评估值是否超过预先设定的第二阈值,当所述评估值超过预先设定的所述第二阈值时,确定所述工业系统被入侵。
可选地,所述第一发送单元包括:
第一加密模块:用于对报警信息进行加密;
第一生成模块:用于生成数字签名信息;
第一发送模块:用于将加密后的所述报警信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的报警信息及所述数字签名信息进行解密及认证;
所述第二发送单元包括:
第二加密模块:用于对所述数据信息进行加密;
第二生成模块:用于生成数字签名信息;
第二发送模块:用于将加密后的所述数据信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的数据信息及所述数字签名信息进行解密及认证。
本发明实施例所述的基于嵌入式的工业系统的安全检测系统,在不干涉原有工业控制系统的情况下,采取另外一条信息获取通道来获取工业系统的数据信息,对获取的所述数据信息进行入侵检测,当确定所述工业系统被入侵时,将通过所述第一发送单元发送报警信息至远端服务器,使监控人员能够及时发现工业系统的异常,使得在原有的工业控制系统的基础上再加一道安全屏障,从而提高了工业系统运行的安全性。
附图说明
图1为本发明实施例一提供的基于嵌入式的工业系统的安全检测方法流程图;
图2为图1中S101的具体实施方法流程图;
图3为本发明实施例提供的光耦隔离获取电路图
图4为图1中S102的具体实施方法流程图;
图5为本发明实施例提供的数据加密解密认证方法流程图;
图6为本发明实施例提供的以太网接口电路图;
图7为本发明实施例二提供的基于嵌入式的工业系统的安全检测系统结构示意图;
图8为图7中101的详细结构示意图;
图9为图7中102的详细结构示意图;
图10为图7中103的详细结构示意图;
图11为图7中104的详细结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明提供一种基于嵌入式的工业系统的安全检测方法及系统,能够提高工业系统运行的安全性。
实施例一
参看图1所示,本发明一种基于嵌入式的工业系统的安全检测方法的具体实施方式,包括:
S101:获取工业系统的数据信息;
S102:对获取的所述数据信息进行入侵检测,确定所述工业系统是否被入侵;
S103:若确定所述工业系统被入侵,则发送报警信息至远端服务器;
S104:若确定所述工业系统未被入侵,则发送所述数据信息至远端服务器。
本发明实施例所述的基于嵌入式的工业系统的安全检测方法,在不干涉原有工业控制系统的情况下,采取另外一条信息获取通道来获取工业系统的数据信息,对获取的所述数据信息进行入侵检测,当确定所述工业系统被入侵时,将通过发送报警信息至远端服务器,使监控人员能够及时发现工业系统的异常,使得在原有的工业控制系统的基础上再加一道安全屏障,从而提高了工业系统运行的安全性。
本发明实施例中,例如,可以采用中央处理器(CPU)为Cor tex-M3的单片机stm32f107作为主控制器,对获取的所述数据信息实时地进行统计分析及入侵检测,其中,所述stm32f107包括通用同步/异步串行接收/发送器(Universal Synchronous/Asynchronous Receiver/Transmitter,USART)接口和串行外围设备接口(SerialPeripheral interface,SPI)接口。
以下对图1中各步骤的具体实施方法进行详细说明。
参看图2所示,在前述基于嵌入式的工业系统的安全检测方法的具体实施方式中,可选地,所述获取工业系统的数据信息(S101)包括以下步骤:
S1011:通过高速光耦隔离的方式获取工业系统同步电动机的状态信息,所述工业系统同步电动机的状态信息包括:电动机转子的机械位置、转动速度;
S1012:获取串行的通信协议(modbus)接口的工业设备信息,所述modbus接口的工业设备信息包括:modbus总线上的传感器从站信息。
本发明实施例中,例如,可以采用6N137高速光耦隔离芯片做光耦隔离获取工业系统中同步电动机的状态信息,如图3所示为光耦隔离获取电路图,鉴于每个通道的隔离方式都是一致的,所以本图只画出一条通道的隔离电路,stm32f107可以通过6N137芯片获取工业系统中大容量同步电动机转子的机械位置信息和转动速度信息。这样,通过光耦隔离的方法能将工业系统的现场和本发明实施例进行电气隔离,保证工业系统现场的运行和本发明实施例互不干扰,从而保证了整个系统的稳定性。同时为了保证获取的工业系统的数据信息的有效性,将获取的所述数据信息(如:电动机的状态信息)不通过原工业控制系统中的主控制器,而直接通过本发明实施例的主控制器stm32f107传输至远端服务器,如此能够防止因原工业控制系统中的主控制器感染病毒而传输出已经被篡改的数据信息至远端服务器。
本发明实施例中,可以支持modbus主站协议,可以获取modbus接口的工业设备信息,即modbus总线上的传感器从站信息,如液位、锅炉温度和/或环境湿度等。例如,可以通过所述单片机stm32f107提供的USART接口和入MAX485芯片接入到工业系统的传感器从站中,获取传感器从站的数据信息。
在前述基于嵌入式的工业系统的安全检测方法的具体实施方式中,可选地,所述获取工业系统的数据信息(S101)后还包括:对获取的所述数据信息实时地进行统计分析,判断所述数据信息是否超过预先设定的第一阈值,若是,则确定所述数据信息对应的设备的运转状况发生异常。
本发明实施例中,优选地,对获取的所述工业系统同步电动机的状态信息实时地进行统计分析,这样,当对应的电动机的运转状况有异常时,发送报警信息至远端服务器以告知监控人员,从而保证所述电动机能够在正常的加速度下运行。
参看图4所示,在前述基于嵌入式的工业系统的安全检测方法的具体实施方式中,可选地,所述对获取的所述数据信息进行入侵检测,确定所述工业系统是否被入侵(S102)包括以下步骤:
S1021:对获取的工业系统的历史数据信息进行统计分析,确定每个时段的数据流量;
S1022:通过贝叶斯网络入侵检测方法确定所述数据流量的评估值;
S1023:判断所述评估值是否超过预先设定的第二阈值,若是,则确定所述工业系被入侵。
本发明实施例中,所述评估值也表示所述工业系统被入侵的概率。
本发明实施例中,通过贝叶斯网络入侵检测方法对所述数据流量进行风险评估,确定所述数据流量的评估值,当所述评估值超过预先设定的经验值,则确定所述工业系被入侵,这样,通过对所述工业系统进行入侵检测预测当前工业系统的安全性,从而,降低因工业系统被入侵而造成的损失。
在前述基于嵌入式的工业系统的安全检测方法的具体实施方式中,可选地,所述若确定所述工业系统被入侵,则发送报警信息至远端服务器(S103)包括:对报警信息进行加密,并生成数字签名信息,并将加密后的所述报警信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的报警信息及所述数字签名信息进行解密及认证。
本发明实施例中,例如,stm32f107可以通过加密协处理器对所述报警信息进行加密,并生成数字签名信息,所述加密协处理器通过SPI接口与主控制器stm32f107连接。其中,所述加密协处理器包括内置公钥(椭圆曲线公钥密码(SM2)、RSA加密算法、椭圆曲线密码学(Elliptic curve cryptography,ECC))、分组(SM1、SSF33、数据加密标准(DataEncryption Standard,DES)/数据加密标准(Triple Data Encryption Standard,3DES)、高级加密标准(Advanced Encryption Standard,AES))和散列(SM3、安全散列算法(SecureHash Algorithm-1,SHA1)、安全散列算法(Secure Hash Algorithm-256,SHA256))等三类多种密码算法加速引擎。
本发明实施例中,为便于描述,报警信息简称为原文(M),例如,参看图5所示的数据加密解密认证通信的过程,具体可以包括:
S1031:加密协处理器通过摘要算法SHA1得到原文(M)的摘要Hash(M);
S1032:利用RSA数字签名认证的方法对摘要Hash(M)进行加密,所述对摘要Hash(M)进行加密包括:先利用己方的私钥进行加密得到d1(Hash(M)),再利用对方的公钥(远端服务器的公钥)进行加密得到数字签名信息e2(d1(Hash(M)));
S1033:加密协处理器通过基于远端服务器获取的数据通信密钥对原文(M)进行加密得到密文e(M),所述数据通信密钥采用SMS4加密算法;
S1034:stm32f107将密文e(M)连同数字签名信息e2(d1(Hash(M)))通过以太网发送给远端服务器;
S1035:远端服务器接收到信息之后先将密文解密得到原文(M);
S1036:利用摘要算法SHA1得到原文(M)的第一摘要Hash(M);
S1037:通过同样的数字签名认证的反方法将数字签名信息e2(d1(Hash(M)))进行解密得到第二摘要Hash(M);
S1038:将第一摘要和第二摘要进行比较,若比较结果相同则认证通过,否则,说明数据被篡改过,丢掉该包。
通过数字签名认证与远端服务器进行密钥协商获取所述数据通信密钥,stm32f107首先初始化以太网协议栈建立以太网通信任务,其中,所述以太网协议栈为轻量级网络之间互连的协议(lightweight IP,Lwip)协议栈,通信任务建立完成后远端服务器对stm32f107进行数字签名认证,所述数字签名认证包括:加密协处理器自动产生一组随机数组,将该数组利用RSA数字签名认证的方法得到数字签名信息,同时加密协处理器带有全球唯一的身份标识号码(IDentity,ID)。加密协处理将所述随机数组、数字签名信息及ID发送给stm32f107,同时stm32f107将接收到的数据通过以太网发送到远端服务器,远端服务器对该组数据利用RSA数字签名认证的方法对该组数据进行认证。如果认证通过,远端服务器根据得到的ID号将存储在本地数据库的数据通信密钥加密传输给stm32f107。
本发明实施例中,可以综合使用多种加密算法来提高数据传输的安全性,例如:原文先用SHA1摘要算法得到摘要,其次利用RSA算法得到数字签名信息,再附带上SMS4加密过的密文,最终得到带有数字签名信息的加密密文,通信两端通过加密密文确定原文的安全性、完整性和可信性,从而保证数据的安全加密传输及安全认证,远端服务器可以将通过本发明实施例传输的工业系统的数据信息和原工业控制系统中的主控制器传输的数据信息做对比,以确保工业系统的数据信息的真实性和工业设备的正常运行。同时采用加密协处理器对数据进行加密能够在保证加密效率的同时,减轻stm32f107的负担,从而进一步提高加密数据的传输效率。
在前述基于嵌入式的工业系统的安全检测方法的具体实施方式中,可选地,所述若确定所述工业系统未被入侵,则发送所述数据信息至远端服务器(S104)包括:对所述数据信息进行加密,并生成数字签名信息,并将加密后的所述数据信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的数据信息及所述数字签名信息进行解密及认证。对所述数据信息具体的加密、解密及认证过程与S103一致,在此,不做详细说明。
本发明实施例中,S1034中,stm32f107将密文e(M)连同数字签名信息e2(d1(Hash(M)))通过以太网发送给远端服务器。例如,参看图6所示的以太网接口电路图,采用芯片DP83848作为以太网物理层接口器件,实现物理层以太网数据的转换,该芯片具有功耗低、单路高速、防碰撞、性价比高的特点,而且有通用的网络接口,弥补了stm32f107没有提供物理层接口的的缺陷,同时解决了当前大部分工业设备都是DTU(Data Transfer unit)全称数据传输单元)的形式,而且很多工业设备不支持网络接口,从而不能满足远端服务器的查看工业系统中数据信息的问题。所述以太网物理层接口器件能将工业系统中的信号进行转换,使其可以通过以太网传输出去,同时又能将从以太网接收到的数据信号进行转换传输到工业系统总线中,实现远端服务器与工业系统总线数据的实时、有效、安全交互,实现管控一体化,使管理人员不必深入工业现场,便可通过以太网远程监测工业系统的运行状态,提高了工业系统监控的灵活性和便捷性。
实施例二
本发明还提供一种基于嵌入式的工业系统的安全检测系统的具体实施方式,由于本发明提供的基于嵌入式的工业系统的安全检测系统与前述基于嵌入式的工业系统的安全检测方法的具体实施方式相对应,该工业信息防护系统可以通过执行上述方法具体实施方式中的流程步骤来实现本发明的目的,因此上述对工业信息防护方法具体实施方式中的解释说明,也适用于本发明提供的工业信息防护系统的具体实施方式,在本发明以下的具体实施方式中将不再赘述。
参看图7所示,本发明实施例二提供的基于嵌入式的工业系统的安全检测系统,包括:
获取单元101:用于获取工业系统的数据信息;
检测单元102:用于对获取的所述数据信息进行入侵检测,确定所述工业系统是否被入侵;
第一发送单元103:用于当确定所述工业系统被入侵时,发送报警信息至远端服务器;
第二发送单元104:用于当确定所述工业系统未被入侵时,发送所述数据信息至远端服务器。
本发明实施例中,可以理解的是,第一发送单元103与第二发送单元104可以是同一个发送单元,也可以是不相同的发送单元。
参看图8所示,在前述基于嵌入式的工业系统的安全检测系统的具体实施方式中,可选的,所述获取单元101包括:
第一获取模块1011:用于通过高速光耦隔离的方式获取工业系统同步电动机的状态信息,包括:电动机转子的机械位置、转动速度;
第二获取模块1012:用于获取modbus接口的工业设备信息,包括:modbus总线上的传感器从站信息。
在前述基于嵌入式的工业系统的安全检测系统的具体实施方式中,可选的,所述系统还包括:
处理单元:用于对获取的所述数据信息实时地进行统计分析;
确定单元:用于判断所述数据信息是否超过预先设定的第一阈值,当所述数据信息超过预先设定的所述第一阈值时,确定所述数据信息对应的设备的运转状况发生异常;
所述确定单元,还用于当确定所述数据信息对应的设备的运转状况发生异常时,启动发送报警信息至远端服务器的操作;
所述确定单元,还用于当确定所述数据信息对应的设备的运转状况没有异常时,启动发送所述数据信息至远端服务器的操作。
参看图9所示,在前述基于嵌入式的工业系统的安全检测系统的具体实施方式中,可选的,所述检测单元102包括:
第一确定模块1021:用于对获取的工业系统的历史数据信息进行统计分析,确定每个时段的数据流量;
第二确定模块1022:用于通过贝叶斯网络入侵检测方法确定所述数据流量的评估值;
第三确定模块1023:用于判断所述评估值是否超过预先设定的第二阈值,当所述评估值超过预先设定的所述第二阈值时,确定所述工业系统被入侵。
参看图10所示,在前述基于嵌入式的工业系统的安全检测系统的具体实施方式中,可选的,所述第一发送单元103包括:
第一加密模块1031:用于对报警信息进行加密;
第一生成模块1032:用于生成数字签名信息;
第一发送模块1033:用于将加密后的所述报警信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的报警信息及所述数字签名信息进行解密及认证;
参看图11所示,在前述基于嵌入式的工业系统的安全检测系统的具体实施方式中,可选的,所述第二发送单元104包括:
第二加密模块1041:用于对所述数据信息进行加密;
第二生成模块1042:用于生成数字签名信息;
第二发送模块1043:用于将加密后的所述数据信息及所述数字签名信息发送至远端服务器,由所述远端服务器对所述加密后的数据信息及所述数字签名信息进行解密及认证。
本发明实施例所述的基于嵌入式的工业系统的安全检测系统,在不干涉原有工业控制系统的情况下,采取另外一条信息获取通道来获取工业系统的数据信息,对获取的所述数据信息进行入侵检测,当确定所述工业系统被入侵时,将通过所述第一发送单元发送报警信息至远端服务器,使监控人员能够及时发现工业系统的异常,使得在原有的工业控制系统的基础上再加一道安全屏障,从而提高了工业系统运行的安全性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。