掌桥专利:专业的专利平台
掌桥专利
首页

一种私有工控协议的审计方法、装置、设备及介质

文献发布时间:2023-06-19 19:28:50


一种私有工控协议的审计方法、装置、设备及介质

技术领域

本发明涉及工控领域,特别涉及一种私有工控协议的审计方法、装置、设备及介质。

背景技术

在工控设备环境中,通用的流量审计与检测过程一般是针对公开的工控协议进行审计与检测的,但有部分用户在环境中会使用自定的私有工控协议为其工控设备进行通信,所以,如果没有针对这种需求提供一种解决方案,那么该协议是无法被审计与检测的。但就是因为该协议是私有的,站在用户的隐私角度通常不愿提供该协议的解析规约让开发商为其定制一个版本。

由上可见,在工控私有协议的审计过程中,如何提供一种方便用户定制私有协议且便于审计的方案是本领域有待解决的问题。

发明内容

有鉴于此,本发明的目的在于提供一种私有工控协议的审计方法、装置、设备及介质,能够方便用户对工控私有协议的进行配置与审计。其具体方案如下:

第一方面,本申请公开了一种私有工控协议的审计方法,包括:

获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎;

利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输;

基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。

可选的,所述获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包之前,还包括:

当获取私有协议生效命令,则将接收到的私有协议数据添加至预设网络入侵检测系统的配置文件中,并重启所述预设网络入侵检测系统。

可选的,所述当获取私有协议生效命令,则将接收到的私有协议数据添加至预设网络入侵检测系统的配置文件中,并重启所述预设网络入侵检测系统之前,还包括:

通过预设协议配置接口接收私有协议配置数据;所述私有协议配置数据包括协议名、数据包传输方式、传输层类型、目的端口、协议特征码、会话标识、解析字段信息以及洪水攻击频率值;其中所述协议名、所述数据包传输方式、所述传输层类型、所述目的端口、所述解析字段为必备配置项;所述特征码、所述会话标识以及所述洪水攻击频率值为可选配置项;

通过所述预设协议配置接口接收所述私有协议配置数据中的私有协议检测项数据;所述私有协议检测项数据包括目标检测项和与所述目标检测项对应的检测条件;

基于所述私有协议配置数据、所述目标检测项和与所述目标检测项对应的检测条件生成私有协议。

可选的,通过预设协议配置接口接收解析字段信息,包括:

通过预设协议配置接口接收值解析格式为ascii码字符串格式或十进制无符号整数格式或十六进制格式或比特格式的解析字段信息;

相应的,所述通过所述预设协议配置接口接收所述私有协议配置数据中的私有协议检测项数据,包括:

通过所述预设协议配置接口接收所述私有协议配置数据中的解析字段信息的填入值检测数据,并基于所述填入值检测数据生成解析字段信息对应的检测条件。

可选的,所述基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计的过程中,包括:

判断当前请求包发送频率与所述目标私有协议对应的私有协议配置数据中的洪水攻击频率值的大小关系;

若当前请求包发送频率大于所述目标私有协议对应的私有协议配置数据中的洪水攻击频率值,则触发洪水攻击告警,并释放预先缓存在预设数据库中的历史数据请求包。

可选的,所述利用所述目标插件将所述解码后数据包传输至业务引擎,包括:

利用所述目标插件将所述解码后数据包存放至预设共享内存中;

控制所述业务引擎从所述预设共享内存中读取解码后数据包。

可选的,所述基于所述解码后数据包的数据包传输方式确定目标数据包审计策略,包括:

确定所述解码后数据包的数据包传输方式;

若所述解码后数据包的数据包传输方式为单向传输,则利用预设审计方法对所述解码后数据包进行审计;

若所述解码后数据包的数据包传输方式为双向传输,则利用所述解码后数据包中的会话标识确定与所述解码后数据包对应的数据请求包,然后利用预设审计方法对所述解码后数据包与所述数据请求包进行审计。

第二方面,本申请公开了一种私有工控协议的审计装置,包括:

数据包获取模块,用于获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎;

业务引擎应用模块,用于利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输;

数据包审计模块,用于基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。

第三方面,本申请公开了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述的私有工控协议的审计方法。

第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的私有工控协议的审计方法的步骤。

本申请先获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎;利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输;基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。这样一来,本实施例通过预先配置有私有协议的预设网络入侵检测系统中与解码后数据包对应的目标私有协议确定对数据包进行处理的目标插件,并基于利用旁路流量检测的方式采集的流量包,利用业务引擎进行审计,实现了私有协议的自定义配置与自定义审计。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提供的一种私有工控协议的审计方法流程图;

图2为本申请提供的一种具体的私有工控协议的审计方法流程图;

图3为本申请提供的一种审计流程示意图;

图4为本申请提供的一种私有协议数据的配置过程示意图;

图5为本申请提供的一种私有工控协议的审计装置结构示意图;

图6为本申请提供的一种私有工控协议的审计装置的装置连接图;

图7为本申请提供的一种电子设备结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术中,工控私有协议无法被审计与检测。在本申请中,能够方便用户对工控私有协议的进行配置与审计。

本发明实施例公开了一种私有工控协议的审计方法,参见图1所述,该方法包括:

步骤S11:获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎。

本发明中将业务检测网口接入用户环境的交换机镜像口进行旁路流量采集,本发明适用于TCP(即Transmission Control Protocol,传输控制协议)、UDP(即User DatagramProtocol,用户数据报协议)的旁路流量审计与检测。

具体的,本发明中所述预设网络入侵检测系统优选为snort,预先配置有私有协议的预设网络入侵检测系统优选为预先配置有插件的snort,每个插件都代表用户将来要定制化审计与检测的一种私有协议,用户可根据预设协议配置接口进行私有协议的配置,在每个插件代码中,均设置相同的默认监听端口1024,插件在请求与响应的报文解析回调函数中都不进行任何解析处理,仅仅是将报文的payload(有效载荷)以及TCP或者UDP的头部报文信息通过共享内存的方式传递给业务引擎去处理。所述插件的个数可以根据不同应用场景进行设置,一般在页面中最多允许用户定制化5个私有协议,即预制5个插件。但从技术上来讲,基于snort的插件扩展不设限制,以可支持更多个。

本实施例中,所述获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包之前,还可以包括:通过预设协议配置接口接收私有协议配置数据;所述私有协议配置数据包括协议名、数据包传输方式、传输层类型、目的端口、协议特征码、会话标识、解析字段信息以及洪水攻击频率值;其中所述协议名、所述数据包传输方式、所述传输层类型、所述目的端口、所述解析字段为必备配置项;所述特征码、所述会话标识以及所述洪水攻击频率值为可选配置项;通过所述预设协议配置接口接收所述私有协议配置数据中的私有协议检测项数据;所述私有协议检测项数据包括目标检测项和与所述目标检测项对应的检测条件;基于所述私有协议配置数据、所述目标检测项和与所述目标检测项对应的检测条件生成私有协议。

可以理解的是,用户在配置私有协议时,可以定义协议的配置数据与检测项数据,所述配置数据中包括:

1、协议名:表示用户私有协议名称;

2、数据包传输方式:单向传输或双向传输,表示该协议是只有请求包还是有请求-响应包;

3、传输层类型:表示该协议是在TCP还是UDP基础上通信或者是TCP、UDP都有;

4、目的端口:表示该协议通信时从客户端发往服务端的目的端口;

5、协议特征码:表示该协议报文中存在可被识别的特征信息,其中包括:

起始偏移量:表示从payload第一个字节开始计算的字节数偏移量作为特征码值第一个字节的起始地址;

长度:表示特征码字节数长度;

值:表示特征码数据,可选择十进制或十六进制表示;

6、会话标识(即会话ID):表示在请求-响应包中,是否存在类似Modbus一样的会话ID,其中包括:

起始偏移量:表示从payload第一个字节开始计算的字节数偏移量作为会话标识第一个字节的起始地址

长度:表示会话标识值的字节数长度

值:表示会话标识数据,可选择十进制或十六进制表示

7、解析字段1:表示用户关心的需要解析的字段,其中包括:

起始偏移量:表示从payload第一个字节开始计算的字节数偏移量作为该字段值的第一个字节的起始地址

长度:表示该字段值的字节数长度

字段名:表示该字段的固定名称

值解析格式:表示该字段值的解析格式,可选择如下4种:

(1)ascii(即American Standard Code for Information Interchange,美国信息交换标准代码)码字符串

(2)十进制无符号整数

(3)十六进制

(4)比特(0或1):比特位偏移量,表示选择比特时该比特值所在的离0位的位偏移量,如2表示低地址0位算起第2位比特位

8、解析字段2~解析字段n:同解析字段1

9、Flood:表示用户希望检测该协议的洪水攻击频率

需要指出的是,上述配置数据中,协议名、数据包传输方式、传输层类型、目的端口、解析字段为必备配置项;特征码、会话标识以及洪水攻击频率值为可选配置项。可以理解的是,用户在配置解析字段时至少配置一个解析字段即解析字段1。解析字段2~解析字段n为可选配置项,可以根据用户意愿在不同的应用场景下完成自定义配置。

另外,可以将上述配置数据用以下表1描述:

表1

/>

用户在配置私有协议时,还会定义协议的检测项数据,检测项数据包括目标检测项和与所述目标检测项对应的检测条件。

在一种实施方式中,当通过预设协议配置接口接收协议特征码时,可以通过所述预设协议配置接口接收将所述协议特征码作为目标检测项的指令,并接收用于表征在数据包审计时是否需要校验协议特征码的信息,若此时接收到表征在数据包审计时需要对协议特征码进行校验的信息,则生成用于将数据包中的协议特征码与预设协议特征码进行比对,当特征码值不一致则抛出风险告警的检测条件。

在第二种实施方式中,当通过预设协议配置接口接收数据包传输方式时,可以通过所述预设协议配置接口接收将所述数据包传输方式作为目标检测项的指令,并接受用于表征当数据包传输方式为双向传输时用于表征其响应包是否保留协议特征码、会话标识与解析字段信息的响应包配置格式,并基于上述响应包配置格式生成数据包传输方式对应的检测条件。

本实施例中,通过预设协议配置接口接收解析字段信息,可以包括:通过预设协议配置接口接收值解析格式为ascii码字符串格式或十进制无符号整数格式或十六进制格式或比特格式的解析字段信息;相应的,所述通过所述预设协议配置接口接收所述私有协议配置数据中的私有协议检测项数据,包括:通过所述预设协议配置接口接收所述私有协议配置数据中的解析字段信息的填入值检测数据,并基于所述填入值检测数据生成解析字段信息对应的检测条件。即在第三种实施方式中,当通过预设协议配置接口接收值解析格式为ascii码字符串格式或十进制无符号整数格式或十六进制格式或比特格式的解析字段信息时,即在用户定义了解析字段信息时,可以通过所述预设协议配置接口接收将解析字段信息作为目标检测项的命令,并获取所述解析字段信息对应的填入值检测数据,然后基于所述填入值检测数据生成解析字段信息对应的检测条件。在具体的实施方式中,可以通过预设协议配置接口接收到目标检测项为解析字段,则可以接收值解析格式为“十进制无符号整数格式”的填入值检测数据为“<”、“>”、“=”、“!=”,并生成与“十进制无符号整数”相应的检测条件;还可以接收值解析格式为“ascii码字符串”的填入值检测数据为“包含”、“不包含”,并生成与“ascii码字符串”相应的检测条件;还可以接收值解析格式为“十六进制格式”或“比特格式”的填入值检测数据为“=”、“!=”,并生成与“十六进制格式”与“比特格式”相应的检测条件。

此时生成的所述检测条件用于后续在进行数据包审计时,若不符合上述检测条件,则抛出风险告警。

即本发明中用户可以通过预设协议配置接口对私有协议进行自定义配置,通过对私有协议配置数据中目标检测项的配置,可以定义后续数据包审计时的检测规则,实现定制协议与审计测试的自定义化。

步骤S12:利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输。

本实施例中,业务引擎为预先设置的用于读取解码后数据包,并对所述解码后数据包进行审计的引擎。具体的,会先根据解码后数据包的数据包传输方式确定目标数据包审计策略。若解码后数据包的数据包传输方式为单向传输,则将目标数据包审计策略确定为单向传输方式对应的目标数据包审计策略,若解码后数据包的数据包传输方式为双向传输,则将目标数据包审计策略确定为双向传输方式对应的目标数据包审计策略。

步骤S13:基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。

本实施例中,所述基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计的过程中,可以包括:判断当前请求包发送频率与所述目标私有协议对应的私有协议配置数据中的洪水攻击频率值的大小关系;若当前请求包发送频率大于所述目标私有协议对应的私有协议配置数据中的洪水攻击频率值,则触发洪水攻击告警,并释放预先缓存在预设数据库中的历史数据请求包。本实施例中,在所述预设网络入侵检测系统中预先配置的私有协议中可能包含洪水攻击频率值,当包含时,则在数据包审计时,可以利用协议中定义的洪水攻击频率值与当前请求包发送频率确定是否进行洪水攻击告警,并释放预先缓存在预设数据库中的历史数据请求包。

本实施例解决了现有的工控协议配置难、繁琐等问题,本装置提供预设协议配置接口便可方便用户可对私有协议进行自定义配置,涵盖了数据包传输方式为单向或双向的协议通信过程,数据类型丰富,并且设置了会话ID和洪水攻击检测频率;并且本实施例中提出同时支持多个私有协议的审计和检测,从技术上来讲,基于snort的插件扩展不设限制,可支持多个;并且,本实施例中提出支持多个字段的审计和检测,每个字段的数据类型都可以设置不同,并不限制其为工控指令功能码,支持“=”、“<”、“>”、“!=”和“包含”等字段比较符,并且针对解析字段中不同数据类型实现条件检测,包括字符串类型、整数类型、十六进制数类型、比特位数据类型;还可以根据配置的洪水攻击的频率,来检测用户私有协议是否遭到外来洪水攻击。

本实施例先获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎;利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输;基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。这样一来,本实施例通过预先配置有私有协议的预设网络入侵检测系统中与解码后数据包对应的目标私有协议确定对数据包进行处理的目标插件,并基于利用旁路流量检测的方式采集的流量包,利用业务引擎进行审计,实现了私有协议的自定义配置与自定义审计。

图2为本申请实施例提供的一种具体的私有工控协议的审计方法流程图。

参见图2所示,该方法包括:

步骤S21:通过预设协议配置接口接收私有协议配置数据。

本实施例中,所述私有协议配置数据包括协议名、数据包传输方式、传输层类型、目的端口、协议特征码、会话标识、解析字段信息以及洪水攻击频率值;其中所述协议名、所述数据包传输方式、所述传输层类型、所述目的端口、所述解析字段为必备配置项;所述特征码、所述会话标识以及所述洪水攻击频率值为可选配置项。

其中,关于步骤S21的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

步骤S22:通过所述预设协议配置接口接收所述私有协议配置数据中的私有协议检测项数据;所述私有协议检测项数据包括目标检测项和与所述目标检测项对应的检测条件。

其中,关于步骤S22的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

步骤S23:基于所述私有协议配置数据、所述目标检测项和与所述目标检测项对应的检测条件生成私有协议。

其中,关于步骤S23的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

步骤S24:当获取私有协议生效命令,则将接收到的私有协议数据添加至预设网络入侵检测系统的配置文件中,并重启所述预设网络入侵检测系统。

可以理解的是,本实施例中所示私有协议数据包括私有协议配置数据与私有协议检测项数据。本实施例中,用户上配置的私有协议会被存放在mysql数据库,当页面上用户配置完私有协议的定制审计与检测数据后,本发明提供一个开关供用户选择,如果用户想及时生效所述私有协议,则可以触发开关,生效开关触发时,会通知业务引擎从mysql数据库中加载对应的配置数据,业务引擎会将mysql数据库中用户配置的关键的端口信息连同插件名添加到snort配置文件,同时重启snort。其中,可以理解的是,存放所述私有协议数据的数据库包括但不限于所述mysql数据库。

步骤S25:获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎。

本实施例中,所述利用所述目标插件将所述解码后数据包传输至业务引擎,可以包括:利用所述目标插件将所述解码后数据包存放至预设共享内存中;控制所述业务引擎从所述预设共享内存中读取解码后数据包。

本实施例中,当接入交换机镜像接口进行旁路流量采集时,在具体的实施方式中,当有流量被检测到时,首先就会被采集引擎监听到,接着,采集引擎可以将裸数据包通过共享内存的方式传递给snort。snort会对该数据包做decode解码操作,解码后的数据带有TCP或UDP头部信息和ip头部信息,它会在snort内部框架中传递给对应目的端口的插件,根据用户的配置,数据包会流传到添加的插件中,而该插件不进行任何解析,只把该数据包通过共享内存的方式传递给业务引擎,业务引擎从共享内存中读取该数据。

步骤S26:利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输。

本实施例中,所述基于所述解码后数据包的数据包传输方式确定目标数据包审计策略,可以包括:确定所述解码后数据包的数据包传输方式;若所述解码后数据包的数据包传输方式为单向传输,则利用预设审计方法对所述解码后数据包进行审计;若所述解码后数据包的数据包传输方式为双向传输,则利用所述解码后数据包中的会话标识确定与所述解码后数据包对应的数据请求包,然后利用预设审计方法对所述解码后数据包与所述数据请求包进行审计。

可以理解的是,本发明中基于所述目标私有协议中的私有协议配置数据与私有协议检测项数据,并利用目标数据包审计策略对所述解码后数据包进行审计。具体的,当业务引擎根据已加载的目标私有协议中的私有协议配置数据与私有协议检测项数据对该数据进行解析,在解析的过程中同时根据用户配置的检测规则实时进行审计分析。

具体的,业务引擎根据对数据包进行解析与审计时,先检测目的端口是否为私有协议中配置的端口,若是,则根据已加载的目标私有协议中的私有协议配置数据与私有协议检测项数据对该数据进行解析,在解析的过程中同时根据用户配置的检测规则实时进行审计分析。

如图3所示,在具体的实施方式中,根据已加载的目标私有协议中的私有协议配置数据与私有协议检测项数据对该数据进行解析的过程中,先确定目标私有协议中是否设定了是否需要校验协议特征码匹配,若需要匹配,则解析协议特征码,若匹配,则判断解码后数据包中的数据包传输方式是否为双向传输,若是,则在业务引擎中会缓存请求包,在响应包到来时会通过会话标识来匹配对应的请求包,匹配成功后进行双向解析审计和实时风险检测。在双向解析审计和实施风险检测的过程中,可以根据目标私有协议中预先设置目标检测项检测请求包与响应包是否符合检测条件,若符合,则将所述请求包与响应包正常审计入库,若不符合,则生成用于表征解析字段信息的错误信息告警。若解码后数据包中的数据包传输方式并非为双向传输,即为单向传输,则直接将请求包根据目标私有协议中预先设置的目标检测项检测请求包是否符合检测条件,若符合,则将所述请求包与响应包正常审计入库,若不符合,则生成用于表征解析字段信息的错误信息告警。可以理解的是,不论解码后数据包为单向传输或双向传输,均可以利用请求包的发送频率与目标私有协议中的洪水攻击频率值进行比对,进而判断是否触发flood洪水告警,若触发,则同时释放缓存的所有请求包。即图3中虚线箭头表示的过程为当前处理过程在流转到下个处理过程的同时并发的流转另一个处理过程。

步骤S27:基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。

如图4所示为本发明提供的一种私有协议数据的配置过程示意图,图中用户在页面中根据表1中的数据配置私有协议配置数据,并配置私有协议检测项数据,然后将私有协议数据入库,用户在页面选择触发生效所述私有协议的开关后,业务引擎从数据库中加载私有协议数据,然后更新snort配置文件并重启snort,snort加载对应的插件开始利用采集引擎进行监听,监听到流量后,通过共享内存的方式输出值snort,snort通过对应的插件将解码TCP或UDP报文头部后的信息通过共享内存方式输出到业务引擎,业务引擎根据用户配置的私有协议检测项数据与目标数据包审计策略对该流量按要求解析,不触发告警的流量正常入库,否则触发对应告警,最终用户可以在页面中接收到审计后数据包正常入库的信息或告警信息。由此实现用户自定义私有协议与协议审计测试的过程。

参见图5所示,本申请实施例公开了一种私有工控协议的审计装置,具体可以包括:

数据包获取模块11,用于获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎;

业务引擎应用模块12,用于利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输;

数据包审计模块13,用于基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。

图6为本发明提出的所示私有工控协议的审计装置的装置连接图,图中交换机或路由器可通过PLC(可编程逻辑控制器)与DCS(分散控制系统)与设备连接,本装置的业务检测网口接入用户环境的交换机镜像口进行旁路流量采集。

本实施例中先获取通过接入交换机镜像接口进行旁路流量采集的方式采集的目标数据包,并将所述目标数据包传输至已预先配置有私有协议的预设网络入侵检测系统,以便所述预设网络入侵检测系统对所述目标数据包进行解码后基于解码后数据包对应的目标私有协议确定目标插件,并利用所述目标插件将所述解码后数据包传输至业务引擎;利用所述业务引擎读取解码后数据包,并基于所述解码后数据包的数据包传输方式确定目标数据包审计策略;所述数据传输方式为单向传输或双向传输;基于所述目标私有协议,并利用目标数据包审计策略对所述解码后数据包进行审计。这样一来,本实施例通过预先配置有私有协议的预设网络入侵检测系统中与解码后数据包对应的目标私有协议确定对数据包进行处理的目标插件,并基于利用旁路流量检测的方式采集的流量包,利用业务引擎进行审计,实现了私有协议的自定义配置与自定义审计。

进一步的,本申请实施例还公开了一种电子设备,图7是根据示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。

图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、显示屏24、输入输出接口25、通信接口26和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的私有工控协议的审计方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口26能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及虚拟机数据223等,虚拟机数据223可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的私有工控协议的审计方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。

进一步的,本申请还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-OnlyMemory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述公开的私有工控协议的审计方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的私有工控协议的审计方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 互联网协议IP地址获取方法、装置、存储介质及电子设备
  • 不同协议的服务请求处理方法、装置、设备及存储介质
  • 电子协议在线展示方法、装置、电子设备、存储介质
  • 广播电视节目列表协议的处理方法、装置、设备及介质
  • 一种工控设备的审计方法、装置、设备及可读存储介质
  • 一种工控设备的审计方法、装置、设备及可读存储介质
技术分类

06120115921359