一种流量识别方法及装置、以及计算机可读存储介质与流程

文档序号:18134219发布日期:2019-07-10 10:29阅读:283来源:国知局
一种流量识别方法及装置、以及计算机可读存储介质与流程

本发明涉及通信技术,尤其涉及一种流量识别方法及装置、以及计算机可读存储介质。



背景技术:

相关研究分析中发现,人们对于移动互联网设备的依赖性越来越严重,平均每人每天花费在移动电子设备上的时间超过三个小时;其中,花费在智能手机上的时间占了将近两个小时,花费的时间主要集中在智能手机安装的应用程序(app,application)的使用上。并且,用户对app的使用频率通常与用户的身份有一定的关联性,例如,经常使用金融证券相关app的用户,其身份很有可能就是证券经理、个人或企业投资者;因此,app所对应的属性在某种程度上就反应着用户的个人属性。

基于上述的可能性,如果能够可靠地得到用户的app使用行为,并对得到的app使用行为进行分析画像,就能得到具有较高可信度的用户描述。但是,用户的app使用行为属于用户隐私,并且智能手机上app的种类繁多,目前用户常用的app数量,就超过了10万个;因此,常规方法是无法可靠地获取到用户的app使用行为样本。然而,对于移动数据供应商而言,可以获取到用户使用app的流量数据;如果能根据流量数据识别出用户所使用的app,则对于可靠地获取用户的app使用行为就成为了可能。

为了根据用户使用app的流量数据识别出用户所使用的app,首先,需要获取app的流量样本;然后,对获得的流量样本进行特征提取,以根据提取的特征构建特征数据库;最后,基于构建的特征数据库对用户使用app的流量数据进行特征匹配,以识别出用户所使用的app。从上述描述可以看出,如何对获得的流量数据进行特征提取,使得提取的特征具有更加优秀的粒度以及抗干扰能力是准确识别app的关键因素。然而,采用现有的流量特征提取方法提取的特征存在识别粒度不够,以及在噪声存在的条件下识别效果不理想的缺陷,使得根据流量数据无法准确识别到用户所使用的app,从而导致流量识别精度较差。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种流量识别方法及装置、以及计算机可读存储介质,能够根据用户使用电子设备时所产生的流量数据包准确识别到用户所使用的app。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种流量识别方法,所述方法包括:

获取电子设备被使用时所产生的待识别流量数据包;

对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;

将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;

根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

上述方案中,所述方法还包括:

针对每个app,获取相应的原生流量,所述原生流量为相应app在模拟环境运行过程中所产生的流量;

对所述原生流量进行过滤,获得所述相应app的有效流量样本;

对所述有效流量样本进行内容特征提取,获得所述相应app的第二内容特征;

根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征;

利用各app的第二内容特征和第二行为特征,构建所述特征数据库。

上述方案中,所述对所述原生流量进行过滤,获得所述相应app的有效流量样本,包括:

对所述app的第n个特征信息进行语义分析,获得第一语义信息,所述n为正整数;

对待分析流量数据包中与所述第n个特征信息对应的内容进行语义分析,获得所述待分析流量数据包的第二语义信息;所述待分析流量数据包为所述原生流量中通过n-1个特征信息进行过滤后未确定为有效流量数据包的流量数据包;所述有效流量数据包为所述有效流量样本中的流量数据包;

计算所述第一语义信息与所述第二语义信息之间的关联度;

将所述关联度大于或等于预设值的待分析流量数据包确定为有效流量样本中的流量数据包。

上述方案中,所述根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征,包括:

对所述原生流量进行内容特征提取,获得所述原生流量的内容特征;

将所述原生流量的内容特征和预先获取的app的第二内容特征进行匹配,确定所述原生流量关联的app;

根据所述app的描述信息和所述原生流量关联的app,获得所述第二行为特征。

上述方案中,所述根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app,包括:

从所述至少一个app的第二行为特征中获取目标行为特征,所述目标行为特征中的调用行为关联的app中包括所述待识别流量数据包关联的所有app;

从所述特征数据库中获取所述目标行为特征对应的app;

将所述目标行为特征对应的app确定为所述待识别流量数据包所属的app。

本发明实施例还提供了一种流量识别装置,所述装置包括:处理器、用于存储能够在处理器上运行的计算机程序的存储器;其中,

所述处理器用于运行所述计算机程序时,执行:

获取电子设备被使用时所产生的待识别流量数据包;

对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;

将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;

根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

上述方案中,所述处理器用于运行所述计算机程序时,执行:

针对每个app,获取相应的原生流量,所述原生流量为相应app在模拟环境运行过程中所产生的流量;

对所述原生流量进行过滤,获得所述相应app的有效流量样本;

对所述有效流量样本进行内容特征提取,获得所述相应app的第二内容特征;

根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征;

利用各app的第二内容特征和第二行为特征,构建所述特征数据库。

上述方案中,所述处理器用于运行所述计算机程序时,执行:

对所述app的第n个特征信息进行语义分析,获得第一语义信息,所述n为正整数;

对待分析流量数据包中与所述第n个特征信息对应的内容进行语义分析,获得所述待分析流量数据包的第二语义信息;所述待分析流量数据包为所述原生流量中通过n-1个特征信息进行过滤后未确定为有效流量数据包的流量数据包;所述有效流量数据包为所述有效流量样本中的流量数据包;

计算所述第一语义信息与所述第二语义信息之间的关联度;

将所述关联度大于或等于预设值的待分析流量数据包确定为有效流量样本中的流量数据包。

上述方案中,所述处理器用于运行所述计算机程序时,执行:

对所述原生流量进行内容特征提取,获得所述原生流量的内容特征;

将所述原生流量的内容特征和预先获取的app的第二内容特征进行匹配,确定所述原生流量关联的app;

根据所述app的描述信息和所述原生流量关联的app,获得所述第二行为特征。

上述方案中,所述处理器用于运行所述计算机程序时,执行:

从所述至少一个app的第二行为特征中获取目标行为特征,所述目标行为特征中的调用行为关联的app中包括所述待识别流量数据包关联的所有app;

从所述特征数据库中获取所述目标行为特征对应的app;

将所述目标行为特征对应的app确定为所述待识别流量数据包所属的app。

本发明实施例还提供了一种流量识别装置,所述装置包括:获取模块、特征提取模块、第一确定模块和第二确定模块;其中,

所述获取模块,用于获取电子设备被使用时所产生的待识别流量数据包;

所述特征提取模块,用于对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;

所述第一确定模块,用于将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;

所述第二确定模块,用于根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令的计算机程序被处理器执行时实现上述流量识别方法。

本发明实施例提供的流量识别方法及装置,首先,获取电子设备被使用时所产生的待识别流量数据包;然后,对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;最后,根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

由于本发明实施例中预先构建的特征数据库中不仅包括各app的第二内容特征,而且还包括各app的第二行为特征,该第二内容特征为从app调用本地数据库所产生的流量数据包中提取的内容特征,该第二行为特征表征app对第三方数据库的调用行为特征;因此,基于本地库流量和外部库流量,对app的流量数据包提取了不同类型的特征,使得特征数据库中的特征具有更加优秀的粒度以及更强的抗干扰能力,从而能够提高特征识别的粒度,进而能够大大提高流量识别的精度。并且,本发明实施例的流量识别方法具有较强的鲁棒性,能够处理不同app在流量层面之间的差异性,能够通用化地识别出绝大多数app的流量。

附图说明

在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。

图1为本发明实施例一中流量识别方法的实现流程示意图;

图2为本发明实施例二中构建特征数据库的具体实现流程示意图;

图3为图2所示实现流程中步骤204的具体实现流程示意图;

图4为本发明实施例流量识别装置组成结构示意图;

图5为图4所述装置中第三获取模块的具体组成结构示意图;

图6为本发明实施例流量装置硬件组成结构示意图。

具体实施方式

通常,当前app调用外部数据库文件现象普遍,主要表现为应用内部注入广告、以及调用其他app接口如软件开发工具包(sdk,softwaredevelopmentkit)接口和应用程序编程(api,applicationprogramminginterface)接口等,这些外部数据库文件的调用,也会在流量数据包中有所体现。

由于app调用外部数据库文件所产生的流量即外部库流量,体现外部特征,而app调用本地数据库文件所产生的流量即本地库流量,体现app的自身特征(即本地特征)。并且同一库文件,对于不同的app,可以表现有不同属性;例如:淘宝app的库文件,对于淘宝app而言是本地数据库文件,对于美团app而言是外部数据库文件。因此,这对于提取流量数据包的本地特征以及根据特征来识别流量数据包所属的app产生了严重的负面影响;使得在对流量数据包进行识别时,仅凭流量数据包的内容无法准确定位到流量数据包所属的app。

例如:多款网络应用的内部会注入淘宝广告,这些淘宝广告也会产生含有淘宝app的内容特征的流量(如:某大型网络游戏的流量相关字段中携带有taobao特征字)。那么,在对含有淘宝广告的app的流量数据包进行特征提取时,就会有许多噪声干扰,使得无法准确识别到该流量数据包中哪些是本地库流量,哪些是外部库流量,从而无法准确定位到该流量数据包所属的app。

基于此,在本发明实施例中:首先,本发明实施例提供的流量识别方法及装置,首先,获取电子设备被使用时所产生的待识别流量数据包;然后,对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;最后,根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

由于本发明实施例中预先构建的特征数据库中不仅包括各app的第二内容特征,而且还包括各app的第二行为特征,该第二内容特征为从app调用本地数据库所产生的流量数据包中提取的内容特征,该第二行为特征表征app对第三方数据库的调用行为特征;因此,基于本地库流量和外部库流量,对app的流量数据包提取了不同类型的特征,使得特征数据库中的特征具有更加优秀的粒度以及更强的抗干扰能力,从而能够提高特征识别的粒度,进而能够大大提高流量识别的精度。并且,本发明实施例的流量识别方法具有较强的鲁棒性,能够处理不同app在流量层面之间的差异性,能够通用化地识别出绝大多数app的流量。

下面结合附图及实施例对本发明再作进一步详细的描述。

本发明实施例提供的流量识别方法,应用于电子设备,如图1所示,包括以下步骤:

步骤101,获取电子设备被使用时所产生的待识别流量数据包;

本实施例的流量识别方法应用于电子设备,该电子设备可以为移动终端,用于根据用户在使用移动终端时所产生的流量数据包,识别出用户所使用的app,从而识别出所述用户的app使用行为,进而能够得到该用户的用户描述。

这里,可以在所述移动终端的流量信道中获取所述待识别流量数据包。所述移动终端可以通过实时监测流量信道中是否存在流量数据包,来监测用户在使用移动终端时是否产生了流量;当监测到流量信道中存在流量数据包时,获取所述待识别流量数据包。当然,移动终端也可以周期性地或非周期性地从流量信道中获取待识别流量数据包。

步骤102,对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;

具体地,对所述待识别流量数据包进行内容特征提取,获得所述第一内容特征,所述第一内容特征可以包括主页对应的网站标题、关键词、描述以及正文内容等特征,这些特征用于反映所述待识别流量数据包关联的应用程序app的内容特征。

可以使用固定位置内容提取方法对所述待识别流量数据包进行内容特征提取;也可灵活选择其他内容特征提取方法,如:dpi方法、最长最大公共子序列提取方法、以及深度学习中的特征挖掘方法等,这里将不对其进行限定。

步骤103,将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;

这里,所述第二内容特征具体表征app的本地库流量的内容特征。

这里,将所述第一内容特征与所述特征数据库中各app的第二内容特征进行逐一比对,获得所述待识别流量数据包关联的至少一个app;由于无法区分所述待识别流量数据包中的本地库流量和外部库流量,因此,所述至少一个app包括所述待识别流量数据包可能所属的app。

比如,第一内容特征中包括“taobao”的特征,而淘宝app的第二内容特征中也包括“taobao”的特征,则所述第一内容特征与淘宝app的第二内容特征匹配成功,所述待识别流量数据包可能所属的app中包括淘宝app;又比如,第一内容特征中还包括“meituan”的特征,而美团app的第二内容特征中也同样包括该特征,则所述待识别流量数据包可能所属的app中还包括美团app。

步骤104,根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

由于流量数据包中有可能同时包括本地库流量和外部库流量,并且,在无监督的场景下,仅从流量的内容无法判断其属性;在流量识别过程中,很大可能会存在流量属性错误判断的情况,这样会严重干扰到识别的精度。因此,在特征数据库中,需要提取出更加细粒度的特征(即第二行为特征),来解决特征识别过程中流量属性无法判断的缺陷,提高识别的精度。

所述待识别流量数据包关联的至少一个app只是流量识别过程中得到的初步识别结果;此时的识别结果中只考虑了内容特征,未对流量的属性进行区分,因此包含有大量的错误识别。

这里,根据所述特征数据库中所述至少一个app的第二行为特征,对所述至少一个app中的app进行逐个筛选过滤,最终可以确定所述待识别流量数据包所属的app。具体地,从所述至少一个app的第二行为特征中获取目标行为特征,所述目标行为特征中的调用行为关联的app中包括所述待识别流量数据包关联的所有app;从所述特征数据库中获取所述目标行为特征对应的app;将所述目标行为特征对应的app确定为所述待识别流量数据包所属的app。

例如,所述至少一个app中包括淘宝app和支付宝app,而淘宝app的第二行为特征中包括淘宝app对支付宝app的调用行为,可知,该调用行为关联淘宝app和支付宝app,支付宝app的第二行为特征中并未包括支付宝app对淘宝app的调用行为,可知,该调用行为中只包括淘宝app。因此,该目标行为特征为淘宝app的第二行为特征,淘宝app即为所述待识别流量数据包所属的app。

应当说明的是,当存在多个app的第二行为特征的调用行为关联的app中包括所述待识别流量数据包关联的所有app时,可以根据所述待识别流量数据包关联的app对应的流量多少,确定目标行为特征。具体地,可以将所述待识别流量数据包占比流量最多的app的第二行为特征确定为目标行为特征。例如,淘宝app的第二行为特征中包括淘宝app对支付宝app的调用行为,而支付宝app的第二行为特征中包括支付宝app对淘宝app的调用行为;但是,淘宝app在待识别流量数据包中所占的流量大于支付宝app在待识别流量数据包中所占的流量,因此,该目标行为特征可以为淘宝app的第二行为特征。

综上,本发明实施例中,先通过对待识别流量数据包进行特征提取,获得第一内容特征;再将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;最后,根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app。

由于本发明实施例中预先构建的特征数据库中不仅包括各app的第二内容特征,而且还包括各app的第二行为特征,该第二内容特征为从app调用本地数据库所产生的流量数据包中提取的内容特征,该第二行为特征表征app对第三方数据库的调用行为特征;因此,基于本地库流量和外部库流量,对app的流量数据包提取了不同类型的特征,使得特征数据库中的特征具有更加优秀的粒度以及更强的抗干扰能力,从而能够提高特征识别的粒度,进而能够大大提高流量识别的精度。并且,本发明实施例的流量识别方法具有较强的鲁棒性,能够处理不同app在流量层面之间的差异性,能够通用化地识别出绝大多数app的流量。

为了确保在预先构建的特征数据库中能够匹配到第一内容特征,所述特征数据库中需要包括大量app的第二内容特征和第二行为特征;并且为了识别的精度,还要保证所述特征数据库中特征的有效性。而如何获得大量app的有效流量样本和相应的流量特征提取方法是构建特征数据库的关键因素。其中,所述有效流量样本中包括app调用本地数据库所产生的流量数据包。

目前获得有效流量样本的方法主要有两种:

第一种为:对流量样本进行标定;

具体地,首先,人工方式使用app,监听app运行过程所产生的流量;然后,依据专家经验,对得到的流量进行过滤,标定出认为有效的app流量作为所述app的流量样本。

第二种为:不对流量样本进行标定;

具体地,人工方式多次使用app,监听app运行过程所产生的流量,并将多次监听得到的流量拼接为一个流量样本。

而目前的流量特征提取方法主要有三种:

第一种为:基于预定义或特殊端口的流量特征提取方法;

具体地,根据通用的网络协议端口提取并识别网络流量,或根据预定义的特殊端口,提取并识别网络流量。

第二种为:基于dpi的流量特征提取方法;

具体地,根据确定的经验和规则,从流量的内容中提取符合指定条件的特征字、指纹或序列作为流量特征。

第三种为:基于深度学习模型的流量特征提取方法;

具体地,将流量的内容按照一定的映射关系,转化为深度学习模型的标准输入;并根据深度学习模型,自动提取流量特征。

然而,由于目前的流量样本获取方法,存在以下缺点:获取必须通过人工,极大地限制了特征数据库中的app数量;需要对流量样本进行标定的方法,依赖于较强的专家经验,对标定人员的素质要求较高;不需对流量样本进行标定的方法,又依赖于本地库流量的数量远大于外部库流量,这在实际应用中,普适性无法保证,且多次对app使用和监听以对流量样本进行拼接,也进一步地增加了时间消耗。因此,亟需寻找一种自动获取有效流量样本的方法,使得电子设备能够自动地获取大量app的有效流量样本。

同时,目前的流量特征提取方法,存在以下缺点:

基于预定义或特殊端口的流量特征提取方法,由于app所使用的网络协议大都是几种常用的类型,如:http、ssl、https等,因此,通过非标准端口或新定义的端口进行流量识别,其识别粒度不够,无法定位产生样本流量的app。基于dpi的流量特征提取方法为监督或半监督方式,在确定特征字或指纹的过程中耗时耗力,且在存在噪声的条件下,特征的选取和识别效果均不理想。而基于深度学习模型的流量特征提取方法,输入需要人工进行筛选和标定,不适合大规模自动化地网络应用特征提取和识别,且模型训练过程中时间开销较大,缺乏理论上的有效性解释。

因此,亟需寻找一种流量特征提取方法,使得提取的流量特征具有更加优秀的粒度和广度表现、以及更强的抗干扰能力。

以下对如何具体构建特征数据库进行详细说明。

具体地,图2为本发明实施例二中构建特征数据库的具体实现流程示意图,参照图2所示,本发明实施例中构建特征数据库具体包括以下步骤:

步骤201,针对每个app,获取相应的原生流量,所述原生流量为相应app在模拟环境运行过程中所产生的流量;

这里,所述模拟环境可以为纯净沙盒环境,通过网络爬虫技术和沙盒控制技术自动监听并获取运行于纯净沙盒环境中各app的原生流量。

该步骤主要用到两个模块:apk爬虫模块和拟人触发模块。

其中,apk爬虫模块用于基于每个app的描述信息,按照指定要求自动从网络站点中爬取相应app的安装包(即apk文件)。

而拟人触发模块,用于自动化地监听并捕获app的原生流量,并保存至指定文件内。具体地,首先,在纯净的模拟器环境中,基于app安装包对所述app进行安装,并使用有效地拟人触发方式(如monkey命令或更具有拟人触发逻辑的组件深度优先触发的puma方法等),对安装的app进行触发,以使app自动运行;然后,在模拟器后台启动流量监听进程(如tcpdump或类似功能进程),对app运行过程中所产生的流量进行监听;最后,过滤掉模拟器的背景流量后,将监听的流量保存至指定文件,即可获取到app的原生流量。

该步骤以自动拟人触发的方式代替人工触发,自动化地实现了流量样本的获取,从而能够获取大量app的原生流量。

步骤202,对所述原生流量进行过滤,获得所述相应app的有效流量样本;

这里,可以基于语义筛选方法,从所述app的原生流量中筛选出相应app的有效流量样本。其中,可以采用一级语义筛选方法,也可以采用二级语义筛选方法,还可以采用三级语义筛选方法,亦或是采用更多级语义筛选方法,获得所述有效流量样本;本实施例中,将以四级语义筛选方法为例进行详细说明。

具体地,对所述app的第n个特征信息进行语义分析,获得第一语义信息,所述n为正整数;对待分析流量数据包中与所述第n个特征信息对应的内容进行语义分析,获得所述待分析流量数据包的第二语义信息;所述待分析流量数据包为所述原生流量中通过n-1个特征信息进行过滤后未确定为有效流量数据包的流量数据包;所述有效流量数据包为所述有效流量样本中的流量数据包;计算所述第一语义信息与所述第二语义信息之间的关联度;将所述关联度大于或等于预设值的待分析流量数据包确定为有效流量样本中的流量数据包。

所述第n个特征信息可以为名称,也可以为包名,还可以为网页文本内容,亦或是关键字段,所述关键字段为流量的内容中用于标识app的字段。比如,在星锐娱乐app的原生流量中,特殊字段“stareal”存在且仅存在于星锐娱乐app的流量中,即特殊字段“stareal”与星锐娱乐app存在唯一性对应的特殊结构,该特殊字段“stareal”即为关键字段。

下面以四级语义筛选方法举例进行详细说明。

设第一个特征信息为名称,第二个特征信息为包名,第三个特征信息为网页文本内容,第四个特征信息为关键字段。当然,也可以有其他的执行顺序,这里将不对其进行限定。

首先,对所述app的名称进行语义分析,获得名称的语义信息;对第一待分析流量数据包中与名称对应的内容进行语义分析,获得所述第一待分析流量数据包的语义信息;所述第一待分析流量数据包为所述原生流量中所有的流量数据包;计算所述名称的语义信息与所述所述第一待分析流量数据包的语义信息之间的关联度;将所述关联度大于或等于预设值的第一待分析流量数据包确定为有效流量样本中的流量数据包;将第一待分析流量数据包中剩余的流量数据包确定为第二待分析流量数据包。

比如,在淘宝app的原生流量中,发现了含有“taobao”字段内容的流量数据包,则可以计算出该流量数据包中含有“taobao”字段内容的语义信息与淘宝app的名称的语义信息之间的相关度较大,当相关度满足一定条件时(如大于或等于某一阈值时),即可判断该流量数据包的属性为本地库流量,即为所述有效样本中的流量数据包。

接着,对所述app的包名进行语义分析,获得包名的语义信息;对第二待分析流量数据包中与包名对应的内容进行语义分析,获得所述第二待分析流量数据包的语义信息;所述第二待分析流量数据包为原生流量中经过第一级筛选后剩余的流量数据包;计算所述包名的语义信息与所述第二待分析流量数据包的语义信息之间的关联度;将所述关联度大于或等于预设值的第二待分析流量数据包确定为有效流量样本中的流量数据包;将第二待分析流量数据包剩余的流量数据包确定为第三待分析流量数据包。

比如,在高德地图app的原生流量中,发现了含有“autoavi”字段内容的流量数据包,这与高德地图app的包名(com.autoavi.minimap)存在语义联系,则可以计算出该流量数据包中含有“autoavi”字段内容的语义信息与高德地图app的包名的语义信息之间的关联程度较大,当相关度满足一定条件时,即可判断该流量数据包的属性为本地库流量,即为有效流量样本中的流量数据包。

接着,对所述app的网页文本内容进行语义分析,获得网页文本内容的语义信息;对第三待分析流量数据包中与网页文本内容对应的内容进行语义分析,获得所述第三待分析流量数据包的语义信息;所述第三待分析流量数据包为原生流量中经过第二级筛选后剩余的流量数据包;计算所述网页文本内容的语义信息与所述第三待分析流量数据包的语义信息之间的关联度;将所述关联度大于或等于预设值的第三待分析流量数据包确定为有效流量样本中的流量数据包;将第三待分析流量数据包剩余的流量数据包确定为第四待分析流量数据包。

比如,在车主无忧app的原生流量中,流量内容中不蕴含任何与其名称(车主无忧),或包名(com.starbaba.starbaba)存在语义联系的内容。但在流量内容中暗含一些网页如url---www.xmiles.com,对应的网页文本内容含有车主无忧app的关键字或其他相关的语义性质内容,则仍可以计算出该流量数据包中含有“url---www.xmiles.com”字段内容的语义信息与车主无忧的网页文本内容的语义信息之间的相关度较大,当相关度满足一定条件时,判断该流量数据包的属性为本地库流量,即为有效流量样本中的流量数据包。

最后,对所述app的关键字段进行语义分析,获得关键字段的语义信息;对第四待分析流量数据包中与关键字段对应的内容进行语义分析,获得所述第四待分析流量数据包的语义信息;所述第四待分析流量数据包为原生流量中经过第三级筛选后剩余的流量数据包;计算所述关键字段的语义信息与所述第四待分析流量数据包的语义信息之间的关联度;将所述关联度大于或等于预设值的第四待分析流量数据包确定为有效流量样本中的流量数据包。

比如,在星锐娱乐app的原生流量中,特殊字段“stareal”存在且仅存在于星锐娱乐app的流量中,即特殊字段“stareal”与星锐娱乐app存在唯一性对应的特殊结构,则可以判定该流量数据包为星锐娱乐app的本地库流量,即为有效流量样本中的流量数据包。

依照上述四级语义筛选,即可实现对所述原生流量的过滤,有效地对每一个流量数据包的属性进行判定,最终得到所述app的有效流量样本,实现app的有效流量样本的全自动获取。

步骤203,对所述有效流量样本进行内容特征提取,获得所述第二内容特征;

这里,可以使用固定位置内容提取方法对所述有效流量样本进行内容特征提取;也可灵活选择其他内容特征提取方法,如:dpi方法、最长最大公共子序列提取方法、以及深度学习中的特征挖掘方法等,这里将不对其进行限定。

步骤204,根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征;

图3为图2所示实现流程中步骤204的具体实现流程示意图,参照图3所示,步骤204具体包括以下步骤:

步骤2041,对所述原生流量进行内容特征提取,获得所述原生流量的内容特征;

可以使用固定位置内容提取方法对所述待识别流量数据包进行内容特征提取;也可灵活选择其他内容特征提取方法,如:dpi方法、最长最大公共子序列提取方法、以及深度学习中的特征挖掘方法等,这里将不对其进行限定。

步骤2042,将所述原生流量的内容特征和预先获取的app的第二内容特征进行匹配,确定所述原生流量关联的app;

步骤2043,根据所述app的描述信息和所述原生流量关联的app,获得所述第二行为特征。

这里,所述第二行为特征包括app对第三方数据库的调用行为、以及调用的时间次序和频率等结构性信息。

该步骤通过多级异步的方式对流量特征进行提取,首先对提取的有效流量样本进行内容特征提取,确定app的有效流量样本的第二内容特征;然后,根据预先提取的各app的第二内容特征和所述app的原生流量的内容特征,确定所述原生流量关联的app;最后,基于app的描述信息和所述原生流量关联的app,确定所述第二行为特征。从而得到了app多层次的流量特征,进而能够获得更加精准的流量识别效果。

步骤205,利用各app的第二内容特征和第二行为特征,构建所述特征数据库。

这里,将所述各app的描述信息、相应的第二内容特征和第二行为特征进行关联保存,即可构建所述特征数据库。

为实现本发明实施例的方法,本发明实施例还提供了一种流量识别装置,用于实现上述流量识别方法的具体细节,达到相同的效果。

图4为本发明实施例流量识别装置组成结构示意图,参照图4所示,本实施例中的流量识别装置包括:第一获取模块31、第一特征提取模块32、第一确定模块33和第二确定模块34;其中,

所述第一获取模块31,用于获取电子设备被使用时所产生的待识别流量数据包;

所述第一特征提取模块32,用于对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;

所述第一确定模块33,用于将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;

所述第二确定模块34,用于根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

可选地,本实施例中的流量识别装置还包括:第二获取模块35、过滤模块36、第二特征提取模块37、第三获取模块38和构建模块39;其中,

所述第二获取模块35,用于针对每个app,获取相应的原生流量,所述原生流量为相应app在模拟环境运行过程中所产生的流量;

所述过滤模块36,用于对所述原生流量进行过滤,获得所述相应app的有效流量样本;

所述第二特征提取模块37,用于对所述有效流量样本进行内容特征提取,获得所述相应app的第二内容特征;

所述第三获取模块38,用于根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征;

所述构建模块39,用于利用各app的第二内容特征和第二行为特征,构建所述特征数据库。

可选地,所述过滤模块36,具体用于对所述app的第n个特征信息进行语义分析,获得第一语义信息,所述n为正整数;对待分析流量数据包中与所述第n个特征信息对应的内容进行语义分析,获得所述待分析流量数据包的第二语义信息;所述待分析流量数据包为所述原生流量中通过n-1个特征信息进行过滤后未确定为有效流量数据包的流量数据包;所述有效流量数据包为所述有效流量样本中的流量数据包;计算所述第一语义信息与所述第二语义信息之间的关联度;将所述关联度大于或等于预设值的待分析流量数据包确定为有效流量样本中的流量数据包。

可选地,图5为图4所述装置中第三获取模块的具体组成结构示意图,参照图5所示,所述第三获取模块38包括:内容特征提取单元381、匹配单元382和获取单元383;其中,

所述内容特征提取单元381,用于对所述原生流量进行内容特征提取,获得所述原生流量的内容特征;

所述匹配单元382,用于将所述原生流量的内容特征和预先获取的app的第二内容特征进行匹配,确定所述原生流量关联的app;

所述获取单元383,用于根据所述app的描述信息和所述原生流量关联的app,获得所述第二行为特征。

可选地,所述第二确定模块34,具体用于从所述至少一个app的第二行为特征中获取目标行为特征,所述目标行为特征中的调用行为关联的app中包括所述待识别流量数据包关联的所有app;从所述特征数据库中获取所述目标行为特征对应的app;将所述目标行为特征对应的app确定为所述待识别流量数据包所属的app。

在实际应用中,所述第一获取模块31、第一特征提取模块32、第一确定模块33、第二确定模块34、第二获取模块35、过滤模块36、第二特征提取模块37、第三获取模块38、构建模块39、以及内容特征提取单元381、匹配单元382和获取单元383均可由位于流量识别装置中的处理器实现。

上述实施例提供的流量识别装置在进行流量识别时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的流量识别装置与流量识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图6为本发明实施例流量装置硬件组成结构示意图,参照图6所示,本实施例中的流量识别装置包括:处理器41、用于存储能够在处理器41上运行的计算机程序的存储器42;其中,

所述处理器41,用于运行所述计算机程序时,执行:

获取电子设备被使用时所产生的待识别流量数据包;

对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;

将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;

根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

可选地,所述处理器41,用于运行所述计算机程序时,执行:

针对每个app,获取相应的原生流量,所述原生流量为相应app在模拟环境运行过程中所产生的流量;

对所述原生流量进行过滤,获得所述相应app的有效流量样本;

对所述有效流量样本进行内容特征提取,获得所述相应app的第二内容特征;

根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征;

利用各app的第二内容特征和第二行为特征,构建所述特征数据库。

可选地,所述处理器41,用于运行所述计算机程序时,执行:

对所述app的第n个特征信息进行语义分析,获得第一语义信息,所述n为正整数;

对待分析流量数据包中与所述第n个特征信息对应的内容进行语义分析,获得所述待分析流量数据包的第二语义信息;所述待分析流量数据包为所述原生流量中通过n-1个特征信息进行过滤后未确定为有效流量数据包的流量数据包;所述有效流量数据包为所述有效流量样本中的流量数据包;

计算所述第一语义信息与所述第二语义信息之间的关联度;

将所述关联度大于或等于预设值的待分析流量数据包确定为有效流量样本中的流量数据包。

可选地,所述处理器41,用于运行所述计算机程序时,执行:

对所述原生流量进行内容特征提取,获得所述原生流量的内容特征;

将所述原生流量的内容特征和预先获取的app的第二内容特征进行匹配,确定所述原生流量关联的app;

根据所述app的描述信息和所述原生流量关联的app,获得所述第二行为特征。

可选地,所述处理器41,用于运行所述计算机程序时,执行:

从所述至少一个app的第二行为特征中获取目标行为特征,所述目标行为特征中的调用行为关联的app中包括所述待识别流量数据包关联的所有app;

从所述特征数据库中获取所述目标行为特征对应的app;

将所述目标行为特征对应的app确定为所述待识别流量数据包所属的app。

当然,实际应用时,如图6所示,各个组件通过总线系统43耦合在一起。可理解,总线系统43用于实现这些组件之间的连接通信。总线系统43除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统43。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行程序,所述可执行程序被处理器41执行时,以实现以下步骤:

获取电子设备被使用时所产生的待识别流量数据包;

对所述待识别流量数据包进行特征提取,获得第一内容特征;所述第一内容特征表征待识别流量数据包关联的应用程序app的内容特征;

将所述第一内容特征与预先构建的特征数据库中各app的第二内容特征进行匹配,确定所述待识别流量数据包关联的至少一个app;所述第二内容特征为从app的有效流量样本中提取的内容特征,所述有效流量样本包括app调用本地数据库所产生的流量数据包;

根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app;所述第二行为特征表征app对第三方数据库的调用行为特征。

可选地,所述可执行程序被处理器41执行时,以实现以下步骤:

针对每个app,获取相应的原生流量,所述原生流量为相应app在模拟环境运行过程中所产生的流量;

对所述原生流量进行过滤,获得所述相应app的有效流量样本;

对所述有效流量样本进行内容特征提取,获得所述相应app的第二内容特征;

根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征;

利用各app的第二内容特征和第二行为特征,构建所述特征数据库。

可选地,所述可执行程序被处理器41执行时,以具体实现对所述原生流量进行过滤,获得所述相应app的有效流量样本的步骤:

对所述app的第n个特征信息进行语义分析,获得第一语义信息,所述n为正整数;

对待分析流量数据包中与所述第n个特征信息对应的内容进行语义分析,获得所述待分析流量数据包的第二语义信息;所述待分析流量数据包为所述原生流量中通过n-1个特征信息进行过滤后未确定为有效流量数据包的流量数据包;所述有效流量数据包为所述有效流量样本中的流量数据包;

计算所述第一语义信息与所述第二语义信息之间的关联度;

将所述关联度大于或等于预设值的待分析流量数据包确定为有效流量样本中的流量数据包。

可选地,所述可执行程序被处理器41执行时,以具体实现根据预先获取的app的第二内容特征和所述原生流量,获得所述相应app的第二行为特征的步骤:

对所述原生流量进行内容特征提取,获得所述原生流量的内容特征;

将所述原生流量的内容特征和预先获取的app的第二内容特征进行匹配,确定所述原生流量关联的app;

根据所述app的描述信息和所述原生流量关联的app,获得所述第二行为特征。

可选地,所述可执行程序被处理器41执行时,以具体实现根据所述特征数据库中所述至少一个app的第二行为特征,从所述至少一个app中确定所述待识别流量数据包所属的app的步骤:

从所述至少一个app的第二行为特征中获取目标行为特征,所述目标行为特征中的调用行为关联的app中包括所述待识别流量数据包关联的所有app;

从所述特征数据库中获取所述目标行为特征对应的app;

将所述目标行为特征对应的app确定为所述待识别流量数据包所属的app。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1