数据安全的检测方法、检测装置和PLC系统与流程

未命名 10-19 阅读:105 评论:0

数据安全的检测方法、检测装置和plc系统
技术领域
1.本发明涉及移动目标识别领域,具体而言,涉及一种数据安全的检测方法、检测装置、计算机可读存储介质和plc系统。


背景技术:

2.随着信息化和工业化的融合,工业控制系统的安全问题也变得日益突出。一旦工业控制系统出现安全漏洞,则使得工业控制系统遭受病毒、木马等威胁攻击的可能性增大,进而使得工业生成控制过程面临安全性威胁。
3.工业控制系统越来越多采用标准的开放的工业协议,mc协议3e帧格式作为一种工业标准广泛应用于控制系统为现场设备、自动控制应用、企业管理应用软件提供了开放、统一的标准接口。但是随着mc协议3e帧格式应用的广泛,mc协议3e帧格式的安全问题也越来越明显。
4.现有的技术中,对于mc协议3e帧格式的安全防护明显较少,没有专门针对该协议的安全防护方法。


技术实现要素:

5.本技术的主要目的在于提供一种数据安全的检测方法、检测装置、计算机可读存储介质和plc系统,以至少解决现有技术中没有针对mc协议3e帧格式数据的安全监测方法的问题。
6.为了实现上述目的,根据本技术的一个方面,提供了一种数据安全的检测方法,所述方法包括:在收到目标数据包的情况下,检测所述目标数据包的第一地址数据段,确定所述目标数据包的来源是否安全,所述目标数据包为预设格式的数据包,所述第一地址数据段包含所述目标数据包的发送端的地址和接收端的地址;检测所述目标数据包的第一控制数据段,确定第一操作是否安全,所述第一控制数据段用于指示所述接收端控制主站和从站之间的数据传输,所述第一操作为所述主站和所述从站之间进行数据传输以实现生产流程的操作,所述主站用于接收所述接收端的指令并根据所述指令向所述从站发送子指令,所述从站用于接收所述主站的所述子指令并根据所述子指令控制生产设备完成生产操作;检测所述目标数据包的第二控制数据段,确定第二操作是否安全,所述第二控制数据段用于指示所述从站控制所述生产设备运行,所述第二操作为所述从站控制所述生产设备实现生产的操作;根据所述目标数据包的所述来源、所述第一操作、所述第二操作是否安全确定所述目标数据包是否安全。
7.可选地,检测所述目标数据包中第一地址数据段,确定所述目标数据包的来源是否安全,包括:获取所述第一地址数据段,所述第一地址数据段包括源地址与目的地址,所述源地址包括源ip地址和源mac地址,所述目的地址包括目的ip地址、目的mac地址,所述源地址为所述发送端的地址,所述目的地址为所述接收端的地址;根据所述第一地址数据段确定第一映射关系和第二映射关系,所述第一映射关系包括所述目标数据包中所述源ip地
址与所述源mac地址的映射关系,所述第二映射关系为所述目的ip地址与所述目的mac地址的映射关系;获取第三映射关系,所述第三映射关系为地址对应表中ip地址与mac地址的映射关系;在所述第三映射关系包括所述第一映射关系与所述第二映射关系的情况下,确定所述目标数据包的来源安全,在所述第三映射关系不包括所述第一映射关系或所述第二映射关系的情况下,确定所述目标数据包的来源不安全。
8.可选地,检测所述目标数据包的第一控制数据段,包括:获取所述第一控制数据段,所述第一控制数据段包括访问路径、所述指令、所述子指令、第二地址数据段,所述第二地址数据段包括主站ip地址和从站ip地址;获取预设控制数据段,所述预设控制数据段用于控制所述接收端的访问权限;在所述第一控制数据段与所述预设控制数据段一致的情况下,确定所述第一操作安全,在所述第一控制数据段与所述预设控制数据段不一致的情况下,确定所述第一操作不安全。
9.可选地,检测所述目标数据包的第二控制数据段,所述方法包括:获取所述第二控制数据段,所述第二控制数据段包括软元件名称和tag地址,所述软元件名称为plc系统内部的编程元件的名称,所述tag地址用于指示所述生产设备运行过程中变更的数据的存储位置,所述plc系统包括所述接收端、所述主站、所述从站、所述生产设备与所述软元件;获取所述plc系统的预设软元件列表,所述软元件列表包含预设软元件名称与所述预设软元件名称对应的预设tag地址范围;在所述预设软元件列表不包括所述软元件名称的情况下,确定所述第二操作不安全,在所述预设软元件列表包括所述软元件名称且所述tag地址不在所述预设tag地址范围内的情况下,确定所述第二操作不安全,在所述预设软元件列表包括所述软元件名称且所述tag地址在所述预设tag地址范围内的情况下,确定所述第二操作安全。
10.可选地,在确定所述第一操作安全后,所述方法包括:在所述指令为更新指令的情况下,根据所述更新指令修正所述预设控制数据段。
11.可选地,根据所述目标数据包的所述来源、所述第一操作、所述第二操作是否安全确定所述目标数据包是否安全,所述方法还包括:在确定所述来源、所述第一操作和所述第二操作均安全的情况下,确定所述目标数据包安全;确定所述来源、所述第一操作和所述第二操作中任意一个不安全的情况下,确定所述目标数据包不安全。
12.可选地,在确定所述目标数据包不安全之后,所述方法包括:中止所述目标数据包的传输,并发出报警信息。
13.根据本技术的另一方面,提供了一种数据安全的检测装置,所述装置包括:第一检测单元,在收到目标数据包的情况下,检测所述目标数据包的第一地址数据段,确定所述目标数据包的来源是否安全,所述目标数据包为预设格式的数据包,所述第一地址数据段包含所述目标数据包的发送端的地址和接收端的地址;第二检测单元,检测所述目标数据包的第一控制数据段,确定第一操作是否安全,所述第一控制数据段用于指示所述接收端控制主站和从站之间的数据传输,所述第一操作为所述主站和所述从站之间进行数据传输以实现生产流程的操作,所述主站用于接收所述接收端的指令并根据所述指令向所述从站发送子指令,所述从站用于接收所述主站的所述子指令并根据所述子指令控制生产设备完成生产操作;第三检测单元,检测所述目标数据包的第二控制数据段,确定第二操作是否安全,所述第二控制数据段用于指示所述从站控制所述生产设备运行,所述第二操作为所述
从站控制所述生产设备实现生产的操作;确定单元,根据所述目标数据包的所述来源、所述第一操作、所述第二操作是否安全确定所述目标数据包是否安全。
14.根据本技术的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。
15.根据本技术的又一方面,提供了一种plc系统,包括:接收端,主站,从站,软元件,生产设备,一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
16.应用本技术的技术方案,在上述数据安全的检测方法中,首先,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;然后,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;之后,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制所述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;最后,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。该方法通过在传输层检测ip地址与mac地址的对应关系,完成生产设备ip地址与mac地址进行绑定,防止中间人进行攻击,保证通讯会话安全;通过检测acl策略中预设的访问路径、指令和子指令是否包括目标数据包应用层访问路径、指令和子指令,来保证plc系统的稳定运行,通过检测预设软元件类表中的软元件名称和预设tag地址范围中是否包括目标数据包中的软元件名称和tag地址,来对工业现场一次生产设备进行安全防护。该方法解决了现有技术中没有针对mc协议3e帧格式的数据的安全监测方法的问题。
附图说明
17.图1示出了根据本技术的实施例中提供的一种执行数据安全的检测方法的移动终端的硬件结构框图;
18.图2示出了根据本技术的实施例提供的一种数据安全的检测方法的流程示意图;
19.图3示出了根据本技术的一种实施例提供的一种具体的数据安全的检测方法的流程示意图;
20.图4示出了根据本技术的实施例提供的一种数据安全的检测装置的结构框图。
具体实施方式
21.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的
附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
23.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.正如背景技术中所介绍的,现有技术中对于mc协议3e帧格式的安全防护明显较少,为解决现有技术中没有针对mc协议3e帧格式数据的安全监测方法的问题,本技术的实施例提供了一种数据安全的检测方法、检测装置、计算机可读存储介质和plc系统。
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
26.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据安全的检测方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
27.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
28.在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的数据安全的检测方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
29.图2是根据本技术实施例的数据安全的检测方法的流程图。如图2所示,该方法包括以下步骤:
30.步骤s201,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;
31.具体地,在mc协议3e帧格式通讯会话中,在接收端接收到数据包时检测数据包链路层、ip层和传输层中特定地址数据段,确定上述地址数据段ip地址和mac地址的对应关系,对设备的ip地址和mac地址进行绑定来防止中间人攻击,保证通讯会话安全。
32.步骤s202,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;
33.具体地,检测数据包应用层中特定数据段,可以确定上述第一控制数据段中访问路径、指令和子指令,是否适配接收到数据包的plc系统,用于保证plc系统的稳定运行。
34.步骤s203,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;
35.具体地,检测上述数据包中软元件名称与其对应的tag地址的对应关系,可以确定当前plc系统中的生产设备能否进行相关的生产,以及对应的编程是否正确,用于对工业现场一次设备进行安全防护。
36.步骤s204,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。
37.具体地,经过上述检测可以确定数据包中涉及对当前plc系统的相关操作是否安全,即可确定该数据包对当前plc系统是否安全。
38.本实施例中,首先,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;然后,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;之后,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;最后,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。该方法通过在传输层检测ip地址与mac地址的对应关系,完成生产设备ip地址与mac地址进行绑定,防止中间人进行攻击,保证通讯会话安全;通过检测acl策略中预设的访问路径、指令和子指令是否包括目标数据包应用层访问路径、指令和子指令,来保证plc系统的稳定运行,通过检测预设软元件
类表中的软元件名称和预设tag地址范围中是否包括目标数据包中的软元件名称和tag地址,来对工业现场一次生产设备进行安全防护。该方法解决了现有技术中没有针对mc协议3e帧格式的数据的安全监测方法的问题。
39.为了确定上述目标数据包中上述第一地址数据段的合法性,在一种可选的实施方式中,上述步骤s201包括:
40.步骤s2011,获取上述第一地址数据段,上述第一地址数据段包括源地址与目的地址,上述源地址包括源ip地址和源mac地址,上述目的地址包括目的ip地址、目的mac地址,上述源地址为上述发送端的地址,上述目的地址为上述接收端的地址;
41.具体地,在数据包的数据链路层、ip层和传输层包含了多个数据段,如源ip地址、源mac地址、源端口号、目的ip地址、目的mac地址、目的端口号等,根据上述地址可以确定数据包的来源,以及发送的目标。
42.步骤s2012,根据上述第一地址数据段确定第一映射关系和第二映射关系,上述第一映射关系包括上述目标数据包中上述源ip地址与上述源mac地址的映射关系,上述第二映射关系为上述目的ip地址与上述目的mac地址的映射关系;
43.具体地,根据数据包中的源ip地址和源mac地址,可以确定数据来源的网络地址与物理地址对应关系,即上述第一映射关系,根据目的ip地址和目的mac地址,可以确定数据发送目标的网络地址与物理地址对应关系,即上述第二映射关系。
44.步骤s2013,获取第三映射关系,上述第三映射关系为地址对应表中ip地址与mac地址的映射关系;
45.具体地,获取地址对应表,在地址对应表中有ip地址与mac地址绑定关系,也就是正常情况下的物理地址与网络地址的对应关系,即上述第三映射关系。
46.步骤s2014,在上述第三映射关系包括上述第一映射关系与上述第二映射关系的情况下,确定上述目标数据包的来源安全,在上述第三映射关系不包括上述第一映射关系或上述第二映射关系的情况下,确定上述目标数据包的来源不安全。
47.具体地,ip地址与mac地址应该是唯一对应的关系,因此将数据包中的源ip地址、源mac地址、目的ip地址和目的mac地址的对应关系与acl策略中的地址对应关系进行对比,如果一致,说明数据包中的ip地址与mac地址对应关系正常,确定数据包来源安全,如果不一致,说明有中间人对数据包进行更改,确定数据包来源不安全。
48.为了确定上述目标数据包中上述第一控制数据段的合法性,在一种可选的实施方式中,上述步骤s202包括:
49.步骤s2021,获取上述第一控制数据段,上述第一控制数据段包括访问路径、上述指令、上述子指令、第二地址数据段,上述第二地址数据段包括主站ip地址和从站ip地址;
50.具体地,数据包中的应用层中包括指令、子指令、主站ip与从站ip,上述主站ip可以确定上述指令对主站的指令权限,上述从站ip可以确定上述子指令对上述从站的指令权限。
51.步骤s2022,获取预设控制数据段,上述预设控制数据段用于控制上述接收端的访问权限;
52.具体地,获取acl策略,acl策略用于控制设备访问权限,其中包括了当前plc系统能够执行的指令及相应指令的设备权限,上述acl策略即为上述预设控制数据段。
53.步骤s2023,在上述第一控制数据段与上述预设控制数据段一致的情况下,确定上述第一操作安全,在上述第一控制数据段与上述预设控制数据段不一致的情况下,确定上述第一操作不安全。
54.具体地,根据主站ip地址和从站ip地址对应的指令与子指令的权限来判定是否安全,即上述acl策略中是否有上述目标数据包中的指令和子指令,以及指令与主站ip、子指令与从站ip的对应关系是否一致。
55.举例说明,acl策略中指令和子指令的权限信息,如表1所示。
56.表1
[0057][0058][0059]
需要说明的是,根据安全需求,技术人员可以对acl策略进行自定义修改。包括:对指令、子指令和功能的修改;对主站ip和从站ip的修改。
[0060]
为了确定上述目标数据包中上述第二控制数据段的合法性,在一种可选的实施方式中,上述步骤s203包括:
[0061]
步骤s2031,获取上述第二控制数据段,上述第二控制数据段包括软元件名称和tag地址,上述软元件名称为plc系统内部的编程元件的名称,上述tag地址用于指示上述生产设备运行过程中变更的数据的存储位置,上述plc系统包括上述接收端、上述主站、上述从站、上述生产设备与上述软元件;
[0062]
具体地,根据目标数据包中的软元件名称和tag地址,可以确定数据包的目标操作生产设备,即对软元件进行操作所需修改的数据范围,即编程上的修改。
[0063]
步骤s2032,获取上述plc系统的预设软元件列表,上述软元件列表包含预设软元件名称与上述预设软元件名称对应的预设tag地址范围;
[0064]
具体地,plc系统中具有预设的软元件列表,其中包括对本plc系统能够实现的软元件编程,以及能够支持修改的数据地址范围。
[0065]
步骤s2033,在上述预设软元件列表不包括上述软元件名称的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址不在上述预设tag地址范围内的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址在上述预设tag地址范围内的情况下,确定上述第二操作安全。
[0066]
具体地,根据预设的软元件列表,将从数据包中获取的软元件名称、地址及操作数值与表中的软元件名称、地址及取值范围进行对比判断。在软元件列表中包含数据包中的软元件名称,且其对应操作地址及范围在软元件列表包含的地址范围内的时候,确定上述第二操作安全,反之第二操作不安全。
[0067]
举例说明,软元件列表中软元件名称及tag地址如表2所示。
[0068]
表2
[0069]
软元件名称软元件地址最小值最大值
m10h5255l101h25765534............
[0070]
需要说明的是,根据安全需求技术人员可以对软元件列表进行自定义修改包括:对上述软元件名称和地址的修改;对上述软元件的最小值和最大值的修改。
[0071]
为了对上述acl策略进行更新,在一种可选地实施方式中,在确定上述第一操作安全后,上述方法包括:
[0072]
步骤s301,在上述指令为更新指令的情况下,根据上述更新指令修正上述预设控制数据段。
[0073]
具体地,在生产设备以及其从站进行更换的情况下,需要对acl策略进行更新,此时数据包中包含更新指令,上述接收端接收到更新指令后,对预设的acl策略进行适应性更新。
[0074]
为了确定上述目标数据包是否安全,在一种可选地实施方式中,上述步骤s204包括:
[0075]
步骤s2041,在确定上述来源、上述第一操作和上述第二操作均安全的情况下,确定上述目标数据包安全;
[0076]
具体地,当上述数据包的来源,上述第一操作,上述第二操作的情况下,可以确定,通讯会话安全没有中间人攻击,该数据包的指令能够适配该plc系统并且不会对工业现场一次设备造成损害,即确定该数据包安全。
[0077]
步骤s2042,确定上述来源、上述第一操作和上述第二操作中任意一个不安全的情况下,确定上述目标数据包不安全。
[0078]
具体地,当上述数据包的来源不安全的情况下,说明有中间人攻击的风险,通讯会话不安全;当上述数据包的上述第一操作不安全的情况下,说明该数据包的指令不能够适配该plc系统;当上述数据包的上述第二操作不安全的情况下,说明该数据包进行的编程操作会对工业现场一次设备造成损害,上述任意一种情况出现的情况下,确定该数据包不安全。
[0079]
为了及时处理上述目标数据包,避免造成损失,在一种可选的实施方式中,在确定上述目标数据包不安全之后,上述方法还包括:
[0080]
步骤s401,中止上述目标数据包的传输,并发出报警信息。
[0081]
具体地,在确定上述数据包不安全的情况下,中断该数据包的传输,防止该数据包中数据对plc系统造成损害,并发出报警信息,提示工作人员检查是否已造成损害并处理。
[0082]
为了使得本领域技术人员能够更加清楚地了解本技术的技术方案,以下将结合具体的实施例对本技术的数据安全的检测方法的实现过程进行详细说明。
[0083]
本实施例涉及一种具体的数据安全的检测方法,如图3所示,包括如下步骤:
[0084]
步骤s1:在mc协议3e帧格式通讯会话中,当接收到mc3e帧格式数据包时,对数据包数据链路层、ip层和传输层中多个数据段进行合法性检查;
[0085]
步骤s2:检测当前数据包应用层中访问路径、指令和子指令的合法性;
[0086]
步骤s3:检测当前数据包中软元件对应的tag合法性;
[0087]
步骤s4:根据上述监测结果确定上述数据包的合法性,即在上述检测都合法的情
况下确定上述数据包合法,在上述检测有任意一项不合法的情况下,确定上述数据包不合法。
[0088]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0089]
本技术实施例还提供了一种数据安全的检测装置,需要说明的是,本技术实施例的数据安全的检测装置可以用于执行本技术实施例所提供的用于数据安全的检测方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0090]
以下对本技术实施例提供的数据安全的检测装置进行介绍。
[0091]
图4是根据本技术实施例的数据安全的检测装置的示意图。如图4所示,该装置包括:
[0092]
第一检测单元10,用于在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;
[0093]
具体地,在mc协议3e帧格式通讯会话中,在接收端接收到数据包时检测数据包链路层、ip层和传输层中特定地址数据段,确定上述地址数据段ip地址和mac地址的对应关系,对设备的ip地址和mac地址进行绑定来防止中间人攻击,保证通讯会话安全。
[0094]
第二检测单元20,用于检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;
[0095]
具体地,检测数据包应用层中特定数据段,可以确定上述第一控制数据段中访问路径、指令和子指令,是否适配接收到数据包的plc系统,用于保证plc系统的稳定运行。
[0096]
第三检测单元30,用于检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;
[0097]
具体地,检测上述数据包中软元件名称与其对应的tag地址的对应关系,可以确定当前plc系统中的生产设备能否进行相关的生产,以及对应的编程是否正确,用于对工业现场一次设备进行安全防护。
[0098]
确定单元40,用于根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。
[0099]
具体地,经过上述检测可以确定数据包中涉及对当前plc系统的相关操作是否安全,即可确定该数据包对当前plc系统是否安全。
[0100]
本实施例中,第一检测单元在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;第二检
测单元检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;第三检测单元检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;确定单元根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。该装置通过在传输层检测ip地址与mac地址的对应关系,完成生产设备ip地址与mac地址进行绑定,防止中间人进行攻击,保证通讯会话安全;通过检测acl策略中预设的访问路径、指令和子指令是否包括目标数据包应用层访问路径、指令和子指令,来保证plc系统的稳定运行,通过检测预设软元件类表中的软元件名称和预设tag地址范围中是否包括目标数据包中的软元件名称和tag地址,来对工业现场一次生产设备进行安全防护。该装置解决了现有技术中没有针对mc协议3e帧格式的数据的安全监测装置的问题。
[0101]
为了确定上述目标数据包中上述第一地址数据段的合法性,在一种可选的实施方式中,上述第一检测单元包括:
[0102]
第一获取模块,用于获取上述第一地址数据段,上述第一地址数据段包括源地址与目的地址,上述源地址包括源ip地址和源mac地址,上述目的地址包括目的ip地址、目的mac地址,上述源地址为上述发送端的地址,上述目的地址为上述接收端的地址;
[0103]
具体地,在数据包的数据链路层、ip层和传输层包含了多个数据段,如源ip地址、源mac地址、源端口号、目的ip地址、目的mac地址、目的端口号等,根据上述地址可以确定数据包的来源,以及发送的目标。
[0104]
第一确定模块,用于根据上述第一地址数据段确定第一映射关系和第二映射关系,上述第一映射关系包括上述目标数据包中上述源ip地址与上述源mac地址的映射关系,上述第二映射关系为上述目的ip地址与上述目的mac地址的映射关系;
[0105]
具体地,根据数据包中的源ip地址和源mac地址,可以确定数据来源的网络地址与物理地址对应关系,即上述第一映射关系,根据目的ip地址和目的mac地址,可以确定数据发送目标的网络地址与物理地址对应关系,即上述第二映射关系。
[0106]
第二获取模块,用于获取第三映射关系,上述第三映射关系为地址对应表中ip地址与mac地址的映射关系;
[0107]
具体地,获取地址对应表,在地址对应表中有ip地址与mac地址绑定关系,也就是正常情况下的物理地址与网络地址的对应关系,即上述第三映射关系。
[0108]
第二确定模块,用于在上述第三映射关系包括上述第一映射关系与上述第二映射关系的情况下,确定上述目标数据包的来源安全,在上述第三映射关系不包括上述第一映射关系或上述第二映射关系的情况下,确定上述目标数据包的来源不安全。
[0109]
具体地,ip地址与mac地址应该是唯一对应的关系,因此将数据包中的源ip地址、源mac地址、目的ip地址和目的mac地址的对应关系与acl策略中的地址对应关系进行对比,如果一致,说明数据包中的ip地址与mac地址对应关系正常,确定数据包来源安全,如果不一致,说明有中间人对数据包进行更改,确定数据包来源不安全。
[0110]
为了确定上述目标数据包中上述第一控制数据段的合法性,在一种可选的实施方式中,上述第二检测单元包括:
[0111]
第三获取模块,用于获取上述第一控制数据段,上述第一控制数据段包括访问路径、上述指令、上述子指令、第二地址数据段,上述第二地址数据段包括主站ip地址和从站ip地址;
[0112]
具体地,数据包中的应用层中包括指令、子指令、主站ip与从站ip,上述主站ip可以确定上述指令对主站的指令权限,上述从站ip可以确定上述子指令对上述从站的指令权限。
[0113]
第四获取模块,用于获取预设控制数据段,上述预设控制数据段用于控制上述接收端的访问权限;
[0114]
具体地,获取acl策略,acl策略用于控制设备访问权限,其中包括了当前plc系统能够执行的指令及相应指令的设备权限,上述acl策略即为上述预设控制数据段。
[0115]
第三确定模块,用于在上述第一控制数据段与上述预设控制数据段一致的情况下,确定上述第一操作安全,在上述第一控制数据段与上述预设控制数据段不一致的情况下,确定上述第一操作不安全。
[0116]
具体地,根据主站ip地址和从站ip地址对应的指令与子指令的权限来判定是否安全,即上述acl策略中是否有上述目标数据包中的指令和子指令,以及指令与主站ip、子指令与从站ip的对应关系是否一致。
[0117]
举例说明,acl策略中指令和子指令的权限信息,如表1所示。需要说明的是,根据安全需求,技术人员可以对acl策略进行自定义修改。包括:对指令、子指令和功能的修改;对主站ip和从站ip的修改。
[0118]
为了确定上述目标数据包中上述第二控制数据段的合法性,在一种可选的实施方式中,上述第三检测单元包括:
[0119]
第五获取模块,用于获取上述第二控制数据段,上述第二控制数据段包括软元件名称和tag地址,上述软元件名称为plc系统内部的编程元件的名称,上述tag地址用于指示上述生产设备运行过程中变更的数据的存储位置,上述plc系统包括上述接收端、上述主站、上述从站、上述生产设备与上述软元件;
[0120]
具体地,根据目标数据包中的软元件名称和tag地址,可以确定数据包的目标操作生产设备,即对软元件进行操作所需修改的数据范围,即编程上的修改。
[0121]
第六获取模块,用于获取上述plc系统的预设软元件列表,上述软元件列表包含预设软元件名称与上述预设软元件名称对应的预设tag地址范围;
[0122]
具体地,plc系统中具有预设的软元件列表,其中包括对本plc系统能够实现的软元件编程,以及能够支持修改的数据地址范围。
[0123]
第四确定模块,用于在上述预设软元件列表不包括上述软元件名称的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址不在上述预设tag地址范围内的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址在上述预设tag地址范围内的情况下,确定上述第二操作安全。
[0124]
具体地,根据预设的软元件列表,将从数据包中获取的软元件名称、地址及操作数
值与表中的软元件名称、地址及取值范围进行对比判断。在软元件列表中包含数据包中的软元件名称,且其对应操作地址及范围在软元件列表包含的地址范围内的时候,确定上述第二操作安全,反之第二操作不安全。
[0125]
举例说明,软元件列表中软元件名称及tag地址如表2所示。需要说明的是,根据安全需求技术人员可以对软元件列表进行自定义修改包括:对上述软元件名称和地址的修改;对上述软元件的最小值和最大值的修改。
[0126]
为了对上述acl策略进行更新,在一种可选地实施方式中,上述装置还包括:
[0127]
更新单元,用于在确定上述第一操作安全后,在上述指令为更新指令的情况下,根据上述更新指令修正上述预设控制数据段。
[0128]
具体地,在生产设备以及其从站进行更换的情况下,需要对acl策略进行更新,此时数据包中包含更新指令,上述接收端接收到更新指令后,对预设的acl策略进行适应性更新。
[0129]
为了确定上述目标数据包是否安全,在一种可选地实施方式中,上述确定单元包括:
[0130]
第五确定模块,用于在确定上述来源、上述第一操作和上述第二操作均安全的情况下,确定上述目标数据包安全;
[0131]
具体地,当上述数据包的来源,上述第一操作,上述第二操作的情况下,可以确定,通讯会话安全没有中间人攻击,该数据包的指令能够适配该plc系统并且不会对工业现场一次设备造成损害,即确定该数据包安全。
[0132]
第六确定模块,用于确定上述来源、上述第一操作和上述第二操作中任意一个不安全的情况下,确定上述目标数据包不安全。
[0133]
具体地,当上述数据包的来源不安全的情况下,说明有中间人攻击的风险,通讯会话不安全;当上述数据包的上述第一操作不安全的情况下,说明该数据包的指令不能够适配该plc系统;当上述数据包的上述第二操作不安全的情况下,说明该数据包进行的编程操作会对工业现场一次设备造成损害,上述任意一种情况出现的情况下,确定该数据包不安全。
[0134]
为了及时处理上述目标数据包,避免造成损失,在一种可选的实施方式中,上述装置包括:
[0135]
报警单元,用于在确定上述目标数据包不安全之后,中止上述目标数据包的传输,并发出报警信息。
[0136]
具体地,在确定上述数据包不安全的情况下,中断该数据包的传输,防止该数据包中数据对plc系统造成损害,并发出报警信息,提示工作人员检查是否已造成损害并处理。
[0137]
上述数据安全的检测装置包括处理器和存储器,上述第一检测单元、第二检测单元、第三检测单元和确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0138]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来检测数据安全。
[0139]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/
或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0140]
本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述数据安全的检测方法。
[0141]
具体地,数据安全的检测方法包括:
[0142]
步骤s201,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;
[0143]
具体地,在mc协议3e帧格式通讯会话中,在接收端接收到数据包时检测数据包链路层、ip层和传输层中特定地址数据段,确定上述地址数据段ip地址和mac地址的对应关系,对设备的ip地址和mac地址进行绑定来防止中间人攻击,保证通讯会话安全。
[0144]
步骤s202,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;
[0145]
具体地,检测数据包应用层中特定数据段,可以确定上述第一控制数据段中访问路径、指令和子指令,是否适配接收到数据包的plc系统,用于保证plc系统的稳定运行。
[0146]
步骤s203,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;
[0147]
具体地,检测上述数据包中软元件名称与其对应的tag地址的对应关系,可以确定当前plc系统中的生产设备能否进行相关的生产,以及对应的编程是否正确,用于对工业现场一次设备进行安全防护。
[0148]
步骤s204,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。
[0149]
具体地,经过上述检测可以确定数据包中涉及对当前plc系统的相关操作是否安全,即可确定该数据包对当前plc系统是否安全。
[0150]
可选地,步骤s2011,获取上述第一地址数据段,上述第一地址数据段包括源地址与目的地址,上述源地址包括源ip地址和源mac地址,上述目的地址包括目的ip地址、目的mac地址,上述源地址为上述发送端的地址,上述目的地址为上述接收端的地址;步骤s2012,根据上述第一地址数据段确定第一映射关系和第二映射关系,上述第一映射关系包括上述目标数据包中上述源ip地址与上述源mac地址的映射关系,上述第二映射关系为上述目的ip地址与上述目的mac地址的映射关系;步骤s2013,获取第三映射关系,上述第三映射关系为地址对应表中ip地址与mac地址的映射关系;步骤s2014,在上述第三映射关系包括上述第一映射关系与上述第二映射关系的情况下,确定上述目标数据包的来源安全,在上述第三映射关系不包括上述第一映射关系或上述第二映射关系的情况下,确定上述目标数据包的来源不安全。
[0151]
可选地,步骤s2021,获取上述第一控制数据段,上述第一控制数据段包括访问路径、上述指令、上述子指令、第二地址数据段,上述第二地址数据段包括主站ip地址和从站ip地址;步骤s2022,获取预设控制数据段,上述预设控制数据段用于控制上述接收端的访问权限;步骤s2023,在上述第一控制数据段与上述预设控制数据段一致的情况下,确定上述第一操作安全,在上述第一控制数据段与上述预设控制数据段不一致的情况下,确定上述第一操作不安全。
[0152]
可选地,步骤s2031,获取上述第二控制数据段,上述第二控制数据段包括软元件名称和tag地址,上述软元件名称为plc系统内部的编程元件的名称,上述tag地址用于指示上述生产设备运行过程中变更的数据的存储位置,上述plc系统包括上述接收端、上述主站、上述从站、上述生产设备与上述软元件;步骤s2032,获取上述plc系统的预设软元件列表,上述软元件列表包含预设软元件名称与上述预设软元件名称对应的预设tag地址范围;步骤s2033,在上述预设软元件列表不包括上述软元件名称的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址不在上述预设tag地址范围内的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址在上述预设tag地址范围内的情况下,确定上述第二操作安全。
[0153]
可选地,步骤s301,在上述指令为更新指令的情况下,根据上述更新指令修正上述预设控制数据段。
[0154]
可选地,步骤s2041,在确定上述来源、上述第一操作和上述第二操作均安全的情况下,确定上述目标数据包安全;步骤s2042,确定上述来源、上述第一操作和上述第二操作中任意一个不安全的情况下,确定上述目标数据包不安全。
[0155]
可选地,步骤s401,中止上述目标数据包的传输,并发出报警信息。
[0156]
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述数据安全的检测方法方法。
[0157]
具体地,数据安全的检测方法方法包括:
[0158]
步骤s201,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;
[0159]
具体地,在mc协议3e帧格式通讯会话中,在接收端接收到数据包时检测数据包链路层、ip层和传输层中特定地址数据段,确定上述地址数据段ip地址和mac地址的对应关系,对设备的ip地址和mac地址进行绑定来防止中间人攻击,保证通讯会话安全。
[0160]
步骤s202,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;
[0161]
具体地,检测数据包应用层中特定数据段,可以确定上述第一控制数据段中访问路径、指令和子指令,是否适配接收到数据包的plc系统,用于保证plc系统的稳定运行。
[0162]
步骤s203,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制
上述生产设备实现生产的操作;
[0163]
具体地,检测上述数据包中软元件名称与其对应的tag地址的对应关系,可以确定当前plc系统中的生产设备能否进行相关的生产,以及对应的编程是否正确,用于对工业现场一次设备进行安全防护。
[0164]
步骤s204,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。
[0165]
具体地,经过上述检测可以确定数据包中涉及对当前plc系统的相关操作是否安全,即可确定该数据包对当前plc系统是否安全。
[0166]
可选地,步骤s2011,获取上述第一地址数据段,上述第一地址数据段包括源地址与目的地址,上述源地址包括源ip地址和源mac地址,上述目的地址包括目的ip地址、目的mac地址,上述源地址为上述发送端的地址,上述目的地址为上述接收端的地址;步骤s2012,根据上述第一地址数据段确定第一映射关系和第二映射关系,上述第一映射关系包括上述目标数据包中上述源ip地址与上述源mac地址的映射关系,上述第二映射关系为上述目的ip地址与上述目的mac地址的映射关系;步骤s2013,获取第三映射关系,上述第三映射关系为地址对应表中ip地址与mac地址的映射关系;步骤s2014,在上述第三映射关系包括上述第一映射关系与上述第二映射关系的情况下,确定上述目标数据包的来源安全,在上述第三映射关系不包括上述第一映射关系或上述第二映射关系的情况下,确定上述目标数据包的来源不安全。
[0167]
可选地,步骤s2021,获取上述第一控制数据段,上述第一控制数据段包括访问路径、上述指令、上述子指令、第二地址数据段,上述第二地址数据段包括主站ip地址和从站ip地址;步骤s2022,获取预设控制数据段,上述预设控制数据段用于控制上述接收端的访问权限;步骤s2023,在上述第一控制数据段与上述预设控制数据段一致的情况下,确定上述第一操作安全,在上述第一控制数据段与上述预设控制数据段不一致的情况下,确定上述第一操作不安全。
[0168]
可选地,步骤s2031,获取上述第二控制数据段,上述第二控制数据段包括软元件名称和tag地址,上述软元件名称为plc系统内部的编程元件的名称,上述tag地址用于指示上述生产设备运行过程中变更的数据的存储位置,上述plc系统包括上述接收端、上述主站、上述从站、上述生产设备与上述软元件;步骤s2032,获取上述plc系统的预设软元件列表,上述软元件列表包含预设软元件名称与上述预设软元件名称对应的预设tag地址范围;步骤s2033,在上述预设软元件列表不包括上述软元件名称的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址不在上述预设tag地址范围内的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址在上述预设tag地址范围内的情况下,确定上述第二操作安全。
[0169]
可选地,步骤s301,在上述指令为更新指令的情况下,根据上述更新指令修正上述预设控制数据段。
[0170]
可选地,步骤s2041,在确定上述来源、上述第一操作和上述第二操作均安全的情况下,确定上述目标数据包安全;步骤s2042,确定上述来源、上述第一操作和上述第二操作中任意一个不安全的情况下,确定上述目标数据包不安全。
[0171]
可选地,步骤s401,中止上述目标数据包的传输,并发出报警信息。
[0172]
本发明实施例提供了一种plc系统,plc系统包括接收端,主站,从站,软元件,生产设备,处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
[0173]
步骤s201,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;
[0174]
步骤s202,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;
[0175]
步骤s203,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;
[0176]
步骤s204,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。
[0177]
可选地,步骤s2011,获取上述第一地址数据段,上述第一地址数据段包括源地址与目的地址,上述源地址包括源ip地址和源mac地址,上述目的地址包括目的ip地址、目的mac地址,上述源地址为上述发送端的地址,上述目的地址为上述接收端的地址;步骤s2012,根据上述第一地址数据段确定第一映射关系和第二映射关系,上述第一映射关系包括上述目标数据包中上述源ip地址与上述源mac地址的映射关系,上述第二映射关系为上述目的ip地址与上述目的mac地址的映射关系;步骤s2013,获取第三映射关系,上述第三映射关系为地址对应表中ip地址与mac地址的映射关系;步骤s2014,在上述第三映射关系包括上述第一映射关系与上述第二映射关系的情况下,确定上述目标数据包的来源安全,在上述第三映射关系不包括上述第一映射关系或上述第二映射关系的情况下,确定上述目标数据包的来源不安全。
[0178]
可选地,步骤s2021,获取上述第一控制数据段,上述第一控制数据段包括访问路径、上述指令、上述子指令、第二地址数据段,上述第二地址数据段包括主站ip地址和从站ip地址;步骤s2022,获取预设控制数据段,上述预设控制数据段用于控制上述接收端的访问权限;步骤s2023,在上述第一控制数据段与上述预设控制数据段一致的情况下,确定上述第一操作安全,在上述第一控制数据段与上述预设控制数据段不一致的情况下,确定上述第一操作不安全。
[0179]
可选地,步骤s2031,获取上述第二控制数据段,上述第二控制数据段包括软元件名称和tag地址,上述软元件名称为plc系统内部的编程元件的名称,上述tag地址用于指示上述生产设备运行过程中变更的数据的存储位置,上述plc系统包括上述接收端、上述主站、上述从站、上述生产设备与上述软元件;步骤s2032,获取上述plc系统的预设软元件列表,上述软元件列表包含预设软元件名称与上述预设软元件名称对应的预设tag地址范围;步骤s2033,在上述预设软元件列表不包括上述软元件名称的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址不在上述预设tag地址范
围内的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址在上述预设tag地址范围内的情况下,确定上述第二操作安全。
[0180]
可选地,步骤s301,在上述指令为更新指令的情况下,根据上述更新指令修正上述预设控制数据段。
[0181]
可选地,步骤s2041,在确定上述来源、上述第一操作和上述第二操作均安全的情况下,确定上述目标数据包安全;步骤s2042,确定上述来源、上述第一操作和上述第二操作中任意一个不安全的情况下,确定上述目标数据包不安全。
[0182]
可选地,步骤s401,中止上述目标数据包的传输,并发出报警信息。
[0183]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
[0184]
步骤s201,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;
[0185]
步骤s202,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;
[0186]
步骤s203,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;
[0187]
步骤s204,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。
[0188]
可选地,步骤s2011,获取上述第一地址数据段,上述第一地址数据段包括源地址与目的地址,上述源地址包括源ip地址和源mac地址,上述目的地址包括目的ip地址、目的mac地址,上述源地址为上述发送端的地址,上述目的地址为上述接收端的地址;步骤s2012,根据上述第一地址数据段确定第一映射关系和第二映射关系,上述第一映射关系包括上述目标数据包中上述源ip地址与上述源mac地址的映射关系,上述第二映射关系为上述目的ip地址与上述目的mac地址的映射关系;步骤s2013,获取第三映射关系,上述第三映射关系为地址对应表中ip地址与mac地址的映射关系;步骤s2014,在上述第三映射关系包括上述第一映射关系与上述第二映射关系的情况下,确定上述目标数据包的来源安全,在上述第三映射关系不包括上述第一映射关系或上述第二映射关系的情况下,确定上述目标数据包的来源不安全。
[0189]
可选地,步骤s2021,获取上述第一控制数据段,上述第一控制数据段包括访问路径、上述指令、上述子指令、第二地址数据段,上述第二地址数据段包括主站ip地址和从站ip地址;步骤s2022,获取预设控制数据段,上述预设控制数据段用于控制上述接收端的访问权限;步骤s2023,在上述第一控制数据段与上述预设控制数据段一致的情况下,确定上述第一操作安全,在上述第一控制数据段与上述预设控制数据段不一致的情况下,确定上述第一操作不安全。
[0190]
可选地,步骤s2031,获取上述第二控制数据段,上述第二控制数据段包括软元件名称和tag地址,上述软元件名称为plc系统内部的编程元件的名称,上述tag地址用于指示上述生产设备运行过程中变更的数据的存储位置,上述plc系统包括上述接收端、上述主站、上述从站、上述生产设备与上述软元件;步骤s2032,获取上述plc系统的预设软元件列表,上述软元件列表包含预设软元件名称与上述预设软元件名称对应的预设tag地址范围;步骤s2033,在上述预设软元件列表不包括上述软元件名称的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址不在上述预设tag地址范围内的情况下,确定上述第二操作不安全,在上述预设软元件列表包括上述软元件名称且上述tag地址在上述预设tag地址范围内的情况下,确定上述第二操作安全。
[0191]
可选地,步骤s301,在上述指令为更新指令的情况下,根据上述更新指令修正上述预设控制数据段。
[0192]
可选地,步骤s2041,在确定上述来源、上述第一操作和上述第二操作均安全的情况下,确定上述目标数据包安全;步骤s2042,确定上述来源、上述第一操作和上述第二操作中任意一个不安全的情况下,确定上述目标数据包不安全。
[0193]
可选地,步骤s401,中止上述目标数据包的传输,并发出报警信息。
[0194]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0195]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0196]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0197]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0198]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0199]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0200]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0201]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0202]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0203]
从以上的描述中,可以看出,本技术上述的实施例实现了如下技术效果:
[0204]
1)、本技术的数据安全的检测方法,首先,在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;然后,检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;之后,检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制所述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;最后,根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。该方法通过在传输层检测ip地址与mac地址的对应关系,完成生产设备ip地址与mac地址进行绑定,防止中间人进行攻击,保证通讯会话安全;通过检测acl策略中预设的访问路径、指令和子指令是否包括目标数据包应用层访问路径、指令和子指令,来保证plc系统的稳定运行,通过检测预设软元件类表中的软元件名称和预设tag地址范围中是否包括目标数据包中的软元件名称和tag地址,来对工业现场一次生产设备进行安全防护。该方法解决了现有技术中没有针对mc协议3e帧格式的数据的安全监测方法的问题。
[0205]
2)、本技术的数据安全的检测装置,第一检测单元在收到目标数据包的情况下,检测上述目标数据包的第一地址数据段,确定上述目标数据包的来源是否安全,上述目标数
据包为预设格式的数据包,上述第一地址数据段包含上述目标数据包的发送端的地址和接收端的地址;第二检测单元检测上述目标数据包的第一控制数据段,确定第一操作是否安全,上述第一控制数据段用于指示上述接收端控制主站和从站之间的数据传输,上述第一操作为上述主站和上述从站之间进行数据传输以实现生产流程的操作,上述主站用于接收上述接收端的指令并根据上述指令向上述从站发送子指令,上述从站用于接收上述主站的上述子指令并根据上述子指令控制生产设备完成生产操作;第三检测单元检测上述目标数据包的第二控制数据段,确定第二操作是否安全,上述第二控制数据段用于指示上述从站控制上述生产设备运行,上述第二操作为上述从站控制上述生产设备实现生产的操作;确定单元根据上述目标数据包的上述来源、上述第一操作、上述第二操作是否安全确定上述目标数据包是否安全。该装置通过在传输层检测ip地址与mac地址的对应关系,完成生产设备ip地址与mac地址进行绑定,防止中间人进行攻击,保证通讯会话安全;通过检测acl策略中预设的访问路径、指令和子指令是否包括目标数据包应用层访问路径、指令和子指令,来保证plc系统的稳定运行,通过检测预设软元件类表中的软元件名称和预设tag地址范围中是否包括目标数据包中的软元件名称和tag地址,来对工业现场一次生产设备进行安全防护。该装置解决了现有技术中没有针对mc协议3e帧格式的数据的安全监测装置的问题。
[0206]
以上上述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种数据安全的检测方法,其特征在于,所述方法包括:在收到目标数据包的情况下,检测所述目标数据包的第一地址数据段,确定所述目标数据包的来源是否安全,所述目标数据包为预设格式的数据包,所述第一地址数据段包含所述目标数据包的发送端的地址和接收端的地址;检测所述目标数据包的第一控制数据段,确定第一操作是否安全,所述第一控制数据段用于指示所述接收端控制主站和从站之间的数据传输,所述第一操作为所述主站和所述从站之间进行数据传输以实现生产流程的操作,所述主站用于接收所述接收端的指令并根据所述指令向所述从站发送子指令,所述从站用于接收所述主站的所述子指令并根据所述子指令控制生产设备完成生产操作;检测所述目标数据包的第二控制数据段,确定第二操作是否安全,所述第二控制数据段用于指示所述从站控制所述生产设备运行,所述第二操作为所述从站控制所述生产设备实现生产的操作;根据所述目标数据包的所述来源、所述第一操作、所述第二操作是否安全确定所述目标数据包是否安全。2.根据权利要求1所述的方法,其特征在于,检测所述目标数据包中第一地址数据段,确定所述目标数据包的来源是否安全,包括:获取所述第一地址数据段,所述第一地址数据段包括源地址与目的地址,所述源地址包括源ip地址和源mac地址,所述目的地址包括目的ip地址、目的mac地址,所述源地址为所述发送端的地址,所述目的地址为所述接收端的地址;根据所述第一地址数据段确定第一映射关系和第二映射关系,所述第一映射关系包括所述目标数据包中所述源ip地址与所述源mac地址的映射关系,所述第二映射关系为所述目的ip地址与所述目的mac地址的映射关系;获取第三映射关系,所述第三映射关系为地址对应表中ip地址与mac地址的映射关系;在所述第三映射关系包括所述第一映射关系与所述第二映射关系的情况下,确定所述目标数据包的来源安全,在所述第三映射关系不包括所述第一映射关系或所述第二映射关系的情况下,确定所述目标数据包的来源不安全。3.根据权利要求2所述的方法,其特征在于,检测所述目标数据包的第一控制数据段,包括:获取所述第一控制数据段,所述第一控制数据段包括访问路径、所述指令、所述子指令、第二地址数据段,所述第二地址数据段包括主站ip地址和从站ip地址;获取预设控制数据段,所述预设控制数据段用于控制所述接收端的访问权限;在所述第一控制数据段与所述预设控制数据段一致的情况下,确定所述第一操作安全,在所述第一控制数据段与所述预设控制数据段不一致的情况下,确定所述第一操作不安全。4.根据权利要求3所述的方法,其特征在于,检测所述目标数据包的第二控制数据段,所述方法包括:获取所述第二控制数据段,所述第二控制数据段包括软元件名称和tag地址,所述软元件名称为plc系统内部的编程元件的名称,所述tag地址用于指示所述生产设备运行过程中变更的数据的存储位置,所述plc系统包括所述接收端、所述主站、所述从站、所述生产设备
与所述软元件;获取所述plc系统的预设软元件列表,所述软元件列表包含预设软元件名称与所述预设软元件名称对应的预设tag地址范围;在所述预设软元件列表不包括所述软元件名称的情况下,确定所述第二操作不安全,在所述预设软元件列表包括所述软元件名称且所述tag地址不在所述预设tag地址范围内的情况下,确定所述第二操作不安全,在所述预设软元件列表包括所述软元件名称且所述tag地址在所述预设tag地址范围内的情况下,确定所述第二操作安全。5.根据权利要求4所述的方法,其特征在于,在确定所述第一操作安全后,所述方法包括:在所述指令为更新指令的情况下,根据所述更新指令修正所述预设控制数据段。6.根据权利要求5所述的方法,其特征在于,根据所述目标数据包的所述来源、所述第一操作、所述第二操作是否安全确定所述目标数据包是否安全,所述方法包括:在确定所述来源、所述第一操作和所述第二操作均安全的情况下,确定所述目标数据包安全;确定所述来源、所述第一操作和所述第二操作中任意一个不安全的情况下,确定所述目标数据包不安全。7.根据权利要求6所述的方法,其特征在于,在确定所述目标数据包不安全之后,所述方法包括:中止所述目标数据包的传输,并发出报警信息。8.一种数据安全的检测装置,其特征在于,所述装置包括:第一检测单元,在收到目标数据包的情况下,检测所述目标数据包的第一地址数据段,确定所述目标数据包的来源是否安全,所述目标数据包为预设格式的数据包,所述第一地址数据段包含所述目标数据包的发送端的地址和接收端的地址;第二检测单元,检测所述目标数据包的第一控制数据段,确定第一操作是否安全,所述第一控制数据段用于指示所述接收端控制主站和从站之间的数据传输,所述第一操作为所述主站控制和协调从站实现生产流程的操作,所述主站用于接收所述接收端的指令并根据所述指令向所述从站发送子指令,所述从站用于接收所述主站的所述子指令并根据所述子指令控制生产设备完成生产操作;第三检测单元,检测所述目标数据包的第二控制数据段,确定第二操作是否安全,所述第二控制数据段用于指示所述从站控制所述生产设备运行,所述第二操作为所述从站控制所述生产设备实现生产的操作;确定单元,根据所述目标数据包的所述来源、所述第一操作、所述第二操作是否安全确定所述目标数据包是否安全。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的方法。10.一种plc系统,其特征在于,包括:接收端,主站,从站,软元件,生产设备,一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利
要求1至7中任意一项所述的方法。

技术总结
本申请提供了一种数据安全的检测方法、检测装置和PLC系统,该方法包括:在收到目标数据包的情况下,检测目标数据包的第一地址数据段,确定目标数据包的来源是否安全;检测目标数据包的第一控制数据段,确定第一操作是否安全,第一控制数据段用于指示接收端控制主站和从站之间的数据传输,第一操作为主站和从站之间进行数据传输以实现生产流程的操作;检测目标数据包的第二控制数据段,确定第二操作是否安全,第二控制数据段用于指示从站控制生产设备运行;根据目标数据包的来源、第一操作、第二操作是否安全确定目标数据包是否安全。该方法解决了现有技术中没有针对MC协议3E帧格式数据的安全监测方法的问题。据的安全监测方法的问题。据的安全监测方法的问题。


技术研发人员:洪超 刘媛 梁志宏 陈文迪 杨祎巍 莫蓓蓓 陈立明 陆力瑜 曹扬 刘慕娴 李攀登 董智博 张宇南 吴繁宇 戴涛
受保护的技术使用者:广西电网有限责任公司 中国南方电网有限责任公司
技术研发日:2023.05.12
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐