本发明专利技术公开了一种APP安装包网络流量识别方法。本方法为:1)将从网络流量中获取的APP安装包发送给在线识别引擎和离线解析引擎;2)离线解析引擎对收到的APP安装包进行解析,得到每一APP安装包信息;如果APP安装包信息符合设定条件,则将该APP安装包信息及其哈希特征保存到映射库中;3)在线识别引擎实时对接收到的APP安装包进行哈希计算,得到其哈希值hseg,然后根据该哈希值hseg查找所述映射库,如果存在对应的记录,则判断该APP安装包为该条记录标记的网络流量。本方法可以大大提高APP安装包识别效率。
【技术实现步骤摘要】
本专利技术属于数据流识别领域,涉及一种基于APP应用名称等信息识别APP安装包网络流量的方法。
技术介绍
随着移动互联网的飞速发展,移动智能终端的APP应用层出不穷,覆盖了人们生活的方方面面。对网络流量中APP进行分类,识别网络流量中是否包含某个APP应用的安装包流量,可以理解流量中的APP内容,能够帮助运营商提高运营质量。要识别网络流量中特定应用名称的APP流量,首先要获得APP安装文件的样本。常见的通过网络爬虫获取APP安装文件的方式,有两个缺点:其一,APP版本数量众多,且版本变化频繁,需要网络带宽、存储等计算资源;其二,各大应用商店都有对应的反爬虫(Anti-spider)机制,难以全面获得。其次,传统的方法每接收到一个APP文件都要进行解析,对于同一个APP传输多次,会进行多次解析,浪费计算资源。
技术实现思路
鉴于现有技术中存在的技术问题,本专利技术的目的在于提供一种APP安装包网络流量识别方法。该方法无需预先准备样本,只需用户指定若干个APP的相关信息,比如APP应用名称,就可以识别网络流量中是否包含这些APP应用名称的安装包流量。用户也可以不指定特定的APP名称,这样就识别所有应用名称的APP安装包流量。该方法是在APP网络下载或传输过程中实时识别APP基本信息(如应用程序名称、包名、版本等)的方法,简称为APP-Identification。本专利技术主要包含两个方面:1)离线APP安装包的反编译、解析以及哈希生成,建立APP应用名称和哈希值的映射关系库;2)在线APP的识别,通过对实时采集的APP文件内容生成哈希值,再使用哈希比较算法查找映射关系库来实现。在手机APP的传播中,其下载地址(URL)的作用被弱化,主要通过APP名称进行传播。苹果、谷歌等互联网巨头,建立了或封闭、或开放的以应用商店为中心的安装包分发体系,辅佐以小型网站和论坛分享的边缘地带,共同构成了手机APP的传播链条。这种场景下,获得目标APP的全部下载URL和所有版本的安装包样本是比较困难的,尤其是iOS这种封闭生态环境。导致传统的基于URL和二进制特征的APP识别方式很难起效。基于此,本专利技术提出了一种识别网络流中APP应用名称等信息的方法和系统,通过创建APP映射库采集系统,建立APP应用名称(同时也包括了APP其他信息,如包名、版本号)和其哈希特征的映射库。在后续又采集到特定APP流量时,可以通过查找映射库来识别该APP,从而不必大费周章地研究APP传输单元特征。本专利技术包含以下内容:一)APP离线解析引擎1)采集前端从网络流量中解析HTTP等协议,从中获取完整APP文件(即APP安装包)之后,发送到离线解析引擎,后者完成APP的反编译和解析,获得其大小、应用名称、公开版本号、内部版本号等信息,同时计算出APP安装包的哈希值;2)鉴于APP文件有基于多国或多地区本地化的语言版本,本方法也支持用户获取指定语言的APP信息;3)该引擎不断地收集网络中传输的APP文件,进行着上述计算过程,同时具备自动去重功能,能够对已解析过的APP进行去重,避免重复计算;4)系统能够进行Android和iOS两种类型APP的解析,能自动识别APP类型;5)用户可指定识别特定APP应用名称的安装包流量,若当前APP名称是用户配置的若干名称中的一个,则建立APP信息和哈希值的映射关系;否则,就将APP所有信息存储起来,用户可在后续任意时刻将该APP名称配置为目标APP名称,此时离线解析引擎自动建立映射关系,而不必再次对APP进行解析。用户也可以不配置应用名称,而是设置将所有APP都建立映射关系。二)APP在线识别引擎1)识别引擎实时对接收到的APP文件内容进行哈希计算,得到哈希值hseg,映射关系库中的哈希值hcomp是根据完整的APP文件生成的,利用哈希比较算法,在hcomp数据集内查找hseg,进而查找到映射关系;2)用户可以基于特定的APP应用名称构造hcomp子集,作为要进行匹配识别的对象;比如用户只想关注某10个APP的传输,那么就可以将这10个APP的名称与哈希构造一个子集。离线解析引擎知道用户只想关注这10个,那么就只将这10个APP的映射关系反馈至前端的在线识别引擎;3)在识别APP的同时,系统能记录APP传输的网络流信息,如URL、UserAgent(用户代理)、五元组信息(源IP地址、源端口、目的IP地址、目的端口、协议)等。本专利技术是采用基于哈希特征来识别网络流中下载和传输的APP应用,能够在文件传输
未完成的情况下,提前识别APP的应用名称、版本等基本信息。将本系统部署于本单位互联网出入口上,采集48小时网络流量,共收到完整APP文件个数210个,成功识别173个,识别成功率在82.4%以上。与现有技术相比,本专利技术的积极效果为:本专利技术创新的采用被动获取方式,安装包只要在网络上传输,就可以被本专利技术截获,不必进行爬取,不必主动查找传输特征,且每个APP只需解析一次,后续再次收到该APP的时候不用进行解析,仅通过用户配置的APP应用名称,就可以将相应的APP流量识别出来。对于“微信”这样具有大量用户的APP来讲,在骨干网络节点上本专利技术可以节约几百几千万次的解析操作。通过对国内某公司网关10天的真实网络流量进行实验测试,共收集完整APP文件1251个,建立映射关系1038条,APP解析成功率在83.0%以上。对于已建立映射关系的APP文件,重复传输了7763次,成功识别6427次,识别比率为82.8%,总体满足实际的应用需求。附图说明图1为本专利技术的方法流程图。具体实施方式本专利技术完整的流程图如图1所示,主要包含以下几个模块:1)APP采集前端是获取APP文件的源泉,从旁路的网络流量中获取APP文件内容,一部分送给在线APP解析引擎进行解析计算,另一部分给在线APP识别引擎进行APP识别;采集前端可以根据传输单元特征,如URL中带的字符串特征或文件后缀名等猜测APP所属平台是Android还是iOS,后端会进一步进行识别。2)APP在线识别引擎部署在APP采集前端,具有较高的实时性。在线识别引擎接收APP离线解析引擎反馈的hcomp子集,通过对从网络流中实时获取的APP文件进行哈希计算和哈希比较来识别APP,哈希比较的对象即是hcomp子集。使用哈希比较省去了在线捕获和拼接APP文件、将APP写磁盘、再进行反编译解析的操作,远比重复解析效率高。经过哈希比较,如果命中了映射关系中的一条记录,则目前的APP传输流量就是该条记录所标记的APP应用名称
要筛选的流量,也就达到了通过APP应用名称识别网络流量中APP安装包流量的目的。同时,该引擎可以获取URL、五元组等传输信息,记录传输日志。3)APP离线解析引擎包括APP文件接收和去重模块、AndroidAPP信息提取引擎、iOS APP信息提取引擎以及哈希运算模块。APP离线解析引擎对实时性要求不高,可作为本系统的后级模块部署。同时,利用MD5算法对已解析过的APP去重,避免重复解析。4)APP信息提取引擎负责确定APP的所属平台并进行APP解析。首先采集前端已根据APP的传输单元特征猜测APP所属的平台,这里优先使用对应的信息提取引擎进行进一步判断。由于Andr本文档来自技高网...
【技术保护点】
一种APP安装包网络流量识别方法,其步骤为:1)将从网络流量中获取的APP安装包发送给在线识别引擎和离线解析引擎;2)离线解析引擎对收到的APP安装包进行解析,得到每一APP安装包的信息,并计算该安装包的哈希值;如果APP安装包信息符合设定条件,则将该APP安装包信息及其哈希特征保存到映射库中;3)在线识别引擎实时对接收到的APP安装包进行哈希计算,得到其哈希值hseg,然后根据该哈希值hseg查找所述映射库,如果存在对应的记录,则判断该APP安装包为该条记录标记的网络流量。
【技术特征摘要】
1.一种APP安装包网络流量识别方法,其步骤为:1)将从网络流量中获取的APP安装包发送给在线识别引擎和离线解析引擎;2)离线解析引擎对收到的APP安装包进行解析,得到每一APP安装包的信息,并计算该安装包的哈希值;如果APP安装包信息符合设定条件,则将该APP安装包信息及其哈希特征保存到映射库中;3)在线识别引擎实时对接收到的APP安装包进行哈希计算,得到其哈希值hseg,然后根据该哈希值hseg查找所述映射库,如果存在对应的记录,则判断该APP安装包为该条记录标记的网络流量。2.如权利要求1所述的方法,其特征在于,该设定条件为设定的若干APP应用名称。3.如权利要求1或2所述的方法,其特征在于,该APP安装包信息包括APP应用名称。4.如权利要求3所述的方法,其特征在于,该APP安装包信息还包括APP包名、APP版本号、APP安装包的大小。5.如权利要求1或2所述的方法,其特征在于,在线识别引擎根据该哈希值hseg利用哈希比较算法查找所述映射库。6.如权利要求1或2所述的方法,其特征在于,离线解析引擎对已解析过的APP进行去重。7.如权利要求1或2所...
【专利技术属性】
技术研发人员:徐杰,张成伟,包秀国,刘庆云,云晓春,郑超,李舒,李佳,
申请(专利权)人:中国科学院信息工程研究所,国家计算机网络与信息安全管理中心,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。