Android应用隐私合规的检测方法及系统
- 国知局
- 2024-07-31 23:06:07
本发明属于安全检测的,具体涉及一种android应用隐私合规的检测方法及系统。
背景技术:
1、随着移动互联网的兴起,移动终端设备的普及率逐年增长。android系统作为移动设备中市场占有率最高的操作系统,具有庞大的用户规模。与之相对的,针对android平台的安全事件频出,攻击者针对android平台有目的地投放恶意应用,实施破坏性活动或窃取用户的隐私数据,对受害者造成不可估量的生命财产损失。为严格规范应用市场行为,降低用户隐私泄漏风险,国家出台了一系列法规政策对应用开发者、应用平台提出强制要求,要求上架应用符合隐私合规标准,保障用户隐私安全。这一举措有效规范了市场乱象,但也给监管部门、应用平台带来许多挑战。一方面,android应用数量庞大,已达百万级,且增速快,每月应用增量超3万,给审查人员带来极大负担;另一方面,不合规应用可能造成用户隐私泄漏,若不能及时发现,将导致严重后果。目前针对android应用的隐私合规检测方法主要有人工审查、静态代码分析、应用的动态行为分析等。人工审查存在检测人员工作强度高,容易出现判断失误,隐私合规安全检测的效率较低等问题。因此应着眼于自动化程度较高的静态代码分析及应用的动态行为分析方法。
2、在静态代码分析方面,主要是通过程序分析等手段,在进行程序分析前需要对安装文件进行反编译处理,提取能够描述应用行为的代码特征,然后根据预先定义检测的模式特征进行安全检测匹配。例如利用静态代码分析的方法检测应用是否存在权限滥用行为,通常的做法是,首先获取应用中反编译的代码的敏感api,将这些敏感的api与android的权限做映射,得到一个基于敏感api调用的应用权限集合。将该权限集合与开发者在安装包中的manifest文件申请的权限集合作比较,即可实现权限滥用的检测。该类方法的明显不足是,在程序分析的时候,并没有考虑应用程序的功能,忽略了应用提供的隐私政策语义的信息,例如,对于用户而言,一个闹钟应用,无论是否调用了与read_sms有关的api,用户都认为闹钟应用不允许读取移动设备的短信,如果闹钟应用存在申请read__sms权限的行为,则会被用户认为是一个恶意的行为。另外,静态的代码分析方法还存在面对混淆代码分析时检测的准确率低下等问题。
3、在动态行为分析方面,主要是将应用放在一个受监控的环境中,通过产生应用的输入,收集获取程序的系统调用序列、程序执行的轨迹以及网络数据包等能够反应程序行为的数据。然后将这些程序行为数据与预先定义好的正常的程序行为数据进行比较,如果存在一些异常的行为数据,则检测识别出恶意的应用。同样的,动态的行为分析方法存在和静态的代码分析方法存在相同的问题,在检测应用的权限时忽略了应用程序的功能,在动态程序行为分析过程中,没有考虑到应用的恶意行为与程序功能的上下文存在联系。同时,动态的程序行为分析还存在遍历路径不完备等缺陷,在检测时需要预先定义行为模式,在面临新的攻击时存在检测失效等相关问题。
技术实现思路
1、本发明的一个目的在于针对现有技术的不足之处,提供一种android应用隐私合规的检测方法,该方法能够高效检测出android应用中多种权限滥用的安全问题,包括过度收集、违法收集敏感数据、过度申请权限等行为,与现有技术相比,具有误报率低、准确率高、能够检测新的攻击等优点。
2、为解决上述技术问题,本发明采用如下技术方案:
3、一种android应用隐私合规的检测方法,包括如下步骤:
4、步骤1,动态提取应用隐私政策,并解析其中的声明权限;
5、步骤2,静态获取应用申请权限及特权行为;
6、步骤3,监控应用使用过程中特权api的调用情况;
7、步骤4,根据特权api与权限的映射关系,将动静态方法获得的api调用结果进行整合,得到应用运行时实际使用的权限;
8、步骤5,将声明权限、申请权限、实际使用权限进行一致性比对,得到应用过度声明权限的报告、应用过度申请权限的报告、应用过度使用权限的报告。
9、进一步地,步骤1具体包括如下步骤:
10、步骤1.1,根据待测应用安装包自动化安装运行待测应用,检测应用首次运行是否进行弹框向用户说明隐私政策;
11、步骤1.2,若检测到隐私政策弹框,则进一步获取弹框中的文本,并通过模拟点击事件触发弹框中跳转到完整隐私政策内容的链接文本;
12、步骤1.3,爬取完整隐私政策文本内容;
13、步骤1.4,采用预定义关键词及关键词匹配的方法从隐私政策中提取声明权限。
14、进一步地,步骤1.1具体实现方式为:
15、通过命令行命令自动化安装应用安装包并启动应用以保证应用为首次运行,在启用应用后,检测界面是否存在弹框;
16、当存在弹框时,通过检测弹框中是否出现包含隐私、政策的关键词以识别该弹框是否为隐私政策告知弹框。
17、进一步地,步骤1.2具体实现方式为:
18、通过识别ui控件,定位到弹框的位置范围,对于应用直接在隐私政策告知弹框中完全展示本应用的隐私政策,通过模拟用户的滚动,对弹框中的隐私政策文本进行提取;
19、对于未直接在隐私政策告知弹框中完全展示隐私政策的应用,隐私政策以链接文本的形式供用户点击查看,此时通过模拟用户点击事件,在弹框界面范围内点击每一个像素点,识别界面是否发生了跳转,当跳转发生,根据跳转为应用内跳转还是应用外跳转采用不同的处理方式提取应用的隐私政策。
20、进一步地,对于发生跳转的应用,提取应用的隐私政策的方法为:
21、当跳转为应用内跳转时,采用两种方式获取应用的隐私政策:一是继续通过ui控件识别获取界面展示的文本内容;二是,当应用以webview形式展示完整隐私政策内容,采用不同的渲染方式导致隐私政策文本内容无法被识别,此时切断测试机的wi-fi及数据连接,使测试机处于脱网状态下,此时跳转界面显示无法访问,并给出待访问的网络资源链接,即为应用的隐私政策链接;
22、当跳转为应用外跳转时,代表应用的隐私政策由浏览器打开,则通过设定测试机中的默认浏览器,定位控件位置,自动化提取应用跳转的链接地址,即应用的隐私政策链接。
23、进一步地,步骤3具体包括:
24、步骤3.1,hook测试机中的所有特权api,在特权api真正被执行之前,记录特权api被调用的情况;
25、步骤3.2,自动化触发应用行为,通过模拟用户点击等事件,模拟应用与用户的交互过程,执行一定数量交互事件后,停止运行应用,获得在此期间,应用的特权api调用情况。
26、进一步地,步骤4具体包括:
27、步骤4.1,获取android各系统版本下特权api与权限的映射关系;
28、步骤4.2,整合静态方法及动态方法获得的应用特权api调用情况;
29、步骤4.3,根据应用的特权api调用情况,结合特权api与权限的映射关系,得到应用使用的权限信息。
30、进一步地,步骤4.1具体实现方式为:
31、步骤4.1.1,扫描android各系统版本源码,根据源码中系统api的注释获得特权api与权限的对应关系;
32、步骤4.1.2,扫描android官方开发者文档,根据文档中描述构建特权api与权限的对应关系;
33、步骤4.1.3,通过反射获得android各系统版本所有的api,再构造一个零权限的android应用样本,逐一调用收集到的每个api,根据编译器的报错确定特权api与权限的对应关系;
34、步骤4.1.4,整合上述方法获得的特权api与权限的对应关系,得到最终的特权api与权限的映射。
35、进一步地,步骤5具体包括:
36、步骤5.1,当存在隐私政策中声明的权限没有申请的情况,进行应用过度声明权限的报告;
37、步骤5.2,当存在应用申请的权限没有在隐私政策中声明的情况,进行应用过度申请权限的报告;
38、步骤5.3,当存在应用使用的权限没有在隐私政策中声明的情况,即应用不仅过度申请且使用了该权限,进行应用过度使用权限的报告。
39、本发明的另一个目的是提供一种实现上述的android应用隐私合规的检测方法的系统,其特征在于,包括如下步骤:
40、声明权限解析模块,用于动态提取应用隐私政策,并解析其中的声明权限;
41、申请权限及特权行为获取模块,用于通过反编译待测应用安装包静态获取应用申请权限及特权行为;
42、特权api监控模块,用于监控应用使用过程中特权api的调用情况;
43、实际使用权限获取模块,用于根据特权api与权限的映射关系,将动静态方法获得的api调用结果进行整合,得到应用运行时实际使用的权限;
44、应用过度权限获取模块,用于将声明权限、申请权限、实际使用权限进行一致性比对,得到应用过度声明权限的报告、应用过度申请权限的报告、应用过度使用权限的报告。
45、与现有技术相比,本发明的有益效果为:本发明从应用隐私政策揭露应用功能的发现出发,结合应用的申请及使用权限情况,作出应用是否存在隐私合规问题的判断并给出判断依据的报告,供用户审查,相比于传统的程序分析以及动态的行为分析等方法,本发明能够高效检测出android应用中多种权限滥用的安全问题,具有误报率低、准确率高、能够检测新的攻击等特点。
本文地址:https://www.jishuxx.com/zhuanli/20240730/195949.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表