发明内容
为了提高网络通讯策略匹配效率,本发明提出一种高速策略匹配分析装置。所述方法能够高效地对工业控制网络的通讯策略进行匹配度分析与审计,查找出匹配度低的策略配置,进而能够精准地改进所述通讯策略。
同时,该方法应用线程池技术充分利用硬件资源进行高速的匹配度分析,并且应用队列缓冲,有效地平衡网络流量波动,使通讯策略的匹配分析与配置始终保持最佳状态。
本公开提供一种高速策略匹配分析方法,用于解决高速地进行网络通讯策略匹配度分析的技术问题。此外,还提供一种高速策略匹配分析装置和计算机可读存储介质。
为了实现上述目的,根据本公开的一个方面,提供以下技术方案:
一种高速策略匹配分析方法,所述方法包括:
获取网络中配置的通讯策略配置信息;
根据预设的策略分析标准,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,并产生检查结果;
根据检查结果,生成相应的告警信息;
根据所述告警信息,计算生成所述通信策略的匹配度;
其中,所述策略分析标准包括黑名单标准、白名单标准和关键事件标准。
进一步,所述获取网络中配置的通讯策略配置信息包括:从网络设备上配置的策略文件中加载策略信息数据;其中所述策略文件的文件格式为 JSON格式。
进一步,所述策略文件中的策略信息数据为密文数据,从网络设备上配置的策略文件中加载所述策略信息数据后,解密所述密文数据。
进一步,构建线程池,利用多线程进行所述检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配。
进一步,采用队列来组织所述线程池中的线程。
进一步,所述检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配包括:
黑名单标准匹配分析,根据黑名单标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配黑名单标准,则产生黑名单告警信息;
关键事件标准匹配分析,根据关键事件标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配关键事件标准,则产生关键事件告警信息;
白名单标准匹配分析,在所述规则信息未匹配黑名单标准和关键事件标准的条件下,根据白名单标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配白名单标准,则产生审计日志信息;如果所述规则信息未匹配白名单标准,则产生白名单告警信息;
根据所产生的告警信息,基于给定匹配算法计算生成所述通讯策略匹配度。
进一步,所述检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配的过程中,利用读写锁实现数据的多线程互斥操作。
进一步,所述检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配的过程中,根据流量数据协议名称查询获取所述通讯策略配置信息中规则,并组成规则数组;
针对所述规则数组中的每一项规则,所述检查包括:
检查每一项规则的所属源source是否满足所述策略分析标准中的条件;
检查每一项规则的所属目的destination是否满足所述策略分析标准中的条件;
检查每一项规则的所属表达式expression是否满足所述策略分析标准中的条件;
在所述规则数组中的所有规则被检查后,统计检查结果。
为了实现上述目的,根据本公开的另一个方面,还提供以下技术方案:
一种高速策略匹配分析装置,包括:
信息获取模块,用于获取网络中配置的通讯策略配置信息;
策略检查模块,用于根据预设的策略分析标准,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,并产生检查结果;
结果生成模块,用于根据检查结果,生成相应的告警信息;根据所述告警信息,计算生成所述通信策略的匹配度;
其中,所述策略分析标准包括黑名单标准、白名单标准和关键事件标准。
为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:
一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述通讯策略匹配度分析方法。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
为了解决高速地进行网络通讯策略匹配度分析的技术问题。以下实施例提供一种高速策略匹配分析方法。如图1所示,该高速策略匹配分析方法主要包括如下步骤:
S1、获取网络中配置的通讯策略配置信息;
S2、根据预设的策略分析标准,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,并产生检查结果;
S3、根据检查结果,生成相应的告警信息;
S4、根据所述告警信息,计算生成所述通信策略的匹配度;
其中,所述策略分析标准包括黑名单标准、白名单标准和关键事件标准。
在工业网络中所配置的通讯策略一般包括一条或多条规则,所述规则即是对表达式的详细描述。一个规则仅包含一个表达式。一个规则仅作用于一种协议(也可包含上层的协议的某个字段的判断)。多个规则按照“或”的关系组合起来,应用到指定的通信链路上对报文进行匹配。一个通讯策略至少包含一个规则。分为白名单策略和黑名单策略两种:对于不能被白名单策略匹配的报文,记录为白名单告警。对于被黑名单策略匹配的报文,记录为黑名单告警。
在一个实施例中,从网络设备上配置的策略文件中加载策略信息数据;其中所述策略文件的文件格式为JSON格式。如图4所示,从策略文件中加载策略信息,加载时先对策略内存中的全局策略对象加锁,释放旧策略占用的内存资源,然后从磁盘存储的策略文件中加载策略信息数据,并进行 AES解密,然后进行格式转换,转为JSON对象。之所以采用JSON格式的数据进行数据分析,在于其格式特点适用于多种语言之间进行数据传递。
示例性的JSON格式如下:
“Header”:Object{},
“name”:…
“device_name”:…
“device_id”:…
“date”:…
“policies”:…
其中,header是下发的策略数据的消息头,主要作用是用于标识反馈后台服务哪些策略是否应用成功;name是策略名,用于标识区分黑名单,关键事件,白名单。device_name,引擎设备名,用于标识该策略作用在哪个引擎上。device_id,引擎设备ID号。date,策略的生成时间。policies 是数组,包含策略的集合。
在一个实施例中,策略文件中的策略信息数据为密文数据,例如,采用AES算法进行加解密,从网络设备上配置的策略文件中加载所述策略信息数据后,解密所述密文数据。加解密算法不限于所述AES算法,现有技术中的加解密算法都适用。
如图5所示,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,具体包括:
黑名单标准匹配分析,根据黑名单标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配黑名单标准,则产生黑名单告警信息;
关键事件标准匹配分析,根据关键事件标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配关键事件标准,则产生关键事件告警信息;
白名单标准匹配分析,在所述规则信息未匹配黑名单标准和关键事件标准的条件下,根据白名单标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配白名单标准,则产生审计日志信息;如果所述规则信息未匹配白名单标准,则产生白名单告警信息;
根据所产生的告警信息,基于给定匹配算法计算生成所述通讯策略匹配度。
在一个实施例中,构建线程池,利用多线程进行所述检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,采用队列来组织所述线程池中的线程。如图5所示,协议解析JSON字符串,并将其加入到线程队列;其中将网络流量数据解析成JSON字符串,并将其加入到线程队列;用于所述策略的检查分析操作的工作线程从队列中读取数据进行上述黑、白名单和关键事件的标准匹配分析,并产生相应的告警信息。最后根据所产生的告警信息,基于给定匹配算法计算生成所述通讯策略匹配度。
在一个实施例中,如图6所示,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配的过程中,根据流量数据协议名称查询获取所述通讯策略配置信息中规则,并组成规则数组;其中,利用读写锁实现数据的多线程互斥操作;并采用全局对象来承载策略信息。
针对所述规则数组中的每一项规则,所述检查包括:
检查每一项规则的所属源source是否满足所述策略分析标准中的条件;
检查每一项规则的所属目的destination是否满足所述策略分析标准中的条件;
检查每一项规则的所属表达式expression是否满足所述策略分析标准中的条件;
在所述规则数组中的所有规则被检查后,统计检查结果。
在上文中,虽然按照上述的顺序描述了通讯策略匹配度分析方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。
下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。
为了解决高速地进行网络通讯策略匹配度分析的技术问题。以下实施例提供一种通讯策略匹配度分析装置。该装置可以执行上述高速策略匹配分析方法实施例中所述的步骤。如图2所示,该装置2主要包括:
信息获取模块21,用于获取网络中配置的通讯策略配置信息;
策略检查模块22,用于根据预设的策略分析标准,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,并产生检查结果;
结果生成模块23,用于根据检查结果,生成相应的告警信息;根据所述告警信息,计算生成所述通信策略的匹配度;
其中,所述策略分析标准包括黑名单标准、白名单标准和关键事件标准。
在一个实施例中,从网络设备上配置的策略文件中加载策略信息数据;对从所述策略文件中加载的信息数据进行格式转换,转换为JSON格式。
如图4所示,从策略文件中加载策略信息,加载时先对策略内存中的全局策略对象加锁,释放旧策略占用的内存资源,然后从磁盘存储的策略文件中加载策略信息数据,并进行AES解密,然后进行格式转换,转为JSON 对象。之所以采用JSON格式的数据进行数据分析,在于其格式特点适用于多种语言之间进行数据传递。
示例性的JSON格式如下:
“Header”:Object{},
“name”:…
“device_name”:…
“device_id”:…
“date”:…
“policies”:…
其中,header是下发的策略数据的消息头,主要作用是用于标识反馈后台服务哪些策略是否应用成功;name是策略名,用于标识区分黑名单,关键事件,白名单。device_name,引擎设备名,用于标识该策略作用在哪个引擎上。device_id,引擎设备ID号。date,策略的生成时间。policies 是数组,包含策略的集合。
在一个实施例中,策略文件中的策略信息数据为密文数据,例如,采用AES算法进行加解密,从网络设备上配置的策略文件中加载所述策略信息数据后,解密所述密文数据。加解密算法不限于所述AES算法,现有技术中的加解密算法都适用。
如图5所示,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,具体包括:
黑名单标准匹配分析,根据黑名单标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配黑名单标准,则产生黑名单告警信息;
关键事件标准匹配分析,根据关键事件标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配关键事件标准,则产生关键事件告警信息;
白名单标准匹配分析,在所述规则信息未匹配黑名单标准和关键事件标准的条件下,根据白名单标准检查所述策略配置信息中的规则信息,如果所述规则信息匹配白名单标准,则产生审计日志信息;如果所述规则信息未匹配白名单标准,则产生白名单告警信息;
根据所产生的告警信息,基于给定匹配算法计算生成所述通讯策略匹配度。
在一个实施例中,构建线程池,利用多线程进行所述检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配,采用队列来组织所述线程池中的线程。如图5所示,协议解析JSON字符串,并将其加入到线程队列;其中将网络流量数据解析成JSON字符串,并将其加入到线程队列;用于所述策略的检查分析操作的工作线程从队列中读取数据进行上述黑、白名单和关键事件的标准匹配分析,并产生相应的告警信息。最后根据所产生的告警信息,基于给定匹配算法计算生成所述通讯策略匹配度。
在一个实施例中,如图6所示,检查所述通讯策略配置信息中的规则信息与所述策略分析标准是否匹配的过程中,根据流量数据协议名称查询获取所述通讯策略配置信息中规则,并组成规则数组;其中,利用读写锁实现数据的多线程互斥操作;并采用全局对象来承载策略信息。
针对所述规则数组中的每一项规则,所述检查包括:
检查每一项规则的所属源source是否满足所述策略分析标准中的条件;
检查每一项规则的所属目的destination是否满足所述策略分析标准中的条件;
检查每一项规则的所属表达式expression是否满足所述策略分析标准中的条件;
在所述规则数组中的所有规则被检查后,统计检查结果。
通过上述通讯策略匹配度分析装置,能够高效地对工业控制网络的通讯策略进行匹配度分析与审计,查找出匹配度低的策略配置,进而能够精准地改进所述通讯策略。
有关通讯策略匹配度分析装置实施例的工作原理、实现的技术效果等详细说明可以参考前述通讯策略匹配度分析方法实施例中的相关说明,在此不再赘述。
图3是图示根据本公开的实施例的计算机可读存储介质的示意图。如图3所示,根据本公开实施例的计算机可读存储介质30,其上存储有非暂时性计算机可读指令31。当该非暂时性计算机可读指令31由处理器运行时,执行前述的本公开各实施例的通讯策略匹配度分析方法的全部或部分步骤。
上述计算机可读存储介质30包括但不限于:光存储介质(例如:CD- ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B 或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。