一种基于JSON表示的工业网络空间资产指纹设计方法及系统与流程
未命名
07-12
阅读:224
评论:0
一种基于json表示的工业网络空间资产指纹设计方法及系统
技术领域
1.本发明涉及工业物联网技术领域,尤其涉及到一种基于json表示的工业网络空间资产指纹设计方法及系统。
背景技术:
2.随着工业互联网和物联网领域的兴起,越来越多的工业资产接入了互联网,以实现远程监控和物-物互联。工业网络空间探测就是要摸清工业资产在网络空间中的分布情况和详细特征,为政府监管、企业服务和科学研究等提供一个全局的视图,并为后续改善重点机构、企业等的网络安全状况提供指引。
3.工业网络空间探测通常包括三个步骤:向网络空间中的未知资产发送探测报文获取响应数据;利用丰富的工业指纹分析出资产特征信息;对资产特征信息进行统计和利用得到所需的知识。
4.在系统获取到探测报文的响应数据后,为了便于处理,数据清洗功能通常会把响应报文按照协议特点解析为结构化数据。以http协议为例,结构化数据可能包括多个字段:各个响应头、正文标题、正文内容等。如图1所示,是一条结构化处理后的资产响应信息。传统的做法是为每个协议响应或多个类似响应的协议定义特定类型的指纹,然后在系统的指纹解析实现中按协议调用相应的解析代码以完成指纹的匹配,如果匹配成功则将该条指纹的对应的特性信息赋予该资产,完成资产的特征获取。该方法存在的主要问题是,指纹表示方式不统一、指纹表达能力较差、缺乏从指纹中直接抽取特性信息的机制、代码实现的扩展性较差。
5.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
6.本发明的主要目的在于提供一种基于json表示的工业网络空间资产指纹设计方法,该指纹表示方法具有良好的通用性、灵活性、扩展性,并简化了工业网络空间探测系统指纹相关功能的设计和实现。
7.为实现上述目的,本发明提供一种基于json表示的工业网络空间资产指纹设计方法,所述方法包括以下步骤:
8.获取结构化响应报文中特征数据所在路径,根据所述结构化响应报文中特征数据所在路径和规则匹配的方式,建立基本规则信息;
9.根据若干个基本规则信息,获得复合规则信息;
10.向复合规则信息中的若干个基本规则信息增设复合逻辑信息;
11.利用提取规则在结构化响应数据中获取目标数据。
12.可选的,所述基本规则信息为包括一个键值对的json对象。
13.可选的,所述键值对的前面部分记载结构化响应报文中特征数据所在路径,所述
键值对的后面部分记载规则匹配的方式。
14.可选的,所述规则匹配的方式包括正则匹配、相等匹配和范围匹配。
15.可选的,所述复合规则信息还根据若干个基本规则信息和若干个复合规则信息获得。
16.可选的,所述复合规则信息还根据若干个复合规则信息获得。
17.可选的,所述复合逻辑信息包括布尔逻辑中的与逻辑、或逻辑和非逻辑中的一种或多种。
18.可选的,所述提取规则包括基于正则表达式命名组的提取规则和基于新的匹配方式的提取规则。
19.本发明实施例提出的一种基于json表示的工业网络空间资产指纹设计方法及系统,所述方法包括:获取结构化响应报文中特征数据所在路径,根据所述结构化响应报文中特征数据所在路径和规则匹配的方式,建立基本规则信息;根据若干个基本规则信息,获得复合规则信息;向复合规则信息中的若干个基本规则信息增设复合逻辑信息;利用提取规则在结构化响应数据中获取目标数据。本发明通过结构化响应数据的简单路径定位方式;易扩展的数据匹配方式;基于布尔逻辑的灵活规则组合方式;跟指纹匹配一致的特征信息提取表示方式等四个部分的有机结合构成了一种通用性强、书写灵活、易于扩展、易于提取重要信息、实用性强、代码实现简单统一的工业网络空间探测指纹。
附图说明
20.图1为结构化处理后的资产响应信息的示意图;
21.图2为本发明基于json表示的工业网络空间资产指纹设计方法实施例的流程示意图。
22.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
23.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
24.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
25.本发明实施例提供了一种基于json表示的工业网络空间资产指纹设计方法,参照图2,图2为本发明基于json表示的工业网络空间资产指纹设计方法的流程示意图。
26.本实施例中,所述基于json表示的工业网络空间资产指纹设计方法包括以下步骤:
27.s1:获取结构化响应报文中特征数据所在路径,根据所述结构化响应报文中特征数据所在路径和规则匹配的方式,建立基本规则信息;
28.s2:根据若干个基本规则信息,获得复合规则信息;
29.s3:向复合规则信息中的若干个基本规则信息增设复合逻辑信息;
30.s4:利用提取规则在结构化响应数据中获取目标数据。
31.在实际应用中,基于json表示的工业网络空间资产指纹设计方法包括4个有机结
合的部分:结构化响应数据的简单路径定位方式;易扩展的数据匹配方式;基于布尔逻辑的灵活规则组合方式;跟指纹匹配一致的特征信息提取表示方式。这4个部分一起构成了一种通用性强、书写灵活、易于扩展、易于提取重要信息、实用性强、代码实现简单统一的工业网络空间探测指纹。
32.这种基于json的资产指纹表示方法,其实现方式是编程语言无关的,实现者可以通过自己熟悉的任何开发语言(主流开发语言都支持json格式)实现,并集成到自己的工业网络空间探测系统中。后续提升工业网络探测系统的分析能力的主要工作,就是根据上述json格式的语义不断的增加资产指纹并提高指纹描述的准确性。
33.在本工业网络空间指纹表示方法中,所有的资产指纹都使用json格式来表示。json格式广泛的应用于网络数据通信、nosql数据库中,具有坚实的用户基础,将其用于指纹规则表示,可以得到结构清晰、易于实现、易于维护、易于扩展的工业网络空间指纹。
34.(1)规则,是指纹的组成单位,每条指纹就是一条规则,规则包括基本规则和复合规则。
35.(2)基本规则,就是一个json的对象,其中只包括一个键值对,json键的前面部分表示了结构化响应报文中特征数据所在路径,json键的后面部分表示了规则匹配的方式,常见的方式有正则匹配、相等匹配等。基本规则的形式如下:
36.{"《data_path》.《sufixes》":"sufix_args"},其中data_path是以英文句号(.)分隔的字符串,用于在结构化响应数据中指定特征数据所在的位置,《sufixes》可以扩展为《function_sufix》.《negative_sufix》,不同的function_sufix指定了对data_path不同的匹配方式,常见的匹配方式包括正则匹配、相等匹配、范围匹配等。negative_sufix在下面复合规则中说明。
37.针对前面结构化响应信息的例子,一条基本规则的可以书写如下:{"data.headers.server.__search":"hikvision-webs|app-webs"},它表示对结构化响应数据中的data字段中的的headers字段中的server字段进行正则匹配,如果该字段的内容匹配hikvision-webs或app-webs,指纹库中此条指纹对应的特性信息就可以作为资产的特征信息(即这是海康威视的一个摄像头)。
38.(3)复合规则,简单规则可以通过复合逻辑进行组合形成复合规则,复合规则之间也可以进一步组合形成更发杂的复合规则。
39.针对前面结构化响应信息的例子,一条复合规则的例子如下:{"protocol.__equal":"http","data.headers.server.__search":"hikvision-webs|app-webs"},它表示如果结构化响应数据中的protocol字段满足相等匹配(为http),而且它的内层server字段满足正则匹配,则这个资产是海康威视的一个摄像头(这里针对protocol的子规则是为了提高指纹准确性,或者避免正则匹配来提高匹配效率)。
40.一个多重复合规则的例子如下:[{"protocol.__equal":"http","data.headers.server.__search":"hikvision-webs|app-webs"},{"data.headers.content-type.__equal":"text/html","data.headers.server.__search":"dvrdvs-webs"}]。(这里仅是提供多重复合规则的示例,不代表其是最优的写法)
[0041]
(4)复合逻辑,也就是布尔逻辑中的与、或、非逻辑,可以表示一条规则内部多个子规则之间的逻辑关系。定义如下:
[0042]
逻辑与:表示两条子规则同时成立,使用json中的对象来表示,例如{"protocol.__equal":"http","data.headers.server.__search":"hikvision-webs|app-webs"}。
[0043]
逻辑或:表示两条子规则中至少有一条成立,使用json中的对象的数组来表示,例如[{"protocol.__equal":"http"},{"data.headers.server.__search":"hikvision-webs|app-webs"}]。
[0044]
逻辑非:表示一条子规则不成立。使用定义1中的negative_sufix来表示,即__not关键字,例如{"data.headers.server.__search.__not":"dvrdvs-webs"}表示内层server字段不匹配dvrdvs-webs则表示规则匹配成功。
[0045]
(5)提取规则,是一种特殊的匹配规则,其主要目是以一种便捷的、统一的方式从结构化响应数据中获取重要信息。
[0046]
本发明提出两种提取规则的表示方法:基于正则表达式命名组和基于新的匹配方式。
[0047]
基于正则表达式命名组的提取规则形式如下:
[0048]
{"《data_path》.__search":"(?p《feature1》pattern1)pattern(?p《feat ure2》pattern2)
…
"},响应数据经过对该提取规则正则匹配后,满足pattern1的部分将以名称feature1返回,满足pattern2的部分将以名称feature2返回,还可以定义更多的命名组一次获取更多的信息。
[0049]
基于新的匹配方式的提取规则形式如下:
[0050]
{"《data_path》.__get":"feature1"},在这里定义了一个新的匹配方式(__get表示获取字段内容),会将data_path定位到的字段的整个内容作为feature1的值返回。这种方式适合于简单的提取单个信息的场景,可以比正则匹配运行得更快。
[0051]
对于复杂的提取信息的逻辑场景,可以利用上一节中的复合规则来实现,此时的提取规则只是复合规则中一条普通的子规则。例如:{"protocol.__equal":"http","data.headers.server.__search":"(?p《diff》.+)-[ww]ebs"}表示如果protocol字段为http,就会对内层server字段做正则匹配,如果正则匹配成功,返回的名称diff中就包含了想要提取的差别信息。再比如[{"protocol.__equal":"http","data.headers.content-type.__equal":"text/html"},{"data.headers.server.__search":"(?p《diff》.+)-[ww]ebs"}]表示如果protocol为http并且内层content-type字段为content-type字段为text/html算规则匹配成功,否则如果内层server字段正则匹配也算规则匹配成功,此时还能获得名称为diff的提取信息。
[0052]
本实施例使用json的对象和数组来表示指纹规则具有清晰易读的结构,并兼顾了特征数据路径定位、匹配方法的指定和逻辑关系复合等多个需求,代码实现也很简单。两三百行代码就能实现出生产环境符合上述语义定义的面向对象风格的程序。
[0053]
基于该json格式设计,指纹匹配扩展功能也非常容易,对于语法上来说就是增加一个新的功能后缀(function_sufix),并在解析程序中增加一个相应的功能执行类即可,如在前述中提到的基于新的匹配方式的提取中的__get功能后缀就是为了方便提取信息而增加的新的功能后缀。在实际程序中还实现了范围匹配、忽略大小写的正则匹配等功能,以及通用的脚本匹配的功能(可以在脚本中书写若干python语句,匹配结果和提取结果则在
脚本执行后返回给调用者)。
[0054]
这种基于json的资产指纹表示方法,其实现方式是编程语言无关的,实现者可以通过自己熟悉的任何开发语言(主流开发语言都支持json格式)实现,并集成到自己的工业网络空间探测系统中。后续提升工业网络探测系统的分析能力的主要工作,就是根据上述json格式的语义不断的增加新的资产指纹并提高指纹描述的准确性。
[0055]
此外,本发明还提出一种可读存储介质,所述可读存储介质包括计算机可读存储介质,其上存储有基于json表示的工业网络空间资产指纹设计程序。所述可读存储介质可以是图1的终端中的存储器1005,也可以是如rom(read-only memory,只读存储器)/ram(random access memory,随机存取存储器)、磁碟、光盘中的至少一种,所述可读存储介质包括若干指令用以使得一台具有处理器的基于json表示的工业网络空间资产指纹设计设备执行本发明各个实施例所述的基于json表示的工业网络空间资产指纹设计方法。
[0056]
本技术可读存储介质中基于json表示的工业网络空间资产指纹设计程序的具体实施方式与上述基于json表示的工业网络空间资产指纹设计方法各实施例基本相同,在此不再赘述。
[0057]
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第n实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0058]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0059]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0060]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0061]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述方法包括以下步骤:获取结构化响应报文中特征数据所在路径,根据所述结构化响应报文中特征数据所在路径和规则匹配的方式,建立基本规则信息;根据若干个基本规则信息,获得复合规则信息;向复合规则信息中的若干个基本规则信息增设复合逻辑信息;利用提取规则在结构化响应数据中获取目标数据。2.如权利要求1所述的基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述基本规则信息为包括一个键值对的json对象。3.如权利要求2所述的基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述键值对的前面部分记载结构化响应报文中特征数据所在路径,所述键值对的后面部分记载规则匹配的方式。4.如权利要求3所述的基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述规则匹配的方式包括正则匹配、相等匹配和范围匹配。5.如权利要求1所述的基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述复合规则信息还根据若干个基本规则信息和若干个复合规则信息获得。6.如权利要求1所述的基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述复合规则信息还根据若干个复合规则信息获得。7.如权利要求1所述的基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述复合逻辑信息包括布尔逻辑中的与逻辑、或逻辑和非逻辑中的一种或多种。8.如权利要求1所述的基于json表示的工业网络空间资产指纹设计方法,其特征在于,所述提取规则包括基于正则表达式命名组的提取规则和基于新的匹配方式的提取规则。9.一种基于json表示的工业网络空间资产指纹设计系统,其特征在于,所述系统包括:建立模块,用于获取结构化响应报文中特征数据所在路径,根据所述结构化响应报文中特征数据所在路径和规则匹配的方式,建立基本规则信息;获得模块,用于根据若干个基本规则信息,获得复合规则信息;增设模块,用于向复合规则信息中的若干个基本规则信息增设复合逻辑信息;获取模块,用于利用提取规则在结构化响应数据中获取目标数据。
技术总结
本发明公开了一种基于JSON表示的工业网络空间资产指纹设计方法及系统,所述方法包括:获取结构化响应报文中特征数据所在路径,根据所述结构化响应报文中特征数据所在路径和规则匹配的方式,建立基本规则信息;根据若干个基本规则信息,获得复合规则信息;向复合规则信息中的若干个基本规则信息增设复合逻辑信息;利用提取规则在结构化响应数据中获取目标数据。本发明通过结构化响应数据的简单路径定位方式;易扩展的数据匹配方式;基于布尔逻辑的灵活规则组合方式;跟指纹匹配一致的特征信息提取表示方式等四个部分的有机结合构成了一种通用性强、书写灵活、易于扩展、易于提取重要信息、实用性强、代码实现简单统一的工业网络空间探测指纹。业网络空间探测指纹。业网络空间探测指纹。
技术研发人员:彭子平 曾斌 蒋光明 吴丹
受保护的技术使用者:中国电子科技网络信息安全有限公司
技术研发日:2023.03.23
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种电力测试夹的制作方法 下一篇:基于账户迁移的区块链分片方法及区块链系统
