一种监测安卓应用隐私相关API调用的方法与流程

文档序号:29852587发布日期:2022-04-30 08:19阅读:863来源:国知局
一种监测安卓应用隐私相关API调用的方法与流程
一种监测安卓应用隐私相关api调用的方法
技术领域
1.本发明涉及安卓开发安全领域,具体涉及一种基于hook技术监测安卓应用隐私相关api调用的方法。


背景技术:

2.安卓系统提供了部分方法给开发者用以获取设备相关信息,如applicationpackagemanager类的queryintentactivitiesasuser获取设备已安装应用程序列表,networkinterface类的gethardwareaddress方法获取设备mac地址等。这些特殊的方法涉及到用户的隐私问题,因此应当在确实需要的时候告知用户,并按需调用。为便于描述,类似的方法在下文中统称为“用户隐私相关api”。
3.安卓开发者在开发应用时,需要接入使用部分第三方库,以实现快速迭代开发。而第三方库的引入,也带了用户隐私相关api被私自调用的问题。根据相关规定:用户首次安装应用接受隐私政策前不应调用任何用户隐私相关api,用户使用应用过程中不能过度调用用户隐私相关api。而如何进行监测,是一个值得探究的问题。
4.对于开发者而言,目前主流采取的是通过安卓系统日志来监控三方库是否调用了用户的敏感信息。通过该方法可识别出部分三方库的调用行为,但对于不打印日志或者通过非常规方法如反射等调用权限时,该方案存在着一定的缺陷,无法有效甄别。


技术实现要素:

5.本发明的目的在于针对现有技术的缺陷和不足,提供一种基于hook技术监测安卓应用隐私相关api调用的方法,帮助安卓开发者更精准的监测三方库对用户隐私相关api的调用,维护用户的隐私权,同时也为开发者和所在企业规避相关安全风险。
6.为实现上述目的,本发明采用的技术方案是:它包含如下步骤:
7.一、安装hook技术必备虚拟环境xposed;
8.二、创建监测器;监测器用于在安卓系统中全局监测用户隐私相关api的调用,并输出相关调用日志;
9.三、启动监测器,全局监测隐私权限方法的调用;
10.四、分析环境日志,判断隐私权限是否调用。
11.进一步地,步骤一中xposed环境提供已经成功hook的zygote进程,在xposed环境中,可以hook目标方法,并在方法调用前后收到回调。
12.进一步地,hook环境采用开源的xposed框架。
13.进一步地,步骤二中创建监测器secretmonitor并实现ixposedhookloadpackage接口,实现handleloadpackage方法;在handleloadpackage方法中hook用户隐私相关api;当这些api被三方库调用时,会收到相关回调。
14.进一步地,步骤三中运行监测器app后,启动待检测应用进行相关测试操作。
15.进一步地,步骤四中分析xposed框架日志,当打印出

调用
queryintentactivitiesasuser()获取了应用列表

日志时,代表待检测应用调用了queryintentactivitiesasuser()方法,读取了用户的隐私权限,并可根据具体堆栈日志进行分析解决。
16.采用上述方案后,本发明有益效果为:本发明所述的一种监测安卓应用隐私相关api调用的方法,借助于hook技术,所有的用户隐私相关api调用时,都可被捕获,并打印出详细的调用堆栈信息;开发者可据此快速精准定位到症结所在,并进行相关整改,保护用户隐私。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明的流程图;
19.图2是本发明的整体结构框图。
具体实施方式
20.下面结合附图,对本发明作进一步的说明。
21.参看图1-2所示,实施例:它包含如下步骤:
22.一、安装hook技术必备虚拟环境xposed;hook环境采用开源的xposed框架,用于为本发明提供hook运行环境;xposed环境提供已经成功hook的zygote进程,在xposed环境中,可以hook目标方法,并在方法调用前后收到回调;
23.二、创建监测器;监测器用于在安卓系统中全局监测用户隐私相关api的调用,并输出相关调用日志;具体为:
24.创建监测器secretmonitor并实现ixposedhookloadpackage接口,实现handleloadpackage方法;在handleloadpackage方法中hook用户隐私相关api;当这些api被三方库调用时,会收到相关回调:
25.26.[0027][0028]
上述步骤hook了applicationpackagemanager类的queryintentactivitiesasuser方法。
[0029]
三、启动监测器,全局监测隐私权限方法的调用:运行监测器app后,启动待检测应用进行相关测试操作;
[0030]
四、分析环境日志,判断隐私权限是否调用:分析xposed框架日志,当打印出

调用queryintentactivitiesasuser()获取了应用列表

日志时,代表待检测应用调用了queryintentactivitiesasuser()方法,读取了用户的隐私权限,并可根据具体堆栈日志进行分析解决。
[0031]
本发明可应用在如下场景:
[0032]
应用场景1:在安卓应用上架市场前,可先使用本发明对应用进行检测,当第三方库私自调用用户隐私相关api时,会打印出相关堆栈信息,开发者可根据日志进行精准判断是何三方库、在何时机获取了用户的隐私信息,并进行相关整改。
[0033]
应用场景2:在收到工信部、网信办等安卓应用整改通告时,可通过本发明快速精准定位到调用用户隐私相关api的位置,大大提高整改效率。
[0034]
以上所述,仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其它修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。


技术特征:
1.一种监测安卓应用隐私相关api调用的方法,其特征在于它包含如下步骤:一、安装hook技术必备虚拟环境xposed;二、创建监测器;监测器用于在安卓系统中全局监测用户隐私相关api的调用,并输出相关调用日志;三、启动监测器,全局监测隐私权限方法的调用;四、分析环境日志,判断隐私权限是否调用。2.根据权利要求1所述的一种监测安卓应用隐私相关api调用的方法,其特征在于步骤一中xposed环境提供已经成功hook的zygote进程,在xposed环境中,可以hook目标方法,并在方法调用前后收到回调。3.根据权利要求1或2所述的一种监测安卓应用隐私相关api调用的方法,其特征在于hook环境采用开源的xposed框架。4.根据权利要求1所述的一种监测安卓应用隐私相关api调用的方法,其特征在于步骤二中创建监测器secretmonitor并实现ixposedhookloadpackage接口,实现handleloadpackage方法;在handleloadpackage方法中hook用户隐私相关api;当这些api被三方库调用时,会收到相关回调。5.根据权利要求1所述的一种监测安卓应用隐私相关api调用的方法,其特征在于步骤三中运行监测器app后,启动待检测应用进行相关测试操作。6.根据权利要求1所述的一种监测安卓应用隐私相关api调用的方法,其特征在于步骤四中分析xposed框架日志,当打印出

调用queryintentactivitiesasuser()获取了应用列表

日志时,代表待检测应用调用了queryintentactivitiesasuser()方法,读取了用户的隐私权限,并可根据具体堆栈日志进行分析解决。

技术总结
一种监测安卓应用隐私相关API调用的方法,它包含如下步骤:一、安装Hook技术必备虚拟环境Xposed;二、创建监测器;监测器用于在安卓系统中全局监测用户隐私相关API的调用,并输出相关调用日志;三、启动监测器,全局监测隐私权限方法的调用;四、分析环境日志,判断隐私权限是否调用;本发明借助于Hook技术,所有的用户隐私相关API调用时,都可被捕获,并打印出详细的调用堆栈信息;开发者可据此快速精准定位到症结所在,并进行相关整改,保护用户隐私。保护用户隐私。保护用户隐私。


技术研发人员:王锐旭 张辉 徐崇阳
受保护的技术使用者:广州九尾信息科技有限公司
技术研发日:2022.01.12
技术公布日:2022/4/29
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1