OMRONFINS协议深度分析和安全防护方法、系统、终端和存储介质与流程

未命名 09-22 阅读:66 评论:0

omron fins协议深度分析和安全防护方法、系统、终端和存储介质
技术领域
1.本技术涉及网络安全的领域,尤其是涉及一种omron fins协议深度分析和安全防护方法、系统、终端和存储介质。


背景技术:

2.omron fins(简称fins(factory interface network srevice))通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。通过使用fins指令可以实现在以太网、控制网络的controller link和rs232c/485串行通信三种网络之间的无缝通信,通过编程发送fins指令,上位机或plc就能够读写另一个plc数据区的内容,甚至控制其运行状态,从而简化了用户程序。fins协议支持工业以太网,这就为omron plc与上位机以太网通信的实现提供了途径。在三种通信网络中,以太网方案的优势最大。10~100mb/s的传输速率已经可以满足现代供液所需求的实时性传输数据,而100m/段的传输距离使得可以进行灵活组网,最高254个字节可以实现pc和plc之间一对一、一对多、多对多等多种控制方案。而且现在工业设备的上位机都配有网卡,不需要再额外添加硬件,在实际操作上具有了巨大的便捷性。这使得工业以太网满足了良好的可扩展性、实用性、实时性等需求。
3.但是,由于缺乏基本的加密手段,fins在以太网的通信存在明显的安全漏洞。


技术实现要素:

4.为了提高fins在以太网的通信的安全性,本技术提供一种omron fins协议深度分析和安全防护方法、系统、终端和存储介质。
5.本技术目的一是提供一种omron fins协议深度分析和安全防护方法。
6.本技术的上述申请目的一是通过以下技术方案得以实现的:一种omron fins协议深度分析和安全防护方法,包括;获取数据包;判断所述数据包是否为fins协议;若是,则对所述数据包进行信息解析,得到第一解析结果;基于fins协议规约,判断所述第一解析结果是否完整;若是,则对所述fins协议进行功能码解析,得到第二解析结果;基于预设白名单库,判断第二解析结果是否正确;若是,则调取报文结构;基于预设白名单规则,判断所述报文结构是否安全;若是,则放通所述数据包。
7.本技术在一较佳示例中可以进一步配置为:所述判断所述数据包是否为fins协议,包括;调取所述数据包的端口信息,所述端口信息包括源端口和目的端口;
分别判断所述源端口或目的端口是否为9600;若是,则所述数据包为fins协议。
8.本技术在一较佳示例中可以进一步配置为:所述第一解析结果包括报文总长度、报文头和应用报文长度。
9.本技术在一较佳示例中可以进一步配置为:所述判断所述第一解析结果是否完整,包括;将所述报文总长度、报文头和应用报文长度带入到fins协议规约中,并进行比较,得到第一比较结果;根据所述第一比较结果确定第一解析结果的完整性。
10.本技术在一较佳示例中可以进一步配置为:所述第一解析结果完整性判断顺序为报文总长度、报文头、应用报文长度。
11.本技术在一较佳示例中可以进一步配置为:所述判断第二解析结果是否正确,包括;调取所述数据包的功能码;将所述功能码与预设白名单库中的功能码进行逐一对比;若对比成功,则所述第二解析结果正确;若对比失败,则所述第二解析结果错误。
12.本技术在一较佳示例中可以进一步配置为:所述判断所述报文结构是否安全,包括;所述报文结构包括报文的读/写地址、值和数量;将所述读/写地址、值和数量分别带入到预设白名单规则中,并进行比较,得到第二比较结果;根据所述第二比较结果确定报文结构的安全性。
13.本技术目的二是提供一种omron fins协议深度分析和安全防护系统。
14.本技术的上述目的二是通过以下技术方案得以实现的:一种omron fins协议深度分析和安全防护系统,包括;获取模块,用于获取数据包;第一判断模块,用于判断所述数据包是否为fins协议;第二判断模块,用于基于fins协议规约,判断所述第一解析结果是否完整;第三判断模块,用于基于预设白名单库,判断第二解析结果是否正确;第四判断模块,用于基于预设白名单规则,判断所述报文结构是否安全。
15.本技术目的三是提供一种终端。
16.本技术的上述申请目的三是通过以下技术方案得以实现的:一种终端,包括存储和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现上述任一种omron fins协议深度分析和安全防护方法。
17.本技术目的四是提供一种计算机可读存储介质,能够存储相应的程序。
18.本技术的上述目的四是通过以下技术方案得以实现的:一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述一种omron-fins协议深度分析和安全防护方法。
19.综上所述,本技术包括以下至少一种有益技术效果:1.通过程序中的完整性检查,即对报文总长度、报文头的字节校验和应用报文长度的校验,能够保证数据的完整性;2.通过对报文结构进行解析,对其中的读/写地址、值和数量与预设预设白名单规则进行比对,从而实现对部分数据点的读写权限、地址、值的控制,能够增强数据的保密性;3.通过对数据包的端口信息、第一解析结果、第二解析结果和报文结果的检验,在一定程度上保护了设备间的数据安全。
附图说明
20.图1是本技术实施例一种omron fins协议深度分析和安全防护方法的流程示意图。
21.图2是本技术实施例一种omron fins协议深度分析和安全防护方法的框图。
22.图3是本技术实施例一种omron fins协议深度分析和安全防护系统的系统示意图。
23.图4是本技术实施例一种终端的结构示意图。
24.附图标记说明:21、获取模块;22、第一判断模块;23、第二判断模块;24、第三判断模块;25、第四判断模块;301、cpu;302、rom;303、ram;304、总线;305、i/o接口;306、输入部分;307、输出部分;308、存储部分;309、通信部分;310、驱动器;311、可拆卸介质。
具体实施方式
25.以下结合附图对本技术作进一步详细说明。
26.本具体实施例仅仅是对本技术的解释,其并不是对本技术的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本技术的权利要求范围内都受到专利法的保护。
27.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.本技术实施例网络安全漏洞防护的场景,omron fins(简称fins(factory interface network srevice))通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。通过使用fins指令可以实现在以太网、控制网络的controller link和rs232c/485串行通信三种网络之间的无缝通信,通过编程发送fins指令,上位机或plc就能够读写另一个plc数据区的内容,甚至控制其运行状态,从而简化了用户程序。fins协议支持工业以太网,这就为omron plc与上位机以太网通信的实现提供了途径。在三种通信网络中,以太网方案的优势最大。10~100mb/s的传输速率已经可以满足现代供液所需求的实时性传输数据,而100m/段的传输距离使得可以进行灵活组网,最高254个字节可以实现pc和plc之间一对一、一对多、多对多等多种控制方案。而且现在工业设备的上位机都配有网卡,不需要再额外添加硬件,在实际操作上具有了巨大的便捷性。这使得工业以太网满足了良好的可扩展性、实用性、实时性等需求。
29.但是,由于缺乏基本的加密手段,fins在以太网的通信存在明显的安全漏洞,主要体现在:1.数据保密性差,由于没有机制区分不同客户端访问的数据范围,因此网络中的客户端可以访问到服务端提供的任何数据;2.数据完整性容易破坏,由于没有机制限制客户端可执行的命令及其参数的范围,网络中的任意客户端可以通过发送服务端支持的功能码(command code),修改服务端的数据。
30.3.可用性很难保证,除了面临常规的tco/ip层网络攻击之外,在fins应用层:(1)攻击者很容易发送不完整的fins帧,使服务器进行大量的无效处理,导致其性能下降;(2)使用fins协议通信的设备之间缺乏保护配置数据的机制,这很容易被攻击者利用,修改设备配置参数或执行动作,可能导致严重的后果。
31.因此,本技术实施例提供一种omron fins协议深度分析和安全防护方法、系统、终端和存储介质,其能够提高fins在以太网的通信的安全性。
32.本技术实施例基本流程为数据包进入-数据包解析-数据包处理(放通/拦截)。
33.下面结合说明书附图对本技术实施例作进一步详细描述。
34.参照图1和图2,一种omron fins协议深度分析和安全防护方法的流程示意图。
35.步骤s100:获取数据包。
36.具体的,数据包包括请求数据包和响应数据包,其中,请求数据包是指客户端发出的数据包,响应数据包是指服务端根据客户端的请求数据包做出响应发送的数据包。请求数据包具有源端口,响应数据包具有目的端口,请求数据包和响应数据均包括功能码。
37.步骤s200:判断数据包是否为fins协议。
38.具体的,调取数据包的端口信息,端口信息包括源端口和目的端口,随后,分别判断所述源端口或目的端口是否为9600:若是,则该数据包为fins协议,并对该数据包进行信息解析,得到第一解析结果;若否,则该数据包不是fin协议,对该数据包进行拦截,使该数据包不通过。
39.步骤s300:基于fins协议规约,判断第一解析结果是否完整。
40.具体的,上述第一解析结果包括报文总长度、报文头和应用报文长度。可以知道的是,报文是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。
41.分别将报文总长度、报文头和应用报文长度带入到fins协议规约中,并分别与fins协议规约的数据进行比较,得到第一比较结果。并根据第一比较结果确定第一解析结果的完整性。可以知道的是,第一解析结果完整性判断顺序为报文总长度-报文头-应用报文长度,也就是当报文总长度符合fins协议规约后,判断报文头是否符合fins协议规约,当报文头符合fins协议规约后,判断应用报文长度是否符合fins协议规约。
42.若是都符合fins协议规约,则说明第一解析结果完整,则对fins协议进行功能码解析,得到第二解析结果;若是其中一个不符合fins协议规约,则说明第一解析结果不完整,则对该数据包进行拦截,使该数据包不通过。
43.步骤s400:基于预设白名单库,判断第二解析结果是否正确。
44.具体的,可以知道的是,白名单与黑名单相对应,黑名单启用后,被列入到黑名单的功能码不能通过,而被列入到白名单的功能码会优先通过,不会被当成垃圾处理掉,安全性和快捷性都大大提高。在本技术实施例中,预设白名单库内存储有多个功能码。
45.因此,调取数据包的功能码,将数据包的功能码与预设白名单库内的功能码进行逐一对比:若对比成功,则第二解析结果正确,同时调取报文结构;若对比失败,则第二解析结果错误,则对该数据包进行拦截,使该数据包不通过。
46.步骤s500:基于预设白名单规则,判断报文结构是否安全。
47.具体的,报文结构包括报文的读/写地址、值和数量,将报文结构的读/写地址、值和数量分别带入到预设白名单规则中,并分别与预设白名单规则中的读/写地址、值和数量进行比较,得到第二比较结果。
48.若报文结构的读/写地址、值和数量均符合预设白名单规则,则将此数据包进行放通处理;若报文结构的读/写地址、值和数量不符合预设白名单规则,则对该数据包进行拦截,使该数据包不通过。
49.当然,本技术实施例中仅公开一种实施例方式作为参考,但不对所有步骤的顺序进行限定。
50.综上所述,本技术具有以下技术效果;1.通过程序中的完整性检查,即对报文总长度、报文头的字节校验和应用报文长度的校验,能够保证数据的完整性;2.通过对报文结构进行解析,对其中的读/写地址、值和数量与预设预设白名单规则进行比对,从而实现对部分数据点的读写权限、地址、值的控制,能够增强数据的保密性;3.通过对数据包的端口信息、第一解析结果、第二解析结果和报文结果的检验,在一定程度上保护了设备间的数据安全。
51.参照图3,一种omron fins协议深度分析和安全防护系统的系统示意图。
52.一种omron fins协议深度分析和安全防护系统,包括获取模块21、第一判断模块22、第二判断模块23、第三判断模块24和第四判断模块25,其中:获取模块21,用于获取数据包;第一判断模块22,用于判断数据包是否为fins协议;第二判断模块23,用于基于fins协议规约,判断第一解析结果是否完整;第三判断模块24,用于基于预设白名单库,判断第二解析结果是否正确;第四判断模块25,用于基于预设白名单规则,判断报文结构是否安全。
53.参照图4,一种终端的结构示意图。
54.一种终端包括中央处理单元(cpu)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储部分加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram 303中,还存储有系统操作所需的各种程序和数据。cpu 301、rom 302以及ram 303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
55.以下部件连接至i/o接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;
以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至i/o接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
56.特别地,根据本技术的实施例,上文参考流程图图1描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(cpu)301执行时,执行本技术的系统中限定的上述功能。
57.需要说明的是,本技术所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一种或多种导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等,或者上述的任意合适的组合。
58.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一种或多种用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
59.描述于本技术实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器接获取模块21、第一判断模块22、第二判断模块23、第三判断模块24和第四判断模块25。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取模块21还可以被描述为“用于获取数据包的模块”。
60.作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本技术的数据加密传输方法。
61.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术特征:
1.一种omron fins协议深度分析和安全防护方法,其特征在于:包括;获取数据包;判断所述数据包是否为fins协议;若是,则对所述数据包进行信息解析,得到第一解析结果;基于fins协议规约,判断所述第一解析结果是否完整;若是,则对所述fins协议进行功能码解析,得到第二解析结果;基于预设白名单库,判断所述第二解析结果是否正确;若是,则调取报文结构;基于预设白名单规则,判断所述报文结构是否安全;若是,则放通所述数据包。2.根据权利要求1所述的一种omron fins协议深度分析和安全防护方法,其特征在于:所述判断所述数据包是否为fins协议,包括;调取所述数据包的端口信息,所述端口信息包括源端口和目的端口;分别判断所述源端口或目的端口是否为9600;若是,则所述数据包为fins协议。3.根据权利要求1所述的一种omron fins协议深度分析和安全防护方法,其特征在于:所述第一解析结果包括报文总长度、报文头和应用报文长度。4.根据权利要求3所述的一种omron fins协议深度分析和安全防护方法,其特征在于:所述判断所述第一解析结果是否完整,包括;将所述报文总长度、报文头和应用报文长度带入到fins协议规约中,并进行比较,得到第一比较结果;根据所述第一比较结果确定第一解析结果的完整性。5.根据权利要求4所述的一种omron fins协议深度分析和安全防护方法,其特征在于:所述第一解析结果完整性判断顺序为报文总长度、报文头、应用报文长度。6.根据权利要求1所述的一种omron fins协议深度分析和安全防护方法,其特征在于:所述判断第二解析结果是否正确,包括;调取所述数据包的功能码;将所述功能码与预设白名单库中的功能码进行逐一对比;若对比成功,则所述第二解析结果正确;若对比失败,则所述第二解析结果错误。7.根据权利要求1所述的一种omron fins协议深度分析和安全防护方法,其特征在于:所述判断所述报文结构是否安全,包括;所述报文结构包括报文的读/写地址、值和数量;将所述读/写地址、值和数量分别带入到预设白名单规则中,并进行比较,得到第二比较结果;根据所述第二比较结果确定报文结构的安全性。8.一种omron-fins协议深度分析和安全防护系统,其特征在于:包括;获取模块(21),用于获取数据包;第一判断模块(22),用于判断所述数据包是否为fins协议;
第二判断模块(23),用于基于fins协议规约,判断所述第一解析结果是否完整;第三判断模块(24),用于基于预设白名单库,判断第二解析结果是否正确;第四判断模块(25),用于基于预设白名单规则,判断所述报文结构是否安全。9.一种终端,其特征在于:包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于:其上存储有计算机程序,所述程序被处理器执行是实现如权利要求1-7中任一项所述的方法。

技术总结
本申请涉及一种OMRON FINS协议深度分析和安全防护方法、系统、终端和存储介质,其方法包括获取数据包;判断所述数据包是否为FINS协议;若是,则对所述数据包进行信息解析,得到第一解析结果;基于FINS协议规约,判断所述第一解析结果是否完整;若是,则对所述FINS协议进行功能码解析,得到第二解析结果;基于预设白名单库,判断第二解析结果是否正确;若是,则调取报文结构;基于预设白名单规则,判断所述报文结构是否安全;若是,则放通所述数据包。本申请具有提高FINS在以太网的通信的安全性的效果。果。果。


技术研发人员:魏英杰 巩书成
受保护的技术使用者:英赛克科技(北京)有限公司
技术研发日:2023.04.22
技术公布日:2023/9/20
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐