CN115333872A - 安全网关解析功能验证方法、装置、终端设备及存储介质 - Google Patents
安全网关解析功能验证方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN115333872A CN115333872A CN202211264389.1A CN202211264389A CN115333872A CN 115333872 A CN115333872 A CN 115333872A CN 202211264389 A CN202211264389 A CN 202211264389A CN 115333872 A CN115333872 A CN 115333872A
- Authority
- CN
- China
- Prior art keywords
- function
- verification
- protocol
- information
- security gateway
- 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.)
- Granted
Links
Images
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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种安全网关解析功能验证方法、装置、终端设备及存储介质,涉及网关功能验证领域,所述安全网关解析功能验证方法包括:获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。本发明通过构建解析功能验证工具实现对安全网关的协议解析功能进行验证,提供全面、深入、高效的协议解析功能验证方法,极大提高了对安全网关协议解析功能验证效果。
Description
技术领域
本发明涉及网关功能验证领域,尤其涉及一种安全网关解析功能验证方法、装置、终端设备及存储介质。
背景技术
当前,工业现场普遍使用工业控制***监控工厂大量的工业仪器仪表,以实现对工厂的信息化控制。为了实现对工业仪器仪表的监控,双方需要工业协议实现相互通讯。工业协议是工控***通讯协议,例如:施耐德Modbus协议、西门子S7(S7 Communication,S7)协议、罗克韦尔通用工业协议(Common Industrial Protocol,CIP)等协议。随着对S7协议认识的不断深入,工业现场的西门子PLC的安全也受到重视。因为S7协议和Modbus协议一样,没有防重放功能,所以一旦有人恶意利用这一缺陷在未部署有效安全策略的环境中,将出现工业控制***服务终止、数据被篡改或丢失等严重后果。为保护工业现场网络安全,工业防火墙、工业审计等工业安全网关类产品(以下简称:安全网关)随之出现。工业安全网关与传统安全网关本质区别在于,工业安全网关需要识别、检测、深度解析与处理更多的工业协议。安全网关中的协议解析功能可以有效识别S7协议并加以处理,使非法控制指令无法访问工业控制设备,从而防止恶意控制的攻击行为。然而,安全网关的S7协议解析功能也并非一劳永逸,一旦该功能失效或者识别不准确,工业控制网络也将存在巨大的安全隐患,甚至将损害工厂利益,危及人身安全。为了减少上述隐患的发生,有必要对安全网关的S7协议深度解析功能的有效性进行验证。
而目前最常用的验证方式是采用协议模拟器配置客户端-服务器(CLIENT-SERVER)模拟环境的方式进行验证,此方法虽然操作简单,但不是专业的验证工具,而且此方法中的模拟器只支持Job功能的少数二级功能模拟,不支持对S7协议的扩展功能的模拟,支持验证的协议功能较少,验证效率低,验证的广度和深度不足,所以协议验证能力支持较弱。此外,还有一种常用的验证方式是流量回放工具回放S7协议数据流量,此种方式虽然可以验证更多的协议功能,但是对地址域、值域的深度验证严重不足,所以不能有效支持验证安全网关的解析功能。总之,现有技术对安全网关的S7协议解析功能进行验证的效果不能满足需求,换言之,目前尚无技术能支持对安全网关的S7协议解析功能进行全面、深入、高效地有效验证。
发明内容
本发明的主要目的在于提供一种安全网关解析功能验证方法、装置、终端设备及存储介质,旨在解决现有技术对安全网关的S7协议解析功能进行验证的效果不能满足需求的技术问题。
为实现上述目的,本发明提供一种安全网关解析功能验证方法,所述安全网关解析功能验证方法包括:
获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;
根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。
可选地,所述根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果的步骤包括:
根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求;
通过安全网关拦截并解析所述功能验证信息请求,得出相应的请求结果;
根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果。
可选地,所述协议数据单元类型信息包括任务功能信息和/或用户数据功能信息,所述任务功能信息包括任务一级功能信息和/或任务二级功能信息,所述用户数据功能信息包括用户数据一级功能信息和/或用户数据二级功能信息,所述预建的协议解析功能工具的验证功能包括任务功能验证、用户数据功能验证和自定义功能验证,所述根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求的步骤包括:
若所述功能信息为所述任务一级功能信息、所述任务二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述任务功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
若所述功能信息为所述用户数据一级功能信息、所述用户数据二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述用户数据功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
若所述功能信息为所述任务功能信息和/或所述用户数据功能信息,则通过所述预建的协议解析功能验证工具中的所述自定义功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求。
可选地,所述根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果的步骤包括:
根据所述请求结果,对安全网关的协议解析功能进行验证;
若所述请求结果与所述请求一致,则得到准确的验证结果;
若所述请求结果与所述请求不一致,则得到无法解析或者不准确的验证结果。
可选地,所述获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息或参数信息的步骤之前还包括:
构建协议通讯仿真环境;
在所述协议通讯仿真环境中得到协议解析结果;
根据所述协议解析结果,构建所述预建的协议解析功能验证工具。
可选地,所述在所述协议通讯仿真环境中得到协议解析结果的步骤包括:
在所述协议通讯仿真环境中获取S7协议通讯数据;
对所述S7协议通讯数据按照不同功能进行解析,得到所述协议解析结果,所述协议解析结果包括不同功能数据。
可选地,所述根据所述协议解析结果,构建所述预建的协议解析功能验证工具的步骤包括:
根据所述协议解析结果中的所述不同功能数据进行编码,基于浏览器/服务器模式B/S结构,构建所述协议解析功能验证工具。
此外,为实现上述目的,本发明还提供一种安全网关解析功能验证装置,所述安全网关解析功能验证装置包括:
获取模块,用于获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;
验证模块,用于根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全网关解析功能验证程序,所述安全网关解析功能验证程序被所述处理器执行时实现如上所述的安全网关解析功能验证方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有安全网关解析功能验证程序,所述安全网关解析功能验证程序被处理器执行时实现如上所述的安全网关解析功能验证方法的步骤。
本发明实施例提出的一种安全网关解析功能验证方法、装置、终端设备及存储介质,通过获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。基于本发明,通过获取的验证协议解析的协议数据单元类型信息和/或参数信息,确定所使用的所述预建的协议解析功能验证工具中的功能,从而运用该功能对安全网关的协议解析功能进行多维度验证,实现对安全网关协议解析功能的有效性进行验证,极大提升验证安全网关协议解析功能的效果,有助于及时发现网关协议解析功能存在的问题并推动安全网关中协议深度解析功能的改进与优化,提高安全网关的协议解析能力,进而提升安全网关整体技术水平,保障工业现场网络安全。
附图说明
图1为现有技术中协议模拟器配置客户端-服务器模拟环境验证的整体流程示意图;
图2为现有技术中流量回放工具回放S7数据流量验证方法的整体流程示意图;
图3为本发明安全网关解析功能验证装置所属终端设备的功能模块示意图;
图4为本发明安全网关解析功能验证方法第一示例性实施例的流程示意图;
图5为本发明安全网关解析功能验证方法第二示例性实施例的流程示意图;
图6为本发明安全网关解析功能验证方法第三示例性实施例的流程示意图;
图7为本发明安全网关解析功能验证方法实施例中任务一级功能、任务二级功能和功能码表示意图;
图8为本发明安全网关解析功能验证方法实施例中用户数据一级功能、用户数据二级功能和功能码表示意图;
图9为本发明安全网关解析功能验证方法第四示例性实施例的流程示意图;
图10为本发明安全网关解析功能验证方法实施例中协议通讯仿真环境示意图;
图11为本发明安全网关解析功能验证方法第五示例性实施例的流程示意图;
图12为本发明安全网关解析功能验证方法实施例中S7协议数据帧示意图;
图13为本发明安全网关解析功能验证方法实施例的整体流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。基于本发明,通过获取的验证协议解析的协议数据单元类型信息和/或参数信息,确定所使用的所述预建的协议解析功能验证工具中的功能,从而运用该功能对安全网关的协议解析功能进行多维度验证,实现对安全网关协议解析功能的有效性进行验证,解决了现有技术中对安全网关协议解析功能的验证手段少、验证效率低和验证准确率低等问题,极大提升验证安全网关协议解析功能的效果,有助于及时发现网关协议解析功能存在的问题并推动安全网关中协议深度解析功能的改进与优化,提高安全网关的协议解析能力,进而提升安全网关整体技术水平,保障工业现场网络安全。
本发明实施例涉及的技术术语:
可编程逻辑控制器(Programmable Logic Controller,PLC),一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。
S7(S7 Communication,S7 Comm,S7):S7协议是西门子为了它生产的PLC之间、数据采集与监视控制***(Supervisory Control And Data Acquisition,SCADA)与PLC之间的通信而设计的专属协议。S7协议和Modbus协议不同的是,Modbus协议公开了官方通讯文档(公有协议),开发者可以依据文档进行二次开发。由于S7协议没有公开文档,也不存在官方术语,所以该协议也被称为私有协议。近几年还出现了众多开源的项目供开发者学习S7协议,比如Snap7、S7 Wireshark dissector等工具,使得人们对S7协议的认识逐渐深入。S7协议的结构主要分为:头(Header)、参数(Parameter)和数据(Data)三部分。
协议数据单元(Protocol Data Unit,PDU):是指对等层次之间传递的数据单位。例如在开放式***互联(OSI)模型中,在传输***的每一层都将建立协议数据单元。协议数据单元物理层的PDU是数据位(Bit),数据链路层的PDU是数据帧(Frame),网络层的PDU是数据包(Packet),传输层的PDU是数据段(Segment),其他更高层次的PDU是报文(Message)。比如,S7 Communication的PDU包含头(Header)、参数(Parameter)和数据(Data)三种类型。
头(Header):主要是数据的描述性信息,包含长度信息,PDU参考和消息类型常量,最重要的是要表明PDU的类型。
参数(Parameter):随着不同类型的PDU会有不同类型的参数。
数据(Data):该数据是一个可选字段来携带数据,例如存储器值,块代码,固件数据等;这一部分与功能有关,例如:读取CPU型号、向CPU存储区写数据;在请求数据报文中此部分不包含任何数据。
STEP 7:STEP 7用于西门子系列工控产品包括SIMATIC S7、M7、C7和基于PC的WinAC的编程、监控和参数设置,是SIMATIC工业软件的重要组成部分。它是用于SIMATICS7-300/400站创建可编程逻辑控制程序的标准软件,可使用梯形图逻辑、功能块图和语句表进行编程操作。
Wireshark:Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
TPKT协议(Transport Service on top of the TCP,应用程数据传输协议):通过TCP的传输服务。介于TCP和COTP之间,属于传输服务类的协议。它为上层的COTP和下层TCP进行了过渡,即为在COTP和TCP之间建立桥梁。其内容包含了上层协议数据包的长度。一般与COTP一起发送,当作Header段。
COTP协议(Connection-Oriented Transport Protocol,COTP协议),即面向连接的传输协议,对应于OSI传输层,它的传输必然是依赖于连接的,所以在传输数据前必然有类似TCP握手建立链接的操作。其作用是定义了数据传输的基本单位,即在S7 Comm中PDU类型。
C/S结构(Client/Server,客户端/服务器):客户端程序的任务是将用户的要求提交给服务端程序,再将服务端程序返回的结果以特定的形式显示给用户;服务端程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户端程序。
B/S结构(Brower/Server,浏览器/服务器):是Web兴起后的一种网络结构模式。Web浏览器是客户端最主要的应用软件。B/S结构采取浏览器请求,服务器响应的工作模式。这种模式统一了客户端,将***功能实现的核心部分集中到服务器上,简化了***的开发、维护和使用。
本发明实施例考虑到关于对安全网关解析功能验证的现有技术,目前最常用的是采用协议模拟器配置客户端-服务器(CLIENT-SERVER)模拟环境验证。比如使用目前主流的Snap7协议模拟器(Client)与PLC(Server)建立通讯。然后将安全网关部署到该通讯网络中,通过Snap7中向PLC发起各类功能,通讯流量经过安全网关后,最终验证安全网关的协议解析能力。如图1所示,图1为协议模拟器配置客户端-服务器模拟环境验证的整体流程示意图,其验证流程概述如下:
首先,部署策略,即在安全网关上部署S7协议解析策略,等待验证。
然后,配置环境,即启动Snap7模拟器,配置模拟器-PLC(Client-Server)仿真环境,并将安全网关部署在通讯网络之间。
接着,验证功能,即Snap7发起相应功能请求,以“0x05 Write Var”为例,模拟器发起一条命令,数据帧第1字节“0x05”表示“Write Var”,第11字节表示“写到哪个区域”,第12、13、14字节表示“写到哪个地址”,第17字节表示“写入数据的类型”,第20字节表示“数据”。当模拟器发出的这条指令过安全网关后,触发解析规则。在安全网关上查看解析结果是否和发出的指令含义一致。
采用协议模拟器配置客户端-服务器(CLIENT-SERVER)模拟环境验证的方式虽然操作方便,但是支持的协议模拟功能较少,只提供基础CPU功能,如读、写功能(0x04、0x05)、部分CPU操作指令(0x00、0xF0)等,不支持对S7协议的扩展功能的模拟,而且不是专业的验证工具,验证效率低,广度和深度不足,所以协议验证能力支持较弱。
另一种常用的验证方式是流量回放工具回放S7数据流量验证,如图2所示,图2为流量回放工具回放S7数据流量验证方法的整体流程示意图,其整体流程概述如下:
在安全网关上部署S7协议解析策略,等待验证。然后在工业现场收集大量S7协议功能的数据包,再通过流量回放工具发出请求,安全网关对接收到的该请求进行协议解析,从而对安全网关的协议解析功能进行验证。以0x04写变量为例,数据中第12、13、14字节代表“写入数据的地址”,虽然可以通过回放数据包查看此条数据安全网关验证的有效性,但如果想要验证是否支持其他地址,就不能使用此种方法。所以,此种方式在验证网关的协议解析功能的广度上有一定有事,但是对地址域、值域的深度验证不足,不能有效支持验证安全网关的解析功能。
总之,上述的现有技术无法同时在深度、广度和效率上支持对安全网关的协议解析功能验证,验证效果不能满足需求。
因此,本申请实施例提出解决方案,获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。本方案解决了现有技术中对安全网关协议解析功能的验证手段少、验证效率低和验证准确率低等问题,极大提升验证安全网关协议解析功能的效果,有助于及时发现网关协议解析功能存在的问题并推动安全网关中协议深度解析功能的改进与优化,提高安全网关的协议解析能力,进而提升安全网关整体技术水平,保障工业现场网络安全。
参照图3,图3为本发明安全网关解析功能验证装置所属终端设备的功能模块示意图。该安全网关解析功能验证装置为基于终端设备的、能够对安全网关的协议解析功能进行多维度验证,从而达到推动安全网关协议解析功能的改进与优化的装置,其可以通过硬件或软件的形式承载于终端设备上。
在本发明实施例中,该安全网关解析功能验证装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有安全网关解析功能验证程序,所述安全网关解析功能验证装置可以将获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,存储器130中的安全网关解析功能验证程序,所述安全网关解析功能验证程序被处理器执行时实现以下步骤:
获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;
根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。
进一步地,存储器130中的安全网关解析功能验证程序被处理器执行时还实现以下步骤:
根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求;
通过安全网关拦截并解析所述功能验证信息请求,得出相应的请求结果;
根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果。
进一步地,存储器130中的安全网关解析功能验证程序被处理器执行时还实现以下步骤:
若所述功能信息为所述任务一级功能信息、所述任务二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述任务功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
若所述功能信息为所述用户数据一级功能信息、所述用户数据二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述用户数据功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
若所述功能信息为所述任务功能信息和/或所述用户数据功能信息,则通过所述预建的协议解析功能验证工具中的所述自定义功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求。
进一步地,存储器130中的安全网关解析功能验证程序被处理器执行时还实现以下步骤:
根据所述请求结果,对安全网关的协议解析功能进行验证;
若所述请求结果与所述请求一致,则得到准确的验证结果;
若所述请求结果与所述请求不一致,则得到无法解析或者不准确的验证结果。
进一步地,存储器130中的安全网关解析功能验证程序被处理器执行时还实现以下步骤:
构建协议通讯仿真环境;
在所述协议通讯仿真环境中得到协议解析结果;
根据所述协议解析结果,构建所述预建的协议解析功能验证工具。
进一步地,存储器130中的安全网关解析功能验证程序被处理器执行时还实现以下步骤:
在所述协议通讯仿真环境中获取S7协议通讯数据;
对所述S7协议通讯数据按照不同功能进行解析,得到所述协议解析结果,所述协议解析结果包括不同功能数据。
进一步地,存储器130中的安全网关解析功能验证程序被处理器执行时还实现以下步骤:
根据所述协议解析结果中的所述不同功能数据进行编码,基于浏览器/服务器模式B/S结构,构建所述协议解析功能验证工具。
基于上述终端设备架构但不限于上述架构,提出本发明方法实施例。
参照图4,图4为本发明安全网关解析功能验证方法第一示例性实施例的流程示意图。所述安全网关解析功能验证方法的步骤包括:
步骤S110,获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;
具体地,PDU包括头(Header)、参数(Parameter)和数据(Data)三部分,其中数据(Data)是可选的,以S7协议为例,根据实现的功能不同,S7协议的结构会有所不同;例如,请求数据报文只包含头和参数两部分。头包含长度信息,PDU参考和消息类型常量;参数的内容和结构根据PDU的消息和功能类型而有很大差异;数据是一个可选字段,用于携带数据,例如存储器值,块代码,固件数据等。头的长度为10-12个字节,确认消息包含两个额外的错误代码字节。除此之外,标头格式在所有PDU中是一致的。获取验证协议解析的功能信息是为了确定预建的协议解析功能验证工具所要验证的功能,从而使得该工具能够根据需要进行有针对性的验证
步骤S120,根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。
具体地,根据所述功能信息在预建的协议解析功能验证工具上进行选择,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求;通过安全网关拦截并解析所述功能验证信息请求,得出相应的请求结果;根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果。
比如,选择Userdata功能验证(一级功能),接着选择Mode-transition(二级功能),并改变相应参数,对安全网关的协议解析功能进行验证,查看安全网关的解析结果,从而得到相应的验证结果。
本实施例通过上述方案,具体通过获取验证协议解析的功能信息,所述功能信息包括协议数据单位类型信息和/或参数信息;根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。基于本方案,通过获取所述功能信息确定在预建的协议解析功能验证工具上选择需要进行验证的功能,所述预建的协议解析功能验证工具根据所选的功能向PLC发出相应的功能验证信息请求,由于事先会在安全网关部署协议解析策略,因此当所述预建的协议解析功能验证工具发出相应的功能验证信息请求经过安全网关后,触发安全网关的协议解析功能,使得安全网关对经过的功能验证信息请求进行协议解析,最终安全网关上会呈现出协议解析对应的请求结果,通过查看该请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果,实现了对安全网关协议解析功能的有效性进行多维度验证,解决了现有技术中对安全网关协议解析功能的验证手段少、验证效率低和验证准确率低等问题,极大提升验证安全网关协议解析功能的效果,有助于及时发现网关协议解析功能存在的问题并推动安全网关中协议深度解析功能的改进与优化,提高安全网关的协议解析能力,进而提升安全网关整体技术水平,保障工业现场网络安全。
进一步地,参照图5,图5为本发明安全网关解析功能验证方法第二示例性实施例的流程示意图。基于上述图4所示的实施例中的步骤S120,所述根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果的步骤包括:
步骤S1201,根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求;
具体地,基于步骤S110,所述协议数据单位类型信息包括任务功能信息和/或用户数据功能信息,所述任务功能信息包括任务一级功能信息和/或任务二级功能信息,所述用户数据功能信息包括用户数据一级功能信息和/或用户数据二级功能信息,所述预建的协议解析功能工具的验证功能包括任务功能验证、用户数据功能验证和自定义功能验证。
在所述预建的协议解析功能验证工具上选择所述功能信息后,所述预建的协议解析功能验证工具会向PLC发出相应的功能验证信息请求,如发送指定的功能、改变功能的地址域和值域参数等操作。
步骤S1202,通过安全网关拦截并解析所述功能验证信息请求,得出相应的请求结果;
具体地,由于安全网关预先部署到通讯环境中,所以所述功能验证信息请求发出后会流经安全网关,会触发安全网关的协议解析功能,安全网关会对所述功能验证信息请求进行识别和协议解析,得出相应的请求结果。所述的请求结果是用于验证安全网关的协议解析功能是否有效的依据。
步骤S1203,根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果。
具体地,根据所述请求结果,对安全网关的协议解析功能进行验证;若所述请求结果与所述请求一致,则得到准确的验证结果;若所述请求结果与所述请求不一致,则得到无法解析或者不准确的验证结果。换言之,根据预建的协议解析功能验证工具发出的请求和安全网关解析得出的结果进行核对,根据核对两者否一致来确定安全网关的协议解析功能是否有效。
具体而言,若所述请求结果与所述请求一致,则得到准确的验证结果,说明安全网关可以准确识别当前功能码、地址域和值域,安全网关功能完善,能正常使用,无需进行改进。
若所述请求结果与所述请求不一致,则得到无法解析或不准确的验证结果,此时要分两种情况考虑,如果根据所述请求结果,得出的是无法解析的验证结果,则说明安全网关无法识别当前功能码、地址域和值域,此情况表明需要完善安全网关的协议深度解析功能;如果根据所述请求结果,得出的是不准确的验证结果,则说明安全网关无法完全识别,比如,可以识别功能码,但对于更深层的地址域和值域还无法识别,此情况表明安全网关还需要改进协议深度解析功能,以支持更深层次解析。
本实施例通过上述方案,具体通过根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求;通过安全网关拦截并解析所述功能验证信息请求,得出相应的请求结果;根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果。基于本方案,根据所述功能信息在所述预建的协议解析功能验证工具上予以选择后,所述预建的协议解析功能验证工具会向PLC发出相应的功能验证信息请求,安全网关接收到该功能验证信息请求后会对该请求进行识别和协议解析并得出相应的请求结果。将该请求结果与所发出的功能验证信息请求进行比对,判断两者是否一致:若一致,则得出准确的验证结果,说明安全网关的协议解析功能完善,无需进行改进;若不一致,则得出无法解析或者不准确的验证结果,说明安全网关的协议解析功能不完善,需要进一步优化和改进。本方案实现了对安全网关的协议解析功能进行深度和准确性验证,得出安全网关的协议解析功能是否有效,从而对安全网关可能存在的问题及时发现,利于采取针对性的应对措施,提高安全网关对协议的深度解析能力,尽早消除由此引发的工业控制网络的安全隐患,维护工业控制网络安全,保障工业生产的顺利进行。
进一步地,参照图6,图6为本发明安全网关解析功能验证方法第三示例性实施例的流程示意图。基于上述图5所示的实施例中的步骤S1201,所述协议数据单位类型信息包括任务功能信息和/用户数据功能信息,所述任务功能信息包括任务一级功能信息和任务二级功能信息,所述用户数据功能信息包括用户数据一级功能信息和用户数据二级功能信息,所述预建的协议解析功能工具的验证功能包括任务功能验证、用户数据功能验证和自定义功能验证,所述根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求的步骤包括:
步骤S12011,若所述功能信息为所述任务一级功能信息、所述任务二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述任务功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
具体地,所述功能信息的确定是在所述预建的协议解析功能验证工具上进行选择,而所选择的功能信息就确定了使用所述预建的协议解析功能验证工具中的相应的功能。比如选择任务一级功能信息、任务二级功能信息并调整关键参数数据量(Item count)和数据内容(Item),则是使用所述预建的协议解析功能验证工具中的任务功能验证。
以S7协议为例,参照图7,图7为任务一级功能、任务二级功能和功能码表,如图8所示,任务一级功能(Job功能)包含11个任务二级功能(子功能),每个任务二级功能有相应的功能码。所述预建的协议解析功能验证工具中的任务功能验证是针对任务功能信息进行深度验证,用于验证所有由主设备向PLC发送的任务功能验证信息请求,进而验证安全网关对协议的广度与深度解析能力。
以0x04(读变量)为例,该预建的协议解析功能验证工具先选择任务一级功能(Job功能),接着选择读变量(Read Var),并对关键参数数据量(Item Count)和数据内容(Item)进行任意调整,以对安全网关的协议解析功能进行验证。
步骤S12012,若所述功能信息为所述用户数据一级功能信息、所述用户数据二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述用户数据功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
具体地,由于所选择的功能信息就确定了使用所述预建的协议解析功能验证工具中的相应的功能,所以当所述功能信息为所述用户数据一级功能信息、所述用户数据二级功能信息和/或所述参数信息时,则是使用所述预建的协议解析功能验证工具中的用户数据功能验证。
以S7协议为例,参照图8,图8为用户数据一级功能、用户数据二级功能和功能码表,如图8所示,用户数据一级功能(Userdata功能)属于协议的扩展功能,它包含9个用户数据二级功能,每个用户数据二级功能都有相应的功能码,所述预建的协议解析功能验证工具中的用户数据功能验证是针对用户数据功能信息进行深度验证,用于向PLC发出用户数据功能信息请求,进而验证安全网关对协议的广度与深度解析能力。
例如,在所述预建的协议解析功能验证工具上选择用户数据一级功能(Userdata功能),接着选择转换工作模式Mode-transition(二级功能),并对关键参数数据量(ItemCount)和数据内容(Item)进行任意调整,以对安全网关的协议解析功能进行验证。
步骤S12013,若所述功能信息为所述任务功能信息和/或所述用户数据功能信息,则通过所述预建的协议解析功能验证工具中的所述自定义功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求。
具体地,除了步骤S12011提及的预建的解析功能验证工具中的任务功能验证和步骤S12012提及的预建的解析功能验证工具中的用户数据功能验证外,该工具的功能还包括自定义功能验证,自定义功能验证是对上述的两个功能的补充,通过该功能,用户只需要调整所要验证的任意功能,并一键发出相应的功能验证信息请求,就可以快速地对安全网关的协议解析功能的有效性进行验证。
比如为了加快验证效率,使用此功能直接向PLC发出包括任务功能和用户数据功能在内的所有功能验证信息请求,安全网关接收到该请求后进行协议解析,从而快速地对安全网关的解析能力进行验证,极大地提高了验证效率。
本实施例通过上述方案,具体通过若所述功能信息为所述任务一级功能信息、所述任务二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述任务功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;若所述功能信息为所述用户数据一级功能信息、所述用户数据二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述用户数据功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;若所述功能信息为所述任务功能信息和/或所述用户数据功能信息,则通过所述预建的协议解析功能验证工具中的所述自定义功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求。基于本方案,通过确定功能信息的内容,在所述预建的协议解析功能验证工具上选择需要进行验证的功能并对参数进行调整,利用该工具上的任务功能验证、用户数据功能验证或者自定义功能验证向PLC发出相应的验证功能信息请求,实现了对安全网关的工业协议验证广度至少提升50%,深度至少提升100%,验证效率提高40%。
进一步地,参照图9,图9为本发明安全网关解析功能验证方法第四示例性实施例的流程示意图。基于上述图4所示的实施例中的步骤S110,所述获取验证协议解析的功能信息,所述功能信息包括协议数据单位类型信息或参数信息的步骤之前还包括:
步骤S80,构建协议通讯仿真环境;
具体地,如图10所示,图10为本发明安全网关解析功能验证方法的协议通讯仿真环境示意图。所述协议通讯仿真环境是为了方便对安全网关的协议解析能力的有效性进行验证而建立起来的全面真实还原客户端与服务器进行通讯的环境,它是基于客户端/服务器的单边通讯方式来构建的。
以S7协议通讯为例,基于客户端/服务器的单边通讯方式是S7协议通讯支持的两种方式中最常用的一种。而S7协议通讯支持的两种方式为:1)基于客户端/服务器的单边通讯,在该模式中,只需要客户端一侧进行配置和编程,服务器(PLC)一侧只需要准备好被访问的数据即可。常见的客户端:HMI界面(HMI)、编程电脑(PG/PC)等。2)基于伙伴/伙伴通讯模式,此模式为双边通讯,应用较少,不再赘述。
而所述协议通讯仿真环境的构建方式是使用上位机编程软件STEP 7软件、交换机、PLC和工业仪器仪表,组成协议通讯仿真环境。STEP 7具有以下功能:硬件配置和参数设置、通讯组态、编程、测试、启动和维护、文件建档、运行和诊断功能等。通过利用STEP 7软件的功能,可以有效的提升所有自动化任务的效率。而在协议通讯仿真环境中通过利用STEP7作为协议通讯的单边通讯方式中的客户端软件,也即作为与PLC进行通讯的一端的软件工具。
此外,需要说明的是PLC可以是西门子S300或S1200任何型号。例如通讯仿真环境可以使用上位机编程软件STEP 7软件、交换机、西门子S300和工业仪器仪表来构建。
步骤S90,在所述协议通讯仿真环境中得到协议解析结果;
具体地,在所述协议通讯仿真环境中的上位机部署流量抓取工具Wireshark,通过Wireshark获取协议通讯数据;对所述协议通讯数据按照不同功能进行深度解析,得到所述协议解析结果,所述协议解析结果包括不同功能数据,用于形成协议功能验证工具。
以S7为例,通过上位机中的Wireshark抓取S7协议通讯数据,并对所获取的S7协议按照不同功能进行深度解析,得到所述S7协议解析结果,根据获取的结果形成S7协议解析功能验证工具。
步骤S100,根据所述协议解析结果,构建所述预建的协议解析功能验证工具。
具体地,使用Python工具对协议通讯数据的解析结果按照不同功能数据进行编码重构,形成一套自动化,可扩展的所述预建的协议解析功能验证工具。所述预建的协议解析功能工具的验证功能包括任务功能验证、用户数据功能验证和自定义功能验证,这些功能提供更快速有效的验证功能。其中,任务功能验证是验证所有由主设备发送任务功能验证信息请求的功能,验证安全网关对协议的广度与深度解析能力;用户数据功能验证是验证协议的扩展功能,从而验证安全网关对协议的广度与深度解析能力;自定义功能验证则是为了加快验证效率,只需要调整需要验证的任意功能,并一键发出请求,以快速验证安全网关的解析能力。
本实施例通过上述方案,具体通过构建协议通讯仿真环境;在所述协议通讯仿真环境中得到协议解析结果;根据所述协议解析结果,构建所述预建的协议解析功能验证工具。基于本方案,通过基于客户端/服务器的单边通讯方式构建所述协议通讯仿真环境,在所述协议通讯仿真环境中,通过部署的上位机中的Wireshark获取协议通讯数据并进行协议解析,得到解析结果,使用Python工具对协议通讯数据的解析结果按照不同功能数据编写形成协议解析功能验证工具,实现了协议解析功能验证工具的构建,为后续对安全网关的协议解析能力的验证提供了条件。该工具有三种验证功能可供选择,能对协议全面的深度解析,并提供全面的协议验证功能,不只单纯针对某些功能,而是对安全网关的所有协议解析功能都能进行验证,与现有技术相比,其验证的广度、深度和效率都大为提高。
进一步地,参照图11,图11为本发明安全网关解析功能验证方法第五示例性实施例的流程示意图。基于上述图9所示的实施例中的步骤S90,所述在所述协议通讯仿真环境中得到协议解析结果的步骤包括:
步骤S901,在所述协议通讯仿真环境中获取S7协议通讯数据;
具体地,协议通讯数据是STEP 7和PLC之间的通讯数据。之所以需要获取协议通讯数据,是因为形成协议解析功能验证工具需要根据这些数据解析得出的不同功能数据规律进行编写。而协议通讯数据的获取方式主要是通过在上位机上部署流量抓取工具Wireshark,通过Wireshark抓取协议通讯数据流量。
以S7协议为例,在所述协议通讯仿真环境中,利用上位机的Wireshark工具抓取STEP 7和PLC之间的S7协议通讯数据。
步骤S902,对所述S7协议通讯数据按照不同功能进行解析,得到所述协议解析结果,所述协议解析结果包括不同功能数据。
具体地,由于构建协议解析功能验证工具需要用到所述协议解析结果,因此需要对获取的协议通讯数据进行深度解析,以获取包含不同功能数据的协议解析结果。
以S7协议为例,S7协议作为私有协议,数据帧在应用层分为3部分,TPTK协议、COTP和S7 Communication。TPTK和COTP结构相对简单,所以重点分析S7 Communication层。以分析某一功能为例,参照图12,图12为S7协议数据帧,数据第1帧为协议常量(Protocol ID),始终设置为0x32;第2帧为消息类型(ROSCTR,PDU Type)控制S7的请求报文类型(一级功能包括Job功能或Userdata功能);第3帧和第4帧为冗余识别(Redundancy Identification,Reserved)始终设置为0x0000(但可能忽略);第5帧和第6帧为协议数据单元参考(PDUReference)由主站生成,每次新传输递增,用于链接对其请求的响应;第7帧和第8帧为参数长度(Parameter Length)表示参数字段的长度;第9帧和第10帧为数据长度(Data Length)表示数据字段的长度;第11帧功能码(Function Code)表示控制请求的功能(二级功能);第12帧为数据量(Item Count);之后为数据内容(Item)。
在深度解析过程中,会采用固定变量法进行分析,首先固定功能码(FunctionCode)取值,对数据量(Item Count)和数据内容(Item)等参数的取值范围、取值类型进行分析,分析可得,数据量(Item Count)的取值范围为0-M,而数据内容(Item)中对数据类型的取值范围是0-N,如数据类型取1代表一种类型,取2则代表另外一种类型,随即总结出当前功能码(Function Code)下,所有参数的取值规律。接着再调整功能码(Function Code),并继续分析当前功能码(Function Code)其他参数的取值范围、取值类型等,最后总结每个功能码(Function Code)规律,即得到所述协议解析结果。
本实施例通过上述方案,以S7协议为例,具体通过在所述协议通讯仿真环境中获取S7协议通讯数据;对所述S7协议通讯数据按照不同功能进行解析,得到所述协议解析结果,所述协议解析结果包括不同功能数据。基于本方案,通过上位机的Wireshark工具抓取S7协议通讯数据并对获取的数据进行协议解析,为后续将这些数据集成到协议解析功能验证工具中作准备。
进一步地,基于上述图9所示的实施例中的步骤S100,所述根据所述协议解析结果,构建所述预建的协议解析功能验证工具的步骤包括:
步骤S1001,根据所述协议解析结果中的所述不同功能数据进行编码,基于浏览器/服务器模式B/S结构,构建所述协议解析功能验证工具。
具体地,B/S结构是对C/S结构的改进,传统的C/S结构软件(即客户端/服务器模式)分为客户端和服务器两层:第一层是在客户端***上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。
而B/S结构是对C/S结构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件***构造技术。
与C/S架构只有两层不同的是,B/S架构有三层,分别为:
第一层是浏览器(即客户端)只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单通用。
第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。
第三层是数据库服务器,它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器。
C/S结构适用于局域网,对网速的要求比较高,客户端界面缺乏通用性,且当业务更改时就需要更改界面、重新编写。而B/S结构适合在广域网里实现巨大的互联网,甚至是全球网,有着很强大的信息共享性而且对网速要求不高;不需要安装客户端,只要能连上网,就能随时随地的浏览页面;浏览器只处理一些简单的逻辑事务,负担小;数据都集中存放在数据库服务器,所以不存在数据不一致现象;能有效地保护数据平台和管理访问权限,确保服务器数据库的数据安全。随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器***,然后在各个服务器之间做负载均衡。
总之,B/S结构较C/S结构有诸多优势,因此采用B/S结构,构建出来的所述预建的协议解析功能验证工具可以随时接入网络,对安全网关展开测试。
本实施例通过上述方案,具体通过根据所述协议解析结果中的所述不同功能数据进行编码,基于浏览器/服务器模式B/S结构,构建所述协议解析功能验证工具。基于本方案,通过采用B/S结构,从而克服了传统的C/S结构的一些不足,实现了构建起来的协议解析功能验证工具扩展性强,可随时接入网络展开协议功能验证的测试。
进一步地,参照图13,图13为本发明安全网关解析功能验证方法的整体流程示意图。对安全网关解析功能验证方法的整体流程进行具体说明如下:
先根据编程软件STEP 7与PLC构建协议通讯仿真环境,所述协议通讯仿真环境中对获取的协议通讯数据进行深度解析,得到解析结果,根据所述解析结果,按照相应协议数据格式编码,得到预建的协议解析功能验证工具,该工具支持三种功能,分别是任务功能验证(Job功能验证)、用户数据功能验证(Userdata功能验证)和自定义功能验证。其中,任务功能验证(Job功能验证)是所有由主设备发送协议功能验证信息请求,验证安全网关对协议的广度与深度的解析能力;用户数据功能验证(Userdata功能验证)是验证协议扩展功能,验证安全网关对协议的广度与深度解析能力;自定义功能验证是为了加快验证效率,使用此功能可以直接发出所有功能,以快速验证安全网关的解析能力。将该工具与PLC建立通讯。
由于安全网关的协议解析功能可以有效识别包括S7协议在内的工业协议并加以处理,使非法控制指令无法访问工业控制设备,从而防止恶意控制的攻击行为。需要说明的是,非法控制指令包括但不限于以下几种情况:1)正常业务时间,突然出现的一条不常见的读取指令。2)正常业务时间,出现的PLC控制指令。然而,安全网关的协议解析功能也并非一劳永逸,一旦该功能失效或者识别不准确,工业控制网络也将存在巨大的安全隐患,甚至将损害工厂利益,危及人身安全。因此,有必要对安全网关的协议解析能能力进行验证,为此,需要将安全网关连接到该工具与PLC之间,并部署相关协议解析策略,以开始验证协议解析有效性。
再者,使用该工具向PLC发起功能验证信息请求,如发送指定的功能、改变功能的地址域和值域参数等操作,查看安全网关是否识别与解析;此外,为了加快测试,也可以使用自定义功能验证。协议通讯数据流量经过安全网关后,安全网关对该协议通讯数据进行深度解析,测试人员使用此功能,可以快速验证功能的有效性。
最终,对安全网关的协议解析功能的解析得到的请求结果呈现为:预建的协议解析功能验证工具发出的请求与安全网关的协议解析功能解析得到的结果一致、不一致。其中,若所述请求结果与所述请求一致,则得到准确的验证结果,说明安全网关可以准确识别当前功能码、地址域和值域,安全网关功能完善,能正常使用,无需进行改进。
若所述请求结果与所述请求不一致,则得到无法解析或不准确的验证结果,此时要分两种情况考虑,如果根据所述请求结果,得出的是无法解析的验证结果,则说明安全网关无法识别当前功能码、地址域和值域,此情况表明需要完善协议深度解析功能;如果根据所述请求结果,得出的是不准确的验证结果,则说明安全网关无法完全识别,比如,可以识别功能码,但对于更深层的地址域和值域还无法识别,此情况表明安全网关还需要改进协议深度解析功能,以支持更深层次解析。
本实施例通过上述方案,完全真实还原设备的交互环境,提高了功能验证的可信性;协议解析功能验证工具能对安全网关的协议解析功能进行全面深入验证,支持的功能码的广度和深度比现有技术显著提高;该工具的自定义功能验证大大提高了验证效率;而且该工具具备高可扩展能力,可随时通过接口方式接入新发现的功能。
此外,本发明实施例还提出一种安全网关解析功能验证装置,所述安全网关解析功能验证装置包括:
获取模块,用于获取验证协议解析的功能信息,所述功能信息包括协议数据单位类型信息和/或参数信息;
验证模块,用于根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。
本实施例实现的安全网关解析功能验证的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全网关解析功能验证程序,所述安全网关解析功能验证程序被所述处理器执行时实现如上所述的安全网关解析功能验证方法的步骤。
由于此安全网关解析功能验证程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有安全网关解析功能验证程序,所述安全网关解析功能验证程序被处理器执行时实现如上所述的安全网关解析功能验证方法的步骤。
由于此安全网关解析功能验证程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本发明每个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种安全网关解析功能验证方法,其特征在于,所述安全网关解析功能验证方法包括以下步骤:
获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;
根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。
2.如权利要求1所述的安全网关解析功能验证方法,其特征在于,所述根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果的步骤包括:
根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求;
通过安全网关拦截并解析所述功能验证信息请求,得出相应的请求结果;
根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果。
3.如权利要求2所述的安全网关解析功能验证方法,其特征在于,所述协议数据单元类型信息包括任务功能信息和/或用户数据功能信息,所述任务功能信息包括任务一级功能信息和/或任务二级功能信息,所述用户数据功能信息包括用户数据一级功能信息和/或用户数据二级功能信息,所述预建的协议解析功能工具的验证功能包括任务功能验证、用户数据功能验证和自定义功能验证,所述根据所述功能信息,通过所述预建的协议解析功能验证工具向可编程逻辑控制器发出相应的功能验证信息请求的步骤包括:
若所述功能信息为所述任务一级功能信息、所述任务二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述任务功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
若所述功能信息为所述用户数据一级功能信息、所述用户数据二级功能信息和/或所述参数信息,则通过所述预建的协议解析功能验证工具中的所述用户数据功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求;
若所述功能信息为所述任务功能信息和/或所述用户数据功能信息,则通过所述预建的协议解析功能验证工具中的所述自定义功能验证向所述可编程逻辑控制器发出相应的功能验证信息请求。
4.如权利要求2所述的安全网关解析功能验证方法,其特征在于,所述根据所述请求结果,对安全网关的协议解析功能进行验证,得到相应的验证结果的步骤包括:
根据所述请求结果,对安全网关的协议解析功能进行验证;
若所述请求结果与所述功能验证信息请求一致,则得到准确的验证结果;
若所述请求结果与所述功能验证信息请求不一致,则得到无法解析或者不准确的验证结果。
5.如权利要求1所述的安全网关解析功能验证方法,其特征在于,所述获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息或参数信息的步骤之前还包括:
构建协议通讯仿真环境;
在所述协议通讯仿真环境中得到协议解析结果;
根据所述协议解析结果,构建所述预建的协议解析功能验证工具。
6.如权利要求5所述的安全网关解析功能验证方法,其特征在于,所述在所述协议通讯仿真环境中得到协议解析结果的步骤包括:
在所述协议通讯仿真环境中获取S7协议通讯数据;
对所述S7协议通讯数据按照不同功能进行解析,得到所述协议解析结果,所述协议解析结果包括不同功能数据。
7.如权利要求6所述的安全网关解析功能验证方法,其特征在于,所述根据所述协议解析结果,构建所述预建的协议解析功能验证工具的步骤包括:
根据所述协议解析结果中的所述不同功能数据进行编码,基于浏览器/服务器模式B/S结构,构建所述协议解析功能验证工具。
8.一种安全网关解析功能验证装置,其特征在于,所述安全网关解析功能验证装置包括:
获取模块,用于获取验证协议解析的功能信息,所述功能信息包括协议数据单元类型信息和/或参数信息;
验证模块,用于根据所述功能信息和预建的协议解析功能验证工具,对安全网关的协议解析功能进行多维度验证,得到相应的验证结果。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全网关解析功能验证程序,所述安全网关解析功能验证程序被所述处理器执行时实现如权利要求1-7中任一项所述安全网关解析功能验证方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有安全网关解析功能验证程序,所述安全网关解析功能验证程序被处理器执行时实现如权利要求1-7中任一项所述安全网关解析功能验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211264389.1A CN115333872B (zh) | 2022-10-17 | 2022-10-17 | 安全网关解析功能验证方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211264389.1A CN115333872B (zh) | 2022-10-17 | 2022-10-17 | 安全网关解析功能验证方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115333872A true CN115333872A (zh) | 2022-11-11 |
CN115333872B CN115333872B (zh) | 2023-01-20 |
Family
ID=83915428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211264389.1A Active CN115333872B (zh) | 2022-10-17 | 2022-10-17 | 安全网关解析功能验证方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115333872B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883318A (zh) * | 2022-12-21 | 2023-03-31 | 北京中电兴发科技有限公司 | 一种基于数据链路切换保障物联网网关正常运行的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095008A1 (en) * | 2013-01-18 | 2015-04-02 | Inspur Electronic Information Industry Co., Ltd | Extension cache coherence protocol-based multi-level coherency domain simulation verification and test method |
CN109150833A (zh) * | 2018-07-19 | 2019-01-04 | 华东交通大学 | 一种基于模型检测的安全协议形式化验证方法 |
CN112653570A (zh) * | 2019-10-11 | 2021-04-13 | 瞻博网络公司 | 采用机器学习以预测和动态调整静态配置参数 |
CN112671726A (zh) * | 2020-12-10 | 2021-04-16 | 国网思极网安科技(北京)有限公司 | 工业控制协议解析方法、装置、电子设备和存储介质 |
CN114338104A (zh) * | 2021-12-15 | 2022-04-12 | 北京六方云信息技术有限公司 | 安全网关解析功能验证方法、装置、设备及存储介质 |
-
2022
- 2022-10-17 CN CN202211264389.1A patent/CN115333872B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095008A1 (en) * | 2013-01-18 | 2015-04-02 | Inspur Electronic Information Industry Co., Ltd | Extension cache coherence protocol-based multi-level coherency domain simulation verification and test method |
CN109150833A (zh) * | 2018-07-19 | 2019-01-04 | 华东交通大学 | 一种基于模型检测的安全协议形式化验证方法 |
CN112653570A (zh) * | 2019-10-11 | 2021-04-13 | 瞻博网络公司 | 采用机器学习以预测和动态调整静态配置参数 |
US20210112011A1 (en) * | 2019-10-11 | 2021-04-15 | Juniper Networks, Inc. | Employing machine learning to predict and dynamically tune static configuration parameters |
CN112671726A (zh) * | 2020-12-10 | 2021-04-16 | 国网思极网安科技(北京)有限公司 | 工业控制协议解析方法、装置、电子设备和存储介质 |
CN114338104A (zh) * | 2021-12-15 | 2022-04-12 | 北京六方云信息技术有限公司 | 安全网关解析功能验证方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
汪杰等: "通用电网工控协议深度解析技术研究", 《电气时代》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883318A (zh) * | 2022-12-21 | 2023-03-31 | 北京中电兴发科技有限公司 | 一种基于数据链路切换保障物联网网关正常运行的方法 |
CN115883318B (zh) * | 2022-12-21 | 2024-05-28 | 北京中电兴发科技有限公司 | 一种基于数据链路切换保障物联网网关正常运行的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115333872B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2244418B1 (en) | Database security monitoring method, device and system | |
CN107678933A (zh) | 日志生成管理方法、装置、设备及计算机可读存储介质 | |
CN111414407A (zh) | 数据库的数据查询方法、装置、计算机设备及存储介质 | |
CN109582556B (zh) | 应用程序在移动终端运行情况的测试方法、装置和*** | |
EP4161015A1 (en) | Network management system, method, and apparatus, and electronic device | |
CN112583815B (zh) | 一种操作指令管理方法、装置 | |
KR20190017208A (ko) | 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법 | |
CN109787974B (zh) | 报文数据流生成方法、装置、计算机设备和存储介质 | |
CN106789227B (zh) | 一种上网行为分析方法及上网行为分析装置 | |
US11348597B2 (en) | Intent-based network validation | |
WO2021129335A1 (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN115333872B (zh) | 安全网关解析功能验证方法、装置、终端设备及存储介质 | |
CN112256682B (zh) | 一种多维异构数据的数据质量检测方法及装置 | |
CN111404937A (zh) | 一种服务器漏洞的检测方法和装置 | |
CN104834588A (zh) | 检测常驻式跨站脚本漏洞的方法和装置 | |
WO2022018554A1 (en) | Dynamically determining trust level of end-to-end link | |
CN114826749A (zh) | 一种接口访问控制方法、装置、介质 | |
CN110278272B (zh) | 模拟Socket请求的通用方法 | |
CN112187747A (zh) | 一种远程容器登录方法、装置及电子设备 | |
CN112118241B (zh) | 审计渗透测试方法、测试节点服务器、管理服务器及*** | |
CN111935260B (zh) | 账户同步的方法及装置、电子设备、存储介质 | |
CN109189652A (zh) | 一种封闭网络终端行为数据的采集方法及*** | |
CN111314355A (zh) | 一种vpn服务器的认证方法、装置、设备及介质 | |
CN113992437B (zh) | 一种Modbus设备的访问控制管理方法、装置及*** | |
Popescu et al. | Supervisory Control and data acquisition (SCADA) traffic simulation for controlling industrial processes and infrastructures |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |