一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

隐私权限检测方法和装置与流程

2022-03-26 02:18:18 来源:中国专利 TAG:


1.本公开涉及安全领域,特别涉及一种隐私权限检测方法和装置。


背景技术:

2.在安卓(android)系统的开源策略中,开放的权限机制在给用户和开发者带来便利的同时,也带来了相应的安全问题。目前,大部分用户在下载安装安卓应用的过程中并不会仔细阅读授权说明,存在着盲目授权的行为。对于应用开发者来说,由于缺乏安全开发监管,缺乏权限申请相关代码规范,权限滥用问题在安卓应用开发中普遍存在,严重影响了代码的规范和质量。此外,用户的盲目授权和软件开发者的权限申请滥用也导致用户信息泄露,因此存在严重的安全风险。
3.基于目前市场上权限检测“一刀切”检测的模式(google公布的权限危险等级来计算风险系数),这种检测模式存在很大的不合理性。


技术实现要素:

4.发明人通过研究发现,目前在相关技术中通常采用“一刀切”的权限检测模式。例如利用谷歌(google)公布的权限危险等级来计算风险系数。但是无法获得准确的权限检测结果。
5.据此,本公开提供一种隐私权限检测方案,能够准确地获取安卓应用的权限信息。
6.根据本公开实施例的第一方面,提供一种隐私权限检测方法,包括:对安卓应用程序包apk进行反编译,以得到目标文件;对所述目标文件进行解析以获得所述apk的静态权限列表;利用沙箱进行模拟,以获得与所述apk相对应的应用在实际运行中所需要的动态权限列表;利用所述静态权限列表和所述动态权限列表生成权限集合;将所述权限集合和最小权限库中对应行业的最小权限信息进行比对,以生成检测结果。
7.在一些实施例中,上述方法还包括:计算所述apk的散列值;将所述散列值和所述检测结果存在数据库中,并将所述散列值和所述检测结果相关联。
8.在一些实施例中,上述方法还包括:计算所述apk的散列值;检测所述散列值是否包括在数据库中;若所述散列值未包括在所述数据库中,则执行对所述apk进行反编译的步骤。
9.在一些实施例中,上述方法还包括:若所述散列值包括在所述数据库中,则从所述数据库中读取与所述散列值相关联的检测结果。
10.在一些实施例中,上述方法还包括:利用网络爬虫或人工方式收集不同行业应用的权限信息;对所述不同行业应用进行分类,以便获取不同行业的最小权限信息;将所述不同行业的最小权限信息存入最小权限库中。
11.根据本公开实施例的第二方面,提供一种隐私权限检测装置,包括:反编译模块,被配置为对安卓应用程序包apk进行反编译,以得到目标文件;静态权限获取模块,被配置为对所述目标文件进行解析以获得所述apk的静态权限列表;动态权限获取模块,被配置为
利用沙箱进行模拟,以获得与所述apk相对应的应用在实际运行中所需要的动态权限列表;权限集合生成模块,被配置为利用所述静态权限列表和所述动态权限列表生成权限集合;检测模块,被配置为将所述权限集合和最小权限库中对应行业的最小权限信息进行比对,以生成检测结果。
12.在一些实施例中,上述装置还包括:数据库更新模块,被配置为计算所述apk的散列值,将所述散列值和所述检测结果存在数据库中,并将所述散列值和所述检测结果相关联。
13.在一些实施例中,上述装置还包括:识别模块,被配置为计算所述apk的散列值,检测所述散列值是否包括在数据库中;反编译模块还被配置为若所述散列值未包括在所述数据库中,则执行对所述apk进行反编译的操作。
14.在一些实施例中,上述装置还包括:读取模块,被配置为若所述散列值包括在所述数据库中,则从所述数据库中读取与所述散列值相关联的检测结果。
15.在一些实施例中,上述装置还包括:权限库生成模块,被配置为利用网络爬虫或人工方式收集不同行业应用的权限信息,对所述不同行业应用进行分类,以便获取不同行业的最小权限信息,将所述不同行业的最小权限信息存入最小权限库中。
16.根据本公开实施例的第三方面,提供一种隐私权限检测装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的方法。
17.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例涉及的方法。
18.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
19.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
20.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
21.图1是根据本公开一个实施例的隐私权限检测方法的流程示意图;
22.图2是根据本公开另一个实施例的隐私权限检测方法的流程示意图;
23.图3是根据本公开一个实施例的隐私权限检测装置的结构示意图;
24.图4是根据本公开另一个实施例的隐私权限检测装置的结构示意图;
25.图5是根据本公开又一个实施例的隐私权限检测装置的结构示意图;
26.应当明白,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。此外,相同或类似的参考标号表示相同或类似的构件。
具体实施方式
27.现在将参照附图来详细描述本公开的各种示例性实施例。对示例性实施例的描述仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。本公开可以以许多不同的形式实现,不限于这里所述的实施例。提供这些实施例是为了使本公开透彻且完整,并且
向本领域技术人员充分表达本公开的范围。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、材料的组分和数值应被解释为仅仅是示例性的,而不是作为限制。
28.本公开中使用的“包括”或者“包含”等类似的词语意指在该词前的要素涵盖在该词后列举的要素,并不排除也涵盖其他要素的可能。
29.本公开使用的所有术语(包括技术术语或者科学术语)与本公开所属领域的普通技术人员理解的含义相同,除非另外特别定义。还应当理解,在诸如通用字典中定义的术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
30.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
31.图1是根据本公开一个实施例的隐私权限检测方法的流程示意图。在一些实施例中,下面的隐私权限检测方法步骤由隐私权限检测方法装置执行。
32.在步骤101,对apk(android application package,安卓应用程序包)进行反编译,以得到目标文件。
33.例如,利用apktool对apk进行反编译,得到androidmanifest.xml文件和.class文件。
34.在步骤102,对目标文件进行解析以获得apk的静态权限列表。
35.在一些实施例中,通过利用xml解析方法对目标文件进行解析以获得apk的静态权限列表。
36.在步骤103,利用沙箱进行模拟,以获得与apk相对应的应用在实际运行中所需要的动态权限列表。
37.通过利用沙箱模拟用户的点击操作,以获得应用实际运行中需要的动态权限列表。
38.在步骤104,利用静态权限列表和动态权限列表生成权限集合。
39.通过结合静态权限列表和动态权限列表,能够获得更加准确的应用权限集合。
40.在步骤105,将权限集合和最小权限库中对应行业的最小权限信息进行比对,以生成检测结果。
41.在一些实施例中,通过利用网络爬虫或人工方式收集不同行业应用的权限信息。对不同行业应用进行分类,以便获取不同行业的最小权限信息。将不同行业的最小权限信息存入最小权限库中。
42.例如,通过采用dcm5算法提取各行业的最小权限信息。
43.通过将权限集合和最小权限库中对应行业的最小权限信息进行比对,可确定apk是否存在个人隐私权限滥用的情况。
44.在一些实施例中,在生成检测结果后,计算apk的散列值,将散列值和检测结果存在数据库中,并将散列值和检测结果相关联。以便以后在对该apk进行隐私权限检测时能够直接调取检测结果。
45.图2是根据本公开另一个实施例的隐私权限检测方法的流程示意图。在一些实施例中,下面的隐私权限检测方法步骤由隐私权限检测方法装置执行。
46.在步骤201,计算apk的散列值。
47.在步骤202,检测散列值是否包括在数据库中。
48.若散列值未包括在数据库中,则执行步骤203;若散列值包括在数据库中,则执行步骤209。
49.在步骤203,对apk进行反编译,以得到目标文件。
50.例如,利用apktool对apk进行反编译,得到androidmanifest.xml文件和.class文件。
51.在步骤204,对目标文件进行解析以获得apk的静态权限列表。
52.在一些实施例中,通过利用xml解析方法对目标文件进行解析以获得apk的静态权限列表。
53.在步骤205,利用沙箱进行模拟,以获得与apk相对应的应用在实际运行中所需要的动态权限列表。
54.在步骤206,利用静态权限列表和动态权限列表生成权限集合。
55.在步骤207,将权限集合和最小权限库中对应行业的最小权限信息进行比对,以生成检测结果。
56.在步骤208,计算apk的散列值,将散列值和检测结果存在数据库中,并将散列值和检测结果相关联。
57.在步骤209,从数据库中读取与散列值相关联的检测结果。
58.这里需要说明的是,随着在数据库中所存储的检测结果数量的增多,针对用户的apk隐私权限检测的响应也会越快。
59.图3是根据本公开一个实施例的隐私权限检测装置的结构示意图。如图3所示,反编译模块31、静态权限获取模块32、动态权限获取模块33、权限集合生成模块34和检测模块35。
60.反编译模块31被配置为对apk进行反编译,以得到目标文件。
61.例如,利用apktool对apk进行反编译,得到androidmanifest.xml文件和.class文件。
62.静态权限获取模块32被配置为对目标文件进行解析以获得apk的静态权限列表。
63.在一些实施例中,通过利用xml解析方法对目标文件进行解析以获得apk的静态权限列表。
64.动态权限获取模块33被配置为利用沙箱进行模拟,以获得与apk相对应的应用在实际运行中所需要的动态权限列表。
65.通过利用沙箱模拟用户的点击操作,以获得应用实际运行中需要的动态权限列表。
66.权限集合生成模块34被配置为利用静态权限列表和动态权限列表生成权限集合。
67.检测模块35被配置为将权限集合和最小权限库中对应行业的最小权限信息进行比对,以生成检测结果。
68.通过将权限集合和最小权限库中对应行业的最小权限信息进行比对,可确定apk是否存在个人隐私权限滥用的情况。
69.图4是根据本公开另一个实施例的隐私权限检测装置的结构示意图。图4与图3的
不同之处在于,在图4所示实施例中,隐私权限检测装置还包括数据库更新模块36。
70.数据库更新模块36被配置为在检测模块35生成检测结果后计算apk的散列值,将散列值和检测结果存在数据库中,并将散列值和检测结果相关联。以便以后在对该apk进行隐私权限检测时能够直接调取检测结果。
71.在一些实施例中,如图4所示,隐私权限检测装置还包括识别模块37。识别模块37被配置为计算apk的散列值,检测散列值是否包括在数据库中。
72.反编译模块31还被配置为若散列值未包括在数据库中,则执行对apk进行反编译的操作。
73.在一些实施例中,如图4所示,隐私权限检测装置还包括读取模块38。读取模块38被配置为若散列值包括在数据库中,则从数据库中读取与散列值相关联的检测结果。
74.在一些实施例中,如图4所示,隐私权限检测装置还包括权限库生成模块39。权限库生成模块39被配置为利用网络爬虫或人工方式收集不同行业应用的权限信息,对不同行业应用进行分类,以便获取不同行业的最小权限信息,将不同行业的最小权限信息存入最小权限库中。
75.图5是根据本公开又一个实施例的隐私权限检测装置的结构示意图。如图5所示,如图5所示,隐私权限检测装置包括存储器51和处理器52。
76.存储器51用于存储指令。处理器52耦合到存储器51。处理器52被配置为基于存储器存储的指令执行实现如图1或图2中任一实施例涉及的方法。
77.如图5所示,隐私权限检测装置还包括通信接口53,用于与其它设备进行信息交互。同时,该隐私权限检测装置还包括总线54,处理器52、通信接口53、以及存储器51通过总线54完成相互间的通信。
78.存储器51可以包含高速ram(random access memory,随机存取存储器),也可还包括nvm(non-volatile memory,非易失性存储器)。例如至少一个磁盘存储器。存储器51也可以是存储器阵列。存储器51还可能被分块,并且块可按一定的规则组合成虚拟卷。
79.此外,处理器52可以是一个中央处理器,或者可以是asic(application specific integrated circuit,专用集成电路),或者是被配置成实施本公开实施例的一个或多个集成电路。
80.本公开还提供一种计算机可读存储介质。计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图1或图2中任一实施例涉及的方法。
81.在一些实施例中,上述功能模块可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(programmable logic controller,简称:plc)、数字信号处理器(digital signal processor,简称:dsp)、专用集成电路(application specific integrated circuit,简称:asic)、现场可编程门阵列(field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
82.至此,已经详细描述了本公开的实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
83.虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技
术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献