一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种Web应用识别方法、装置、电子设备及存储介质与流程

2022-03-04 23:33:16 来源:中国专利 TAG:

一种web应用识别方法、装置、电子设备及存储介质
技术领域
1.本技术涉及网络安全技术领域,具体而言,涉及一种web应用识别方法、装置、电子设备及存储介质。


背景技术:

2.随着互联网的发展,在网络环境中存在的web服务器也越来越多,如何在众多的网络设备中实现集中监控这些web应用设备是一个问题,例如:在某大型的企业网络环境中,存在多少种网络设备、每种网络设备的型号以及web应用是否正常运行。
3.在互联网中,现有的技术是通过主动探测扫描的方式发送http报文探针来识别当前网络设备的web应用信息。其中,最常见的是对配置下的子网ip进行逐个端口扫描探测,首先通过判断http连接是否超时来确认服务的存在,不存在则停止当前的ip扫描;再对响应报文内容及banner信息进行分析,主要分析的是报文的header信息和cookie信息等,通过其中的关键字来确认当前资产设备。
4.该方法需要主动发送探测包,且只能检测到当时已经开启的服务,需要提前获得服务器的ip地址,且无法识别隐蔽的ip服务器,发送大量的测试数据包,容易造成网络拥堵现象。


技术实现要素:

5.本技术实施例的目的在于提供一种web应用识别方法、装置、电子设备及存储介质,应用于网关,通过被动随机抽样获取报文的方式实现web应用的识别,无需发送大量的探测报文,有效减轻了网络负载且检测效率较高,解决了现有的主动探测方法增加了网络负载且识别效果差的问题。
6.本技术实施例提供了一种web应用识别方法,应用于网关,所述方法包括:
7.获取数据包中的报文;
8.对符合预设条件的报文进行被动抽样,以获得待检测报文;
9.对所述待检测报文进行解析,以获得所述待检测报文的报文内容;
10.将所述报文内容与预设的web应用指纹库进行正则匹配,以识别web应用。
11.在上述实现过程中,应用于网关,在安全网关上设置被动识别web应用的策略,通过与web应用指纹库进行正则匹配来识别web应用。采用被动识别的方式,不需要主动发送大量探测报文,有效减轻了网络负载;通过被动随机抽样获取报文的方式,加快了单包检测的能力,也无需提前获取web应用的ip地址,具有较高的检测效率。
12.进一步地,所述对符合预设条件的报文进行被动抽样,以获得待检测报文,包括:
13.对所述报文进行应用协议解析,以获得所述报文的ip信息;
14.判断所述报文的ip信息是否在用户配置的ip网段内;
15.若是,则对所述报文进行计数;
16.当满足预设的报文数时,单位时间内获取预设数量的所述报文数中的任意有效报
文作为待检测报文。
17.在上述实现过程中,通过ip地址范围筛选出http协议报文,再在符合要求的报文中通过被动抽样的方式获取到待检测报文。
18.进一步地,所述将所述报文内容与预设的web应用指纹库进行正则匹配,以识别web应用,包括:
19.遍历所述web应用指纹库中的特征链表的正则表达式,以进行正则匹配;
20.若匹配成功,则将对应特征链表下的唯一web应用名称、cpe编号和所述待检测报文中的服务器ip地址,记录到资产表中,以供用户查看。
21.在上述实现过程中,通过正则匹配的方式进行web应用识别,无需预先获得服务器的ip地址,具有较高的检测效率和准确率。
22.进一步地,在所述将所述报文内容与预设的web应用指纹库进行正则匹配的步骤之前,所述方法还包括:
23.接收用户上传的web应用指纹库文件,以对所述web应用指纹库进行更新;
24.解密所述web应用指纹库文件,以获得web应用数据,所述web应用数据包括web应用名称、cpe编号、headers字段和报文特征信息;
25.加载所述web应用指纹库文件,以将每个web应用的web应用数据存放于特征链表中,所述特征链表包括唯一web应用名称、cpe编号,以及正则表达式编译的数据结构。
26.在上述实现过程中,建立web应用指纹库,将待检测报文与web应用指纹库中的特征链表的正则表达式进行正则匹配可准确识别web应用。
27.本技术实施例还提供一种web应用识别装置,所述装置包括:
28.收包模块,用于获取数据包中的报文;
29.被动抽样模块,用于对符合预设条件的报文进行被动抽样,以获得待检测报文;
30.报文解析模块,用于对所述待检测报文进行解析,以获得所述待检测报文的报文内容;
31.web应用匹配模块,用于将所述报文内容与预设的web应用指纹库进行正则匹配,以识别web应用。
32.在上述实现过程中,应用于网关,在安全网关上设置被动识别web应用的策略,通过与web应用指纹库进行正则匹配来识别web应用。采用被动识别的方式,不需要主动发送大量探测报文,有效减轻了网络负载;通过被动随机抽样获取报文的方式,加快了单包检测的能力,也无需提前获取web应用的ip地址,具有较高的检测效率。
33.进一步地,所述被动抽样模块包括:
34.应用协议识别模块,用于对所述报文进行应用协议解析,以获得所述报文的ip信息;
35.ip过滤模块,用于判断所述报文的ip信息是否在用户配置的ip网段内;
36.计数模块,用于若在用户配置的ip网段内,则对所述报文进行计数;
37.抽样检测模块,用于当满足预设的报文数时,单位时间内获取预设数量的所述报文数中的任意报文作为待检测报文。
38.在上述实现过程中,通过ip地址范围筛选出http协议报文,再在符合要求的报文中通过被动抽样的方式获取到待检测报文。
39.进一步地,所述web应用匹配模块包括:
40.正则匹配模块,用于遍历所述web应用指纹库中的特征链表的正则表达式,以进行正则匹配;
41.识别结果入库模块,用于若匹配成功,则将对应特征链表下的唯一web应用名称、cpe编号和所述待检测报文中的服务器ip地址,记录到资产表中,以供用户查看。
42.在上述实现过程中,通过正则匹配的方式进行web应用识别,无需预先获得服务器的ip地址,具有较高的检测效率和准确率。
43.进一步地,所述装置还包括:
44.指纹库更新模块,用于接收用户上传的web应用指纹库文件,以对所述web应用指纹库进行更新;
45.配置解析模块,用于解密所述web应用指纹库文件,以获得web应用数据,所述web应用数据包括web应用名称、cpe编号、headers字段和报文特征信息;
46.加载模块,用于加载所述web应用指纹库文件,以将每个web应用的web应用数据存放于特征链表中,所述特征链表包括唯一web应用名称、cpe编号,以及正则表达式编译的数据结构。
47.在上述实现过程中,建立web应用指纹库,将待检测报文与web应用指纹库中的特征链表的正则表达式进行正则匹配可准确识别web应用。
48.本技术实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述中任一项所述的web应用识别方法。
49.本技术实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的web应用识别方法。
附图说明
50.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
51.图1为本技术实施例提供的一种web应用识别方法的流程图;
52.图2为本技术实施例提供的被动识别web应用的具体流程图;
53.图3为本技术实施例提供的web应用指纹库加载流程图;
54.图4为本技术实施例提供的被动抽样流程图;
55.图5为本技术实施例提供的正则匹配流程图;
56.图6为本技术实施例提供的web应用识别装置的结构框图;
57.图7为本技术实施例提供的web应用识别装置的具体结构框图;
58.图8为本技术实施例提供的另一种web应用识别装置的结构框图。
59.图标:
60.100-收包模块;110-配置模块;111-指纹库更新模块;112-配置解析模块;113-加
载模块;200-被动抽样模块;201-应用协议识别模块;202-ip过滤模块;203-计数模块;204-抽样检测模块;300-报文解析模块;400-web应用匹配模块;401-正则匹配模块;402-识别结果入库模块。
具体实施方式
61.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
62.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
63.请参看图1,图1为本技术实施例提供的一种web应用识别方法的流程图。该方法应用于网关,即将该被动识别web应用的方法部署于网关产品中,在不通过主动扫描探测web应用的情况下,对当前网络环境中大量的数据流进行被动式的随机抽样获取http协议报文,并将http协议报文与web应用指纹库进行正则匹配,匹配成功后将对应的web应用名称和ip地址添加到资产管理库中。该方法具体包括以下步骤:
64.步骤s100:获取数据包中的报文;
65.如图2所示,为被动识别web应用的具体流程图。在启动被动识别web应用程序后,需要先加载web应用指纹库,如图3所示,为web应用指纹库加载流程图,具体包括以下步骤:
66.步骤s111:接收用户上传的web应用指纹库文件,以对所述web应用指纹库进行更新;
67.步骤s112:解密所述web应用指纹库文件,以获得web应用数据,所述web应用数据包括web应用名称、cpe编号、headers字段和报文特征信息;
68.步骤s113:加载所述web应用指纹库文件,以将每个web应用的web应用数据存放于特征链表中,所述特征链表包括唯一web应用名称、cpe编号,以及正则表达式编译的数据结构。
69.加载web应用指纹库文件,将每个web应用信息单独存放到web应用特征链表中,每个特征链表节点里面存放着唯一web应用名称、cpe编号headers和cookies的正则表达式内容等。
70.步骤s200:对符合预设条件的报文进行被动抽样,以获得待检测报文;
71.如图4所示,为被动抽样流程图,具体包括:
72.步骤s201:对所述报文进行应用协议解析,以获得所述报文的ip信息;
73.步骤s202:判断所述报文的ip信息是否在用户配置的ip网段内;
74.步骤s203:若是,则对所述报文进行计数;
75.步骤s204:当满足预设的报文数时,单位时间内获取预设数量的所述报文数中的任意有效报文作为待检测报文。
76.从网卡中获取数据包中的报文,并进行应用协议解析,判断是否为http协议报文,如果是,则获取http协议报文中的服务器ip信息,以进行进一步过滤,即当前http协议报文的服务器ip地址是否存在于用户配置的ip网段中,如果是,则将该http协议报文进行计数,通过被动抽样的方式获取待检测报文,示例地,被动获取报文的方式为:
77.在无需模拟请求报文与服务器交互的情况下,在当前网络流量满足用户配置的报
文数如1000后,取其中1000个报文中的任意一个报文进行检测,且每小时内检测的报文数为10,通过上述的方式被动获取待检测报文。
78.1000的含义是当网络环境中符合用户配置的ip网段下的某个服务器ip报文计数在一小时内达到1000时取这1000个报文中的任意一个有效报文进行解析。用户还需要配置一小时内最大的检测报文数,如10,10的含义是一小时内检测的报文数最多为10个,超出检测的报文数后将不再做检测。需要说明的是,报文数和单位时间内获取的数量在此不做任何限定,可根据需要进行设置。
79.需要说明的是,在单位时间内获得的报文中,优先获取第一个报文作为待检测报文,但是第一个报文可能不太符合要求(第一个报文可能是分段报文的前半部分,需要抽取一个完整的应用层报文进行解析和匹配),此时需要获取下一个报文,因此需要获取报文数中的有效报文作为待检测报文。
80.步骤s300:对所述待检测报文进行解析,以获得所述待检测报文的报文内容;
81.经过上述随机抽样的筛选后,将待检测报文依据http协议格式,快速获取http协议报文内容,并存储到临时内存中并记下报文内容的首地址及长度,为正则匹配提供数据支撑。
82.步骤s400:将所述报文内容与预设的web应用指纹库进行正则匹配,以识别web应用。
83.如图5所示,为正则匹配流程图,该步骤具体可以包括:
84.步骤s401:遍历所述web应用指纹库中的特征链表的正则表达式,以进行正则匹配;
85.步骤s402:若匹配成功,则将对应特征链表下的唯一web应用名称、cpe编号和所述待检测报文中的服务器ip地址,记录到资产表中,以供用户查看。
86.遍历web应用指纹库特征链表中的正则表达式,将报文内容与正则表达式进行正则匹配,匹配成功后将该链表节点下的唯一web应用名称、cpe编号和报文中的服务器ip地址,记录到资产表中为用户提供展示,并将web应用指纹库中的web应用名称输出到资产表中与服务器ip进行关联;否则,忽略其报文内容,释放报文信息,等待下次被动识别报文的到来。
87.正则匹配就是解析web应用指纹库时对正则表达式进行编译,匹配则是使用编译好的数据进行正则匹配。
88.相比于主动扫描探测,在无需预先知道服务器ip地址的情况下,可以通过数据包进行自动分析报文,相比于挨个发送报文进行检查提高了效率;识别结果也是根据众多数据结果收录得到的标准,因此,识别准确率也相对较高。
89.该被动识别web应用的方法,通过在安全网关产品上配置被动识别web服务的策略,通过策略中的ip地址段进行筛选http协议报文,在符合要求的报文中通过单位时间内检查报文的额度,进行选择合适的http报文进行解析,从而获得报文数据,再进行web应用指纹库匹配。该方法不需要发送大量的探测报文,有效的减轻了网络的负载;通过被动随机抽样获取报文的方式,加快了单包检测的能力;在不需要提前知道web应用ip地址的情况下,能够较快的发现新出现的网络应用,同时对安全网关的性能影响较小。
90.本技术实施例还提供一种web应用识别装置,如图6所示,为web应用识别装置的结
构框图,该装置包括但不限于:
91.收包模块100,用于获取数据包中的报文;
92.被动抽样模块200,用于对符合预设条件的报文进行被动抽样,以获得待检测报文;
93.如图7所示,为web应用识别装置的具体结构框图,其中,被动抽样模块200包括:
94.应用协议识别模块201,用于对所述报文进行应用协议解析,以获得所述报文的ip信息;
95.ip过滤模块202,用于判断所述报文的ip信息是否在用户配置的ip网段内;
96.计数模块203,用于若在用户配置的ip网段内,则对所述报文进行计数;
97.抽样检测模块204,用于当满足预设的报文数时,单位时间内获取预设数量的所述报文数中的任意有效报文作为待检测报文。
98.报文解析模块300,用于对所述待检测报文进行解析,以获得所述待检测报文的报文内容;
99.web应用匹配模块400,用于将所述报文内容与预设的web应用指纹库进行正则匹配,以识别web应用。
100.所述web应用匹配模块400包括:
101.正则匹配模块401,用于遍历所述web应用指纹库中的特征链表的正则表达式,以进行正则匹配;
102.识别结果入库模块402,用于若匹配成功,则将对应特征链表下的唯一web应用名称、cpe编号和所述待检测报文中的服务器ip地址,记录到资产表中,以供用户查看。
103.该装置还包括:
104.指纹库更新模块111,用于接收用户上传的web应用指纹库文件,以对所述web应用指纹库进行更新;
105.配置解析模块112,用于解密所述web应用指纹库文件,以获得web应用数据,所述web应用数据包括web应用名称、cpe编号、headers字段和报文特征信息;
106.加载模块113,用于加载所述web应用指纹库文件,以将每个web应用的web应用数据存放于特征链表中,所述特征链表包括唯一web应用名称、cpe编号,以及正则表达式编译的数据结构。
107.其中,如图8所示,为另一种web应用识别装置的结构框图,其中,web应用指纹库为被动识别web应用提供匹配的依据,用户上传指纹库以获取最新的web应用指纹库,上传成功后通过执行解密算法得到关于web应用指纹库的明文文件,web应用指纹库数据结构样例:
[0108][0109]
每个web应用数据包括:web应用名称、cpe、headers字段和一些其他报文特征信息。
[0110]
配置模块110,用于执行配置加载,将web应用指纹库配置进行解析,将指纹库数据的特征字符串进行正则编译,与web应用名称进行一一对应存储到特征链表中。
[0111]
收包模块100,用于从网卡中读取数据包;
[0112]
应用协议识别模块201,用于识别应用协议,通过http协议解析获取报文中的服务器ip信息;
[0113]
ip过滤模块202,用于通过用户配置的ip网段为筛选条件,对得到的服务器ip信息进行过滤,符合的则进行一下个模块,否则直接转发放行;
[0114]
被动抽样模块200,用于对当前ip地址下的报文进行一个计数,当满足用户配置的报文条件数1000后,取其中1000个报文中的任意一个报文进行检测,且每小时内检测的报文数为10;
[0115]
报文解析模块300,用于解析http协议报文(待检测报文),将解析到的报文内容存放到临时内存中,为web应用匹配模块提供数据;
[0116]
web应用匹配模块400,用于从报文解析模块获取到的报文内容与web应用指纹库内容进行匹配,通过遍历指纹库链表的正则表达式和报文中的内容进行匹配,匹配成功后将输出识别到的web应用名称和cpe内容并记录到资产库表中供用户使用查看。
[0117]
该装置应用到网关中,无需主动发送大量探测报文,有效减轻了网络负载;通过被动随机抽样获取报文的方式,加快了单包检测的能力,也无需提前获取web应用的ip地址,具有较高的检测效率。
[0118]
本技术实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述中任一项所述的web应用识别方法。
[0119]
本技术实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的web应用识别方法。
[0120]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一
部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0121]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0122]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0123]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0124]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
[0125]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献