应用识别特征库的测试方法、装置及电子设备与流程
未命名
09-24
阅读:113
评论:0
1.本发明涉及计算机技术领域,具体而言,涉及一种应用识别特征库的测试方法、装置及电子设备。
背景技术:
2.随着互联网的快速发展,互联网的应用发生了翻天覆地的变化,从最初的网页浏览、email、ftp下载,到现在的音乐、游戏、视频、移动互联,丰富多彩的应用成为互联网的主流。面对层出不穷的应用,如何对应用流量进行精确管控是网络管理员面临的最大问题,而管控的前提是精确识别出网络中的各类应用。传统应用识别技术通过协议和端口号来识别应用,随着应用程序越来越复杂,传统应用识别技术已经无法满足精细化的控制需求,新兴的app应用识别技术应运而生。
3.app应用识别技术是一种应用特征提取和匹配技术,其关键在于应用识别特征库。应用识别特征库包括了若干不同应用的特征,所以可以通过提取待识别应用相关的报文中的某些特定字段或报文的行为特征,并与应用识别特征库进行匹配来辨认该待识别应用。因此,利用app应用识别技术可以对以应用进行精准识别,识别之后进一步利用dpi(deep packet inspection,深度包检测)技术可以实现对应用流量的精准拦截。
4.所以,应用识别的准确性取决于应用识别特征库中各条特征的准确性和有效性。但是,由于应用版本的更新迭代,为了保证应用识别的准确度,需要及时确定应用识别特征库中特征的有效性。
5.在现有技术中,对应用识别特征库的有效性测试还处于手动测试阶段,但对于含有海量应用的应用特征的应用识别特征库而言,手动测试极其耗费人力成本与时间成本,测试效率极低且存在较高的失误率。
技术实现要素:
6.本发明的目的在于提供一种应用识别特征库的测试方法、装置及电子设备,以改善现有技术存在的问题。
7.本发明的实施例可以这样实现:
8.第一方面,本发明提供一种应用识别特征库的测试方法,应用于电子设备,所述电子设备与安全网关以及所述安全网关所连接的终端设备通信连接;所述安全网关安装有应用识别特征库,所述应用识别特征库包括若干应用程序的应用特征;所述方法包括:
9.获取所述终端设备上的被测应用与所述安全网关之间的网络流量数据;所述网络流量数据包括所述被测应用发起的访问数据以及所述安全网关返回的响应数据;所述安全网关用于基于所述应用识别特征库对所述访问数据进行拦截;
10.对所述网络流量数据进行分析,以确定所述安全网关对所述被测应用的访问拦截率;
11.利用所述访问拦截率,测试所述应用识别特征库中所述被测应用对应的所有应用
特征的有效性。
12.可选的,所述对所述网络流量数据进行分析,以确定所述安全网关对所述被测应用的访问拦截率的步骤,包括:
13.基于五元组信息将所述网络流量数据分划为多条数据流;
14.过滤全部所述数据流中的无关数据流,得到多条相关数据流;
15.统计每条所述相关数据流的响应报文数量,以计算所述安全网关对所述被测应用的访问拦截率。
16.可选的,所述过滤全部所述数据流中的无关数据流,得到多条相关数据流的步骤,包括:
17.针对任一所述数据流,对所述数据流的每个数据报文进行解析以获取特定字段;
18.若所述数据流中存在所述数据报文的特定字段与预先存储的各个预设字段中的任意一个相匹配,则判定所述数据流为所述无关数据流;
19.若所述数据流中全部所述数据报文的特定字段与每个所述预设字段均不匹配,则判定所述数据流为所述相关数据流;
20.遍历每条所述数据流,以确定全部所述数据流中的各条相关数据流和各条无关数据流;
21.剔除全部所述无关数据流,得到多条所述相关数据流。
22.可选的,所述统计每条所述相关数据流的响应报文数量,以计算所述安全网关对所述被测应用的访问拦截率的步骤,包括:
23.获取数据流总数;
24.针对任一所述相关数据流,统计所述相关数据流的响应报文数量;
25.对所述相关数据流中的数据报文进行协议分析以确定所述相关数据流的数据流类型;
26.基于所述响应报文数量以及所述数据流类型,确定所述相关数据流的拦截结果;
27.遍历每条所述相关数据流,得到每条所述相关数据流的拦截结果;
28.统计所述拦截结果为成功拦截的相关数据流的总数量;
29.计算所述总数量与所述数据流总数的比值,得到所述安全网关对所述被测应用的访问拦截率。
30.可选的,所述拦截结果为成功拦截和未成功拦截;所述基于所述响应报文数量以及所述数据流类型,确定所述安全网关对所述相关数据流的拦截结果的步骤,包括:
31.当所述数据流类型为tcp数据流且所述响应报文数量未超过预设tcp响应报文值时,判定所述安全网关成功拦截所述相关数据流;
32.当所述数据流类型为tcp数据流且所述响应报文数量超过所述预设tcp响应报文值时,判定所述安全网关未成功拦截所述相关数据流;
33.当所述数据流类型为udp数据流且所述响应报文数量未超过预设udp响应报文值时,判定所述安全网关成功拦截所述相关数据流;
34.当所述数据流类型为udp数据流且所述响应报文数量超过所述预设udp响应报文值时,判定所述安全网关未成功拦截所述相关数据流。
35.可选的,在所述获取所述终端设备上的被测应用与所述安全网关之间的网络流量
数据的步骤之前,所述方法还包括:
36.控制所述安全网关下载并安装所述应用识别特征库;
37.发送所述被测应用的网络访问拦截策略至所述安全网关,以使所述安全网关基于所述网络访问拦截策略进行数据拦截;
38.控制所述终端设备进行网络访问,以得到所述终端设备上的被测应用与所述安全网关之间的网络流量数据。
39.可选的,所述控制所述终端设备进行网络访问,以得到所述终端设备上的被测应用与所述安全网关之间的网络流量数据的步骤,包括:
40.控制所述终端设备启动所述被测应用;
41.向所述终端设备发送模拟操作命令并同时开启对所述终端设备的网络流量监听;所述模拟操作命令用于指示所述终端设备在设定时长内通过被测应用与不同交互对象进行数据交互;
42.在所述设定时长后发送卸载指令至所述终端设备,以使所述终端设备卸载所述被测应用;
43.停止对所述终端设备的网络流量监听,得到所述终端设备上的被测应用与所述安全网关之间的网络流量数据。
44.可选的,当所述终端设备为pc端设备时,所述方法还包括:
45.控制所述终端设备打开浏览器,并控制所述终端设备在所述浏览器中搜索所述被测应用;
46.接收所述终端设备返回的搜索结果数据;
47.基于所述搜索结果数据获取所述被测应用的官网网址;
48.向所述终端设备发送访问指令,所述访问指令用于指示所述终端设备基于所述官网网址访问所述被测应用的官网;
49.接收所述终端设备返回的访问结果;
50.基于所述访问结果,测试所述应用识别特征库中所述被测应用对应的所有应用特征的有效性。
51.第二方面,本发明还提供一种应用识别特征库的测试装置,应用于电子设备,所述电子设备与安全网关以及所述安全网关所连接的终端设备通信连接;所述安全网关安装有应用识别特征库,所述应用识别特征库包括若干应用程序的应用特征;所述装置包括:
52.流量获取模块,用于获取所述终端设备上的被测应用与所述安全网关之间的网络流量数据;所述网络流量数据包括所述被测应用发起的访问数据以及所述安全网关返回的响应数据;所述安全网关用于基于所述应用识别特征库对所述访问数据进行拦截;
53.数据分析模块,用于:对所述网络流量数据进行分析,以确定所述安全网关对所述被测应用的访问拦截率;利用所述访问拦截率,测试所述应用识别特征库中所述被测应用对应的所有应用特征的有效性。
54.第三方面,本发明还提供一种电子设备,包括:存储器和处理器,所述存储器存储有软件程序,当所述电子设备运行时所述处理器执行所述软件程序以实现上述第一方面的应用识别特征库的测试方法。
55.与现有技术相比,本发明实施例提供了一种应用识别特征库的测试方法、装置及
电子设备,本发明中电子设备与安全网关以及安全网关所连接的终端设备通信连接;安全网关安装有应用识别特征库,应用识别特征库包括若干应用程序的应用特征。这样,通过获取终端设备上的被测应用与安全网关之间的网络流量数据,该网络流量数据包括被测应用发起的访问数据以及安全网关返回的响应数据,而且安全网关用于基于应用识别特征库对访问数据进行拦截。接着对网络流量数据进行分析来确定安全网关对被测应用的访问拦截率,最后即可利用访问拦截率,测试应用识别特征库中被测应用对应的所有应用特征的有效性。相较于现有技术,电子设备可以对网络流量数据进行分析来实现自动化地对应用识别特征库中被测应用的应用特征进行有效性测试,节省了手工测试的人力成本和时间成本,提高了测试效率。
附图说明
56.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
57.图1为本发明实施例提供的一种应用场景示意图。
58.图2为本发明实施例提供的一种应用识别特征库的测试方法的流程示意图之一。
59.图3为本发明实施例提供的一种应用识别特征库的测试方法的流程示意图之二。
60.图4为本发明实施例提供的一种控制终端设备启动被测应用的流程示意图之一。
61.图5为本发明实施例提供的一种控制终端设备启动被测应用的流程示意图之二。
62.图6为本发明实施例提供的一种应用识别特征库的测试方法的流程示意图之三。
63.图7为本发明实施例提供的一种应用识别特征库的测试装置的结构示意图。
64.图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
65.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
66.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
67.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
68.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
69.在此,首先对本发明涉及的关键词或者关键术语进行介绍:
70.1、tcp:transmission control protocol,传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。tcp提供面向连接的服务,即通信双方(通常是一个客
户端和一个服务端)在传送数据之前必须先建立tcp连接,而建立tcp连接需要进行三次握手:
71.(1)第一次握手:客户端向服务端发送带有syn(synchronize)标志的数据包1,以请求建立tcp连接;
72.(2)第二次握手:服务端收到数据包1,回传一个带有syn/ack标志的数据包2至客户端,以表示服务端已收到数据包1;
73.(3)第三次握手:客户端再回传一个带有ack标志的数据包3至服务端,表示客户端收到数据包2。
74.经过三次握手之后,客户端与服务端之间即可成功建立tcp连接。
75.2、udp:user datagram protocol,用户数据包协议,是osi(open system interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
76.3、selenium:web应用程序的测试工具。
77.4、appium:application与selenium构成的合成词,是当前移动平台上主流的自动化测试工具之一。
78.5、dpi技术:一种基于应用层的流量检测和控制技术,称为“深度包检测”。dpi技术可以通过对应用流中的数据报文内容进行探测,从而确定数据报文的真正应用来源。6、adb:android debug bridge,安卓调试桥,用于通过电脑端来操作模拟器或真实设备的命令行工具。它可以存在于电脑端platform-tools目录下(adb.exe),adb是一种c/s架构的客户端-服务器程序。
79.请参见图1,图1为本发明实施例提供的一种应用场景示意图,在本发明的应用场景中,包括终端设备100、安全网关200以及电子设备300。
80.其中,终端设备100与安全网关200通信连接,这样可以通过安全网关200进行网络访问;电子设备300与终端设备100和安全网关200通信连接,可以实现对终端设备100和安全网关200的控制。
81.可选的,终端设备100可以是移动端设备,例如智能手机、智能平板等,终端设备还可以是pc端设备,例如笔记本电脑、计算机等。电子设备300,测试人员的个人笔记本、专业测试计算机等。
82.上述电子设备300执行本发明实施例提供的应用识别特征库的测试方法,从而对终端设备100上的被测应用与安全网关200之间的网络流量数据进行分析,以实现对应用识别特征库中被测应用对应的所有应用特征的有效性测试。以下通过实施例,并配合所附附图,对应用识别特征库的测试方法进行详细说明。
83.请参考图2,图2为本发明实施例提供的一种应用识别特征库的测试方法的流程示意图,该方法的执行主体为电子设备,电子设备与安全网关以及安全网关所连接的终端设备通信连接;安全网关安装有应用识别特征库,应用识别特征库包括若干应用程序的应用特征。该方法包括以下步骤s201~s203:
84.s201、获取终端设备上的被测应用与安全网关之间的网络流量数据。
85.在本实施例中,被测应用可以为应用识别特征库相关联的任一应用程序,网络流量数据可以是电子设备控制终端设备上的被测应用通过安全网关发起网络访问时产生的。
所以,网络流量数据可以包括被测应用发起的访问数据以及安全网关返回的响应数据。
86.可以理解,在终端设备上的被测应用通过安全网关发起网络访问时,安全网关都可以用于基于应用识别特征库对访问数据进行拦截。
87.s202、对网络流量数据进行分析,以确定安全网关对被测应用的访问拦截率。
88.s203、利用访问拦截率,测试应用识别特征库中被测应用对应的所有应用特征的有效性。
89.在本实施例中,由于安全网关可以对终端设备发起的访问数据进行拦截,若是拦截成功则说明安全网关不会将终端设备的一些访问请求报文进行转发,那么相应的安全网关也不会收到这些被拦截的请求报文本应存在的响应报文来回传给终端设备。
90.即,访问数据在安全网关上的拦截效果会影响安全网关向终端设备回传的响应数据。而安全网关是否能够对被测应用的访问数据进行拦截,一定程度上取决于应用识别特征库中被测应用对应的所有应用特征的有效性。
91.本发明实施例提供的应用识别特征库的测试方法,能够对被测应用与安全网关之间的网络流量数据进行分析,来确定出安全网关对被测应用的访问拦截率,进而再利用访问拦截率来反推应用识别特征库中被测应用对应的所有应用特征的有效性,这样节省了手工测试的人力成本和时间成本,提高了测试效率。
92.以下先对抓取被测应用与安全网关之间的网络流量数据的过程进行介绍。
93.可选的实现方式中,在图2的基础上,请参见图3,在上述步骤s201之前,该应用识别特征库的测试方法还可以包括s101~s103:
94.s101、控制安全网关下载并安装应用识别特征库。
95.在本实施例中,电子设备可以发送应用识别特征库的特征库安装指令至安全网关,以使安全网关响应于该特征库安装指令下载并安装应用识别特征库。
96.s101、发送被测应用的网络访问拦截策略至安全网关,以使安全网关基于网络访问拦截策略进行数据拦截。
97.在本实施例中,电子设备可以将预先配置的被测应用的网络访问拦截策略发送至安全网关,以使安全网关基于网络访问拦截策略进行数据拦截。
98.s103、控制终端设备进行网络访问,以得到终端设备上的被测应用与安全网关之间的网络流量数据。
99.在本实施例中,在应用特征识别库中被测应用的应用特征有效的情况下,终端设备通过安全网关进行网络访问时,安全网关可以利用被测应用的应用特征来准确识别出被测应用,接着再调用被测应用网络访问拦截策略对来自被测应用的请求报文进行拦截。
100.而在应用特征识别库中被测应用的应用特征无效的情况下,终端设备通过安全网关进行网络访问时,安全网关利用被测应用的应用特征无法识别出被测应用,那么就不会调用网络访问拦截策略对来自被测应用的请求报文进行拦截。
101.可选的,上述步骤s103的子步骤可以包括子步骤s1031~s10314:
102.s1031、控制终端设备启动被测应用。
103.在本实施例中,在终端设备为移动端或者pc端,但是在这两种情况下,控制终端设备启动被测应用的具体方式是不同的,以下对此进行介绍:
104.一、在终端设备为移动端(例如智能手机)的情况下,电子设备中可以部署有
appium服务器。请参见图4,电子设备可以通过以下步骤(1)~(8)来控制终端设备启动被测应用:
105.(1)通过appium服务器控制终端设备启动应用商城;
106.在本实施例中,可以通过appium服务器向终端设备发送模拟点击指令,以使终端设备响应于模拟点击指令,启动应用商城。
107.(2)通过appium服务器控制终端设备在应用商城搜索被测应用;
108.(3)接收终端设备返回的搜索页面数据;
109.其中,搜索页面数据可以包括多条搜索结果的页面元素;
110.(4)基于搜索页面数据中第一条搜索结果的页面元素,判断终端设备是否安装被测应用;
111.若终端设备安装有被测应用,则直接执行以下步骤(5);若终端设备未安装被测应用,则执行以下步骤(6)~(8)后执行步骤(5)。
112.可选的示例中,当第一条搜索结果的页面元素存在“打开”字样,则可以判定终端设备安装有被测应用;当第一条搜索结果的页面元素存在“安装”字样,则可以判定终端设备未安装被测应用。
113.(5)通过appium服务器控制终端设备启动被测应用;
114.(6)对第一条搜索结果的页面元素进行xpath定位,得到安装按钮在搜索页面的按钮位置信息;
115.(7)发送包括按钮位置信息的安装指令至终端设备;
116.在本实施例中,安装指令可以用于指示使终端设备在预设安装时长内安装被测应用。例如,预设安装时长可以是40秒,预设安装时长的大小以实际网络情况而定,在此不作限定。
117.(8)等待预设安装时长。
118.二、在终端设备为pc端(例如个人电脑)的情况下,终端设备中可以部署有selenium服务器。请参见图5,电子设备可以通过以下步骤1~3来控制终端设备启动被测应用:
119.1、通过selenium服务器发送位置查询命令至终端设备;
120.在本实施例中,位置查询命令可以用于指示终端设备获取被测应用的安装路径。可选的,该位置查询命令可以为用于查询被测应用的安装路径的cmd命令。
121.2、接收终端设备返回的被测应用的安装路径;
122.3、发送通过selenium服务器发送包括安装路径的启动指令至终端设备,以使终端设备执行启动指令启动安装路径的被测应用。
123.需要说明的是,终端设备可以为移动端、pc端中任意一个,在此不作限定。
124.s1032、向终端设备发送模拟操作命令并同时开启对终端设备的网络流量监听。
125.在本实施例中,模拟操作命令可以是一种adb monkey命令,可以用于指示终端设备在设定时长内通过被测应用与不同交互对象进行数据交互。设定时长可以设置为15s或者20s,设定时长的大小以实际情况设置为准,在此不作限定。
126.可选的,电子设备上可以安装有抓包分析工具,如此,电子设备在向终端设备发送模拟操作命令并同时通过抓包分析工具开启对终端设备的网络流量监听,这样,就可以在
设定时长对终端设备的wifi网口进行持续监听,来得到终端设备发出的数据报文和收到的数据报文。可选的示例中,抓包分析工具可以是wireshark。
127.可以理解,终端设备执行模拟操作命令时就类似于用户在终端设备的被测应用界面不同进行产生随机操作(例如滑动屏幕和/或点击屏幕),如此就可以向不同的交互对象发起请求。
128.s1033、在设定时长后发送卸载指令至终端设备,以使终端设备卸载被测应用。
129.在本实施例中,为了避免被测应用产生网络流量干扰对下一个应用程序的应用特征的有效性测试所进行的流量抓取过程,需要卸载掉被测应用。
130.s1034、停止对终端设备的网络流量监听,得到终端设备上的被测应用与安全网关之间的网络流量数据。
131.在本实施例中,电子设备发送卸载指令至终端设备的同时可以通过抓包分析工具停止对终端设备的网络流量监听,这样就得到了在设定时长内用户终端发出的所有数据报文和收到的所以数据报文,即得到终端设备上的被测应用与安全网关之间的网络流量数据。
132.接下来介绍对网络流量数据进行分析的详细过程。
133.在可选的实现方式中,如上所言,网络流量数据可以包括若干数据报文,其中一部分可以是被测应用发起的访问数据中的多个请求报文,另一部分可以是安全网关返回的相应数据中的多个响应报文。可选的,由于网络流量数据中可以是被测应用试图与不同的交互对象之间进行交互产生的所有数据报文,所以可以基于交互对象的不同将网络流量数据分类成多条数据流再进行分析。所以,上述步骤s202的子步骤可以包括s2021~s2023。
134.s2021、基于五元组信息将网络流量数据划分为多条数据流。
135.可以理解,数据报文的五元组信息可以包括源ip地址、目的ip地址、源端口号、目的端口号和传输协议。
136.所以,基于网络流量数据中的数据报文的五元组信息可以确定被测应用的交互对象(即被测应用发起的请求报文的请求接收方),因而可以将网络流量数据中,被测应用与同一交互对象之间的所有数据报文划分为一条数据流。也即,一条数据流中可以包括被测应用与同一交互对象之间的所有数据报文。
137.s2022、过滤全部数据流中的无关数据流,得到多条相关数据流。
138.可选的,在被测应用进行网络访问时,同时终端设备可能也会产生一些与基本服务提供方(例如域名服务器、终端设备厂商相关等)之间的数据报文。所以,全部数据流中难免有些数据流是终端设备与各个基本服务提供方之间交互产生的所有数据报文,这样的数据流属于与被测应用无关的无关数据流,安全网关不需要对这类无效数据流进行拦截,所以计算访问拦截率与无关数据流无关。
139.可选的示例中,假设数据流a中包括的全是一些dns(domain name system,域名系统)相关的报文,数据流b中包括的全是一些涉及终端设备厂商的报文,那么数据流a与数据流b中的数据报文均可视为无效杂包,数据流a与数据流b即为需要过滤掉的无关数据流。该举例仅为示例,在此不对无关数据流的种类进行限定。
140.在一种可选的实现中,可以基于数据流中数据报文的特定字段来判断是否为无关数据流。所以,上述步骤s2022的子步骤可以包括s20221~s20225。
141.s20221、针对任一数据流,对数据流的每个数据报文进行解析以获取特定字段。
142.在本实施例中,特定字段可以用于标识交流对象的身份信息,例如域名或者ip地址。可选的示例中,若数据流中的数据报文为https报文,那么特定字段可以是https报文中的server_name;数据流中的数据报文为http报文,那么特定字段可以是http报文中的host字段。
143.s20222、若数据流中存在数据报文的特定字段与预先存储的各个预设字段中的任意一个相匹配,则判定数据流为无关数据流。
144.s20223、若数据流中全部数据报文的特定字段与每个预设字段均不匹配,则判定数据流为相关数据流。
145.在本实施例中,预设字段可以是基本服务提供方(例如域名服务器、终端设备厂商相关等)的域名或者ip地址。
146.s20224、遍历每条数据流,以确定全部数据流中的各条相关数据流和各条无关数据流。
147.对于每条数据流,执行上述步骤s20221、s20222,或者执行上述步骤s20221、s20222,即可确定每条数据流属于无关数据流还是相关数据流。
148.s20225、剔除全部无关数据流,得到多条相关数据流。
149.如上所述,无关数据流为终端设备与基本服务提供方之间的交互数据,和被测应用无关,为了保证访问拦截率的准确性,需要将全部无关数据流都剔除掉。
150.s2023、统计每条相关数据流的响应报文数量,以计算安全网关对被测应用的访问拦截率。
151.在本实施例中,相关数据流的响应报文数量可以反映安全网关是否对该条相关数据流进行拦截。
152.在一种可选的实现中,可以基于相关数据流的数据流类型以及响应报文数量,来确定相关数据流是否被安全网关拦截。即上述步骤s2023的子步骤可以包括s20231~s20237:
153.s20231、获取数据流总数。
154.s20232、针对任一相关数据流,统计相关数据流的响应报文数量。
155.s20233、对相关数据流中的数据报文进行协议分析以确定相关数据流的数据流类型。
156.在本实施例中,数据流总数可以是执行上述步骤s2021得到的全部数据流的数量。相关数据流中的响应报文为以终端设备即为接收方的数据报文。而相关数据流的数据流类型可以是tcp数据流、udp数据流二者之一。相关数据流的响应报文数量和数据流类型均可以基于数据报文的五元组信息确定。
157.s20234、基于响应报文数量以及数据流类型,确定相关数据流的拦截结果。
158.对于tcp数据流,安全网关只会对三次握手建立tcp连接之后的来自被测应用的数据报文进行拦截,由于三次握手中第二次握手时终端设备收到的即为响应报文。所以,tcp数据流中响应报文数量未超过1,则说明安全网关成功拦截tcp数据流;反之,说明安全网关未成功拦截tcp数据流。
159.对于udp数据流,安全网关通常拦截终端设备发出的第一个或者第二个数据报文,
由于终端设备的发出的第一个数据报文被安全网关发出,所以终端设备可以收到针对第一个数据报文的响应报文。所以,udp数据流中响应报文数量未超过1,则说明安全网关成功拦截udp数据流;反之,说明安全网关未成功拦截udp数据流。
160.也就是,上述步骤s20234中相关数据流的拦截结果存在以下四种情况:
161.(1)当数据流类型为tcp数据流且响应报文数量未超过预设tcp响应报文值时,判定安全网关成功拦截相关数据流;
162.(2)当数据流类型为tcp数据流且响应报文数量超过预设tcp响应报文值时,判定安全网关未成功拦截相关数据流;
163.(3)当数据流类型为udp数据流且响应报文数量未超过预设udp响应报文值时,判定安全网关成功拦截相关数据流;
164.(4)当数据流类型为udp数据流且响应报文数量超过预设udp响应报文值时,判定安全网关未成功拦截相关数据流。
165.可以理解,预设tcp响应报文值以及预设udp响应报文值均可以为1。
166.s20235、遍历每条相关数据流,得到每条相关数据流的拦截结果。
167.对于每条相关数据流都执行上述步骤s20232-s20234,即可得到每条相关数据流的拦截结果。
168.s20236、统计拦截结果为成功拦截的相关数据流的总数量以计算该总数量与数据流总数的比值,得到安全网关对被测应用的访问拦截率。
169.在本实施例中,由于安全网关对被测应用的访问拦截率是被成功拦截的相关数据流的总数量与数据流总数的比值,数据流总数包括安全网关不会拦截的无关数据流,所以即使应用识别特征库中被测应用的应用特征无效,计算出的访问拦截率也不是靠近0的而是靠近一个阈值。
170.可选的实现方式中,上述步骤s203的子步骤可以包括:
171.s2031、判断所述访问拦截率是否超过设定阈值;
172.s2032、若所述访问拦截率超过所述设定阈值,则判定所述应用识别特征库中所述被测应用对应的所有应用特征有效;
173.s2033、若所述访问拦截率未超过所述设定阈值,则判定所述应用识别特征库中所述被测应用对应的所有应用特征无效。
174.在本实施例中,应用识别特征库中所述被测应用对应的所有应用特征无效,则说明被测应用的应用特征亟待更新。
175.可选的示例中,设定阈值可以为30%或者40%,该举例仅为示例,设定阈值的大小可以基于实际情况进行设置,在此不作限定。
176.如此,基于上述步骤s101~s103以及s201~203即可实现对被测应用的应用特征的有效性进行测试。
177.当终端设备为pc端时,以下给出另一种对被测应用的应用特征的有效性进行测试的方式。
178.请参见图6,应用识别特征库的测试还可以包括以下步骤s301~s306:
179.s301、控制终端设备打开浏览器,并控制终端设备在浏览器中搜索被测应用。
180.s302、接收终端设备返回的搜索结果数据。
181.s303、基于搜索结果数据获取被测应用的官网网址。
182.在本实施例中,可以基于搜索结果数据进行xpath定位,如果xpath定位有结果,则获取该位置下的页面url,即可得到所述被测应用的官网网址。
183.s304、向终端设备发送访问指令,访问指令用于指示终端设备基于官网网址访问被测应用的官网。
184.s305、接收终端设备返回的访问结果。
185.s306、基于访问结果,测试应用识别特征库中被测应用对应的所有应用特征的有效性。
186.在本实施例中,若访问结果为访问成功,则说明安全网关未拦截终端设备的访问请求,进一步说明所述应用识别特征库中所述被测应用对应的所有应用特征失效。若访问结果为访问失败,则说明安全网关成功拦截终端设备的访问请求,进一步说明所述应用识别特征库中所述被测应用对应的所有应用特征仍然有效。
187.同样的,终端设备为pc端的情况下,终端设备上可以部署有selenium服务器,电子设备可以利用selenium服务器来执行s301~s306。
188.需要说明的是,上述方法实施例中各个步骤的执行顺序不以附图所示为限制,各步骤的执行顺序以实际应用情况为准。
189.与现有技术相比,本发明实施例具有以下有益效果:
190.本发明能够利用电子设备作为控制中心,先去抓取被测应用与安全网关之间的网络流量数据,再对网络流量数据进行分析,来确定出安全网关对被测应用的访问拦截率,进而再利用访问拦截率来反推应用识别特征库中被测应用对应的所有应用特征的有效性,这样节省了手工测试的人力成本和时间成本,提高了测试效率;
191.针对终端设备为移动端、pc端两种情况,本发明能够分别采用appium框架和selenium框架来实现网络流量数据的抓取,进而对应用识别特征库中被测应用对应的所有应用特征的有效性进行测试;
192.在当终端设备为pc端且被测应用存在官网时,本发明还可以控制终端设备对被测应用的官网进行访问,基于访问结果来判断被测应用的应用特征的有效性。
193.为了执行上述方法实施例及各个可能的实施方式中的相应步骤,下面给出一种应用识别特征库的测试装置的实现方式。
194.请参见图7,图7示出了本发明实施例提供的应用识别特征库的测试装置的结构示意图。该应用识别特征库的测试装置400应用于电子设备,所述电子设备与安全网关以及所述安全网关所连接的终端设备通信连接;所述安全网关安装有应用识别特征库,所述应用识别特征库包括若干应用程序的应用特征。该应用识别特征库的测试装置400包括:流量获取模块420、数据分析模块430。
195.流量获取模块420,用于获取所述终端设备上的被测应用与所述安全网关之间的网络流量数据;所述网络流量数据包括所述被测应用发起的访问数据以及所述安全网关返回的响应数据;所述安全网关用于基于所述应用识别特征库对所述访问数据进行拦截;
196.数据分析模块430,用于:对所述网络流量数据进行分析,以确定所述安全网关对所述被测应用的访问拦截率;利用所述访问拦截率,测试所述应用识别特征库中所述被测应用对应的所有应用特征的有效性。
197.所属领域的技术人员可以清楚地了解到,应用识别特征库的测试装置400还可以包括流量抓取模块410和访问控制模块440,流量抓取模块410可以用于实现上述步骤s101~s103及其子步骤,访问控制模块440可以用于实现上述步骤s301~s306及其子步骤;流量获取模块420可以用于实现上述步骤s201,数据分析模块430具体可以用于实现上述步骤s202~s203及其子步骤。为描述的方便和简洁,上述描述的应用识别特征库的测试装置400具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
198.请参见图8,图8为本发明实施例提供的一种电子设备的结构示意图。该电子设备300包括处理器310、存储器320和总线330,处理器310通过总线330与存储器320连接。
199.存储器320可用于存储软件程序,例如,如上述应用识别特征库的测试装置400对应的软件程序。处理器310通过运行存储在存储器320内的软件程序,从而执行各种功能应用以及数据处理以实现如本发明实施例所提供的应用识别特征库的测试方法。
200.其中,存储器320可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),闪存存储器(flash),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
201.处理器310可以是一种集成电路芯片,具有信号处理能力。该处理器310可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
202.可以理解,图8所示的结构仅为示意,电子设备300还可以包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8中所示的各组件可以采用硬件、软件或其组合实现。
203.综上所述,本发明实施例提供了一种应用识别特征库的测试方法、装置及电子设备,通过获取终端设备上的被测应用与安全网关之间的网络流量数据,该网络流量数据包括被测应用发起的访问数据以及安全网关返回的响应数据,而且安全网关用于基于应用识别特征库对访问数据进行拦截。接着对网络流量数据进行分析来确定安全网关对被测应用的访问拦截率,最后即可利用访问拦截率,测试应用识别特征库中被测应用对应的所有应用特征的有效性。相较于现有技术,电子设备可以对网络流量数据进行分析来实现自动化地对应用识别特征库中被测应用的应用特征进行有效性测试,节省了手工测试的人力成本和时间成本,提高了测试效率。
204.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种应用识别特征库的测试方法,其特征在于,应用于电子设备,所述电子设备与安全网关以及所述安全网关所连接的终端设备通信连接;所述安全网关安装有应用识别特征库,所述应用识别特征库包括若干应用程序的应用特征;所述方法包括:获取所述终端设备上的被测应用与所述安全网关之间的网络流量数据;所述网络流量数据包括所述被测应用发起的访问数据以及所述安全网关返回的响应数据;所述安全网关用于基于所述应用识别特征库对所述访问数据进行拦截;对所述网络流量数据进行分析,以确定所述安全网关对所述被测应用的访问拦截率;利用所述访问拦截率,测试所述应用识别特征库中所述被测应用对应的所有应用特征的有效性。2.根据权利要求1所述的方法,其特征在于,所述对所述网络流量数据进行分析,以确定所述安全网关对所述被测应用的访问拦截率的步骤,包括:基于五元组信息将所述网络流量数据划分为多条数据流;过滤全部所述数据流中的无关数据流,得到多条相关数据流;统计每条所述相关数据流的响应报文数量,以计算所述安全网关对所述被测应用的访问拦截率。3.根据权利要求2所述的方法,其特征在于,所述过滤全部所述数据流中的无关数据流,得到多条相关数据流的步骤,包括:针对任一所述数据流,对所述数据流的每个数据报文进行解析以获取特定字段;若所述数据流中存在所述数据报文的特定字段与预先存储的各个预设字段中的任意一个相匹配,则判定所述数据流为所述无关数据流;若所述数据流中全部所述数据报文的特定字段与每个所述预设字段均不匹配,则判定所述数据流为所述相关数据流;遍历每条所述数据流,以确定全部所述数据流中的各条相关数据流和各条无关数据流;剔除全部所述无关数据流,得到多条所述相关数据流。4.根据权利要求2所述的方法,其特征在于,所述统计每条所述相关数据流的响应报文数量,以计算所述安全网关对所述被测应用的访问拦截率的步骤,包括:获取数据流总数;针对任一所述相关数据流,统计所述相关数据流的响应报文数量;对所述相关数据流中的数据报文进行协议分析以确定所述相关数据流的数据流类型;基于所述响应报文数量以及所述数据流类型,确定所述相关数据流的拦截结果;遍历每条所述相关数据流,得到每条所述相关数据流的拦截结果;统计所述拦截结果为成功拦截的相关数据流的总数量;计算所述总数量与所述数据流总数的比值,得到所述安全网关对所述被测应用的访问拦截率。5.根据权利要求4所述的方法,其特征在于,所述拦截结果为成功拦截和未成功拦截;所述基于所述响应报文数量以及所述数据流类型,确定所述安全网关对所述相关数据流的拦截结果的步骤,包括:当所述数据流类型为tcp数据流且所述响应报文数量未超过预设tcp响应报文值时,判
定所述安全网关成功拦截所述相关数据流;当所述数据流类型为tcp数据流且所述响应报文数量超过所述预设tcp响应报文值时,判定所述安全网关未成功拦截所述相关数据流;当所述数据流类型为udp数据流且所述响应报文数量未超过预设udp响应报文值时,判定所述安全网关成功拦截所述相关数据流;当所述数据流类型为udp数据流且所述响应报文数量超过所述预设udp响应报文值时,判定所述安全网关未成功拦截所述相关数据流。6.根据权利要求1-5任一项所述的方法,其特征在于,在所述获取所述终端设备上的被测应用与所述安全网关之间的网络流量数据的步骤之前,所述方法还包括:控制所述安全网关下载并安装所述应用识别特征库;发送所述被测应用的网络访问拦截策略至所述安全网关,以使所述安全网关基于所述网络访问拦截策略进行数据拦截;控制所述终端设备进行网络访问,以得到所述终端设备上的被测应用与所述安全网关之间的网络流量数据。7.根据权利要求6所述的方法,其特征在于,所述控制所述终端设备进行网络访问,以得到所述终端设备上的被测应用与所述安全网关之间的网络流量数据的步骤,包括:控制所述终端设备启动所述被测应用;向所述终端设备发送模拟操作命令并同时开启对所述终端设备的网络流量监听;所述模拟操作命令用于指示所述终端设备在设定时长内通过被测应用与不同交互对象进行数据交互;在所述设定时长后发送卸载指令至所述终端设备,以使所述终端设备卸载所述被测应用;停止对所述终端设备的网络流量监听,得到所述终端设备上的被测应用与所述安全网关之间的网络流量数据。8.根据权利要求1所述的方法,其特征在于,当所述终端设备为pc端设备时,所述方法还包括:控制所述终端设备打开浏览器,并控制所述终端设备在所述浏览器中搜索所述被测应用;接收所述终端设备返回的搜索结果数据;基于所述搜索结果数据获取所述被测应用的官网网址;向所述终端设备发送访问指令,所述访问指令用于指示所述终端设备基于所述官网网址访问所述被测应用的官网;接收所述终端设备返回的访问结果;基于所述访问结果,测试所述应用识别特征库中所述被测应用对应的所有应用特征的有效性。9.一种应用识别特征库的测试装置,其特征在于,应用于电子设备,所述电子设备与安全网关以及所述安全网关所连接的终端设备通信连接;所述安全网关安装有应用识别特征库,所述应用识别特征库包括若干应用程序的应用特征;所述装置包括:流量获取模块,用于获取所述终端设备上的被测应用与所述安全网关之间的网络流量
数据;所述网络流量数据包括所述被测应用发起的访问数据以及所述安全网关返回的响应数据;所述安全网关用于基于所述应用识别特征库对所述访问数据进行拦截;数据分析模块,用于:对所述网络流量数据进行分析,以确定所述安全网关对所述被测应用的访问拦截率;利用所述访问拦截率,测试所述应用识别特征库中所述被测应用对应的所有应用特征的有效性。10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器存储有软件程序,当所述电子设备运行时所述处理器执行所述软件程序以实现如权利要求1-8中任一项所述的应用识别特征库的测试方法。
技术总结
本发明提供了一种应用识别特征库的测试方法、装置及电子设备,通过获取终端设备上的被测应用与安全网关之间的网络流量数据,该网络流量数据包括被测应用发起的访问数据以及安全网关返回的响应数据,而且安全网关用于基于应用识别特征库对访问数据进行拦截。接着对网络流量数据进行分析来确定安全网关对被测应用的访问拦截率,最后即可利用访问拦截率,测试应用识别特征库中被测应用对应的所有应用特征的有效性。相较于现有技术,电子设备可以对网络流量数据进行分析来实现自动化地对应用识别特征库中被测应用的应用特征进行有效性测试,节省了手工测试的人力成本和时间成本,提高了测试效率。提高了测试效率。提高了测试效率。
技术研发人员:曾雍瑶 毛明慧
受保护的技术使用者:迈普通信技术股份有限公司
技术研发日:2023.07.04
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
