应用识别方法及电子设备转让专利

申请号 : CN202211362339.7

文献号 : CN115408696B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 鲍璐陈贵龙陈虹

申请人 : 荣耀终端有限公司

摘要 :

本申请提供了一种应用识别方法及电子设备,该应用识别方法包括:获取目标终端设备的恶意行为信息,目标终端设备的恶意行为信息包括目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数;根据目标终端设备的恶意行为信息,确定目标终端设备的预测结果;根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用的统计数据;根据目标终端设备的预测结果,以及目标应用的统计数据,确定目标终端设备的识别结果。从而,实现了非正规的应用的准确识别,避免了将正规应用识别为非正规的应用。

权利要求 :

1.一种应用识别方法,其特征在于,包括:

获取目标终端设备的恶意行为信息,所述目标终端设备的恶意行为信息包括所述目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数;

根据所述目标终端设备的恶意行为信息,确定所述目标终端设备的预测结果,所述目标终端设备的预测结果用于指示所述目标终端设备中的所述目标应用产生的全部恶意行为在时间维度上的产生规律;

根据所述目标终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,确定所述目标应用的统计数据,所述目标应用的统计数据用于指示所述目标应用在所述目标终端设备和所述其他的终端设备中产生的全部恶意行为对用户的打扰程度;

根据所述目标终端设备的预测结果,以及所述目标应用的统计数据,确定所述目标终端设备的识别结果,所述目标终端设备的识别结果用于表示所述目标应用在所述目标终端设备中是否为正规应用。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

向所述目标终端设备发送所述目标终端设备的识别结果。

3.根据权利要求1所述的方法,其特征在于,所述根据所述目标终端设备的恶意行为信息,确定所述目标终端设备的预测结果,包括:根据所述目标终端设备中的所述目标应用在所述预设时长内产生的恶意行为的种类,确定所述目标终端设备的第一行为特征,所述第一行为特征用于表示每种恶意行为在时间维度上的依赖关系;

根据所述目标终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,确定所述目标终端设备的第二行为特征,所述第二行为特征用于表示每种恶意行为在时间维度上的产生频率;

根据所述目标终端设备的第一行为特征和所述目标终端设备的第二行为特征,确定所述目标终端设备的预测结果。

4.根据权利要求3所述的方法,其特征在于,所述预设时长包括不重叠且时长相同的多个时段;对应的,所述目标终端设备的恶意行为信息具体包括:所述目标终端设备中的所述目标应用在所述多个时段中的每个时段内产生的恶意行为的种类,和所述目标终端设备中的所述目标应用在所述每个时段内产生的每种恶意行为的次数。

5.根据权利要求3或4所述的方法,其特征在于,所述预设时长包括不重叠且时长相同的多个时段;所述根据所述目标终端设备中的所述目标应用在所述预设时长内产生的恶意行为的种类,确定所述目标终端设备的第一行为特征,包括:针对所述目标终端设备而言,根据预设的各种恶意行为分别在第一矩阵中的行数和列数,确定所述多个时段中的每个时段的每种恶意行为在所述第一矩阵中的行数和列数;

根据所述目标应用在所述每个时段内产生的恶意行为的种类,以及所述目标应用在所述每个时段内产生的每种恶意行为的次数,确定所述每个时段的多个转移次数,每个转移次数为从一个恶意行为转为另一个恶意行为的次数,每个转移次数用于指示在时间维度上相邻的两个恶意行为之间的连续关系;

根据所述每个时段的每种恶意行为在所述第一矩阵中的行数和列数,以及所述每个时段的多个转移次数,确定所述每个时段的第二矩阵;

将所述每个时段的第二矩阵皆沿着行的方向进行矩阵拉直处理,得到多个第三矩阵;

将所述多个第三矩阵沿着列的方向或者行的方向进行拼接处理,得到第四矩阵;

根据所述第四矩阵中的元素,确定第一行为特征。

6.根据权利要求5所述的方法,其特征在于,所述根据所述每个时段的每种恶意行为在所述第一矩阵中的行数和列数,以及所述每个时段的多个转移次数,确定所述每个时段的第二矩阵,包括:根据所述每个时段的每种恶意行为在所述第一矩阵中的行数和列数,确定所述每个时段的每个转移次数在所述第一矩阵中的行数和列数,每个转移次数在所述第一矩阵中的行数为每个转移次数对应的两个恶意行为中的一个恶意行为在所述第一矩阵中的行数,每个转移次数在所述第一矩阵中的列数为每个转移次数对应的两个恶意行为中另外一个恶意行为在所述第一矩阵中的列数;

根据所述每个时段的每个转移次数在所述第一矩阵中的行数和列数,将所述第一矩阵中的所述行数和所述列数对应的元素替换为对应的转移次数,得到所述每个时段的第二矩阵。

7.根据权利要求5所述的方法,其特征在于,所述根据所述目标终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,确定所述目标终端设备的第二行为特征,包括:针对所述目标终端设备而言,根据所述每个时段的每种恶意行为在所述第一矩阵中的行数和列数,对所述每个时段的每种恶意行为的次数进行排序,得到所述每个时段的第五矩阵;

将所述每个时段的第五矩阵沿着列的方向或者行的方向进行拼接处理,得到第六矩阵;

根据所述第六矩阵中的元素,确定第二行为特征。

8.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,确定所述目标应用的统计数据,包括:根据所述目标终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,确定所述目标终端设备,以及其他的终端设备中的所述目标应用在所述预设时长内产生的全部恶意行为的总次数;

根据所述目标终端设备,以及其他的终端设备中的所述目标应用在所述预设时长内产生的全部恶意行为的总次数,确定所述目标应用的统计数据。

9.根据权利要求1所述的方法,其特征在于,所述根据所述目标终端设备的恶意行为信息,确定所述目标终端设备的预测结果,包括:将所述目标终端设备的恶意行为信息输入到行为序列预测模型中,得到所述目标终端设备的预测结果,所述行为序列预测模型是用于预测一个或多个应用程序产生的全部恶意行为在时间维度上的产生规律的模型。

10.根据权利要求9所述的方法,其特征在于,生成所述行为序列预测模型的过程,包括:获取多个终端设备中的每个终端设备的恶意行为信息,每个终端设备的恶意行为信息包括每个终端设备中的样本应用在样本时长内产生的恶意行为的种类,和每种恶意行为的次数;

根据每个终端设备的恶意行为信息,确定每个终端设备的预测结果,所述预测结果用于指示每个终端设备中的所述样本应用产生的全部恶意行为在时间维度上的产生规律;

根据所述多个终端设备中的每个终端设备的恶意行为信息,以及所述每个终端设备的预测结果,对原始行为序列预测模型进行训练,得到所述行为序列预测模型。

11.根据权利要求9或10所述的方法,其特征在于,所述根据所述目标终端设备的预测结果,以及所述目标应用的统计数据,确定所述目标终端设备的识别结果,包括:将所述目标终端设备的预测结果,以及所述目标应用的统计数据输入到机器学习识别模型中,得到所述目标终端设备的识别结果,所述机器学习识别模型是用于识别一个或多个应用程序是否为正规应用的模型。

12.根据权利要求11所述的方法,其特征在于,生成所述机器学习识别模型的过程,包括:根据所述多个终端设备中的每个终端设备中的样本应用在样本时长内产生的每种恶意行为的次数,确定所述多个终端设备的统计数据,所述统计数据用于指示所述样本应用在所述多个终端设备中产生的全部恶意行为对用户的打扰程度;

根据每个终端设备的预测结果和所述多个终端设备的统计数据,确定所述识别结果,所述识别结果用于表示样本应用在每个终端设备中是否为正规应用;

根据所述多个终端设备的统计数据,以及所述识别结果,对原始机器学习识别模型进行训练,得到所述机器学习识别模型。

13.一种电子设备,其特征在于,包括:

一个或多个处理器;

存储器;

以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1‑

12任一项所述的应用识别方法。

14.一种芯片系统,其特征在于,所述芯片系统包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片系统的电子设备执行如权利要求1‑12任一项所述的应用识别方法。

15.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1‑12任一项所述的应用识别方法。

说明书 :

应用识别方法及电子设备

技术领域

[0001] 本申请属于终端技术领域,尤其涉及一种应用识别方法及电子设备。

背景技术

[0002] 随着移动终端的快速发展,基于移动终端各类操作系统开发的应用也越来越多,极大的满足了人们日常生活中的各种需求。然而,也出现了一些非正规的应用,例如恶意应用、流氓应用等,对用户的使用以及数据安全造成重大影响。非正规的应用是一种介于病毒和正规应用之间的应用,具有强制安装、恶意捆绑、广告弹出等恶意特征。因此,对非正规的应用进行识别至关重要。
[0003] 目前,非正规的应用识别主要包括静态检测、根据舆情黑名单/大数据规则管控、或在沙箱中运行监测这三种方法。静态检测的方法中,通过提取应用的代码和/或安装包进行识别分类,得到检测结果。根据舆情黑名单/大数据规则管控的方法中,需要人工收集历史流氓应用产生的恶意行为信息建立黑名单,便于对比识别非正规的应用。在沙箱中运行监测的方法中,需要人工对沙箱内正在运行的应用的进行监视。
[0004] 然而,上述的实现过程中,非正规的应用的检测准确率不高。

发明内容

[0005] 本申请提供了一种应用识别方法及电子设备,可以提高非正规的应用的识别准确率。
[0006] 第一方面,本申请提供一种应用识别方法,包括:
[0007] 获取目标终端设备的恶意行为信息,目标终端设备的恶意行为信息包括目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数;
[0008] 根据目标终端设备的恶意行为信息,确定目标终端设备的预测结果,目标终端设备的预测结果用于指示目标终端设备中的目标应用产生的全部恶意行为在时间维度上的产生规律;
[0009] 根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用的统计数据,目标应用的统计数据用于指示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户的打扰程度;
[0010] 根据目标终端设备的预测结果,以及目标应用的统计数据,确定目标终端设备的识别结果,目标终端设备的识别结果用于表示目标应用在目标终端设备中是否为正规应用。
[0011] 上述方法,可借助目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数,确定目标终端设备中的目标应用产生的全部恶意行为在时间维度上的产生规律,为确定每个终端中的目标应用是否为正规应用做好数据准备。
[0012] 另外,可借助目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户的打扰程度,为确定目标终端设备中的目标应用是否为正规应用做好数据准备。
[0013] 基于此,结合目标应用在目标终端设备中产生的全部恶意行为在时间维度上的产生规律,以及目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户的打扰程度,可以更加精确的确定目标终端设备中的目标应用是否为非正规的应用。
[0014] 从而,上述方法实现了准确的识别目标应用是否为非正规的应用,防止了将正规应用识别为非正规的应用。
[0015] 结合第一方面,在第一方面的某些实现方式中,该方法还包括:
[0016] 向目标终端设备发送目标终端设备的识别结果。
[0017] 上述方法中,向目标终端设备发送目标终端设备中的目标应用为非正规的应用的识别结果,能够提醒终端设备所属的用户,使得避免非正规的应用对用户的打扰,保证用户的使用体验和信息安全。
[0018] 结合第一方面,在第一方面的某些实现方式中,根据目标终端设备的恶意行为信息,确定目标终端设备的预测结果,包括:
[0019] 根据目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,确定目标终端设备的第一行为特征,第一行为特征用于表示每种恶意行为在时间维度上的依赖关系;
[0020] 根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备的第二行为特征,第二行为特征用于表示每种恶意行为在时间维度上的产生频率;
[0021] 根据目标终端设备的第一行为特征和目标终端设备的第二行为特征,确定目标终端设备的预测结果。
[0022] 上述方法中,结合每种恶意行为在时间维度上的依赖关系,和每种恶意行为在时间维度上的产生频率,可以确定全部恶意行为在时间维度上的产生规律。
[0023] 结合第一方面,在第一方面的某些实现方式中,预设时长包括不重叠且时长相同的多个时段;对应的,目标终端设备的恶意行为信息具体包括:
[0024] 目标终端设备中的目标应用在每个时段内产生的恶意行为的种类,和目标终端设备中的目标应用在每个时段内产生的每种恶意行为的次数。
[0025] 例如,预设时长可以为一天,多个时段包括24个小时,每个时段为每小时。
[0026] 由此,可获取目标终端设备中的目标应用在每个时段内产生的恶意行为的种类,和目标终端设备中的目标应用在每个时段内产生的每种恶意行为的次数。
[0027] 结合第一方面,在第一方面的某些实现方式中,根据目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,确定目标终端设备的第一行为特征,包括:
[0028] 针对目标终端设备而言,根据预设的各种恶意行为分别在第一矩阵中的行数和列数,确定每个时段的每种恶意行为在第一矩阵中的行数和列数;
[0029] 根据目标应用在每个时段内产生的恶意行为的种类,以及目标应用在每个时段内产生的每种恶意行为的次数,确定每个时段的多个转移次数,每个转移次数为从一个恶意行为转为另一个恶意行为的次数,每个转移次数用于指示在时间维度上相邻的两个恶意行为之间的连续关系;
[0030] 根据每个时段的每种恶意行为在第一矩阵中的行数和列数,以及每个时段的多个转移次数,确定每个时段的第二矩阵;
[0031] 将每个时段的第二矩阵皆沿着行的方向进行矩阵拉直处理,得到多个第三矩阵;
[0032] 将多个第三矩阵沿着列的方向或者行的方向进行拼接处理,得到第四矩阵;
[0033] 根据第四矩阵中的元素,确定第一行为特征。
[0034] 上述方法中,通过确定每个时段的转移次数,可以确定每个时段产生的恶意行为在时间维度上相邻的两个恶意行为之间的连续关系。
[0035] 其中,通过构造每个时段的第二矩阵,服务器可以更加精确的确定每个预设时段内产生的每种恶意行为在时间维度上的依赖关系。
[0036] 将每个时段的第二矩阵进行矩阵拉直处理,第二矩阵从二维矩阵变为一维矩阵,可以降低服务器的运算量。
[0037] 服务器通过构造第四矩阵,服务器可以更加精确的确定预设时长内产生的每种恶意行为在时间维度上的产生频率,使得服务器为确定目标应用是否为正规应用做好数据准备。
[0038] 另外,每个第三矩阵以及第四矩阵具有固定的行数和列数,避免了每行数据和每列数据长度不同,对每行数据和每列数据补齐所带来的影响较大的问题。
[0039] 每个第三矩阵的以及第四矩阵行数和列数设置较短,克服了每行数据和每列数据过于冗余,导致服务器运算量较大的问题。
[0040] 结合第一方面,在第一方面的某些实现方式中,根据每个时段的每种恶意行为在第一矩阵中的行数和列数,以及每个时段的多个转移次数,确定每个时段的第二矩阵,包括:
[0041] 根据每个时段的每种恶意行为在第一矩阵中的行数和列数,确定每个时段的每个转移次数在第一矩阵中的行数和列数,每个转移次数在第一矩阵中的行数为每个转移次数对应的两个恶意行为中的一个恶意行为在第一矩阵中的行数,每个转移次数在第一矩阵中的列数为每个转移次数对应的两个恶意行为中另外一个恶意行为在第一矩阵中的列数;
[0042] 根据每个时段的每个转移次数在第一矩阵中的行数和列数,将第一矩阵中的行数和列数对应的元素替换为对应的转移次数,得到每个时段的第二矩阵。
[0043] 上述方法中,可以根据每个转移次数对应的两个恶意行为中一个恶意行为在第一矩阵中的行数,另外一个恶意行为在第一矩阵中的列数,确定每个转移次数在第一矩阵中的行数和列数。
[0044] 从而,便于将每个时段的转移次数替换到第一矩阵中,形成第二矩阵,便于通过每个转移次数第二矩阵中的位置确定在时间维度上相邻的两个恶意行为之间的连续关系。
[0045] 结合第一方面,在第一方面的某些实现方式中,根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备的第二行为特征,包括:
[0046] 针对目标终端设备而言,根据每个时段的每种恶意行为在第一矩阵中的行数和列数,对每个时段的每种恶意行为的次数进行排序,得到每个时段的第五矩阵;
[0047] 将每个时段的第五矩阵沿着列的方向或者行的方向进行拼接处理,得到第六矩阵;
[0048] 根据第六矩阵中的元素,确定第二行为特征。
[0049] 上述方法中,通过构造每个时段的第五矩阵,服务器可以更加精确的确定每个时段内产生的每种恶意行为在时间维度上的产生频率。
[0050] 另外,通过构造第六矩阵,服务器可以更加精确的确定预设时长内产生的每种恶意行为在时间维度上的产生频率,使得服务器为确定目标应用是否为正规应用做好数据准备。
[0051] 同时,每个第五矩阵以及第六矩阵具有固定的行数和列数,避免了每行数据和每列数据长度不同,对每行数据和每列数据补齐所带来的影响较大的问题。
[0052] 每个第五矩阵的以及第六矩阵行数和列数设置较短,克服了每行数据和每列数据过于冗余,导致服务器运算量较大的问题。
[0053] 结合第一方面,在第一方面的某些实现方式中,根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用的统计数据,包括:
[0054] 根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备,以及其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数;
[0055] 根据目标终端设备,以及其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数,确定目标应用的统计数据。
[0056] 其中,目标应用的统计数据可以包括:目标应用在目标终端设备和其他的终端设备中产生的恶意行为的总计数次数、平均次数标准差、最小值、25%分位数、50%分位数、75%分位数、和最大值。
[0057] 结合第一方面,在第一方面的某些实现方式中,根据目标终端设备的恶意行为信息,确定目标终端设备的预测结果,包括:
[0058] 将目标终端设备的恶意行为信息输入到行为序列预测模型中,得到目标终端设备的预测结果,行为序列预测模型是用于预测一个或多个应用程序产生的全部恶意行为在时间维度上的产生规律的模型。
[0059] 上述方法中,借助行为序列预测模型,可以准确获得目标终端设备的预测结果。
[0060] 结合第一方面,在第一方面的某些实现方式中,生成行为序列预测模型的过程,包括:
[0061] 获取多个终端设备中的每个终端设备的恶意行为信息,每个终端设备的恶意行为信息包括每个终端设备中的样本应用在样本时长内产生的恶意行为的种类,和每种恶意行为的次数;
[0062] 根据每个终端设备的恶意行为信息,确定每个终端设备的预测结果,预测结果用于指示每个终端设备中的样本应用产生的全部恶意行为在时间维度上的产生规律;
[0063] 根据多个终端设备中的每个终端设备的恶意行为信息,以及每个终端设备的预测结果,对原始行为序列预测模型进行训练,得到行为序列预测模型。
[0064] 上述方法中,借助多个终端设备中的每个终端设备的恶意行为信息,以及每个终端设备的预测结果对原始行为序列预测模型进行训练,可以得到更加精确的行为序列预测模型。
[0065] 结合第一方面,在第一方面的某些实现方式中,根据目标终端设备的预测结果,以及目标应用的统计数据,确定目标终端设备的识别结果,包括:
[0066] 将目标终端设备的预测结果,以及目标应用的统计数据输入到机器学习识别模型中,得到目标终端设备的识别结果,机器学习识别模型是用于识别一个或多个应用程序是否为正规应用的模型。
[0067] 上述方法中,借助机器学习识别模型,可以准确获得目标终端设备的识别结果。
[0068] 结合第一方面,在第一方面的某些实现方式中,生成机器学习识别模型的过程,包括:
[0069] 根据多个终端设备中的每个终端设备中的样本应用在样本时长内产生的每种恶意行为的次数,确定多个终端设备的统计数据,统计数据用于指示样本应用在多个终端设备中产生的全部恶意行为对用户的打扰程度;
[0070] 根据每个终端设备的预测结果和多个终端设备的统计数据,确定识别结果,识别结果用于表示样本应用在每个终端设备中是否为正规应用;
[0071] 根据多个终端设备的统计数据,以及识别结果,对原始机器学习识别模型进行训练,得到机器学习识别模型。
[0072] 上述方法中,借助多个终端设备的统计数据,以及识别结果,对原始机器学习识别模型进行训练,可以获得精确的机器学习识别模型。
[0073] 第二方面,本申请提供一种应用识别装置,该应用识别装置用于执行第一方面及第一方面任一种可能的设计中的应用识别方法。
[0074] 具体地,该应用识别装置,包括获取模块、和确定模块。
[0075] 获取模块,用于获取目标终端设备的恶意行为信息,目标终端设备的恶意行为信息包括目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数;
[0076] 确定模块,用于根据目标终端设备的恶意行为信息,确定目标终端设备的预测结果,目标终端设备的预测结果用于指示目标终端设备中的目标应用产生的全部恶意行为在时间维度上的产生规律;
[0077] 确定模块,还用于根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用的统计数据,目标应用的统计数据用于指示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户的打扰程度;
[0078] 确定模块,还用于根据目标终端设备的预测结果,以及目标应用的统计数据,确定目标终端设备的识别结果,目标终端设备的识别结果用于表示目标应用在目标终端设备中是否为正规应用。
[0079] 结合第一方面,在第一方面的某些实现方式中,该应用识别装置还包括,发送模块。发送模块,具体用于:
[0080] 向目标终端设备发送目标终端设备的识别结果。
[0081] 结合第一方面,在第一方面的某些实现方式中,确定模块,具体用于:
[0082] 根据目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,确定目标终端设备的第一行为特征,第一行为特征用于表示每种恶意行为在时间维度上的依赖关系;
[0083] 根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备的第二行为特征,第二行为特征用于表示每种恶意行为在时间维度上的产生频率;
[0084] 根据目标终端设备的第一行为特征和目标终端设备的第二行为特征,确定目标终端设备的预测结果。
[0085] 结合第一方面,在第一方面的某些实现方式中,预设时长包括不重叠且时长相同的多个时段;对应的,目标终端设备的恶意行为信息具体包括:
[0086] 目标终端设备中的目标应用在每个时段内产生的恶意行为的种类,和目标终端设备中的目标应用在每个时段内产生的每种恶意行为的次数。
[0087] 结合第一方面,在第一方面的某些实现方式中,确定模块,具体用于:
[0088] 针对目标终端设备而言,根据预设的各种恶意行为分别在第一矩阵中的行数和列数,确定每个时段的每种恶意行为在第一矩阵中的行数和列数;
[0089] 根据目标应用在每个时段内产生的恶意行为的种类,以及目标应用在每个时段内产生的每种恶意行为的次数,确定每个时段的多个转移次数,每个转移次数为从一个恶意行为转为另一个恶意行为的次数,每个转移次数用于指示在时间维度上相邻的两个恶意行为之间的连续关系;
[0090] 根据每个时段的每种恶意行为在第一矩阵中的行数和列数,以及每个时段的多个转移次数,确定每个时段的第二矩阵;
[0091] 将每个时段的第二矩阵皆沿着行的方向进行矩阵拉直处理,得到多个第三矩阵;
[0092] 将多个第三矩阵沿着列的方向或者行的方向进行拼接处理,得到第四矩阵;
[0093] 根据第四矩阵中的元素,确定第一行为特征。
[0094] 结合第一方面,在第一方面的某些实现方式中,确定模块,具体用于:
[0095] 根据每个时段的每种恶意行为在第一矩阵中的行数和列数,确定每个时段的每个转移次数在第一矩阵中的行数和列数,每个转移次数在第一矩阵中的行数为每个转移次数对应的两个恶意行为中的一个恶意行为在第一矩阵中的行数,每个转移次数在第一矩阵中的列数为每个转移次数对应的两个恶意行为中另外一个恶意行为在第一矩阵中的列数;
[0096] 根据每个时段的每个转移次数在第一矩阵中的行数和列数,将第一矩阵中的行数和列数对应的元素替换为对应的转移次数,得到每个时段的第二矩阵。
[0097] 结合第一方面,在第一方面的某些实现方式中,确定模块,具体用于:
[0098] 针对目标终端设备而言,根据每个时段的每种恶意行为在第一矩阵中的行数和列数,对每个时段的每种恶意行为的次数进行排序,得到每个时段的第五矩阵;
[0099] 将每个时段的第五矩阵沿着列的方向或者行的方向进行拼接处理,得到第六矩阵;
[0100] 根据第六矩阵中的元素,确定第二行为特征。
[0101] 结合第一方面,在第一方面的某些实现方式中,确定模块,具体用于:
[0102] 根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备,以及其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数;
[0103] 根据目标终端设备,以及其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数,确定目标应用的统计数据。
[0104] 结合第一方面,在第一方面的某些实现方式中,确定模块,具体用于:
[0105] 将目标终端设备的恶意行为信息输入到行为序列预测模型中,得到目标终端设备的预测结果,行为序列预测模型是用于预测一个或多个应用程序产生的全部恶意行为在时间维度上的产生规律的模型。
[0106] 结合第一方面,在第一方面的某些实现方式中,该应用识别装置,还包括生成模块。生成模块,具体用于:生成行为序列预测模型的过程,包括:
[0107] 获取多个终端设备中的每个终端设备的恶意行为信息,每个终端设备的恶意行为信息包括每个终端设备中的样本应用在样本时长内产生的恶意行为的种类,和每种恶意行为的次数;
[0108] 根据每个终端设备的恶意行为信息,确定每个终端设备的预测结果,预测结果用于指示每个终端设备中的样本应用产生的全部恶意行为在时间维度上的产生规律;
[0109] 根据多个终端设备中的每个终端设备的恶意行为信息,以及每个终端设备的预测结果,对原始行为序列预测模型进行训练,得到行为序列预测模型。
[0110] 结合第一方面,在第一方面的某些实现方式中,确定模块,具体用于:
[0111] 将目标终端设备的预测结果,以及目标应用的统计数据输入到机器学习识别模型中,得到目标终端设备的识别结果,机器学习识别模型是用于识别一个或多个应用程序是否为正规应用的模型。
[0112] 结合第一方面,在第一方面的某些实现方式中,生成模块,具体用于:
[0113] 根据多个终端设备中的每个终端设备中的样本应用在样本时长内产生的每种恶意行为的次数,确定多个终端设备的统计数据,统计数据用于指示样本应用在多个终端设备中产生的全部恶意行为对用户的打扰程度;
[0114] 根据每个终端设备的预测结果和多个终端设备的统计数据,确定识别结果,识别结果用于表示样本应用在每个终端设备中是否为正规应用;
[0115] 根据多个终端设备的统计数据,以及识别结果,对原始机器学习识别模型进行训练,得到机器学习识别模型。
[0116] 第三方面,本申请提供一种电子设备,包括处理器;当处理器执行存储器中的计算机代码或指令时,使得电子设备执行第一方面及第一方面任一种可能的设计中的应用识别方法。
[0117] 第四方面,本申请提供一种电子设备,包括一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面及第一方面任一种可能的设计中的应用识别方法。
[0118] 第五方面,本申请提供一种芯片系统,该芯片系统包括处理器,用于从存储器中调用并运行计算机程序,使得安装有芯片系统的电子设备执行第一方面及第一方面任一种可能的设计中的应用识别方法。
[0119] 第六方面,本申请提供一种计算机可读存储介质,包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行第一方面及第一方面任一种可能的设计中的应用识别方法。
[0120] 第七方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面及第一方面任一种可能的设计中的应用识别方法。
[0121] 可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

[0122] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0123] 图1为本申请一实施例提供的一种应用识别方法的场景示意图;
[0124] 图2为本申请一实施例提供的一种终端设备的结构示意图;
[0125] 图3为本申请一实施例提供的一种终端设备的结构示意图;
[0126] 图4为本申请一实施例提供的一种应用识别方法的流程示意图;
[0127] 图5为本申请一实施例提供的一种应用识别方法的应用识别过程的示意图;
[0128] 图6为本申请一实施例提供的一种应用识别方法的流程示意图;
[0129] 图7为本申请一实施例提供的一种应用识别方法的流程示意图;
[0130] 图8为本申请一实施例提供的一种的生成行为预测预测模型和生成机器学习识别模型的流程示意图;
[0131] 图9为本申请一实施例提供的一种应用识别装置的结构示意图。

具体实施方式

[0132] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0133] 以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
[0134] 本申请可提供一种应用识别方法、电子设备、芯片系统、计算机可读存储介质、以及计算机程序产品,考虑到每个终端设备中的非正规的应用产生的全部恶意行为在时间维度上具有一定的产生规律,另外,非正规的应用在多个终端设备中产生的全部恶意行为对用户的打扰程度相同或者相似。因此,针对目标应用而言,结合每个终端设备中的目标应用产生的全部恶意行为在时间维度上的产生规律,以及多个终端设备中的非正规的应用产生的全部恶意行为对用户的打扰程度,可确定目标应用在每个终端设备中是否为正规应用。
[0135] 从而,可以提高非正规的应用的识别准确率,防止将正规应用识别为非正规的应用。另外,便于在目标应用是非正规的应用时,可以通知终端设备所属用户,避免非正规的应用对用户的打扰,保证用户的使用体验和信息安全。
[0136] 应理解,每个终端设备上通常安装有多个应用。每个应用每天可产生多种行为,多种行为中可能包括恶意行为和非恶意行为。每个应用可能为非正规的应用,也可能为正规应用。
[0137] 其中,恶意行为可以包括锁屏后台弹窗、桌面后台弹窗、三方应用上后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起三方应用、和后台弹窗且访问广告网址库等。
[0138] 非正规的应用每天可有规律的产生多个恶意行为。例如,发生锁屏禁用后,连续发生后台弹窗且访问广告网址库。
[0139] 当终端设备中安装有非正规的应用时,该非正规的应用可能侵犯用户的知情权和选择权,对用户的信息安全造成极大的危害。
[0140] 正规应用除了产生非恶意行为,还可以偶尔产生恶意行为。例如,某视频应用中在视频播放过程中发生后台弹窗,即弹广告的正常商业行为。
[0141] 可见,非正规应用也可能产生恶意行为,导致难以区分非正规的应用和正规应用。
[0142] 因此,精确的识别非正规的应用,避免将正规应用识别为非正规的应用至关重要。
[0143] 其中,终端设备为可能安装有非正规的应用的设备。
[0144] 例如,终端设备可以为手机、平板电脑、可穿戴设备、车载设备、笔记本电脑、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等设备。
[0145] 本申请对终端设备的具体类型不作任何限制。
[0146] 其中,本申请提供的应用识别方法,可以应用于电子设备。
[0147] 其中,电子设备为用于识别每个终端设备中的应用是否为正规应用的设备。
[0148] 例如,电子设备200可以为服务器。
[0149] 请参阅图1,图1示出了本申请一实施例提供的一种应用识别方法的场景示意图。
[0150] 如图1所示,多个终端设备包括终端设备100‑终端设备102,每个终端设备中皆安装有目标应用。电子设备200可执行本申请的应用识别方法,来识别目标应用在每个终端设备中是否为正规应用。
[0151] 应理解,上述为对场景的举例说明,并不对本申请的场景作任何限定。
[0152] 在终端设备100‑终端设备102皆为手机,且终端设备100‑终端设备102的结构皆相同时,为了便于说明,图2中,以终端设备100为手机为例进行示意。
[0153] 如图2所示,在一些实施例中,终端设备100可以包括处理器101和通信模块102等。
[0154] 其中,处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器,图像信号处理器(imagesignal processor,ISP),控制器,存储器,视频流编解码器,数字信号处理器(digitalsignal processor,DSP),基带处理器,和/或神经网络处理器(neural‑networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器101中。
[0155] 控制器可以是终端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0156] 处理器101中还可以设置存储器,用于存储指令和数据。
[0157] 在一些实施例中,处理器101中的存储器为高速缓冲存储器。该存储器可以保存处理器101刚用过或循环使用的指令或数据。如果处理器101需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器101的等待时间,因而提高了系统的效率。
[0158] 在一些实施例中,处理器101可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口304等。
[0159] 通信模块102可以包括天线1,天线2,移动通信模块,和/或无线通信模块。
[0160] 如图2所示,在一些实施例中,终端设备100还可以包括外部存储器接口105、内部存储器104,USB接口106、充电管理模块107、电源管理模块108、电池109、和传感器模块103等。
[0161] NPU为神经网络(neural‑network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0162] 充电管理模块107用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
[0163] 在一些有线充电的实施例中,充电管理模块107可以通过USB接口106接收有线充电器的充电输入。
[0164] 在一些无线充电的实施例中,充电管理模块107可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块107为电池109充电的同时,还可以通过电源管理模块108为终端设备100供电。
[0165] 电源管理模块108用于连接电池109,充电管理模块107与处理器101。电源管理模块108接收电池109和/或充电管理模块107的输入,为处理器101,内部存储器104,外部存储器,和通信模块102等供电。电源管理模块108还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
[0166] 在其他一些实施例中,电源管理模块108也可以设置于处理器101中。
[0167] 在另一些实施例中,电源管理模块108和充电管理模块107也可以设置于同一个器件中。
[0168] 外部存储器接口105可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口105与处理器101通信,实现数据存储功能。例如将音乐,视频流等文件保存在外部存储卡中。
[0169] 内部存储器104可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器101通过运行存储在内部存储器104的指令,从而执行终端设备100的各种功能应用以及数据处理。内部存储器104可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器104可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0170] 终端设备100中的传感器模块103可以包括图像传感器、触摸传感器、压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、环境光传感器、指纹传感器、温度传感器、骨传导传感器等部件,以实现对于不同信号的感应和/或获取功能。
[0171] 可选地,终端设备100还可包括外设设备,例如鼠标、按键、指示灯、键盘、扬声器、麦克风等。
[0172] 按键包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
[0173] 指示器可以是指示灯,可以用于指示充电状态和电量变化,也可以用于指示消息、未接来电、和通知等。
[0174] 可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。
[0175] 在另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0176] 请参考图3,为本申请实施例提供的一种终端设备的示意图。本申请实施例提供的图像处理方法应用于图2所示的终端设备100时,终端设备100中的软件可以划分为如图3所示的应用程序层201,硬件抽象层(Hardware Abstraction Layer,HAL)202以及驱动层203。
[0177] 应用程序层201中可以安装有多个应用程序,其中可以包括用于实现拍摄功能的相机应用程序(camera application)。其中,相机应用程序的是指运行于操作系统上,能够执行拍照任务的计算机程序。其中,操作系统可以为安卓(AndroidTM)、视窗(WindowsTM)等。当相机应用程序的格式为安卓应用程序包(Android application package,APK)格式时,相机应用程序可以运行于安卓操作系统上。在本申请实施例中,相机应用程序可以是有拍摄功能的应用程序。例如,功能为分享短视频的应用程序,如果具有拍摄功能,即可作为本申请实施例中相机应用程序。
[0178] 硬件抽象层202是一个位于操作系统内核与硬件电路之间的软件,通常用于将硬件抽象化,以实现操作系统与硬件电路在逻辑层的交互。在本申请实施例中,硬件抽象层202可以包括能够实现相机应用程序与图像传感器在逻辑层交互的相机硬件抽象层
(camera Hardware Abstraction Layer,camera HAL)。
[0179] 驱动层203中可以安装有多个用于驱动硬件工作的驱动(driver)。
[0180] 需要说明的是,应用程序层201,硬件抽象层202以及驱动层203中也可以包括其他内容,在此不做具体限定。
[0181] 其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0182] 本申请对服务器的类型在此不做具体限定。
[0183] 基于上述场景描述,下面,本申请以服务器为例,结合附图和应用场景,对本申请实施例提供的应用识别方法进行详细阐述。
[0184] 请参阅图4,图4示出了本申请一实施例提供的应用识别方法的流程示意图。
[0185] 如图4所示,本申请提供的应用识别方法可以包括:
[0186] S101、获取目标终端设备的恶意行为信息。
[0187] 其中,目标终端设备的恶意行为信息包括:目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数。
[0188] 每种恶意行为皆为与预设的各种恶意行为匹配的恶意行为。
[0189] 预设的各种恶意行为,可以为预先设计的恶意行为库中的各种恶意行为。
[0190] 其中,恶意行为库中的各种恶意行为为从多个已知的非正规的应用中提取到的恶意行为。
[0191] 其中,恶意行为库中的各种恶意行为可以包括锁屏后台弹窗、桌面后台弹窗、三方应用上后台弹窗、图标透明、图标隐藏、锁屏禁用、锁屏恢复、系统应用拉起三方应用、和后台弹窗且访问广告网址库等。
[0192] 恶意行为库中的各种恶意行为可采用如表格、数组等存储方式。
[0193] 另外,恶意行为库中的各种恶意行为皆关联有行为身份标识号码(IdeNtity,ID)。
[0194] 其中,行为ID可采用如字符、字母、自然数等标识。
[0195] 本申请对行为ID的具体实现方式不做限定。
[0196] 假设预设的各种恶意行为及其关联的行为ID如表1所示。
[0197] 表1 预设的各种恶意行为及其行为ID
[0198]
[0199] 在一些实施例中,终端设备可以预先设计恶意行为库,并将恶意行为库存储在终端设备和/或存储设备中。
[0200] 存储设备可与终端设备进行通信,使得终端设备能够从存储设备中获取恶意行为库中的各种恶意行为。本申请对存储设备的存储方式和具体类型不做限定。
[0201] 目标终端设备可根据预设的各种恶意行为,采集其上安装的目标应用在预设时长内产生的每种恶意行为和每种恶意行为的次数,并将采集的每种恶意行为和每种恶意行为的次数发送至服务器。
[0202] 从而,服务器能够获取目标终端设备中的目标应用在预设时长内产生的恶意行为的种类和,和每种恶意行为的次数。
[0203] 在另一些实施例中,服务器可以预先设计恶意行为库,并将恶意行为库存储在服务器和/或存储设备中。
[0204] 存储设备可与服务器进行通信,使得服务器能够从存储设备中获取恶意行为库中的各种恶意行为信息。
[0205] 目标终端设备可采集其上安装的目标应用在预设时长内产生的全部种类的行为和每种行为的次数,将采集的全部种类的行为和每种行为的次数发送至服务器。
[0206] 从而,服务器能够获取目标终端设备中的目标应用在预设时长内产生的全部种类的行为和每种行为的次数,并根据预设的各种恶意行为,从中获取目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数。
[0207] 其中,服务器获取目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数后,可采用如表格、数组等存储方式存储在服务器和/或存储设备中。
[0208] 在一些实施例中,预设时长包括不重叠且时长相同的多个时段。
[0209] 对应的,目标终端设备的恶意行为信息具体包括:目标终端设备中的目标应用在每个时段内产生的恶意行为的种类,和目标终端设备中的目标应用在每个时段内产生的每种恶意行为的次数。
[0210] 也就是说,服务器可以根据获取的目标终端设备中的目标应用在每个时段内产生的恶意行为的种类,和目标终端设备中的目标应用在每个时段内产生的每种恶意行为的次数,确定目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数。
[0211] 在一些实施例中,预设时长可以为一天。
[0212] 在一些实施例中,多个时段为24小时,每个时段为每个小时。
[0213] 假设目标终端设备为手机1,预设时长为一天,每个时段为每小时,目标应用为应用1。
[0214] 手机1中的应用1在00:00‑00:59之间的一个小时产生了9个恶意行为。9个恶意行为中包括7种恶意行为。
[0215] 其中,服务器采用表格的形式存储手机1中的应用1在00:00‑00:59一个小时产生的9个恶意行为,可以如表2所示。
[0216] 表2 手机1中的应用1在00:00‑00:59之间产生的9个恶意行为
[0217]
[0218] 其中,表2中的行为ID对应的每种恶意行为,可与表1中的行为ID对应的每种恶意行为对应。
[0219] 也就是说,手机1中的应用1在00:00‑00:59之间的一个小时产生7种恶意行为,共9个恶意行为。
[0220] 上述9个恶意行为分别关联的行为ID在时间维度上依次包括:[1,2,3,5,4,8,8,8,9]。
[0221] 另外,从表2中可以看出,手机1中的应用1在00:00‑00:59之间的一个小时产生的9个恶意行为中:
[0222] 行为ID为1的恶意行为为1次。
[0223] 行为ID为2的恶意行为为1次。
[0224] 行为ID为3的恶意行为为1次。
[0225] 行为ID为5的恶意行为为1次。
[0226] 行为ID为4的恶意行为为1次。
[0227] 行为ID为8的恶意行为为3次。
[0228] 行为ID为9的恶意行为为1次。
[0229] 其中,目标应用包括至少一个应用程序。例如,目标应用为一个应用。
[0230] S102、根据目标终端设备的恶意行为信息,确定目标终端设备的预测结果。
[0231] 其中,目标终端设备的预测结果用于指示目标终端设备中的目标应用产生的全部恶意行为在时间维度上的产生规律。
[0232] 其中,将目标终端设备的恶意行为信息输入到行为序列预测模型中,得到目标终端设备的预测结果。
[0233] 行为序列预测模型是用于预测一个或多个应用程序产生的全部恶意行为在时间维度上的产生规律的模型。
[0234] 在一些实施例中,服务器可根据目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,确定目标终端设备的第一行为特征;服务器还可根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备的第二行为特征。
[0235] 从而,服务器可以根据目标终端设备的第一行为特征和目标终端设备的第二行为特征,确定目标终端设备的预测结果。
[0236] 其中,第一行为特征用于表示每种恶意行为在时间维度上的依赖关系。
[0237] 第二行为特征用于表示每种恶意行为在时间维度上的产生频率。
[0238] 可见,服务器可根据每种恶意行为在时间维度上的依赖关系,以及每种恶意行为在时间维度上的产生频率,来确定全部恶意行为在时间维度上的产生规律。
[0239] 在一些实施例中,服务器可将目标终端设备的第一行为特征和目标终端设备的第二行为特征输入行为序列预测模型中,输出目标终端设备的预测结果。
[0240] 例如,终端设备为100个,行为序列预测模型可以输出100个终端设备的预测结果。
[0241] 从而,服务器可根据目标终端设备的预测结果,确定目标应用在目标终端设备中是否为正规应用。
[0242] 假设目标终端设备为手机1,预设时长为一天,每个时段为每小时,目标应用为应用1。
[0243] 服务器将手机1中的应用1在2022年10月10日的手机1的第一行为特征和手机1的第二行为特征,输入行为序列预测模型中,可以输出手机1的预测结果。
[0244] 手机1的预测结果可以为应用1在手机1中为非正规的应用。
[0245] 假设目标终端设备为手机2,预设时长为一天,每个时段为每小时,目标应用为应用1。
[0246] 服务器将手机2中的应用1在2022年10月10日的手机2的第一行为特征和手机2的第二行为特征,输入行为序列预测模型中,可以输出手机2的预测结果。
[0247] 手机2的预测结果可以为应用2在手机2中为正规应用。
[0248] 在另一些实施例中,服务器在确定目标终端设备的第一行为特征和目标终端设备的第二行为特征后,还可以将目标终端设备的第一行为特征和目标终端设备的第二行为特征输入行为序列预测模型中,服务器根据目标终端设备的第一行为特征和目标终端设备的第二行为特征,对行为序列预测模型进行训练,更新行为序列预测模型。
[0249] 从而,服务器根据第一行为特征和目标终端设备的第二行为特征,对行为序列预测模型进行断点续训,可以得到更加精确的行为序列预测模型,便于提高行为序列预测模型输出目标终端设备的预测结果的准确度。
[0250] 其中,服务器可以预先生成行为序列预测模型,并将行为序列预测模型储存在服务器和/或存储设备中。
[0251] 在一些实施例中,服务器预先生成行为序列预测模型可采用如下方法:
[0252] 服务器获取多个终端设备中的每个终端设备的恶意行为信息,每个终端设备的恶意行为信息包括每个终端设备中的样本应用在样本时长内产生的恶意行为的种类,和每种恶意行为的次数;根据每个终端设备的恶意行为信息,确定每个终端设备的预测结果。
[0253] 服务器根据多个终端设备中的每个终端设备的恶意行为信息,以及每个终端设备的预测结果,对原始行为序列预测模型进行训练,得到行为序列预测模型。
[0254] 其中,预测结果用于指示每个终端设备中的样本应用产生的全部恶意行为在时间维度上的产生规律。
[0255] 在一些实施例中,样本时长为一天。
[0256] 在一些实施例中,样本应用与上述的目标应用可以为同一应用。
[0257] 每种恶意行为皆为与预设的各种恶意行为匹配的恶意行为。其中,预设的各种恶意行为可参照表1所示的各种恶意行为。
[0258] 可见,由于生成的过程中通过多个终端设备中的每个终端设备的恶意行为信息,以及每个终端设备的预测结果,对原始行为序列预测模型进行训练。因此,服务器将目标终端设备的恶意行为信息输入到行为序列预测模型中,可以输出目标终端设备的预测结果。
[0259] S103、根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用的统计数据。
[0260] 其中,目标应用的统计数据用于指示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户的打扰程度。
[0261] 另外,目标终端设备和其他的终端设备中的目标应用相同。例如,目标终端设备和其他的终端设备为100个手机,100个手机中每个手机中皆安装有应用1。
[0262] 在一些实施例中,统计数据可以包括:目标应用在目标终端设备和其他的终端设备中产生的恶意行为的总计数次数、平均次数标准差、最小值、25%分位数、50%分位数、75%分位数、和最大值中的至少一个。
[0263] 可以理解:
[0264] 总计数次数用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户进行打扰的总次数。
[0265] 平均次数用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户打扰的平均次数。
[0266] 标准差用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户打扰的次数的分布情况。
[0267] 最小值用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户打扰的最少的次数。
[0268] 25%分位数用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户打扰的次数,由小到大排列后第25%的次数。
[0269] 50%分位数用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户打扰的次数,由小到大排列后第50%的次数。
[0270] 75%分位数用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户打扰的次数,由小到大排列后第75%的次数。
[0271] 最大值用于表示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户打扰的最多的次数。
[0272] 在一些实施例中,服务器可根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的所述目标应用在所述预设时长内产生的每种恶意行为的次数,确定目标终端设备和其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数;根据目标终端设备和其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数,确定目标应用的统计数据。
[0273] 假设目标终端设备和其他的终端设备皆为手机,手机具有100个,包括:{手机1、手机2……手机100}。
[0274] 每个手机中均安装有应用1,预设时长为一天,每个时段为每小时,目标应用为应用1。
[0275] 手机1中的应用1在00:00‑23:59之间的一天24小时产生的全部恶意行为的次数为5次。
[0276] 手机2中的应用1上00:00‑23:59之间的一天24小时产生的全部恶意行为的次数为3次。
[0277] ……
[0278] 手机100中的应用1上00:00‑23:59之间的一天24小时产生的全部恶意行为的次数为10次。
[0279] 那么,应用1在100个手机中每个手机上一天产生的全部恶意行为的次数序列可以为[5,3……10]。
[0280] 总计数次数为5+3+……+10得到的次数值。
[0281] 平均次数为(5+3+……+10)/100得到的次数值。
[0282] ……
[0283] 同理,最大值为总次数序列[5,3……10]中的最大值。
[0284] S104、根据目标终端设备的预测结果,以及目标应用的统计数据,确定目标终端设备的识别结果。
[0285] 其中,目标终端设备的识别结果用于表示目标应用在目标终端设备中是否为正规应用。
[0286] 在一些实施例中,服务器可将目标终端设备的预测结果和目标应用的统计数据,输入机器学习识别模型,输出目标终端设备的识别结果。
[0287] 从而,服务器可根据目标终端设备的预测结果和目标应用的统计数据,更加精确的确定目标应用是否为正规应用。
[0288] 在另一些实施例中,服务器可将目标终端设备的预测结果和目标应用的统计数据,输入机器学习识别模型,使得服务器根据目标终端设备的预测结果和目标应用的统计数据,对机器学习识别模型进行训练,更新机器学习识别模型。
[0289] 从而,服务器根据目标终端设备的预测结果和目标应用的统计数据,对机器学习识别模型进行训练,可以得到更加精确的机器学习识别模型,便于提高机器学习识别模型下一次识别目标终端设备的识别结果的准确度。
[0290] 假设目标终端设备和其他的终端设备皆为手机,手机具有100个,预设时长为一天。
[0291] 那么,每个手机中的应用1和应用2的识别结果可以如图5所示:
[0292] 应用1对应的100手机的统计数据中:
[0293] 数字5表示100个手机的总计数次数为6次。
[0294] 数字2表示100个手机的平均次数为2次。
[0295] 应用2对应的100个手机的统计数据中:
[0296] 数字6表示100个手机的总计数次数为6次。
[0297] 数字2表示100个手机的平均次数为2次。
[0298] 应用1对应的100个手机中按照恶意评分由大到小的顺序得到的前10个手机的预测结果中:
[0299] 数字0表示应用1在手机1中为非正规的应用。
[0300] 数字1表示应用1在手机2中为正规应用。
[0301] 应用2对应的100个手机中按照恶意评分由大到小的顺序得到的前10个手机的预测结果中:
[0302] 第1个数字1表示应用2在手机1中为正规应用。
[0303] 第2个数字1表示应用2在手机2中为正规应用。
[0304] 从图5可以看出,对于应用1而言,应用1在手机1和手机2中的预测结果不同。
[0305] 同理,对于应用2而言,应用2在手机1和手机2中的预测结果相同。
[0306] 可见,同一应用在每个手机中的预测结果可能相同,也可能不同。
[0307] 那么,服务器通过将100个手机的预测结果和应用1的统计数据结合,可以确定应用1精确的识别结果。
[0308] 其中,服务器可以预先生成机器学习识别模型,并将机器学习识别模型储存在服务器和/或存储设备中。
[0309] 在一些实施例中,服务器预先生成机器学习识别模型,可采用如下方法:
[0310] 服务器根据多个终端设备中的每个终端设备中的样本应用在样本时长内产生的每种恶意行为的次数,确定多个终端设备的统计数据;服务器根据每个终端设备的预测结果和多个终端设备的统计数据,确定识别结果。
[0311] 服务器根据多个终端设备的统计数据,以及识别结果,对原始机器学习识别模型进行训练,得到机器学习识别模型。
[0312] 其中,统计数据用于指示样本应用在多个终端设备中产生的全部恶意行为对用户的打扰程度。
[0313] 其中,识别结果用于表示样本应用在每个终端设备中是否为正规应用。
[0314] 在一些实施例中,样本时长为一天。
[0315] 在一些实施例中,样本应用与上述的目标应用可以为同一应用。
[0316] 每种恶意行为皆为与预设的各种恶意行为匹配的恶意行为。其中,预设的各种恶意行为可参照表1所示的各种恶意行为。
[0317] 可见,由于生成的过程中通过多个终端设备的统计数据,以及识别结果,对原始机器学习识别模型进行训练。因此,服务器将目标终端设备的预测结果,以及目标应用的统计数据输入到机器学习识别模型中,可以输出目标终端设备的识别结果。
[0318] S105、向目标终端设备发送目标终端设备的识别结果。
[0319] 其中,S105为可选步骤。
[0320] 其中,服务器向目标终端发送目标终端的识别结果,能够提醒目标终端设备所属的用户,使得避免非正规的应用对用户的打扰,保证用户的使用体验和信息安全。
[0321] 本申请提供的应用识别方法,服务器可借助目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数,确定目标终端设备的预测结果,为服务器根据预测结果指示的目标终端设备中的目标应用产生的全部恶意行为在时间维度上的产生规律,确定目标应用是否为正规应用做好数据准备。
[0322] 另外,服务器还可以借助目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用的统计数据,为服务器根据目标应用的统计数据指示的目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户的打扰程度,确定目标应用是否为正规应用做好数据准备。
[0323] 基于此,服务器结合目标终端设备的预测结果和目标应用的统计数据,可以更加精确的确定目标应用在目标终端设备中是否为正规应用。
[0324] 从而,服务器通过确定目标应用在目标终端设备上是否为正规应用,可以提高非正规的应用的识别准确率。
[0325] 进而,服务器向目标终端发送目标终端的识别结果,便于在目标应用为非正规的应用时提醒目标终端设备所属用户,可以避免非正规的应用对用户的打扰,保证用户的使用体验和信息安全。
[0326] 基于上述图4中S102的描述,服务器根据目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,确定目标终端设备的第一行为特征,可采用矩阵的方式。
[0327] 另外,服务器根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备的第二行为特征,也可采用矩阵的方式。
[0328] 下面,结合图6和图7,详细介绍本申请的应用识别方法的具体实现过程。
[0329] 请参阅图6,图6示出了本申请一实施例提供的应用识别方法的流程示意图。
[0330] 如图6所示,本申请提供的应用识别方法可以包括:
[0331] S201、针对目标终端设备而言,根据预设的各种恶意行为分别在第一矩阵中的行数和列数,确定每个时段的每种恶意行为在第一矩阵中的行数和列数。
[0332] 其中,第一矩阵为服务器根据预设的各种恶意行为的数量预先设置的。
[0333] 第一矩阵可以包括多行多列,且行数和列数相同。
[0334] 在一些实施例中,预设的各种恶意行为的数量为N,则服务器可设置N行N列,且全部元素为0的第一矩阵。
[0335] 例如,预设的各种恶意行为的数量为9个,则服务器设置的第一矩阵为9行9列,且第一矩阵中的全部元素为0。
[0336] 假设第一矩阵为9*9,且第一矩阵中的全部元素为0。
[0337] 那么,9*9的第一矩阵可以为:
[0338] 。
[0339] 在一些实施例中,每种恶意行为在第一矩阵中的行数和列数相同。
[0340] 例如,恶意行为1在第一矩阵中的行数为第1行,列数为第1列。
[0341] 继续结合表1和上述的9*9的第一矩阵,假设表1中预设的9种恶意行为[1,2,3,5,6,8,9,7,4],在上述9*9的第一矩阵中对应的行数为[1,2,3,4,5,6,7,8,9],列数为[1,2,3,
4,5,6,7,8,9]。
[0342] 继续结合表2,假设手机1中的应用1在00:00‑00:59之间的一个小时产生7种恶意行为,共9个恶意行为。
[0343] 上述9个恶意行为分别关联的行为ID在时间维度上依次包括:[1,2,3,5,4,8,8,8,9]。
[0344] 那么,继续结合上述的9*9的第一矩阵,服务器可确定[1,2,3,5,4,8,8,8,9]分别在上述的9*9的第一矩阵中的行数和列数皆为[1,2,3,4,9,6,6,6,7]。
[0345] 即,行为ID为1的恶意行为在上述的9*9的第一矩阵中的行数为第1行,列数为第1列。
[0346] 行为ID为2的恶意行为在上述的9*9的第一矩阵中的行数为第2行,列数为第2列。
[0347] 行为ID为3的恶意行为在上述的9*9的第一矩阵中的行数为第3行,列数为第3列。
[0348] 行为ID为5恶意行为在上述的9*9的第一矩阵中的行数为第4行,列数为第4列。
[0349] 行为ID为4恶意行为在上述的9*9的第一矩阵中的行数为第9行,列数为第9列。
[0350] 行为ID为8恶意行为在上述的9*9的第一矩阵中的行数为第6行,列数为第6列。
[0351] 行为ID为9恶意行为在上述的9*9的第一矩阵中的行数为第7行,列数为第7列。
[0352] S202、根据目标应用在每个时段内产生的恶意行为的种类,以及目标应用在每个时段内产生的每种恶意行为的次数,确定每个时段的多个转移次数。
[0353] 其中,S201和S202的执行顺序不分先后,可顺序执行,也可同时执行。
[0354] 其中,每个转移次数为从一个恶意行为转为另一个恶意行为的次数,每个转移次数用于指示在时间维度上相邻的两个恶意行为之间的连续关系。
[0355] 继续结合表2,手机1中的应用1在00:00‑00:59之间的一个小时产生7种恶意行为,共9个恶意行为。
[0356] 上述9个恶意行为分别关联的行为ID在时间维度上依次包括:[1,2,3,5,4,8,8,8,9]。
[0357] 可见,行为ID为1的恶意行为之后为行为ID为2的恶意行为。
[0358] 对应的,从行为ID为1的恶意行为转为行为ID为2的恶意行为的次数为1次。
[0359] 行为ID为2的恶意行为之后为行为ID为3的恶意行为。
[0360] 对应的,从行为ID为2的恶意行为转为行为ID为3的恶意行为的次数为1次。
[0361] 行为ID为5的恶意行为之后为行为ID为4的恶意行为。
[0362] 对应的,从行为ID为5的恶意行为转为行为ID为4的恶意行为的次数为1次。
[0363] 行为ID为4的恶意行为之后为行为ID为8的恶意行为。
[0364] 对应的,从行为ID为4的恶意行为转为行为ID为8的恶意行为的次数为1次。
[0365] 第一个行为ID为8的恶意行为之后为有两个行为ID为8的恶意行为。
[0366] 对应的,从第一个行为ID为8的恶意行为转为第二个行为ID为8的恶意行为的次数为1次。
[0367] 从第一个行为ID为8的恶意行为转为第二个行为ID为8的恶意行为的次数为1次。
[0368] 从第二个行为ID为8的恶意行为转为第三个行为ID为8的恶意行为的次数为1次。
[0369] 那么,从行为ID为8的恶意行为转为行为ID为8的恶意行为的次数共为2次。
[0370] 行为ID为8的恶意行为之后为行为ID为9的恶意行为。
[0371] 对应的,从行为ID为8的恶意行为转为行为ID为9的恶意行为的次数为1次。
[0372] S203、根据每个时段的每种恶意行为在第一矩阵中的行数和列数,确定每个时段的每个转移次数在第一矩阵中的行数和列数。
[0373] 其中,每个转移次数在第一矩阵中的行数为每个转移次数对应的两个恶意行为中的一个恶意行为在第一矩阵中的行数。
[0374] 另外,每个转移次数在第一矩阵中的列数为每个转移次数对应的两个恶意行为中另外一个恶意行为在第一矩阵中的列数。
[0375] 例如,转移次数1对应的两个恶意行为为恶意行为1和恶意行为2,恶意行为1在第一矩阵中的行数为第1行,恶意行为2在第一矩阵中的列数为第2列,那么,转移次数1在第一矩阵中的位置为第1行第2列。
[0376] S204、根据每个时段的每个转移次数在第一矩阵中的行数和列数,将第一矩阵中的行数和列数对应的元素替换为对应的转移次数,得到每个时段的第二矩阵。
[0377] 基于S203,服务器可以确定每个时段的每个转移次数在第一矩阵中的行数和列数,从而,服务器可以将第一矩阵中的行数和列数对应的元素替换为对应的转移次数,得到每个时段的第二矩阵。
[0378] 例如,转移次数1在第一矩阵中的位置为第1行第2列,那么,服务器可以将第1行第2列对应的元素替换为转移次数1。
[0379] 在一些实施例中,在第一矩阵为N行N列的矩阵时,第二矩阵为N行N列的矩阵。
[0380] 在一些实施例中,预设时长为一天,每个时段为每小时,每个时段的第二矩阵为每小时的第二矩阵。
[0381] 继续结合表2,假设手机1中的应用1在00:00‑00:59之间的一个小时产生7种恶意行为,共9个恶意行为。
[0382] 上述9个恶意行为分别关联的行为ID在时间维度上依次包括:[1,2,3,5,4,8,8,8,9]。
[0383] 那么,服务器根据S203中00:00‑00:59之间的每个转移次数在上述9*9的第一矩阵中的行数和列数,将上述9*9的第一矩阵中的行数和列数对应的元素替换为对应的转移次数,可以得到如下所示的第二矩阵:
[0384] 。
[0385] 其中,第1行第2列的数字1表示行为ID为1的恶意行为与行为ID为2的恶意行为之间的转移次数为1次。
[0386] 第2行第3列的数字1表示行为ID为2的恶意行为与行为ID为3的恶意行为之间的转移次数为1次。
[0387] 第3行第4列的数字1表示行为ID为3的恶意行为与行为ID为5的恶意行为之间的转移次数为1次。
[0388] 第6行第6列的数字2表示行为ID为8的恶意行为与行为ID为8的恶意行为之间的转移次数为2次。
[0389] 第6行第7列的数字1表示行为ID为8的恶意行为与行为ID为9的恶意行为之间的转移次数为1次。
[0390] 第9行第6列的数字1表示行为ID为4的恶意行为与行为ID为8的恶意行为之间的转移次数为1次。
[0391] S205、将每个时段的第二矩阵皆沿着行的方向进行矩阵拉直处理,得到多个第三矩阵。
[0392] 其中,矩阵拉直处理为将每个时段的第二矩阵中的多行数据中的每行数据,依次沿着行的方向连接起来,使得多行数据连接成一行数据。
[0393] 例如,将第二矩阵中的第2行的数据连接到第1行的数据之后,将第3行的数据连接到第2行的数据之后。
[0394] 其中,多个第三矩阵中的每个第三矩阵为每个时段的第二矩阵进行矩阵拉直处理后得到的矩阵。
[0395] 在一些实施例中,在第二矩阵为N行N列的矩阵时,每个第三矩阵为1行N2列的矩阵。
[0396] 假设00:00‑00:59之间的一个小时的第二矩阵为S204中的9*9的矩阵。
[0397] 那么,将S204中的9*9的第二矩阵沿着行的方向进行矩阵拉直处理后,得到的一个第三矩阵为1*81的矩阵,即:
[0398] [0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 0 0]。
[0399] 从而,通过构造每个第三矩阵,服务器可以更好的确定目标终端设备中的目标应用在每个时段产生的每种恶意行为在时间维度上的依赖关系。
[0400] 另外,可以理解,每个第三矩阵具有固定的行数和列数,避免了每行数据和每列数据长度不同,对每行数据和每列数据补齐所带来的影响较大的问题。
[0401] 另外,每个第三矩阵的行数和列数设置较短,克服了每行数据和每列数据过于冗余,导致服务器运算量较大的问题。
[0402] S206、将多个第三矩阵沿着列的方向或者行的方向进行拼接处理,得到第四矩阵。
[0403] 应理解,基于S205,服务器获得的多个第三矩阵包括多个时段分别对应的第三矩阵,那么,服务器将多个时段的分别对应的第三矩阵进行拼接处理,可以得到预设时长的第四矩阵。
[0404] 在一些实施例中,服务器可将多个第三矩阵沿着列的方向进行拼接处理,得到第四矩阵。
[0405] 在预设时长为一天,每个时段为每小时,每个第三矩阵为1*81的矩阵时,服务器将24个1*81的第三矩阵沿着列的方向进行拼接处理,得到的第四矩阵为24*81的矩阵。
[0406] 在另一些实施例中,服务器可将多个第三矩阵沿着行的方向进行拼接处理,得到第四矩阵。
[0407] 在预设时长为一天,每个时段为每小时,每个第三矩阵为1*81的矩阵时,服务器将24个1*81的第三矩阵沿着行的方向进行拼接处理,得到的第四矩阵为1*1944的矩阵。
[0408] 假设预设时长为一天,每个时段为每小时,且00:00‑00:59之间的一个小时的第三矩阵为1*81的矩阵:
[0409] [0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 1 0 0 0]。
[0410] ……
[0411] 23:00‑23:59之间的一个小时的第三矩阵为1*81的矩阵:
[0412] [0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 1 0 0]。
[0413] 那么,服务器可将24个第三矩阵沿着列的方向进行拼接处理,得到的00:00‑23:59之间的一天的第四矩阵为24*81的矩阵:
[0414] 。
[0415] S207、根据第四矩阵中的元素,确定第一行为特征。
[0416] 基于S206,服务器可以获得第四矩阵,从而,服务器可以根据第四矩阵中的元素,确定第一行为特征。
[0417] 本申请中,服务器可确定每个时段的多个转移次数,通过确定每个时段的转移次数,服务器可以确定每个时段产生的恶意行为在时间维度上相邻的两个恶意行为之间的连续关系。
[0418] 服务器通过构造每个时段的第二矩阵,服务器可以更加精确的确定每个预设时段内产生的每种恶意行为在时间维度上的依赖关系。
[0419] 此外,服务器将每个时段的第二矩阵进行矩阵拉直处理,使得每个时段的第二矩阵从二维矩阵变为一维矩阵,可以降低服务器的运算量。
[0420] 服务器将多个第三矩阵沿着列的方向或者行的方向进行拼接处理,得到第四矩阵,根据第四矩阵中的元素,确定第一行为特征,服务器通过构造第四矩阵,可以更加精确的确定预设时长内产生的每种恶意行为在时间维度上的产生频率,使得服务器为确定目标应用是否为正规应用做好数据准备。
[0421] 另外,每个第三矩阵以及第四矩阵具有固定的行数和列数,避免了每行数据和每列数据长度不同,对每行数据和每列数据补齐所带来的影响较大的问题。
[0422] 每个第三矩阵的以及第四矩阵行数和列数设置较短,克服了每行数据和每列数据过于冗余,导致服务器运算量较大的问题。
[0423] 基于上述图4中S102的描述,服务器根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备的第二行为特征,可采用矩阵的形式。
[0424] 下面,结合图7,详细介绍本申请的应用识别方法的具体实现过程。
[0425] 请参阅图7,图7示出了本申请一实施例提供的应用识别方法的流程示意图。
[0426] 如图7所示,本申请提供的应用识别方法可以包括:
[0427] S301、针对目标终端设备而言,根据每个时段的每种恶意行为在第一矩阵中的行数和列数,对每个时段的每种恶意行为的次数进行排序,得到每个时段的第五矩阵。
[0428] 基于图6中的S201,服务器可以确定预设的各种恶意行为分别在第一矩阵中的行数和列数,从而,可以确定每个时段的每种恶意行为在第一矩阵中的行数和列数。
[0429] 在一些实施例中,预设时长为一天,每个时段为每小时,每个时段的第五矩阵为每小时的第五矩阵。
[0430] 从而,服务器可以根据每种恶意行为在第一矩阵中的行数和列数,对每种恶意行为的次数进行排序,确定每个时段的第五矩阵。
[0431] 继续结合表2,从表2中可以看出:
[0432] 行为ID为1的恶意行为产生次数为1次。
[0433] 行为ID为2的恶意行为产生次数为1次。
[0434] 行为ID为3的恶意行为产生次数为1次。
[0435] 行为ID为5的恶意行为产生次数为1次。
[0436] 行为ID为4的恶意行为产生次数为1次。
[0437] 行为ID为8的恶意行为产生次数为3次。
[0438] 行为ID为9的恶意行为产生次数为1次。
[0439] 假设每个恶意行为关联的行为ID[1,2,3,5,4,8,8,8,9]在第一矩阵中对应的行数和列数皆为[1,2,3,4,9,6,6,6,7]。
[0440] 那么,00:00‑00:59之间的一个小时的第五矩阵为[1 1 1 1 0 3 1 0 1]。
[0441] S302、将每个时段的第五矩阵沿着列的方向或者行的方向进行拼接处理,得到第六矩阵。
[0442] 应理解,基于S301,服务器获得的多个第五矩阵包括多个时段分别对应的第五矩阵,那么,服务器将多个时段的分别对应的第五矩阵进行拼接,可以得到预设时长的第六矩阵。
[0443] 在一些实施例中,服务器可将每个第五矩阵沿着列的方向进行拼接处理,得到第六矩阵。
[0444] 在预设时长为一天,每个时段为每小时,每个第五矩阵为1*9的矩阵时,服务器将24个1*9的第五矩阵沿着列的方向进行拼接处理,得到的第六矩阵为24*9的矩阵。
[0445] 在另一些实施例中,服务器可将每个第五矩阵沿着行的方向进行拼接处理,得到第六矩阵。
[0446] 在预设时长为一天,每个时段为每小时,每个第五矩阵为1*9的矩阵时,服务器将24个1*9的第三矩阵沿着行的方向进行拼接处理,得到的第四矩阵为1*81的矩阵。
[0447] 假设预设时长为一天,每个时段为每小时,且00:00‑00:59之间的一个小时的第五矩阵为1*9的矩阵:
[0448] 。
[0449] ……
[0450] 在23:00‑23:59之间的一个小时的第五矩阵为1*9的矩阵:
[0451] 。
[0452] 那么,服务器可将24个第五矩阵沿着列的方向进行拼接处理,得到的00:00‑23:59之间的一天的第六矩阵为24*9的矩阵:
[0453] 。
[0454] S303、根据第六矩阵中的元素,确定第二行为特征。
[0455] 基于S302,服务器可以获得第六矩阵,从而,服务器可以根据第六矩阵中的元素,确定第二行为特征。
[0456] 例如,在预设时长为一天,第六矩阵为S302中的24*9的矩阵时,该24*9的矩阵中的元素表示目标终端设备中的目标应用在一天内产生的每种恶意行为的次数,可以根据该第六矩阵中的元素确定第二行为特征。
[0457] 本申请中,服务器根据每个时段的每种恶意行为在第一矩阵中的行数和列数,对每个时段的每种恶意行为的次数进行排序,得到每个时段的第五矩阵,通过构造每个时段的第五矩阵,服务器可以更加精确的确定每个预设时段内产生的每种恶意行为在时间维度上的产生频率。
[0458] 此外,服务器将每个时段的第五矩阵沿着列的方向或者行的方向进行拼接处理,得到第六矩阵,根据第六矩阵中的元素,确定第二行为特征。
[0459] 服务器通过构造第六矩阵,服务器可以更加精确的确定预设时长内产生的每种恶意行为在时间维度上的产生频率,使得服务器为确定目标应用是否为正规应用做好数据准备。
[0460] 另外,每个第五矩阵以及第六矩阵具有固定的行数和列数,避免了每行数据和每列数据长度不同,对每行数据和每列数据补齐所带来的影响较大的问题。
[0461] 每个第五矩阵的以及第六矩阵行数和列数设置较短,克服了每行数据和每列数据过于冗余,导致服务器运算量较大的问题。
[0462] 基于前文描述,在一个具体实施例中,假设如下内容:
[0463] 1、目标终端设备为手机1;
[0464] 2、电子设备为服务器;
[0465] 2、目标应用1为应用1;
[0466] 3、预设时长为一天,多个时段为24小时,每个时段为每小时。
[0467] 基于上述假设内容,服务器可执行本申请提供的应用识别方法:
[0468] 步骤11、服务器获取手机1中的应用1在每小时内产生的恶意行为的种类,和手机1中的应用1在每小时内产生的恶意行为的次数。
[0469] 步骤12、服务器根据预设的各种恶意行为分别在矩阵1中的行数和列数,确定每小时内产生的每种恶意行为在矩阵1中的行数和列数。
[0470] 步骤13、针对手机1而言,服务器根据预设的各种恶意行为分别在矩阵1中的行数和列数,确定每小时的每种恶意行为在矩阵1中的行数和列数。
[0471] 步骤14、服务器根据应用1在每小时内产生的恶意行为的种类,以及应用1在每小时内产生的每种恶意行为的次数。
[0472] 步骤15、根据每个时段的每种恶意行为在矩阵1中的行数和列数,确定每小时的每个转移次数在矩阵1中的行数和列数。
[0473] 步骤16、根据每小时的每个转移次数在矩阵1中的行数和列数,将矩阵1中的行数和列数对应的元素替换为对应的转移次数,得到每小时的矩阵2。
[0474] 步骤17、服务器将每小时的矩阵2皆沿着行的方向进行矩阵拉直处理,得到多个矩阵3。
[0475] 步骤18、服务器将多个矩阵3沿着列的方向进行拼接处理,得到矩阵4。
[0476] 步骤19、服务器根据每小时的每种恶意行为在矩阵1中的行数和列数,确定每小时的每个转移次数在矩阵1中的行数和列数。
[0477] 步骤20、服务器根据每小时的每个转移次数在矩阵1中的行数和列数,将矩阵1中的行数和列数对应的元素替换为对应的转移次数,得到每小时的矩阵2。
[0478] 步骤21、针对手机1而言,服务器根据每小时的每种恶意行为在矩阵1中的行数和列数,对每小时的每种恶意行为的次数进行排序,得到每小时的矩阵5。
[0479] 步骤22、服务器将每小时的矩阵5沿着列的方向进行拼接处理,得到矩阵6。
[0480] 步骤23、服务器拼接矩阵4和矩阵6,得到矩阵7。
[0481] 步骤24、服务器将手机1对应的矩阵7,输入行为序列预测模型,输出手机1的预测结果。
[0482] 手机1的预测结果用于表示手机1中的应用1产生的全部恶意行为在时间维度上的产生规律。
[0483] 步骤25、根据手机1和和其他的手机对应的多个预测结果分别对应的恶意评分,对多个预测结果按照恶意评分由大到小的顺序进行排序,从多个预测结果中获取前10个预测结果。
[0484] 步骤26、服务器根据手机1中的应用1在一天内产生的每种恶意行为的次数,以及其他的手机中的应用1在一天内产生的每种恶意行为的次数,确定手机1和其他的手机中的应用1在一天内产生的全部恶意行为的总次数。
[0485] 步骤27、服务器根据手机1和其他的手机中的应用1在一天内产生的全部恶意行为的总次数,确定应用1的统计数据。
[0486] 统计数据包括应用1在手机1和其他的手机中产生的恶意行为的总计数次数、平均次数标准差、最小值、25%分位数、50%分位数、75%分位数、和最大值。
[0487] 步骤28、服务器将多个预测结果中的前10个预测结果和1应用1的统计数据,输入机器学习识别模型,输出手机1的识别结果。
[0488] 手机1的识别结果用于表示应用1在手机1中是否为正规应用。
[0489] 综上,服务器根据手机1中的应用1在一天内产生的恶意行为的种类,和每种恶意行为的次数,可确定手机1的预测结果。另外,服务器根据手机1中的应用1在一天内产生的每种恶意行为的次数,以及其他的手机中的应用1在一天内产生的每种恶意行为的次数,可以确定应用1的统计数据。从而,服务器能够根据手机1的预测结果和应用1的统计数据,确定手机1的识别结果。
[0490] 基于前文描述,针对行为预测预测模型和机器学习识别模型的过程而言,在一个具体实施例中,假设如下内容:
[0491] 1、多个终端设备为100个手机;
[0492] 2、电子设备为服务器;
[0493] 3、样本应用为应用1;
[0494] 4、预设时长为一天,多个时段为24小时,每个时段为每小时。
[0495] 如图8所示,基于上述假设内容,服务器可执行本申请提供的生成行为预测预测模型和生成机器学习识别模型的过程:
[0496] 步骤11、服务器获取100个手机中的每个手机的恶意行为信息。
[0497] 每个手机的恶意行为信息包括每个手机中的应用1在一天内产生的恶意行为的种类,和每种恶意行为的次数。
[0498] 步骤12、服务器根据每个手机的恶意行为信息,能够确定每个手机的预测结果。
[0499] 预测结果用于指示每个手机中的应用1产生的全部恶意行为在时间维度上的产生规律。
[0500] 步骤13、服务器根据100个手机中的每个手机的恶意行为信息,以及每个手机的预测结果,对原始行为序列预测模型进行训练,可得到行为序列预测模型。
[0501] 步骤14、服务器根据100个手机中的每个手机中的应用1在一天内产生的每种恶意行为的次数,能够确定100个手机的统计数据。
[0502] 统计数据用于指示应用1在100个手机中产生的全部恶意行为对用户的打扰程度。
[0503] 步骤15、服务器根据每个手机的预测结果和100个手机的统计数据,能够确定识别结果。
[0504] 识别结果用于表示应用1在每个手机中是否为正规应用。
[0505] 步骤16、服务器根据100个手机的统计数据,以及识别结果,对原始机器学习识别模型进行训练,可得到机器学习识别模型。
[0506] 综上,服务器根据100个手机中的每个手机的恶意行为信息,以及每个手机的预测结果对原始行为序列预测模型进行训练,可以得到精确的行为序列预测模型。服务器还根据100个手机的统计数据,以及识别结果,对原始机器学习识别模型进行训练,可以得到精确的机器学习识别模型。
[0507] 基于上述服务器得到的行为序列预测模型和机器学习识别模型,在一个实施例中,假设如下内容:
[0508] 1、目标终端设备为手机1;
[0509] 2、电子设备为服务器;
[0510] 2、目标应用1为应用1;
[0511] 3、预设时长为一天,多个时段为24小时,每个时段为每小时。
[0512] 基于上述假设内容,服务器可执行本申请提供应用识别方法:
[0513] 步骤11、服务器获取手机1的恶意行为信息。
[0514] 手机1的恶意行为信息包括手机1中的应用1在预设时长内产生的恶意行为的种类,和每种恶意行为的次数。
[0515] 步骤12、服务器将手机1的恶意行为信息输入到行为序列预测模型中,可得到手机1的预测结果。
[0516] 手机1的预测结果用于指示手机1中的应用1产生的全部恶意行为在时间维度上的产生规律。
[0517] 步骤13、服务器根据手机1中的应用1在预设时长内产生的每种恶意行为的次数,以及其他的手机中的应用1在预设时长内产生的每种恶意行为的次数,可确定应用1的统计数据。
[0518] 应用1的统计数据用于指示应用1在手机1和其他的手机中产生的全部恶意行为对用户的打扰程度。
[0519] 步骤14、服务器将手机1的预测结果,以及应用1的统计数据输入到机器学习识别模型中,可得到手机1的识别结果。
[0520] 手机1的识别结果用于表示应用1在手机1中是否为正规应用。
[0521] 另外,服务器将手机1的恶意行为信息输入到行为序列预测模型后,还可根据手机1的恶意行为信息,对行为序列预测模型进行再次训练,并更新行为序列预测模型。从而,服务器可得到更加精确的行为序列预测模型。
[0522] 服务器将手机1的预测结果,以及应用1的统计数据输入到机器学习识别模型后,还可根据手机1的预测结果,以及应用1的统计数据,对机器学习识别模型进行再次训练,并更新行为机器学习识别模型。从而,服务器可得到更加精确的机器学习识别模型。
[0523] 示例性地,本申请还提供一种应用识别装置。
[0524] 下面,结合图9,对本申请一实施例提供的应用识别装置进行详细说明。
[0525] 请参阅图9,图9示出了本申请一实施例提供的应用识别装置的示意性框图。
[0526] 如图9所示,应用识别装置400可以独立存在,也可以集成在其他设备中,可以与上述电子设备之间实现相互通信,用于实现上述任一方法实施例中对应于电子设备的操作,本申请应用识别装置400可以包括:获取模块401、和确定模块402。
[0527] 获取模块401,用于获取目标终端设备的恶意行为信息,目标终端设备的恶意行为信息包括目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,和每种恶意行为的次数;
[0528] 确定模块402,用于根据目标终端设备的恶意行为信息,确定目标终端设备的预测结果,目标终端设备的预测结果用于指示目标终端设备中的目标应用产生的全部恶意行为在时间维度上的产生规律;
[0529] 确定模块402,还用于根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标应用的统计数据,目标应用的统计数据用于指示目标应用在目标终端设备和其他的终端设备中产生的全部恶意行为对用户的打扰程度;
[0530] 确定模块402,还用于根据目标终端设备的预测结果,以及目标应用的统计数据,确定目标终端设备的识别结果,目标终端设备的识别结果用于表示目标应用在目标终端设备中是否为正规应用。
[0531] 在一些实施例中,该应用识别装置还包括,发送模块403。发送模块403,具体用于:
[0532] 向目标终端设备发送目标终端设备的识别结果。
[0533] 在一些实施例中,确定模块,具体用于:
[0534] 根据目标终端设备中的目标应用在预设时长内产生的恶意行为的种类,确定目标终端设备的第一行为特征,第一行为特征用于表示每种恶意行为在时间维度上的依赖关系;
[0535] 根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备的第二行为特征,第二行为特征用于表示每种恶意行为在时间维度上的产生频率;
[0536] 根据目标终端设备的第一行为特征和目标终端设备的第二行为特征,确定目标终端设备的预测结果。
[0537] 在一些实施例中,预设时长包括不重叠且时长相同的多个时段;对应的,目标终端设备的恶意行为信息具体包括:
[0538] 目标终端设备中的目标应用在每个时段内产生的恶意行为的种类,和目标终端设备中的目标应用在每个时段内产生的每种恶意行为的次数。
[0539] 在一些实施例中,确定模块402,具体用于:
[0540] 针对目标终端设备而言,根据预设的各种恶意行为分别在第一矩阵中的行数和列数,确定每个时段的每种恶意行为在第一矩阵中的行数和列数;
[0541] 根据目标应用在每个时段内产生的恶意行为的种类,以及目标应用在每个时段内产生的每种恶意行为的次数,确定每个时段的多个转移次数,每个转移次数为从一个恶意行为转为另一个恶意行为的次数,每个转移次数用于指示在时间维度上相邻的两个恶意行为之间的连续关系;
[0542] 根据每个时段的每种恶意行为在第一矩阵中的行数和列数,以及每个时段的多个转移次数,确定每个时段的第二矩阵;
[0543] 将每个时段的第二矩阵皆沿着行的方向进行矩阵拉直处理,得到多个第三矩阵;
[0544] 将多个第三矩阵沿着列的方向或者行的方向进行拼接处理,得到第四矩阵;
[0545] 根据第四矩阵中的元素,确定第一行为特征。
[0546] 在一些实施例中,确定模块402,具体用于:
[0547] 根据每个时段的每种恶意行为在第一矩阵中的行数和列数,确定每个时段的每个转移次数在第一矩阵中的行数和列数,每个转移次数在第一矩阵中的行数为每个转移次数对应的两个恶意行为中的一个恶意行为在第一矩阵中的行数,每个转移次数在第一矩阵中的列数为每个转移次数对应的两个恶意行为中另外一个恶意行为在第一矩阵中的列数;
[0548] 根据每个时段的每个转移次数在第一矩阵中的行数和列数,将第一矩阵中的行数和列数对应的元素替换为对应的转移次数,得到每个时段的第二矩阵。
[0549] 在一些实施例中,确定模块402,具体用于:
[0550] 针对目标终端设备而言,根据每个时段的每种恶意行为在第一矩阵中的行数和列数,对每个时段的每种恶意行为的次数进行排序,得到每个时段的第五矩阵;
[0551] 将每个时段的第五矩阵沿着列的方向或者行的方向进行拼接处理,得到第六矩阵;
[0552] 根据第六矩阵中的元素,确定第二行为特征。
[0553] 在一些实施例中,确定模块402,具体用于:
[0554] 根据目标终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,以及其他的终端设备中的目标应用在预设时长内产生的每种恶意行为的次数,确定目标终端设备,以及其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数;
[0555] 根据目标终端设备,以及其他的终端设备中的目标应用在预设时长内产生的全部恶意行为的总次数,确定目标应用的统计数据。
[0556] 在一些实施例中,确定模块402,具体用于:
[0557] 将目标终端设备的恶意行为信息输入到行为序列预测模型中,得到目标终端设备的预测结果,行为序列预测模型是用于预测一个或多个应用程序产生的全部恶意行为在时间维度上的产生规律的模型。
[0558] 在一些实施例中,该应用识别装置,还包括生成模块。生成模块,具体用于:生成行为序列预测模型的过程,包括:
[0559] 获取多个终端设备中的每个终端设备的恶意行为信息,每个终端设备的恶意行为信息包括每个终端设备中的样本应用在样本时长内产生的恶意行为的种类,和每种恶意行为的次数;
[0560] 根据每个终端设备的恶意行为信息,确定每个终端设备的预测结果,预测结果用于指示每个终端设备中的样本应用产生的全部恶意行为在时间维度上的产生规律;
[0561] 根据多个终端设备中的每个终端设备的恶意行为信息,以及每个终端设备的预测结果,对原始行为序列预测模型进行训练,得到行为序列预测模型。
[0562] 结合第一方面,在第一方面的某些实现方式中,确定模块402,具体用于:
[0563] 将目标终端设备的预测结果,以及目标应用的统计数据输入到机器学习识别模型中,得到目标终端设备的识别结果,机器学习识别模型是用于识别一个或多个应用程序是否为正规应用的模型。
[0564] 在一些实施例中,生成模块,具体用于:
[0565] 根据多个终端设备中的每个终端设备中的样本应用在样本时长内产生的每种恶意行为的次数,确定多个终端设备的统计数据,统计数据用于指示样本应用在多个终端设备中产生的全部恶意行为对用户的打扰程度;
[0566] 根据每个终端设备的预测结果和多个终端设备的统计数据,确定识别结果,识别结果用于表示样本应用在每个终端设备中是否为正规应用;
[0567] 根据多个终端设备的统计数据,以及识别结果,对原始机器学习识别模型进行训练,得到机器学习识别模型。
[0568] 示例性地,本申请提供一种电子设备,包括处理器;当处理器执行存储器中的计算机代码或指令时,使得电子设备执行前文实施例中的应用识别方法。
[0569] 示例性地,本申请提供一种电子设备,包括一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行前文实施例中的应用识别方法。
[0570] 可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0571] 本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0572] 在采用对应各个功能划分各个功能模块的情况下,上述实施例中涉及的电子设备还可以包括:接收模块、和确定模块。其中,接收模块、和确定模块相互配合,可以用于支持电子设备执行上述步骤,和/或用于本文所描述的技术的其他过程。
[0573] 需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0574] 本实施例提供的电子设备,用于执行上述应用识别方法,因此可以达到与上述实现方法相同的效果。
[0575] 示例性地,本申请提供一种芯片系统,芯片系统包括处理器,用于从存储器中调用并运行计算机程序,使得安装有芯片系统的电子设备执行前文实施例中的应用识别方法。
[0576] 示例性地,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有代码或指令,当代码或指令在电子设备上运行时,使得电子设备执行时实现前文实施例中的应用识别方法。
[0577] 示例性地,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得电子设备实现前文实施例中的应用识别方法。
[0578] 其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片系统均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0579] 通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0580] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0581] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0582] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0583] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。