CN111740923A - 应用识别规则的生成方法、装置、电子设备和存储介质 - Google Patents
应用识别规则的生成方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111740923A CN111740923A CN202010572526.2A CN202010572526A CN111740923A CN 111740923 A CN111740923 A CN 111740923A CN 202010572526 A CN202010572526 A CN 202010572526A CN 111740923 A CN111740923 A CN 111740923A
- Authority
- CN
- China
- Prior art keywords
- identification
- application
- user agent
- target application
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001914 filtration Methods 0.000 claims description 23
- 238000011835 investigation Methods 0.000 abstract description 3
- 238000012216 screening Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种应用识别规则的生成方法、装置、电子设备和存储介质,所述应用识别规则的生成方法包括:获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息;从所述网络请求地址中提取目标应用的第一识别特征;对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征;根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。本申请能够对抓取到的APP流量数据进行解析并自动生成能识别该APP的解析规则,便于测试人员后期通过上网日志数据和该解析规则就能自动识别出对应的APP,节省了测试人员人工排查APP解析规则的时间,有效地提高了工作效率和质量。
Description
技术领域
本申请涉及信息安全技术领域,具体涉及一种应用识别规则的生成方法、装置、电子设备和存储介质。
背景技术
近几年,随着大数据信息时代的快速发展,网络运营商和多家公司开启了联合运营合作模式,提供上网日志等数据资源。通过测试人员使用抓包工具进行应用程序(APP)流量数据的抓取,来做成识别APP的解析规则库,做到存量经营,再利用上网日志数据可以自动识别出用户使用的APP应用信息、分类等,对用户的需求进行进一步的挖掘和预测,从而可以进一步推进社会经济的进步。
然而发明人发现,现有技术中主要通过测试人员手动的方式来解析APP生成规则,导致解析过程耗费了较多的人力、物力和时间。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的应用识别规则的生成方法、装置、电子设备和存储介质。
依据本申请的第一方面,提供了一种应用识别规则的生成方法,包括:
获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息;
从所述网络请求地址中提取目标应用的第一识别特征;
对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征;
根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。
可选地,所述获取目标应用的流量数据包括:
利用预配置好的抓包工具,抓取所述目标应用在指定网络环境下的流量数据,并将抓取的流量数据保存为逗号分隔符CSV文件。
可选地,所述从所述网络请求地址中提取目标应用的第一识别特征包括:
利用特征匹配模板对所述网络请求地址进行匹配,基于匹配结果提取所述目标应用的第一识别特征。
可选地,所述根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则包括:
将所述第一识别特征和所述网络请求地址中的域名进行拼接;
根据拼接结果生成第一识别特征的正则表达式。
可选地,所述对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征包括:
对所述用户代理信息分别进行空字段过滤和/或浏览器用户代理字段过滤,得到字段过滤结果。
可选地,所述对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征包括:
基于所述字段过滤结果对所述用户代理信息进行解析,并根据解析结果进行特征匹配,根据特征匹配结果截取有效用户代理字段特征;
所述根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则包括:
根据所述有效用户代理字段特征生成第二识别特征的正则表达式。
可选地,所述方法还包括:
获取应用程序的上网日志,从所述上网日志中提取地址字段和用户代理字段的日志内容;
利用所述应用识别规则,对提取的日志内容进行识别,得到应用程序识别结果。
依据本申请的第二方面,提供了一种应用识别规则的生成装置,包括:
第一获取单元,用于获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息;
提取单元,用于从所述网络请求地址中提取目标应用的第一识别特征;
解析单元,用于对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征;
生成单元,用于根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。
可选地,所述第一获取单元还用于:
利用预配置好的抓包工具,抓取所述目标应用在指定网络环境下的流量数据,并将抓取的流量数据保存为逗号分隔符CSV文件。
可选地,所述提取单元还用于:
利用特征匹配模板对所述网络请求地址进行匹配,基于匹配结果提取所述目标应用的第一识别特征。
可选地,所述生成单元还用于:
将所述第一识别特征和所述网络请求地址中的域名进行拼接;
根据拼接结果生成第一识别特征的正则表达式。
可选地,所述解析单元还用于:
对所述用户代理信息分别进行空字段过滤和/或浏览器用户代理字段过滤,得到字段过滤结果。
可选地,所述解析单元还用于:
基于所述字段过滤结果对所述用户代理信息进行解析,并根据解析结果进行特征匹配,根据特征匹配结果截取有效用户代理字段特征;
所述生成单元还用于:
根据所述有效用户代理字段特征生成第二识别特征的正则表达式。
可选地,所述方法还包括:
获取应用程序的上网日志,从所述上网日志中提取地址字段和用户代理字段的日志内容;
利用所述应用识别规则,对提取的日志内容进行识别,得到应用程序识别结果。
依据本申请的第三方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述任一所述的应用识别规则的生成方法。
依据本申请的第四方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如上述任一所述的应用识别规则的生成方法。
由上述可知,本申请的技术方案,通过获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息,从所述网络请求地址中提取目标应用的第一识别特征,对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征,根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。本申请能够对抓取到的APP流量数据进行解析并自动生成能识别该APP的解析规则,便于测试人员后期通过上网日志数据和该解析规则就能自动识别出对应的APP,节省了测试人员人工排查APP解析规则的时间,有效地提高了工作效率和质量。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本申请一个实施例的应用识别规则的生成方法的流程示意图;
图2示出了根据本申请一个实施例的应用识别规则的生成流程示意图;
图3示出了根据本申请一个实施例的应用识别规则的生成装置的结构示意图;
图4示出了根据本申请一个实施例的电子设备的结构示意图;
图5示出了根据本申请一个实施例的计算机可读存储介质的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
现有技术中用于识别APP的解析规则库的构建大多依赖于人工手动方式,通过人为主动下载安装APP应用,启动、运行并产生流量,然后对流量进行抓包和协议栈分析,总结出该应用的解析规则。这种方法基本取决于人工经验,针对同一个APP应用,不同分析人员可能总结出不同的解析规则,准确度不高,且效率低下。特别是现在互联网内容浩如烟海,新的APP应用层出不穷,版本更新和内容迭代此起彼伏,使得解析规则库的更新非常耗费人力、物力和时间,同时也很难做到及时、准确。
基于此,本申请实施例提供了一种应用识别规则的生成方法,如图1所示,所述方法包括如下的步骤S110至步骤S140:
步骤S110,获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息。
在进行应用识别规则的生成时,可以先获取目标应用程序的流量数据,作为后续生成识别规则的基础。这里的流量数据是指应用程序在其运行过程中所产生的数据包流量,流量数据中通常可以包括协议数据如HTTP协议(Hypertext Transfer Protocol,超文本传输协议)/HTTPS协议(Secure Hypertext Transfer Protocol,安全超文本传输协议)、IP地址(Internet Protocol Address,网际协议地址)、端口号等数据。HTTP协议/HTTPS协议具体又可以包括网络请求地址URL(Uniform Resource Locator,统一资源定位符/网页地址)和用户代理(User Agent,简称UA)信息等。
在具体实施时,本申请实施例主要采用网络请求地址URL和用户代理UA作为后续生成识别规则的基础信息。这里的网络请求地址URL和用户代理UA均是HTTP协议/HTTPS协议中所携带的关键协议字段,其中URL是互联网上标准的资源的地址,互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它,而用户代理UA主要用来标识浏览器客户端信息,各种不同的网络浏览器会采用不同的用户代理字符串来作为自身的标志。当然除了上述流量数据,本领域技术人员也可以根据实际需要获取其他类型的流量数据如TCP协议(Transmission Control Protocol,传输控制协议)/UDP协议(User Datagram Protocol,用户数据报协议)数据以进行相应的处理和分析,在此不一一列举。
步骤S120,从所述网络请求地址中提取目标应用的第一识别特征。
在得到目标应用的流量数据后,对流量数据中的网络请求地址URL进行特征提取,进而得到与该目标应用对应的第一识别特征。基本的URL一般包含以下几部分内容:模式(或称协议)、服务器名称(或IP地址)、路径和文件名。具体地,在对网络请求地址进行特征提取时,可以基于上述URL中的字段信息对流量数据进行过滤,可以先排除以PNG、JPG等后缀结尾的图片数据,进而得到不包含图片的地址,如http://wx1.sinaimg.cn/orj480/48789827ly1gei0mrt1xqj21hc0u0b29.jpg即为图片形式的网络请求地址。之后对过滤得到的地址进行进一步筛选,筛选出带有特征值的地址,对这些地址进行特征值提取,进而得到目标应用的地址字段特征即第一识别特征。这里的特征值可以是从该地址字段中提取出的能够表征该目标应用APP的唯一ID信息。
步骤S130,对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征。
在得到目标应用的流量数据后,可以对流量数据中的用户代理信息进行解析,进而根据解析结果得到该目标应用的第二识别特征。具体地,用户代理信息是指用户代理字段(User Agent String),有时候网站需要获取客户端的信息,以了解网站内容在客户端的展现方式,因此大部分用户代理会向网站发送用户代理字段,该字段的字符串通常是由字母和数字组成。因此本申请实施例充分利用了用户代理信息来生成目标应用的识别规则,通过对用户代理字段进行筛选并对字符串进行解析,进而得到了用户代理字段的特征值,以此作为目标应用的用户代理字段特征即第二识别特征。
步骤S140,根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。
在分别得到目标应用的地址字段特征和用户代理字段特征后,将地址字段特征和用户代理字段特征与目标应用建立对应关系,进而得到该目标应用的应用识别规则。
本申请实施例通过上述方法可以自动生成包含安卓和IOS系统(苹果移动应用系统)的APP应用识别规则,便于测试人员后期通过上网日志数据和该识别规则就能自动识别出对应的APP,节省了测试人员人工排查APP识别规则的时间,有效地提高了工作效率和质量。
在本申请的一个实施例中,所述获取目标应用的流量数据包括:利用预配置好的抓包工具,抓取所述目标应用在指定网络环境下的流量数据,并将抓取的流量数据保存为逗号分隔符CSV文件。
具体实施时,本申请实施例在获取目标应用的流量数据时,主要利用抓包工具进行网络数据的抓取,具体步骤如下:1)手机等终端设备连接热点,配置好抓包工具环境;2)在抓包工具中选择无线网卡并配置好服务器端口,填写过滤报文,筛选对应的IP地址,抓取手机里的APP应用发送的HTTP/HTTPS请求数据,其中,HTTP/HTTPS请求数据是通过点击抓包工具中的开始按钮和最后的结束按钮来抓取发送的请求数据的;3)通过在手机的APP应用中模拟用户使用,得到各个动作所发出的HTTP/HTTPS请求数据;4)在抓包工具结束抓取请求数据后,将抓取到的流量数据进行保存生成逗号分隔符CSV(Comma-Separated Values)文件。CSV文件是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式,在本申请实施例中主要用于存储抓取到的目标应用的流量数据,由于流量数据通常包括多个维度、多种格式的字段特征,而CSV文件所保存的数据格式正好符合流量数据的格式要求,同时也便于后续进行流量数据的读取和处理。当然本领域技术人员也可以将抓取到的流量数据保存为其他格式的文件,在此不一一列举。本申请实施例中的抓包工具可以采用Wireshark(一种网络封包分析软件)、Fiddler(一种HTTP协议调试代理工具)或Sniffer(一种基于被动侦听原理的网络分析工具)等,具体采用哪种抓包工具本领域技术人员可以根据实际情况灵活选择,在此不做具体限定。
在本申请的一个实施例中,所述从所述网络请求地址中提取目标应用的第一识别特征包括:利用特征匹配模板对所述网络请求地址进行匹配,基于匹配结果提取所述目标应用的第一识别特征。
本申请实施例在根据网络请求地址提取目标应用的第一识别特征时,主要利用特征匹配模板来与网络请求地址进行匹配,进而根据匹配结果提取出目标应用的第一识别特征。这里的特征匹配模板可以是基于网络请求地址的字段内容来进行配置的,例如对于APP的网络请求地址,其地址字段中通常包括PACKAGE_NAME、APP_NAME、APPKEY等内容,PACKAGE_NAME又叫包名,是指按照符合安卓或者IOS标准的原则进行设计,使用包名作为应用的唯一标识,即包名必须唯一,一个包名代表一个应用,不允许两个应用使用同样的包名,因此包名通常用于系统识别应用。包名的命名规则可以是包含大写字母(A到Z)、小写字母(a到z)、数字和下划线,可以用点(英文句号)分隔,隔开的每一段都以字母开头。APP_NAME即应用程序的名称,APPKEY是一种字符型字段,在应用程序使用过程中主要用来计算签名值,以提高传输过程参数的防篡改性。通过将上述列举的字段内容作为特征匹配模板与网络请求地址进行匹配,进而提取出网络请求地址中的地址字段特征,用以表征目标应用APP。
对于一个地址中出现多个字段特征的情形,可以事先设定各字段特征之间的优先级,将优先级最高的作为该地址字段的唯一特征值,例如可以设定优先级从高至低依次为PACKAGE_NAME>APPKEY>APP_NAME,对于如下的URL字段:
“http://f.gm.mob.com/v5/gcf?appkey=2c1b83d78d9d0&plat=1&apppkg=cn.cisc&appver=7.4.0&networktype=wifi&duid=09240dcfc9ad9c6a77326bc25ba6037bb31a5478”,可以看出,该URL字段地址中包括APPKEY(appkey)和PACKAGE_NAME(apppkg)等字段内容,由于PACKAGE_NAME的优先级高于APPKEY,因此这里可以将apppkg=cn.cisc作为该APP的唯一特征值。
在本申请的一个实施例中,所述根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则包括:将所述第一识别特征和所述网络请求地址中的域名进行拼接;根据拼接结果生成第一识别特征的正则表达式。
为了进一步提高生成的识别规则的识别能力,在基于特征匹配模板提取出目标应用的地址字段特征后,还可以进一步将地址字段中包含的域名与目标应用的地址字段特征进行组合,同时将地址字段中的其他信息进行统一处理如全部标记为某一特定符号,最终得到第一识别特征的正则表达式作为该目标应用的地址字段识别规则。
域名也称之为网域,是网域名称(Domain Name)的简称,是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。本申请实施例在具体实施时,把上述域名和筛选出来的地址字段特征拼接在一起,其余变量可以用特定符号“*”来代替,生成的识别规则是模糊匹配APP的地址字段识别规则。仍以上述例子为例,经过上述处理后,“f.gm.mob.com”即为该APP地址字段的域名,那么就可以用“f.gm.mob.com*apppkg=cn.cisc&*”作为该APP的地址字段识别规则。
在本申请的一个实施例中,所述对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征包括:对所述用户代理信息分别进行空字段过滤和/或浏览器用户代理字段过滤,得到字段过滤结果。
本申请实施例在根据用户代理信息确定目标应用的第二识别特征时,先对用户代理信息进行了过滤处理,筛选出用于进行识别特征提取的用户代理字段。具体地,用户代理信息中可能会存在一些空字段数据,为了提高后续APP的识别效率,可以先对用户代理字段中的空字段数据进行过滤,保留字段不为空的用户代理字段,还可以对用户代理信息进行过滤得到正常的浏览器UA字段,比如Mozilla/5.0(iPhone;CPU iPhone OS 13_3_1likeMac OS X)形式的。具体的过滤规则本领域技术人员可以根据实际需要灵活设置,在此不一一列举。
在本申请的一个实施例中,所述对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征包括:基于所述字段过滤结果对所述用户代理信息进行解析,并根据解析结果进行特征匹配,根据特征匹配结果截取有效用户代理字段特征;所述根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则包括:根据所述有效用户代理字段特征生成第二识别特征的正则表达式。
通常一个用户代理字段中包括多种信息,例如浏览器名称、浏览器版本号、渲染引擎、渲染引擎版本号、操作系统等等,如Mozilla/5.0(Android;Mobile;rv:13.0)Gecko/13.0Firefox/13.0形式,然而在识别应用程序时,为了提高识别的效率,可以不用用到该用户代理字段中的全部信息,只需提取部分能够表征该字段的有效信息即可,因此本申请实施例在完成对用户代理信息的过滤后,对过滤得到的用户代理字段进行解析,并根据解析结果进行特征匹配,得到有效用户代理字段特征,进而根据有效用户代理字段特征生成第二识别特征的正则表达式即用户代理字段的识别规则。
具体实施时,可以针对用户代理字段中“/”符号之间或者前面的内容进行解析,筛选出能经过UTF-8(一种针对Unicode的可变长度字符编码)或Python(一种计算机程序设计语言)转码成汉字或者是APP包名等形式的用户代理字段,筛选结果和APP进行特征匹配,进而截取有效用户代理字段特征,其余变量仍然可以用“*”代替,生成的识别规则是模糊匹配APP的用户代理字段识别规则。例如,名为“xxx”的APP的UA字段形式是:
“%E5%8F%A3%E8%85%94%E5%81%A5%E5%BA%B7%E8%AE%A1%E5%88%92/3CFNetwork/1121.2.2Darwin/19.3.0”,经过UTF-8转码后得到“xxx/3CFNetwork/1121.2.2Darwin/19.3.0”,则“xxx/*”就可以作为该APP的UA字段识别规则。
在本申请的一个实施例中,所述方法还包括:获取应用程序的上网日志,从所述上网日志中提取地址字段和用户代理字段的日志内容;利用所述应用识别规则,对提取的日志内容进行识别,得到应用程序识别结果。
在生成目标应用的识别规则后,本申请实施例可以基于该识别规则进行APP的识别。具体实施时,先获取待识别应用程序的上网日志,从上网日志中提取出地址字段和用户代理字段的日志内容,之后利用上述生成的应用识别规则,对提取的日志内容进行识别,进而得到应用程序的识别结果。上述识别过程无需人工参与解析和识别,节省了大量的人力、物力和时间,同时能够得到较好的APP识别效果。
如图2所示,本申请实施例还提供了一种应用程序识别规则的生成流程示意图。首先配置好抓包工具环境,连接手机等终端设备,之后利用抓包工具抓取手机中的APP发送的HTTP/HTTPS请求数据,可以通过在手机的APP中模拟用户使用,得到对应的请求数据,在抓包工具结束抓取请求数据后,将抓取到的数据进行保存生成CSV文件。对CSV文件中的地址字段和用户代理字段分别进行解析,提取出APP的地址字段特征和用户代理字段特征并与APP建立对应关系,之后根据地址字段特征生成APP的第一识别规则并根据用户代理字段特征生成APP的第二识别规则,最后将APP的第一识别规则和第二识别规则作为APP的应用识别规则。
本申请实施例提供了一种应用识别规则的生成装置300,如图3所示,所述应用识别规则的生成装置300包括:第一获取单元310、提取单元320、解析单元330和生成单元340。
本申请实施例的第一获取单元310,用于获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息。
在进行应用识别规则的生成时,可以先获取目标应用程序的流量数据,作为后续生成识别规则的基础。这里的流量数据是指应用程序在其运行过程中所产生的数据包流量,流量数据中通常可以包括协议数据如HTTP协议(Hypertext Transfer Protocol,超文本传输协议)/HTTPS协议(Secure Hypertext Transfer Protocol,安全超文本传输协议)、IP地址(Internet Protocol Address,网际协议地址)、端口号等数据。HTTP协议/HTTPS协议具体又可以包括网络请求地址URL(Uniform Resource Locator,统一资源定位符/网页地址)和用户代理(User Agent,简称UA)信息等。
在具体实施时,本申请实施例主要采用网络请求地址URL和用户代理UA作为后续生成识别规则的基础信息。这里的网络请求地址URL和用户代理UA均是HTTP协议/HTTPS协议中所携带的关键协议字段,其中URL是互联网上标准的资源的地址,互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它,而用户代理UA主要用来标识浏览器客户端信息,各种不同的网络浏览器会采用不同的用户代理字符串来作为自身的标志。当然除了上述流量数据,本领域技术人员也可以根据实际需要获取其他类型的流量数据如TCP协议(Transmission Control Protocol,传输控制协议)/UDP协议(User Datagram Protocol,用户数据报协议)数据以进行相应的处理和分析,在此不一一列举。
本申请实施例的提取单元320,用于从所述网络请求地址中提取目标应用的第一识别特征。
在得到目标应用的流量数据后,对流量数据中的网络请求地址URL进行特征提取,进而得到与该目标应用对应的第一识别特征。基本的URL一般包含以下几部分内容:模式(或称协议)、服务器名称(或IP地址)、路径和文件名。具体地,在对网络请求地址进行特征提取时,可以基于上述URL中的字段信息对流量数据进行过滤,可以先排除以PNG、JPG等后缀结尾的图片数据,进而得到不包含图片的地址,如http://wx1.sinaimg.cn/orj480/48789827ly1gei0mrt1xqj21hc0u0b29.jpg即为图片形式的网络请求地址。之后对过滤得到的地址进行进一步筛选,筛选出带有特征值的地址,对这些地址进行特征值提取,进而得到目标应用的地址字段特征即第一识别特征。这里的特征值可以是从该地址字段中提取出的能够表征该目标应用APP的唯一ID信息。
本申请实施例的解析单元330,用于对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征。
在得到目标应用的流量数据后,可以对流量数据中的用户代理信息进行解析,进而根据解析结果得到该目标应用的第二识别特征。具体地,用户代理信息是指用户代理字段(User Agent String),有时候网站需要获取客户端的信息,以了解网站内容在客户端的展现方式,因此大部分用户代理会向网站发送用户代理字段,该字段的字符串通常是由字母和数字组成。因此本申请实施例充分利用了用户代理信息来生成目标应用的识别规则,通过对用户代理字段进行筛选并对字符串进行解析,进而得到了用户代理字段的特征值,以此作为目标应用的用户代理字段特征即第二识别特征。
本申请实施例的生成单元340,用于根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。
在分别得到目标应用的地址字段特征和用户代理字段特征后,将地址字段特征和用户代理字段特征与目标应用建立对应关系,进而得到该目标应用的应用识别规则。
本申请实施例通过上述方法可以自动生成包含安卓和IOS系统(苹果移动应用系统)的APP应用识别规则,便于测试人员后期通过上网日志数据和该识别规则就能自动识别出对应的APP,节省了测试人员人工排查APP识别规则的时间,有效地提高了工作效率和质量。
在本申请的一个实施例中,所述第一获取单元310还用于:利用预配置好的抓包工具,抓取所述目标应用在指定网络环境下的流量数据,并将抓取的流量数据保存为逗号分隔符CSV文件。
在本申请的一个实施例中,所述提取单元320还用于:利用特征匹配模板对所述网络请求地址进行匹配,基于匹配结果提取所述目标应用的第一识别特征。
在本申请的一个实施例中,所述生成单元340还用于:将所述第一识别特征和所述网络请求地址中的域名进行拼接;根据拼接结果生成第一识别特征的正则表达式。
在本申请的一个实施例中,所述解析单元330还用于:对所述用户代理信息分别进行空字段过滤和/或浏览器用户代理字段过滤,得到字段过滤结果。
在本申请的一个实施例中,所述解析单元330还用于:基于所述字段过滤结果对所述用户代理信息进行解析,并根据解析结果进行特征匹配,根据特征匹配结果截取有效用户代理字段特征;所述生成单元340还用于:根据所述有效用户代理字段特征生成第二识别特征的正则表达式。
在本申请的一个实施例中,所述装置还包括:第二获取单元,用于获取应用程序的上网日志,从所述上网日志中提取地址字段和用户代理字段的日志内容;识别单元,用于利用所述应用识别规则,对提取的日志内容进行识别,得到应用程序识别结果。
需要说明的是,上述各装置实施例的具体实施方式可以参照前述对应方法实施例的具体实施方式进行,在此不再赘述。
综上所述,本申请的技术方案,通过获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息,从所述网络请求地址中提取目标应用的第一识别特征,对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征,根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。本申请能够对抓取到的APP流量数据进行解析并自动生成能识别该APP的解析规则,便于测试人员后期通过上网日志数据和该解析规则就能自动识别出对应的APP,节省了测试人员人工排查APP解析规则的时间,有效地提高了工作效率和质量。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的应用识别规则的生成装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图4示出了根据本申请一个实施例的电子设备的结构示意图。该电子设备400包括处理器410和被安排成存储计算机可执行指令(计算机可读程序代码)的存储器420。存储器420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器420具有存储用于执行上述方法中的任何方法步骤的计算机可读程序代码431的存储空间430。例如,用于存储计算机可读程序代码的存储空间430可以包括分别用于实现上面的方法中的各种步骤的各个计算机可读程序代码431。计算机可读程序代码431可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图5所示的计算机可读存储介质。图5示出了根据本申请一个实施例的一种计算机可读存储介质的结构示意图。该计算机可读存储介质500存储有用于执行根据本申请的方法步骤的计算机可读程序代码431,可以被电子设备400的处理器410读取,当计算机可读程序代码431由电子设备400运行时,导致该电子设备400执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算机可读程序代码431可以执行上述任一实施例中示出的方法。计算机可读程序代码431可以以适当形式进行压缩。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种应用识别规则的生成方法,其特征在于,包括:
获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息;
从所述网络请求地址中提取目标应用的第一识别特征;
对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征;
根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。
2.根据权利要求1所述的应用识别规则的生成方法,其特征在于,所述获取目标应用的流量数据包括:
利用预配置好的抓包工具,抓取所述目标应用在指定网络环境下的流量数据,并将抓取的流量数据保存为逗号分隔符CSV文件。
3.根据权利要求1所述的应用识别规则的生成方法,其特征在于,所述从所述网络请求地址中提取目标应用的第一识别特征包括:
利用特征匹配模板对所述网络请求地址进行匹配,基于匹配结果提取所述目标应用的第一识别特征。
4.根据权利要求1所述的应用识别规则的生成方法,其特征在于,所述根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则包括:
将所述第一识别特征和所述网络请求地址中的域名进行拼接;
根据拼接结果生成第一识别特征的正则表达式。
5.根据权利要求1所述的应用识别规则的生成方法,其特征在于,所述对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征包括:
对所述用户代理信息进行空字段过滤和/或浏览器用户代理字段过滤,得到字段过滤结果。
6.根据权利要求5所述的应用识别规则的生成方法,其特征在于,所述对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征包括:
基于所述字段过滤结果对所述用户代理信息进行解析,并根据解析结果进行特征匹配,根据特征匹配结果截取有效用户代理字段特征;
所述根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则包括:
根据所述有效用户代理字段特征生成第二识别特征的正则表达式。
7.根据权利要求1至6任一项所述的应用识别规则的生成方法,其特征在于,所述方法还包括:
获取应用程序的上网日志,从所述上网日志中提取地址字段和用户代理字段的日志内容;
利用所述应用识别规则,对提取的日志内容进行识别,得到应用程序识别结果。
8.一种应用识别规则的生成装置,其特征在于,包括:
第一获取单元,用于获取目标应用的流量数据,所述流量数据包括网络请求地址和用户代理信息;
提取单元,用于从所述网络请求地址中提取目标应用的第一识别特征;
解析单元,用于对所述用户代理信息进行解析,基于解析结果确定目标应用的第二识别特征;
生成单元,用于根据所述第一识别特征和所述第二识别特征生成目标应用的应用识别规则。
9.一种电子设备,其中,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至7中任一项所述的应用识别规则的生成方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如权利要求1至7中任一项所述的应用识别规则的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010572526.2A CN111740923A (zh) | 2020-06-22 | 2020-06-22 | 应用识别规则的生成方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010572526.2A CN111740923A (zh) | 2020-06-22 | 2020-06-22 | 应用识别规则的生成方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111740923A true CN111740923A (zh) | 2020-10-02 |
Family
ID=72650227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010572526.2A Pending CN111740923A (zh) | 2020-06-22 | 2020-06-22 | 应用识别规则的生成方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111740923A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307279A (zh) * | 2020-10-29 | 2021-02-02 | 宜通世纪物联网研究院(广州)有限公司 | 一种dpi业务识别方法、装置、电子设备及存储介质 |
CN112532616A (zh) * | 2020-11-26 | 2021-03-19 | 杭州迪普科技股份有限公司 | 网络应用的特征分析方法及装置 |
CN112615758A (zh) * | 2020-12-16 | 2021-04-06 | 北京锐安科技有限公司 | 一种应用识别方法、装置、设备及存储介质 |
CN112866289A (zh) * | 2021-03-02 | 2021-05-28 | 恒为科技(上海)股份有限公司 | 一种提取特征规则的方法及系统 |
CN113452685A (zh) * | 2021-06-22 | 2021-09-28 | 上海明略人工智能(集团)有限公司 | 识别规则的处理方法、系统、存储介质及电子设备 |
CN113742557A (zh) * | 2021-08-10 | 2021-12-03 | 北京深演智能科技股份有限公司 | 推荐应用程序识别规则的方法和装置 |
CN113872964A (zh) * | 2021-09-26 | 2021-12-31 | 杭州安恒信息技术股份有限公司 | 一种漏洞规则生成方法及相关装置 |
CN114553730A (zh) * | 2022-04-27 | 2022-05-27 | 远江盛邦(北京)网络安全科技股份有限公司 | 一种应用识别方法、装置、电子设备及存储介质 |
CN115277106A (zh) * | 2022-06-30 | 2022-11-01 | 北京安博通科技股份有限公司 | 一种网络设备的用户识别方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103176A1 (en) * | 2011-01-25 | 2012-08-02 | Interdigital Patent Holdings, Inc. | Method and apparatus for automatically discovering and retrieving content based on content identity |
CN102932555A (zh) * | 2012-12-03 | 2013-02-13 | 南京安讯科技有限责任公司 | 一种快速识别手机客户端软件的方法和系统 |
CN104618132A (zh) * | 2014-12-16 | 2015-05-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种应用程序识别规则生成方法和装置 |
CN107222369A (zh) * | 2017-07-07 | 2017-09-29 | 北京小米移动软件有限公司 | 应用程序的识别方法、装置、交换装置和存储介质 |
CN107256366A (zh) * | 2012-08-30 | 2017-10-17 | 尼尔森(美国)有限公司 | 收集媒体印象和搜索项的分布式用户信息的方法和设备 |
CN107483488A (zh) * | 2017-09-18 | 2017-12-15 | 济南互信软件有限公司 | 一种恶意Http检测方法及系统 |
CN109144831A (zh) * | 2017-06-15 | 2019-01-04 | 中国移动通信集团浙江有限公司 | 一种app识别规则的获取方法及装置 |
CN109617762A (zh) * | 2018-12-14 | 2019-04-12 | 南京财经大学 | 一种利用网络流量识别移动应用的方法 |
-
2020
- 2020-06-22 CN CN202010572526.2A patent/CN111740923A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103176A1 (en) * | 2011-01-25 | 2012-08-02 | Interdigital Patent Holdings, Inc. | Method and apparatus for automatically discovering and retrieving content based on content identity |
CN107256366A (zh) * | 2012-08-30 | 2017-10-17 | 尼尔森(美国)有限公司 | 收集媒体印象和搜索项的分布式用户信息的方法和设备 |
CN102932555A (zh) * | 2012-12-03 | 2013-02-13 | 南京安讯科技有限责任公司 | 一种快速识别手机客户端软件的方法和系统 |
CN104618132A (zh) * | 2014-12-16 | 2015-05-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种应用程序识别规则生成方法和装置 |
CN109144831A (zh) * | 2017-06-15 | 2019-01-04 | 中国移动通信集团浙江有限公司 | 一种app识别规则的获取方法及装置 |
CN107222369A (zh) * | 2017-07-07 | 2017-09-29 | 北京小米移动软件有限公司 | 应用程序的识别方法、装置、交换装置和存储介质 |
CN107483488A (zh) * | 2017-09-18 | 2017-12-15 | 济南互信软件有限公司 | 一种恶意Http检测方法及系统 |
CN109617762A (zh) * | 2018-12-14 | 2019-04-12 | 南京财经大学 | 一种利用网络流量识别移动应用的方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307279A (zh) * | 2020-10-29 | 2021-02-02 | 宜通世纪物联网研究院(广州)有限公司 | 一种dpi业务识别方法、装置、电子设备及存储介质 |
CN112532616A (zh) * | 2020-11-26 | 2021-03-19 | 杭州迪普科技股份有限公司 | 网络应用的特征分析方法及装置 |
WO2022127196A1 (zh) * | 2020-12-16 | 2022-06-23 | 北京锐安科技有限公司 | 应用识别方法、装置、设备及存储介质 |
CN112615758A (zh) * | 2020-12-16 | 2021-04-06 | 北京锐安科技有限公司 | 一种应用识别方法、装置、设备及存储介质 |
CN112866289A (zh) * | 2021-03-02 | 2021-05-28 | 恒为科技(上海)股份有限公司 | 一种提取特征规则的方法及系统 |
CN113452685A (zh) * | 2021-06-22 | 2021-09-28 | 上海明略人工智能(集团)有限公司 | 识别规则的处理方法、系统、存储介质及电子设备 |
CN113452685B (zh) * | 2021-06-22 | 2024-04-09 | 上海明略人工智能(集团)有限公司 | 识别规则的处理方法、系统、存储介质及电子设备 |
CN113742557A (zh) * | 2021-08-10 | 2021-12-03 | 北京深演智能科技股份有限公司 | 推荐应用程序识别规则的方法和装置 |
CN113872964A (zh) * | 2021-09-26 | 2021-12-31 | 杭州安恒信息技术股份有限公司 | 一种漏洞规则生成方法及相关装置 |
CN114553730B (zh) * | 2022-04-27 | 2022-07-15 | 远江盛邦(北京)网络安全科技股份有限公司 | 一种应用识别方法、装置、电子设备及存储介质 |
CN114553730A (zh) * | 2022-04-27 | 2022-05-27 | 远江盛邦(北京)网络安全科技股份有限公司 | 一种应用识别方法、装置、电子设备及存储介质 |
CN115277106A (zh) * | 2022-06-30 | 2022-11-01 | 北京安博通科技股份有限公司 | 一种网络设备的用户识别方法及系统 |
CN115277106B (zh) * | 2022-06-30 | 2024-03-19 | 北京安博通科技股份有限公司 | 一种网络设备的用户识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111740923A (zh) | 应用识别规则的生成方法、装置、电子设备和存储介质 | |
CN107257390B (zh) | 一种url地址的解析方法和系统 | |
CN109669795B (zh) | 崩溃信息处理方法及装置 | |
CN102984161B (zh) | 一种可信网站的识别方法和装置 | |
CN105426759A (zh) | Url的合法性识别方法及装置 | |
CN109862021B (zh) | 威胁情报的获取方法及装置 | |
CN105577528B (zh) | 一种基于虚拟机的微信公众号数据采集方法及装置 | |
CN109446801B (zh) | 检测模拟器访问的方法、装置、服务器及存储介质 | |
CN102938789A (zh) | 一种移动互联网手机应用下载组合分析方法和装置 | |
CN114817968B (zh) | 无特征数据的路径追溯方法、装置、设备及存储介质 | |
CN112000884B (zh) | 一种用户内容推荐方法及装置、服务器、存储介质 | |
CN112688810A (zh) | 网络资产信息获取方法、设备及可读存储介质 | |
CN110019012B (zh) | 数据预处理方法、装置和计算机可读存储介质 | |
CN110879728A (zh) | 小程序的启动方法及装置 | |
CN111131236A (zh) | 一种web指纹检测装置、方法、设备及介质 | |
CN102984162A (zh) | 可信网站的识别方法和收集系统 | |
CN111371649B (zh) | 一种深度包检测方法及装置 | |
CN111125704B (zh) | 一种网页挂马识别方法及系统 | |
US9584537B2 (en) | System and method for detecting mobile cyber incident | |
CN105848155B (zh) | 一种终端非法刷机识别方法及装置 | |
CN106411891B (zh) | 文件处理方法、装置、服务端和设备 | |
CN106411879B (zh) | 一种软件识别特征的获取方法和装置 | |
CN115437930A (zh) | 网页应用指纹信息的识别方法及相关设备 | |
CN105635225A (zh) | 移动终端访问基于移动互联网络的服务器的方法与系统及移动终端 | |
CN114051061A (zh) | 互联网应用协议分析方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240319 |