G06F19/00
1.一种应用程序的风险确定方法,其特征在于,包括:
确定至少一应用程序与多个权限之间的至少一申请关系;其中, 所述至少一申请关系中的每个申请关系对应于所述至少一应用程序 中的一应用程序申请所述多个权限中的一权限;
确定所述至少一申请关系中每个申请关系的权值;
根据所述每个申请关系对应的所述权值确定所述至少一应用程 序中每个应用程序的应用安全风险值;
根据所述每个应用程序的所述应用安全风险值对所述至少一应 用程序进行安全等级划分。
2.如权利要求1所述的方法,其特征在于,根据所述每个申请 关系对应的所述应用程序申请所述权限的概率确定所述每个申请关 系的权值。
3.如权利要求1所述的方法,其特征在于,根据所述每个申请 关系对应的所述应用程序所属的一应用分类中所有应用程序的权限 申请历史数据确定对应的所述权值。
4.如权利要求3所述的方法,其特征在于,根据所述应用分类 中所述所有应用程序申请所述权限的频率与所述所有应用程序分别 申请所述多个权限的多个频率之和的比值得到所述权值。
5.如权利要求1所述的方法,其特征在于,所述根据所述每个 申请关系对应的所述权值确定所述至少一应用程序中每个应用程序 的所述应用安全风险值包括:
根据所述每个申请关系对应的所述权值以及至少一约束确定所 述每个应用程序的所述应用安全风险值;
其中,所述至少一约束包括一第一约束,所述第一约束包括:
所述至少一申请关系中一申请关系对应的权值越高,所述申请关 系对应的一应用程序的应用安全风险值与所述申请关系对应的一权 限的权限安全风险值越相近。
6.如权利要求5所述的方法,其特征在于,所述至少一应用程 序为多个应用程序,所述至少一约束还包括一第二约束,所述第二约 束包括:
所述多个应用程序中的两个应用程序的权限申请状况越相似,所 述两个应用程序的应用安全风险值越相近。
7.如权利要求5所述的方法,其特征在于,所述至少一约束还 包括一第三约束,所述第三约束包括:
对于所述多个权限中的两个权限,所述两个权限的被申请状况越 相似,所述两个权限的权限安全风险值越相近。
8.如权利要求5所述的方法,其特征在于,所述至少一约束还 包括一第四约束,所述第四约束包括:
所述至少一应用程序的应用安全风险值分别与所述至少一应用 程序的先验应用安全风险值一致;
所述多个权限的权限安全风险值分别与所述多个权限的先验权 限安全风险值一致。
9.如权利要求1所述的方法,其特征在于,所述根据所述每个 应用程序的所述应用安全风险值对所述至少一应用程序进行安全等 级划分包括:
根据所述至少一应用程序的所述应用安全风险值的离散度对所 述多个应用程序进行安全等级划分。
10.如权利要求9所述的方法,其特征在于,所述根据所述至少 一应用程序的所述应用安全风险值的离散度对所述多个应用程序进 行安全等级划分包括:
根据所述至少一应用程序的所述应用安全风险值的变异系数将 所述至少一应用程序划分在至少一个安全等级,其中,属于同一安全 等级的至少一应用程序的所述应用安全风险值的变异系数在预设的 一第一阈值范围内。
11.如权利要求1所述的方法,其特征在于,所述根据所述每个 应用程序的所述应用安全风险值对所述至少一应用程序进行安全等 级划分包括:
对于所述至少一应用程序中的每个应用程序:
比较预设的至少一第二阈值与所述每个应用程序的所述应用安 全风险值,确定所述每个应用程序的安全等级。
12.一种应用程序的风险确定装置,其特征在于,包括:
申请关系确定模块,用于确定至少一应用程序与多个权限之间的 至少一申请关系;其中,所述至少一申请关系中的每个申请关系对应 于所述至少一应用程序中的一应用程序申请所述多个权限中的一权 限;
权值确定模块,用于确定所述至少一申请关系中每个申请关系的 权值;
风险值确定模块,用于根据所述每个申请关系对应的所述权值确 定所述至少一应用程序中每个应用程序的应用安全风险值;
等级划分模块,用于根据所述每个应用程序的所述应用安全风险 值对所述至少一应用程序进行安全等级划分。
13.如权利要求12所述的装置,其特征在于,所述权值确定模 块包括:
权值确定子模块,用于根据所述每个申请关系对应的所述应用程 序申请所述权限的概率确定所述每个申请关系的权值。
14.如权利要求13所述的装置,其特征在于,所述权值确定子 模块包括:
权值确定单元,用于根据所述每个申请关系对应的所述应用程序 所属的一应用分类中所有应用程序的权限申请历史数据确定对应的 所述权值。
15.如权利要求14所述的装置,其特征在于,所述权值确定单 元包括:
权值确定子单元,用于根据所述应用分类中所述所有应用程序申 请所述权限的频率与所述所有应用程序分别申请所述多个权限的多 个频率之和的比值得到所述权值。
16.如权利要求12所述的装置,其特征在于,所述风险值确定 模块包括:
风险值确定子模块,用于根据所述每个申请关系对应的所述权值 以及至少一约束确定所述每个应用程序的所述应用安全风险值;
其中,所述至少一约束包括一第一约束,所述第一约束包括:
所述至少一申请关系中一申请关系对应的权值越高,所述申请关 系对应的一应用程序的应用安全风险值与所述申请关系对应的一权 限的权限安全风险值越相近。
17.如权利要求16所述的装置,其特征在于,所述至少一应用 程序为多个应用程序,所述至少一约束还包括一第二约束,所述第二 约束包括:
所述多个应用程序中的两个应用程序的权限申请状况越相似,所 述两个应用程序的应用安全风险值越相近。
18.如权利要求16所述的装置,其特征在于,所述至少一约束 还包括一第三约束,所述第三约束包括:
对于所述多个权限中的两个权限,所述两个权限的被申请状况越 相似,所述两个权限的权限安全风险值越相近。
19.如权利要求16所述的装置,其特征在于,所述至少一约束 还包括一第四约束,所述第四约束包括:
所述至少一应用程序的应用安全风险值分别与所述至少一应用 程序的先验应用安全风险值一致;
所述多个权限的权限安全风险值分别与所述多个权限的先验权 限安全风险值一致。
20.如权利要求12所述的装置,其特征在于,所述等级划分模 块包括:
第一划分子模块,用于根据所述至少一应用程序的所述应用安全 风险值的离散度对所述多个应用程序进行安全等级划分。
21.如权利要求20所述的装置,其特征在于,所述第一划分子 模块包括:
等级划分单元,用于根据所述至少一应用程序的所述应用安全风 险值的变异系数将所述至少一应用程序划分在至少一个安全等级,其 中,属于同一安全等级的至少一应用程序的所述应用安全风险值的变 异系数在预设的一第一阈值范围内。
22.如权利要求12所述的方法,其特征在于,所述等级划分模 块包括:
第二划分子模块,用于:
对于所述至少一应用程序中的每个应用程序:
比较预设的至少一第二阈值与所述每个应用程序的所述应用安 全风险值,确定所述每个应用程序的安全等级。
23.一种电子设备,其特征在于,包括权利要求12-22中任一项 所述的应用程序的风险确定装置。
本申请涉及一种数据处理方法,尤其涉及一种应用程序的风险确 定技术方案。
近年来随着移动设备与移动互联网的高速发展,移动应用程序的 数量出现了爆炸式的增长。与此同时,移动应用程序的功能被极大的 扩展,用以丰富和满足用户各种各样的需求,例如:基于位置的服务 (Location Based Services,LBS),基于社交平台的服务(Social Networking Services,SNS),等等。事实上,这些丰富的功能依赖于 各种用户数据和设备的使用权限,例如位置访问权、通讯录访问权、 短信访问权等等。这些访问权限的使用,使得用户产生了对于自身隐 私、安全的担心,因而越来越多的用户希望能了解应用程序的权限访 问安全性。
本申请的目的是:提供一种确定应用程序的风险等级的技术方案。
第一方面,本申请一个实施方案提供了一种应用程序的风险确定 方法,包括:
确定至少一应用程序与多个权限之间的至少一申请关系;其中, 所述至少一申请关系中的每个申请关系对应于所述至少一应用程序 中的一应用程序申请所述多个权限中的一权限;
确定所述至少一申请关系中每个申请关系的权值;
根据所述每个申请关系对应的所述权值确定所述至少一应用程 序中每个应用程序的应用安全风险值;
根据所述每个应用程序的所述应用安全风险值对所述至少一应 用程序进行安全等级划分。
第二方面,本申请一个实施方案提供了一种应用程序的风险确定 装置,包括:
申请关系确定模块,用于确定至少一应用程序与多个权限之间的 至少一申请关系;其中,所述至少一申请关系中的每个申请关系对应 于所述至少一应用程序中的一应用程序申请所述多个权限中的一权 限;
权值确定模块,用于确定所述至少一申请关系中每个申请关系的 权值;
风险值确定模块,用于根据所述每个申请关系对应的所述权值确 定所述至少一应用程序中每个应用程序的应用安全风险值;
等级划分模块,用于根据所述每个应用程序的所述应用安全风险 值对所述至少一应用程序进行安全等级划分。
本申请实施例的至少一个实施方案通过确定应用程序与权限之 间的申请关系以及所述申请关系的权值建立应用程序与权限的二部 图模型,根据该二部图模型确定应用程序的应用安全风险值;此外, 为了避免用户根据应用安全风险值难以明确的感知应用程序的安全 风险,本申请实施例还对应用程序进行安全等级划分,方便用户根据 自己的安全隐私需要选择合适的安全等级的应用程序。
图1为本申请实施例的一种应用程序的风险确定方法的流程图;
图2为本申请实施例的一种应用程序的风险确定方法中应用程 序与权限的二部图示意图;
图3为本申请实施例一种应用程序的风险确定装置的结构示意 框图;
图4为本申请实施例另一种应用程序的风险确定装置的结构示 意框图;
图5为本申请实施例一种应用程序的风险确定装置的权值确定 单元的结构示意框图;
图6a和图6b分别为本申请实施例两种种应用程序的风险确定装 置的等级划分模块的结构示意框图;
图7为本申请实施例一种电子设备的结构示意框图;
图8为本申请实施例又一种应用程序的风险确定装置的结构示 意框图。
下面结合附图(若干附图中相同的标号表示相同的元素)和实施 例,对本申请的具体实施方式作进一步详细说明。以下实施例用于说 明本申请,但不用来限制本申请的范围。
本领域技术人员可以理解,本申请中的“第一”、“第二”等术语仅 用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也 不表示它们之间的必然逻辑顺序。
对于应用于一用户设备的一应用程序来说,其可能会申请使用该 用户设备的至少一数据使用的权限,例如一桌面应用程序申请用户设 备中存储的照片数据的使用权限。本申请的发明人发现,在对应用程 序的安全风险进行评估时,结合考虑应用程序与权限之间潜在的关系 会提高评估的准确性。
如图1所示,本申请实施例提供了一种应用程序的风险确定方法, 包括:
S110确定至少一应用程序与多个权限之间的至少一申请关系; 其中,所述至少一申请关系中的每个申请关系对应于所述至少一应用 程序中的一应用程序申请所述多个权限中的一权限;
S120确定所述至少一申请关系中每个申请关系的权值;
S130根据所述每个申请关系对应的所述权值确定所述至少一应 用程序中每个应用程序的应用安全风险值;
S140根据所述每个应用程序的所述应用安全风险值对所述至少 一应用程序进行安全等级划分。
本申请实施例中所述至少一应用程序可以为一个应用程序,也可 以为多个应用程序,本申请实施例下面的实施方式以所述至少一应用 程序为多个应用程序进行描述。所述多个应用程序与所述多个权限之 间具有多个申请关系。
如图2所示,在本申请实施例中,发明人考虑到应用程序和权限 的特性,提出了基于二部图的模型,来确定应用程序与权限之间的关 系。其中,将多个应用程序作为二部图中的第一组节点,将多个权限 作为二部图中的第二组节点,两组节点之间的连接由应用程序与权限 的申请关系确定,即,当且仅当一应用程序申请了一权限时,所述应 用程序与所述权限之间具有申请关系,建立有连接。
举例来说,本发明提供的应用程序的风险确定装置作为本实施例 的执行主体,执行S110~S140。具体地,所述确定装置可以以软件、 硬件或软硬件结合的方式设置在用户设备或服务器设备中。
本申请实施例的实施方案通过确定应用程序与权限之间的申请 关系以及所述申请关系的权值建立应用程序与权限的二部图模型,根 据该二部图模型确定应用程序的应用安全风险值;此外,为了避免用 户根据应用安全风险值难以明确的感知应用程序的安全风险,本申请 实施例还对应用程序进行安全等级划分,方便用户根据自己的安全隐 私需要选择合适的安全等级的应用程序。
下面结合图2所示的二部图进一步说明本申请实施例方法的各 步骤:
在本申请实施例中,通过图2所示的二部图表示本申请实施例多 个应用程序与多个权限之间的关系,其中所述二部图G可以表示为: G={V,E,W},其中,
V为节点集,有V={Va,Vp},
Va为应用程序集,包括所述多个应用程序a1~aM,即Va={a1,···, aM},M为所述多个应用程序的个数,为正整数;
Vp为权限集,包括所述多个权限p1~pN,即Vp={p1,···,pN}; N为所述多个权限的个数,为正整数;
E为申请关系集,其中,当且仅当所述多个应用程序中的一应用 程序ai申请了所述多个权限中的一权限pj时,存在一申请关系eij∈E;
W为权值集,一权值wij∈W表示所述申请关系eij的权值。
如图2所示的实施方式中,二部图包括4个应用程序a1~a4,3 个权限p1~p3,(在图2所示实施例中,所述应用程序a1~a4分别为: 愤怒的小鸟(游戏类)、切水果(游戏类)、脸谱(社交类)以及麦块 (游戏类);所述权限p1为读取手机状态、权限p2为访问精确位置、 权限p3表示读取联系人);申请关系集包含8个申请关系(图2中通 过应用程序与权限之间的连线表示):e11,e12,e21,e22,e32,e33,e42 以及e43,它们分别对应的权值为0.3,0.7,0.2,0.8,0.5,0.5,0.4 以及0.6。
本申请实施例中,所述权值wij表示所述应用程序ai与所述权限 pj的相关性。在一种可能的实施方式中,所述权值wij表示所述应用 程序ai申请所述权限pj的概率。这里应用程序ai申请权限pj的概率 指的是,在确定所述应用程序ai申请了哪些权限之前,其申请权限 pj的可能性。例如,对于图2中的申请关系e11来说,0.3表示应用程 序a1申请权限p1的概率为0.3。
当然,在其它可能的实施方式中,所述权值还可以根据其它依据 确定,来表示应用程序与权限之间的相关程度,特别的,在一种可能 的实施方式中,可以根据用户的设定指令确定所述权值。
如上面所述的,在本申请实施例一种可能的实施方式中,所述步 骤S120在确定所述权值时,可以根据所述每个申请关系对应的所述 应用程序申请所述权限的概率确定所述每个申请关系的权值。
在本申请实施例中,可以根据历史数据获取所述概率。可选地, 在一种可能的实施方式中,可以根据所述每个申请关系对应的所述应 用程序所属的一应用分类中所有应用程序的权限申请历史数据确定 对应的所述权值。在本实施方式中,所述应用分类可以是根据所述应 用程序的功能划分的分类,例如游戏、办公、地图等;还可以是根据 应用程序的开发商进行的分类,或者还可以是根据应用程序其它方面 的相似性等进行的聚类分类等等。当然,本领域的技术人员可以知道, 所述应用分类还可以是其它的分类标准进行的分类。
可选地,在本申请实施例一种可能的实施方式中,可以根据所述 应用程序所属的所述应用分类中所有应用程序申请所述权限的频率 与所述所有应用程序分别申请所述多个权限的多个频率之和的比值 得到所述权值。可以通过下面的公式表示:
其中fij表示所述应用程序ai所属的所述应用分类中的应用程序申 请权限pj的频率。
在本申请实施例一种可能的实施方式中,为了得到归一化的频率, 可以通过所述应用分类中申请了一权限的应用程序的数量与该应用 分类中所有应用程序的比值得到所述权限对应的所述频率。当然,在 本申请实施例其它可能的实施方式中,还可以通过其它方式确定所述 频率。
在本申请实施例其它可能的实施方式中,除了上述根据权限的申 请频率确定所述每个申请关系的权值外,还可以根据其它参数确定所 述权值,例如外部的先验知识,所述先验知识例如可以为本领域专家 的意见、其它方法计算出了应用程序与权限之间的相关值等。
在本申请实施例一种可能的实施方式中,可选地,所述步骤S130 可以通过至少一约束来使得得到的应用程序的应用安全风险值更加 准确。
在一种可能的实施方式中,所述至少一约束包括一第一约束,所 述第一约束包括:
所述多个申请关系中一申请关系对应的权值越高,所述申请关系 对应的应用程序的应用安全风险值与所述申请关系对应的权限的权 限安全风险值越相近。
在本申请实施例中,所述应用安全风险值表示对应的应用程序的 安全风险大小,所述权限安全风险值表示对应的权限的安全风险大小。
本领域技术人员可以知道,所述第一约束考虑了应用程序与权限 之间的主导关系。其中,一应用程序与一权限的权值越高,二者之间 的相关性越强,当其中一个的风险高时,另一个必然也会高,反之亦 然。以图2所示的实施例为例,对于权限p2来说,其对应的4个申 请关系e12,e22,e32和e42分别对应的权值为0.7、0.8、0.5和0.4,因 此,根据所述第一约束可以知道,权限p2的权限安全风险值应该与 应用程序a2的应用安全风险值最接近。
可选的,在一种可能的实施方式中,所述至少一约束还包括一第 二约束,所述第二约束包括:
所述多个应用程序中的两个应用程序的权限申请状况越相似,所 述两个应用程序的应用安全风险值越相近。
在本实施方式中,所述权限申请状况包括:应用程序申请的权限 和应用程序申请权限的申请关系对应的权值。其中,当两个应用程序 申请的权限越相似,同时申请相同权限的权值越相似,二者的应用安 全风险值应该越相近。如图2所示的应用程序a1和应用程序a1都申 请了权限p1和权限p2,与应用程序a3或应用程序a4相比,此时,这 两个应用程序的应用安全风险值应该是更接近的;此外,该两个应用 程序不但申请了相同的权限,其分别申请权限p1和权限p2的权值也 相近,因此可以预见的是,应用程序a1和应用程序a2的应用安全风 险值应该是更相近的。同样,应用程序a3和应用程序a4的应用安全 风险值也应该是更相近的。当然,应用程序a1或应用程序a2与应用 程序a3或应用程序a4的应用安全风险值应该是比较不相近的。
可选地,在一种可能的实施方式中,可以通过一应用程序对应的
所有申请关系的权值来向量表示所述应用程序,例如应用程序ai表示
为其中,所述向量包含N个元素,依次分
别对应于N个权限,其中,当所述应用程序申请一权限时,对应的
元素为对应的权值;当所述应用程序ai没有申请一权限时,用0代替
该元素(此时可以看成所述应用程序ai申请该权限的权值为0);应
用程序aj表示为例如,图2所示的实施例中,
应用程序a1对应的向量这里的0表示应用程序a1
没有申请权限p3。此时可以通过这两个应用程序对应的向量的余弦距
离来确定这两个应用程序的相似度:
当然,本领域的技术人员可以知道,其它用于表示两个向量之间 相似度的方法也可以用于本申请实施例确定两个应用程序的相似程 度,例如可以通过两个向量之间的欧式距离或KL距离 (Kullback-Leibler Divergence)来确定所述两个向量的相似度。
可选的,在一种可能的实施方式中,所述至少一约束还包括一第 三约束,所述第三约束包括:
对于所述多个权限中的两个权限,所述两个权限的被申请状况越 相似,所述两个权限的权限安全风险值越相近。
在本申请实施例中,所述权限的被申请状况包括申请所述权限的 应用程序以及所述应用程序申请所述权限对应申请关系的权值。其中, 申请两个权限的应用程序越相似、同时相同的应用程序分别申请所述 两个权限的申请关系的权值越相似,所述两个权限对应的权限安全风 险值越相近。仍然以图2所示的实施方式为例,可以看出,权限p1 与权限p2同时被应用程序a1和应用程序a2申请了,同时二者分别被 应用程序a1和应用程序a2申请的权值相似,权限p2与权限p3又同时 被应用程序a3和应用程序a4申请,而权限p1和权限p3没有被相同的 应用程序申请,因此可以知道的是,在权限p2和权限p3中,权限p1 的权限安全风险值更接近权限p2的权限安全风险值。本领域的技术 人员可以知道,如果权限p3仅被应用程序a1和应用程序a2申请,则 权限p1与权限p3的权限安全风险值会更接近。
同样可选的,在一种可能的实施方式中,可以通过一权限对应的
所有申请关系的权值来向量表示所述权限,例如权限pi表示为
,其中,所述向量包含M个元素,依次分别对应于
M个应用程序,其中,当一应用程序申请所述权限pi时,对应的元
素为对应的权值;当一应用程序没有申请所述权限pi时,用0代替该
元素(此时可以看成所述应用程序申请所述权限的权值为0);权限
pj表示为例如,图2所示的实施例中,权限
p1对应的向量这里的两个0分别表示应用程序
a3和a4没有申请权限p1。此时可以通过这两个权限对应的向量的余弦
距离来确定这两个权限的相似度:
同样的,本领域的技术人员可以知道,其它用于表示两个向量之 间相似度的方法也可以用于本申请实施例确定两个权限的相似程度, 例如上面所述的欧式距离。
为了使得到的应用安全风险值更加准确,还可以将外部的先验知 识引入到应用安全风险值的计算中,因此,可选地,在一种可能的实 施方式中,所述至少一约束还包括一第四约束,所述第四约束包括:
所述多个应用程序的应用安全风险值分别与所述多个应用程序 的先验应用安全风险值一致;
所述多个权限的权限安全风险值分别与所述多个权限的先验权 限安全风险值一致。
在本申请实施例中,所述多个应用程序的应用安全风险值和多个 权限的权限安全风险值分别与先验应用安全风险值和先验权限安全 风险值一致的意思是所述应用和权限安全风险值应满足先验知识,例 如:第一应用程序的先验应用安全风险值大于第二应用程序的先验应 用安全风险值,则所述第一应用程序的应用安全风险值一般也应大于 所述第二应用程序的应用安全风险值。本申请实施例中,引入所述第 四约束可以使得获取的应用安全风险值可以尽快的收敛到合适的范 围。在一种可能的实施方式中,对于一应用程序,可能会有多个应用 安全风险值满足上面的第一、第二和第三约束,那么所述第四约束可 以帮助确定所述应用程序对应的多个应用安全风险值中哪个才是该 应用程序更合适的应用安全风险值。
在本申请实施例中,所述先验应用安全风险值和先验权限安全风 险值分别可以是通过多种方式获得,例如,在一些可能的实施方式中, 可以采用领域专家设置的对应的安全风险值、也可以根据外部风险报 告构建一安全分类得到对应的安全风险值、或者还可以采用相关领域 最先进的安全模式得到对应的安全风险值。特别的,在一种可能的实 施方式中,可以通过用户的预设来获得所述述先验应用安全风险值和 先验权限安全风险值。
在本申请实施例一种可能的实施方式中,为了使得对应的应用和 权限安全风险值的获取效率更高,可以采用信息先验的朴素贝叶斯 (Naive Bayes with information Priors,PNB)来得到所述先验应用安 全风险值和先验权限安全风险值。
在本申请实施例一种可能的实施方式中,可以根据所述每个申请 关系对应的所述权值以及上面所述的第一至第四约束来确定所述多 个应用程序中每个应用程序的应用安全风险值。
例如,在一种可能的实施方式中,定义一结合上面四个约束的成 本函数,例如表示为:
其中,表示应用程序ai的应用安全风险值,表示应用程序
ai的先验应用安全风险值,表示权限pj的权限安全风险值,表
示权限pj的先验权限安全风险值,上面第一部分(第一个大括号内的
部分)表示了上面所述的第四约束,第二部分(第二个大括号内的部
分)表示了所述第二和第三约束,第三部分表示了所述第一约束。参
数λ和μ分别为所述第四约束的参数和所述第二和第三约束的参数,
用于控制上述的第一部分和第二部分,用户可以根据需要设置这两个
参数。可以看出,当λ和μ为零时,本申请实施例的成本函数不受所
述第二、第三和第四约束的约束,而仅需要考虑所述第一约束。
可以看出,为了满足上面所述的约束,必须得到合适的和使
得所述成本函数尽可能小。因此,在一种可能的实施方式中,可以先
给所述和赋初始值,例如0到1之间的值,在一种可能的实施
方式中,例如可以令:再通过梯度下降法不断
的迭代更新这两个值,直到使得所述成本函数小于一设定的阈值。
当然,本领域技术人员可以知道,上面的成本函数仅是本申请实 施例用于求取所述应用安全风险值的一种可能的方式,还可以通过其 它方法来得到本申请实施例的所述应用安全风险值。
可选地,在本申请实施例一种可能的实施方式中,所述步骤S130 可以是:
对于所述多个应用程序中的每个应用程序:
比较预设的至少一第二阈值与所述每个应用程序的所述应用安 全风险值,确定所述每个应用程序的安全等级。
例如,在一种可能的实施方式中,所述至少一第二阈值例如可以 包括一低第二阈值和一高第二阈值,其中,所述低第二阈值小于所述 高第二阈值;当一应用程序的应用安全风险值小于所述低第二阈值, 则可以确定所述应用程序的安全等级为低;当一应用程序的应用安全 风险值大于等于所述低第二阈值,同时小于所述高第二阈值,则可以 确定所述应用程序的安全等级为中;当一应用程序的应用安全风险值 大于等于所述高第二阈值,则可以确定所述应用程序的安全等级为高。
其中,在本申请实施例中定义,所述应用程序的安全等级越高, 其安全风险越小,反之越大。
上述实施方式中,应用程序的安全等级被划分为高、中、低三级, 当然,本领域的技术人员可以知道,根据需要,所述应用程序的安全 等级还可以为其它数目,例如两级、五级等等。
可选地,在本申请实施例的另一种可能的实施方式中,为了使得 应用程序的等级划分更加平滑,所述步骤S130还可以为:
根据所述多个应用程序的所述应用安全风险值的离散度对所述 多个应用程序进行安全等级划分。
在一种可能的实施方式中,可以通过变异系数来确定安全等级的 等级数以及各应用程序都属于哪个等级。即:根据所述多个应用程序 的所述应用安全风险值的变异系数将所述多个应用程序划分在至少 一个安全等级,其中,属于同一安全等级的至少一应用程序的所述应 用安全风险值的变异系数在预设的一第一阈值范围内。
这里,所述至少一应用程序的所述应用安全风险值的变异系数即 为所述至少一应用程序的应用安全风险值的方差与均值的比值。
例如,可以通过下面的步骤来根据多个应用程序的应用安全风险 值来进行所述安全等级划分:
根据应用安全风险值对所述多个应用程序进行降序排序;
从排名第一的应用程序a1开始,计算其变异系数,并判断该变异 系数是否大于一变异系数阈值,如果不大于则继续再加入第二个应用 程序a2,继续计算第一应用程序a1和第二个应用程序a2的应用安全 风险值的变异系数并判断,如果还是不大于所述变异系数阈值,则继 续依次加入后续的应用程序,直到得到的变异系数大于所述变异系数 阈值,此时,再判断当前应用程序的应用安全风险值是否与上一个应 用程序的应用安全风险值相等,如果相等则继续加入后续的应用程序 并判断;如果不相等,则将从第一应用程序a1到当前应用程序an的 所有应用程序划分为第一安全等级中;然后接着从下一个应用程序 an+1重新开始计算变异系数并判断,直到加入一应用程序an+m满足从 所述下一个应用程序an+1到所述应用程序an+m的应用安全风险值的变 异系数大于所述变异系数阈值并且当前应用程序与前一个应用程序 的应用安全风险值不相等,此时,将所述下一个应用程序an+1到所述 应用程序an+m的所有应用程序划分到第二安全等级中…依此类推,直 到所有的应用程序都被划分完。
可以看出,与上面的设定至少一第二阈值来对所述多个应用程序 进行等级确定相比,本申请实施例不需要事先确定所述应用程序的等 级数,而是可以根据所述多个应用程序的应用安全风险值的离散程度 来确定所述安全等级的级数,使得应用安全风险值变化较大的部分被 更细化的划分。
当然,本领域技术人员可以知道,除了通过所述第二阈值以及变 异系数来确定所述多个应用程序的安全等级外,还可根据其它方式来 确定,例如,可以通过所述多个应用程序的应用安全风险值的变化梯 度来确定所述多个应用程序中每个应用程序的安全等级,但是与通过 变异系数的方法相比,梯度方法受个别点的波动影响较大。
在一种可能的实施方式中,本申请实施例的上述方法可以应用在 用户设备侧,用于确定所述用户设备上的应用程序的安全等级,用户 可以根据一应用程序的安全等级来判断该应用程序会给用户设备带 来安全问题的可能性,进而确定是否要安装或卸载所述应用程序。可 选地,在另一种可能的实施方式中,本申请实施例的上述方法可以应 用分发平台侧,应用分发平台可以根据所述多个应用程序的安全等级 来对应用程序进行分类,进而方便用户根据自己的安全隐私需要选择 合适安全等级的应用程序。
其中,在一种可能的实施方式中,所述多个应用程序为应用于移 动用户设备(例如手机、平板电脑等)上的移动应用程序,所述应用 分发平台也为一些应用市场,例如可以为Google Play等安卓应用市 场、以及苹果的App Store应用市场。
本领域技术人员可以理解,在本申请具体实施方式的上述方法中, 各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应 以其功能和内在逻辑确定,而不应对本申请具体实施方式的实施过程 构成任何限定。
如图3所示,本申请实施例一种可能的实施方式提供了一种应用 程序的风险确定装置400,包括:
申请关系确定模块410,用于确定至少一应用程序与多个权限之 间的至少一申请关系;其中,所述至少一申请关系中的每个申请关系 对应于所述至少一应用程序中的一应用程序申请所述多个权限中的 一权限;
权值确定模块420,用于确定所述至少一申请关系中每个申请关 系的权值;
风险值确定模块430,用于根据所述每个申请关系对应的所述权 值确定所述至少一应用程序中每个应用程序的应用安全风险值;
等级划分模块440,用于根据所述每个应用程序的所述应用安全 风险值对所述至少一应用程序进行安全等级划分。
与上面所述的方法实施例中类似的,本申请实施例下面的实施方 式以所述至少一应用程序为多个应用程序为例进行进一步的描述。此 时,所述申请关系确定模块410用于确定所述多个应用程序与所述多 个权限之间的多个申请关系。
本申请实施例的装置400通过基于一二部图的模型确定所述多 个应用程序和多个权限之间的关系。具体参见图1所示实施例中对应 的描述。
本申请实施例的实施方案通过确定应用程序与权限之间的申请 关系以及所述申请关系的权值建立应用程序与权限的二部图模型,根 据该二部图模型确定应用程序的应用安全风险值;此外,为了避免用 户根据应用安全风险值难以明确的感知应用程序的安全风险,本申请 实施例还对应用程序进行安全等级划分,方便用户根据自己的安全隐 私需要选择合适的安全等级的应用程序。
本申请实施例通过下面的实施方式进一步说明本申请实施例的 各模块。
在本申请实施例一种可能的实施方式中,对于所述多个应用程序 与多个权限之间的多个申请关系以及每个申请关系对应的权值的进 一步描述参见上述方法实施例中对图2所示实施方式的描述,这里不 再赘述。
在本申请实施例中,所述申请关系的权值对应于所述申请关系对 应的应用程序与权限之间的相关性,一般来说,所述相关性越强,所 述权值的大小越大。因此,所述权值确定模块420根据所述应用程序 与权值之间的相关性就可以确定所述权值的大小。在一种可能的实施 方式中,可以通过所述应用程序申请所述权限的概率的大小来获得所 述相关性。当然,本领域的技术人员可以知道,在其它可能的实施方 式中,除了所述概率外,还可以通过其它方式确定所述应用程序与权 限之间的相关性。
因此,可选地,如图4所示,在本申请实施例一种可能的实施方 式中,所述权值确定模块420可以包括:
权值确定子模块421,用于根据所述每个申请关系对应的所述应 用程序申请所述权限的概率确定所述每个申请关系的权值。
在本申请实施例一种可能的实施方式中,可以根据历史数据获取 所述概率。进一步的,在本实施方式中,所述权值确定子模块421可 以包括:
权值确定单元4211,用于根据所述每个申请关系对应的所述应 用程序所属的一应用分类中所有应用程序的权限申请历史数据确定 对应的所述权值。
在本实施方式中,所述应用分类可以是根据应用程序的功能划分 的分类,例如游戏、办公、地图等;还可以是根据应用程序的开发商 进行的分类,或者还可以是根据应用程序其它方面的相似性等进行的 聚类分类等等。当然,本领域的技术人员可以知道,所述应用分类还 可以是以其它的分类标准进行的分类。
如图5所示,在一种可能的实施方式中,为了计算方便,所述权 值确定单元4211包括:
权值确定子单元4211a,用于根据所述应用分类中所有应用程序 申请所述权限的频率与所述所有应用程序分别申请所述多个权限的 多个频率之和的比值得到所述权值。具体参见图2所示方法实施例中 对应的描述。
在本申请实施例一种可能的实施方式中,为了得到归一化的频率, 可以通过所述应用分类中申请了一权限的应用程序的数量与该应用 分类中所有应用程序的比值得到所述权限对应的所述频率。当然,在 本申请实施例其它可能的实施方式中,还可以通过其它方式确定所述 频率。
为了更快更准确的确定所述每个应用程序的应用安全风险值,可 选地,在一种可能的实施方式中,所述风险值确定模块430包括:
风险值确定子模块431,用于根据所述每个申请关系对应的所述 权值以及至少一约束确定所述每个应用程序的所述应用安全风险值;
其中,所述至少一约束包括一第一约束,所述第一约束包括:
所述多个申请关系中一申请关系对应的权值越高,所述申请关系 对应的应用程序的应用安全风险值与所述申请关系对应的权限的权 限安全风险值越相近。
在本申请实施例中,所述应用安全风险值表示对应的应用程序的 安全风险大小,所述权限安全风险值表示对应的权限的安全风险大小。
本领域技术人员可以知道,所述第一约束考虑了应用程序与权限 之间的主导关系。其中,一应用程序与一权限的权值越高,二者之间 的相关性越强,当其中一个的风险高时,另一个必然也会高,反之亦 然。具体参见上述方法实施例中对应的描述。
可选的,在一种可能的实施方式中,所述至少一约束还包括一第 二约束,所述第二约束包括:
所述多个应用程序中的两个应用程序的权限申请状况越相似,所 述两个应用程序的应用安全风险值越相近。
在本实施方式中,所述权限申请状况包括:应用程序申请的权限 和应用程序申请权限的申请关系对应的权值。其中,当两个应用程序 申请的权限越相似,同时申请相同权限的权值越相似,二者的应用安 全风险值应该越相近。具体参见上述方法实施例中对应的描述。
可选地,在一种可能的实施方式中,可以通过一应用程序对应的 所有申请关系的权值来向量表示所述应用程序,此时可以通过两个应 用程序的余弦距离来确定两个应用程序的相似度。具体参见上述方法 实施例中对应的描述。
当然,本领域的技术人员可以知道,其它用于表示两个向量之间 相似度的方法也可以用于本申请实施例确定两个应用程序的相似程 度。
可选的,在一种可能的实施方式中,所述至少一约束还包括一第 三约束,所述第三约束包括:
对于所述多个权限中的两个权限,所述两个权限的被申请状况越 相似,所述两个权限的权限安全风险值越相近。
在本申请实施例中,所述权限的被申请状况包括申请所述权限的 应用程序以及所述应用程序申请所述权限对应申请关系的权值。其中, 申请两个权限的应用程序越相似、同时相同的应用程序分别申请所述 两个权限的申请关系的权值越相似,所述两个权限对应的权限安全风 险值越相近。
同样可选的,在一种可能的实施方式中,可以通过一权限对应的 所有申请关系的权值来向量表示所述权限,此时可以通过两个权限的 余弦距离来确定两个权限的相似度。具体参见上述方法实施例中对应 的描述。
同样的,本领域的技术人员可以知道,其它用于表示两个向量之 间相似度的方法也可以用于本申请实施例确定两个权限的相似程度。
为了使得到的应用安全风险值更加准确,还可以将外部的先验知 识引入到应用安全风险值的计算中,因此,可选地,在一种可能的实 施方式中,所述至少一约束还包括一第四约束,所述第四约束包括:
所述多个应用程序的应用安全风险值分别与所述多个应用程序 的先验应用安全风险值一致;
所述多个权限的权限安全风险值分别与所述多个权限的先验权 限安全风险值一致。
在本申请实施例中,所述多个应用程序的应用安全风险值和多个 权限的权限安全风险值分别与先验应用安全风险值和先验权限安全 风险值一致的意思是所述应用和权限安全风险值应满足先验知识。例 如,在同时满足其它约束的前提下,所述应用安全风险值应该尽量接 近所述先验应用安全风险值,所述权限安全风险值应该尽量接近所述 先验权限安全风险值。本申请实施例中,引入所述第四约束可以使得 获取的应用安全风险值可以尽快的收敛到合适的范围,具体参见上述 方法实施例中对应的描述。
在本申请实施例中,所述先验应用安全风险值和先验权限安全风 险值分别可以是通过多种方式获得,例如,在一些可能的实施方式中, 可以采用领域专家设置的安全风险值、也可以根据外部风险报告构建 一安全分类得到对应的安全风险值、或者还可以采用相关领域最先进 的安全模式得到对应的安全风险值。特别的,在一种可能的实施方式 中,可以通过用户的预设来获得所述述先验应用安全风险值和先验权 限安全风险值。
在本申请实施例一种可能的实施方式中,为了使得对应的应用和 权限安全风险值的获取效率更高,可以采用PNB来得到所述先验应 用安全风险值和先验权限安全风险值。
在本申请实施例一种可能的实施方式中,可以根据所述每个申请 关系对应的所述权值以及上面所述的第一至第四约束来确定所述多 个应用程序中每个应用程序的应用安全风险值。
例如,在一种可能的实施方式中,可通过上面方法实施例中的成 本函数来获取所述每个应用程序的应用安全风险值。
当然,本领域技术人员可以知道,上面的成本函数仅是本申请实 施例用于求取所述应用安全风险值和权限安全风险值的一种可能的 方式,还可以通过其它的公式或函数来得到本申请实施例的所述应用 安全风险值和权限安全风险值。
如图6a所示,可选地,在本申请实施例一种可能的实施方式中, 所述等级划分模块440可以包括:
第二划分子模块442,用于:
对于所述至少一应用程序中的每个应用程序:
比较预设的至少一第二阈值与所述每个应用程序的所述应用安 全风险值,确定所述每个应用程序的安全等级。
本实施方式中,根据所述应用程序的应用安全风险值及所述至少 一第二阈值对所述多个应用程序进行分级的进一步描述参见上述方 法实施例中对应的描述,这里不再赘述。
本申请实施例中,所述安全等级可以根据需要划分为两级、或三 级…或更多。
如图6b所示,可选地,在本申请实施例另一种可能的实施方式 中,为了使得应用程序的等级划分更加平滑,所述等级划分模块440 可以包括:
第一划分子模块441,用于根据所述多个应用程序的所述应用安 全风险值的离散度对所述多个应用程序进行安全等级划分。
可选地,在本申请实施例一种可能的实施方式中,所述第一划分 子模块441包括:
等级划分单元4411,用于根据所述多个应用程序的所述应用安 全风险值的变异系数将所述至少一应用程序划分在至少一个安全等 级,其中,属于同一安全等级的至少一应用程序的所述应用安全风险 值的变异系数在预设的一第一阈值范围内。
这里,所述至少一应用程序的所述应用安全风险值的变异系数即 为所述至少一应用程序的应用安全风险值的方差与均值的比值。
根据所述变异系数来对所述多个应用程序进行安全等级划分的 进一步描述参见上述方法实施例中对应的描述,这里不再赘述。
同样,本领域技术人员可以知道,除了通过所述第一划分子模块 441和所述第一划分子模块442来确定所述多个应用程序的安全等级 外,还可根据其它模块来确定所述多个应用程序的安全等级,例如, 可以通过上述排序后的所述多个应用程序的应用安全风险值的变化 梯度来确定所述多个应用程序中每个应用程序的安全等级。
在一种可能的实施方式中,本申请实施例的装置可以应用在用户 设备上,例如应用在手机、平板电脑、笔记本电脑等用户设备上用于 确定所述用户设备上的应用程序的安全等级,使得用户可以根据一应 用程序的安全等级来判断该应用程序会给用户设备带来安全问题的 可能性,进而确定是否要安装或卸载所述应用程序。可选地,在另一 种可能的实施方式中,本申请实施例的装置还可以应用在应用分发平 台的服务器上,用于获取所述应用分发平台上应用程序的安全等级, 使得应用分发平台可以根据所述多个应用程序的安全等级来对应用 程序进行分类,进而方便用户根据自己的安全隐私需要选择合适安全 等级的应用程序。
其中,在一种可能的实施方式中,所述多个应用程序为应用于移 动用户设备(例如手机、平板电脑等)上的移动应用程序,所述应用 分发平台也为一些应用市场,例如可以为Google Play等安卓应用市 场、以及苹果的App Store应用市场。
如图7所示,在本申请实施例一种可能的实施方式中提供了一种 电子设备700,包括上面所述的应用程序的风险确定装置710。
其中,在一种可能的实施方式中,所述电子设备700可以为一用 户设备,可选的,可以为一移动用户设备。在另一种可能的实施方式 中,所述电子设备700还可以为一服务器,例如为一应用分发平台的 服务器。
图8为本申请实施例提供的又一种应用程序的风险确定装置800 的结构示意图,本申请具体实施例并不对应用程序的风险确定装置 800的具体实现做限定。如图8所示,该应用程序的风险确定装置800 可以包括:
处理器(processor)810、通信接口(Communications Interface)820、 存储器(memory)830、以及通信总线840。其中:
处理器810、通信接口820、以及存储器830通过通信总线840 完成相互间的通信。
通信接口820,用于与比如客户端等的网元通信。
处理器810,用于执行程序832,具体可以执行上述方法实施例 中的相关步骤。
具体地,程序832可以包括程序代码,所述程序代码包括计算机 操作指令。
处理器810可能是一个中央处理器CPU,或者是特定集成电路 ASIC(Application Specific Integrated Circuit),或者是被配置成实施 本申请实施例的一个或多个集成电路。
存储器830,用于存放程序832。存储器830可能包含高速RAM 存储器,也可能还包括非易失性存储器(non-volatile memory),例如 至少一个磁盘存储器。程序832具体可以用于使得所述应用程序的风 险确定装置800执行以下步骤:
确定至少一应用程序与多个权限之间的至少一申请关系;其中, 所述至少一申请关系中的每个申请关系对应于所述至少一应用程序 中的一应用程序申请所述多个权限中的一权限;
确定所述至少一申请关系中每个申请关系的权值;
根据所述每个申请关系对应的所述权值确定所述至少一应用程 序中每个应用程序的应用安全风险值;
根据所述每个应用程序的所述应用安全风险值对所述至少一应 用程序进行安全等级划分。
程序832中各步骤的具体实现可以参见上述实施例中的相应步 骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚 地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作 过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描 述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和 电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每 个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不 应认为超出本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销 售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的 理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或 者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件 产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实 施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移 动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器 (RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程 序代码的介质。
以上实施方式仅用于说明本申请,而并非对本申请的限制,有关 技术领域的普通技术人员,在不脱离本申请的精神和范围的情况下, 还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请 的范畴,本申请的专利保护范围应由权利要求限定。
本文发布于:2023-04-13 07:09:37,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/85868.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |