Android底层隐私数据,一种Android应用程序隐私数据泄露离线检测方法

本发明提出了一种Android应用程序隐私数据泄露的离线检测方法,包括定义隐私数据、定制污点检测系统、在模拟器上运行检测等步骤。通过自动化测试脚本遍历应用程序,跟踪污点标签传播,检测数据边界处的隐私泄露,最终生成检测报告,解决了实时检测的虚检、漏检问题以及提高检测效率和安全性。
摘要由CSDN通过智能技术生成

一种Android应用程序隐私数据泄露离线检测方法

【专利摘要】本发明公开了一种Android应用程序隐私数据泄露离线检测方法,包括以下步骤,定义隐私数据;定制基于动态污点检测的Android系统,为不同类型的隐私数据添加相应的污点标签;将用户端设备中的待测APK导入计算机;在模拟器上运行系统,安装并运行待测APK中的应用程序;通过自动化测试脚本自动遍历点击应用程序中的控件并触发相应的行为,记录所测应用程序的危险行为;遍历结束后生成所测APK的隐私数据泄露检测报告。解决了只能进行隐私数据泄露的实时提醒,并没有记录检测结果,容易造成虚检和漏检的问题,同时解决了现有检测方案测试效率低,实用性比较差,会造成真实隐私数据泄露,风险大的问题。

【专利说明】一种Android应用程序隐私数据泄露离线检测方法

【技术领域】

[0001]本发明涉及一种Android应用程序隐私数据泄露离线检测方法,属于信息安全领域。

【背景技术】

[0002]Android是一种主流的移动操作系统。随着Android移动智能终端的普及,越来越多的研究人员对Andro i d系统进行研究,由于Andro i d平台源码的开放性,其安全问题成为信息安全领域研究的一个重要课题,诸多恶意行为对Android移动智能终端构成了严重的安全威胁,常见的恶意行为包括:耗费行为、隐私窃取行为、破坏行为、广告行为、后门行为等,其中隐私窃取行为是指未经用户许可泄露用户敏感数据,对用户个人隐私造成了极大的威胁。

[0003]针对上述恶意行为的检测方法分为两种:静态检测和动态检测;静态检测即将应用程序的APK文件进行反编译,获得反编译后的代码,进而对源代码进行解析,判断是否存在恶意行为,经编译、打包、签名后生成的APK的源代码已被混淆,混淆工具探测并删除没用使用的类、字段、方法和属性,删除注释并使用字节码得到最大优化,而且使用无意义的字符串来重命名类、字段和方法。所以在反编译时得到的源代码具有较差的可读性,大大加大了理解、分析代码的难度,而且会存在误报、漏报。

[0004]动态检测主要是指在Android应用程序运行过程中实时监控应用程序的运行状态,并检测是否触发恶意行为;一旦发现应用程序在运行过程中存在恶意行为,则判定该软件为恶意软件。动态检测存在一个难题:如何触发恶意行为,因为恶意行为依赖于某种未知的特定触发条件,所以在动态检测时需要手动点击所有的应用程序的控件。但在大规模检测APK时人工检测效率低并且工作量非常大,因而迫切需求设计出一种自动化检测方法。

[0005]自动化测试通过自动化测试脚本遍历应用程序的控件,以达到触发条件。目前很多自动化测试方法是触发应用程序完成一系列随机事件,然而用于行为检测的自动化测试,要求能够尽可能地遍历应用程序所有界面和控件,从而完整地触发行为。

[0006]现在,污点检测技术是Android隐私数据泄露检测的一个较新的方向。Taintdroid系统就是一款基于污点检测的Android检测系统,其利用Android的虚拟化架构整合了四个粒度级的污点传播监测,污点检测技术为隐私数据添加污点标签,污点会伴随数据的处理传播,从而能够跟踪数据的传播流向,并在系统边界处(短信、文件、网络)检测污点,记录敏感数据泄露的途径。

[0007]然而上述的污点检测技术应用于真实的Android智能终端上,只能进行隐私数据泄露的实时提醒,并没有记录检测结果,容易造成虚检和漏检,测试人员很难进行进一步分析;同时,上述方案需要手工操作,测试效率低,实用性比较差;此外,在真机上进行测试会造成真实隐私数据泄露,甚至感染手机病毒、木马,具有很大的风险性。

【发明内容】

[0008]发明目的:为了克服现有技术中存在的不足,本发明提供一种Android应用程序隐私数据泄露离线检测方法,解决了现有检测方案只能进行隐私数据泄露的实时提醒,并没有记录检测结果,容易造成虚检和漏检的问题,同时解决了现有检测方案测试效率低,实用性比较差,会造成真实隐私数据泄露,风险大的问题。

[0009]为解决上述技术问题,本发明采用的技术方案是:

[0010]一种Android应用程序隐私数据泄露离线检测方法,包括以下步骤,

[0011](I)定义隐私数据;

[0012](2)定制基于动态污点检测的Android系统,为不同类型的隐私数据添加相应的污点标签;

[0013](3)将用户端设备中的待测APK导入装有Android模拟器的计算机;

[0014](4)在Android模拟器上运行基于动态污点检测的Android系统,安装并运行待测APK中的应用程序;

[0015](5)通过自动化测试脚本自动遍历点击应用程序中的控件并触发相应的行为;在遍历过程中,如果触发的应用程序调用或操作隐私数据,则跟踪污点标签传播,在系统边界检测所传输的数据是否带有污点标签,记录所测应用程序的危险行为;

[0016](6)遍历结束后生成所测APK的隐私数据泄露检测报告。

[0017]步骤(2)中定制基于动态污点检测的Android系统的方法为,修改Android系统源代码中的隐私数据存储机制,增加一位或多位空间用于存储污点标签。

[0018]调用或操作隐私数据的过程中,由隐私数据生成的变量也被添加污点标签。

[0019]步骤(5)中记录所测应用程序的危险行为包括记录隐私数据泄露的内容和途径。

[0020]步骤(6)中隐私数据泄露检测报告包括隐私数据泄露的内容、隐私数据泄露途径、所测APK的风险等级、计算机软硬件环境和测试人员的基本信息。

[0021]发明的有益效果:1、本发明在遍历结束后生成所测APK的隐私数据泄露检测报告,不容易造成虚检和漏检,同时为测试人员进行进一步分析提供参考;2、本发明通过自动化测试脚本自动遍历点击应用程序中的控件,不需要手工操作,测试效率高,实用性较好;

3、本发明是通过模拟器进行检测,不是在真实的Android智能终端上,不会造成真实隐私数据泄露,也不会感染手机病毒、木马,风险小。

【专利附图】

【附图说明】

[0022]图1为本发明的流程图。

【具体实施方式】

[0023]下面结合附图对本发明作更进一步的说明。

[0024]如图1所示,一种Android应用程序隐私数据泄露离线检测方法,包括以下步骤,

[0025](I)定义隐私数据;其中所述隐私数据包括定位数据、联系人数据、短信彩信数据、通话记录、Email数据、系统设置、ME1、IMSI, ICCID、设备号、SIM卡数据、SD卡数据、浏览器历史记录和书签、录音数据、拍照图片、手机号码和传感器数据等。

[0026](2)定制基于动态污点检测的Android系统,为不同类型的隐私数据添加相应的污点标签。[0027]定制基于动态污点检测的Android系统的方法为,修改Android系统源代码中的隐私数据存储机制,增加一位或多位空间用于存储污点标签;所述的污点标签为一位或多位字符串。

[0028](3)将用户端设备中的待测APK导入装有Android模拟器的计算机。现在只需要通过一根数据线(如USB连接线)直接将APK拷贝到计算机即可。

[0029](4)在Android模拟器上运行基于动态污点检测的Android系统,安装并运行待测APK中的应用程序。

[0030](5)通过自动化测试脚本自动遍历点击应用程序中的控件并触发相应的行为;在遍历过程中,如果触发的应用程序调用或操作隐私数据,则跟踪污点标签传播,在系统边界(短信、文件、网络的数据出口)检测所传输的数据是否带有污点标签,记录所测应用程序的危险行为即记录隐私数据泄露的内容和途径(如短信息、彩信、网络数据发送以及文件写入)。

[0031]在调用或操作隐私数据的过程中,由隐私数据生成的变量也被添加污点标签,因此被跟踪污点标签不仅包括为原始的隐私数据添加的污点标签,同时还包括在调用或操作隐私数据的过程中,为隐私数据生成的变量添加的污点标签。

[0032](6)遍历结束后生成所测APK的隐私数据泄露检测报告;所述隐私数据泄露检测报告包括隐私数据泄露的内容、隐私数据泄露途径、所测APK的风险等级、计算机软硬件环境和测试人员的基本信息,生成的隐私数据泄露检测报告不仅不容易造成虚检和漏检而且为测试人员进一步分析提供参考。

[0033]以上所述仅是本发明的优选实施方式,应当指出:对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

【权利要求】

1.一种Android应用程序隐私数据泄露离线检测方法,其特征在于:包括以下步骤, (1)定义隐私数据; (2)定制基于动态污点检测的Android系统,为不同类型的隐私数据添加相应的污点标签; (3)将用户端设备中的待测APK导入装有Android模拟器的计算机; (4)在Android模拟器上运行基于动态污点检测的Android系统,安装并运行待测APK中的应用程序; (5)通过自动化测试脚本自动遍历点击应用程序中的控件并触发相应的行为;在遍历过程中,如果触发的应用程序调用或操作隐私数据,则跟踪污点标签传播,在系统边界检测所传输的数据是否带有污点标签,记录所测应用程序的危险行为; (6)遍历结束后生成所测APK的隐私数据泄露检测报告。

2.根据权利要求1所述的一种Android应用程序隐私数据泄露离线检测方法,其特征在于:步骤(2)中,定制基于动态污点检测的Android系统的方法为,修改Android系统源代码中的隐私数据存储机制,增加一位或多位空间用于存储污点标签。

3.根据权利要求1所述的一种Android应用程序隐私数据泄露离线检测方法,其特征在于:步骤(5)中,调用或操作隐私数据的过程中,由隐私数据生成的变量也被添加污点标签。

4.根据权利要求1所述的一种Android应用程序隐私数据泄露离线检测方法,其特征在于:步骤(5)中,记录所测应用程序的危险行为包括记录隐私数据泄露的内容和途径。

5.根据权利要求1任意一项所述的一种Android应用程序隐私数据泄露离线检测方法,其特征在于:步骤(6)中,隐私数据泄露检测报告包括隐私数据泄露的内容、隐私数据泄露途径、所测APK的风险等级、计算机软硬件环境和测试人员的基本信息。

【文档编号】G06F21/60GK103729595SQ201410001209

【公开日】2014年4月16日 申请日期:2014年1月2日 优先权日:2014年1月2日

【发明者】胡爱群, 宋宇波, 高岳, 孟姗姗, 陈飞, 朱克龙 申请人:东南大学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值