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

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

Info

Publication number
CN103729595B
CN103729595B CN201410001209.XA CN201410001209A CN103729595B CN 103729595 B CN103729595 B CN 103729595B CN 201410001209 A CN201410001209 A CN 201410001209A CN 103729595 B CN103729595 B CN 103729595B
Authority
CN
China
Prior art keywords
private data
application program
data leakage
android
apk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410001209.XA
Other languages
English (en)
Other versions
CN103729595A (zh
Inventor
胡爱群
宋宇波
高岳
孟姗姗
陈飞
朱克龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201410001209.XA priority Critical patent/CN103729595B/zh
Publication of CN103729595A publication Critical patent/CN103729595A/zh
Application granted granted Critical
Publication of CN103729595B publication Critical patent/CN103729595B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种Android应用程序隐私数据泄露离线检测方法
技术领域
本发明涉及一种Android应用程序隐私数据泄露离线检测方法,属于信息安全领域。
背景技术
Android是一种主流的移动操作系统。随着Android移动智能终端的普及,越来越多的研究人员对Android系统进行研究,由于Android平台源码的开放性,其安全问题成为信息安全领域研究的一个重要课题,诸多恶意行为对Android移动智能终端构成了严重的安全威胁,常见的恶意行为包括:耗费行为、隐私窃取行为、破坏行为、广告行为、后门行为等,其中隐私窃取行为是指未经用户许可泄露用户敏感数据,对用户个人隐私造成了极大的威胁。
针对上述恶意行为的检测方法分为两种:静态检测和动态检测;静态检测即将应用程序的APK文件进行反编译,获得反编译后的代码,进而对源代码进行解析,判断是否存在恶意行为,经编译、打包、签名后生成的APK的源代码已被混淆,混淆工具探测并删除没用使用的类、字段、方法和属性,删除注释并使用字节码得到最大优化,而且使用无意义的字符串来重命名类、字段和方法。所以在反编译时得到的源代码具有较差的可读性,大大加大了理解、分析代码的难度,而且会存在误报、漏报。
动态检测主要是指在Android应用程序运行过程中实时监控应用程序的运行状态,并检测是否触发恶意行为;一旦发现应用程序在运行过程中存在恶意行为,则判定该软件为恶意软件。动态检测存在一个难题:如何触发恶意行为,因为恶意行为依赖于某种未知的特定触发条件,所以在动态检测时需要手动点击所有的应用程序的控件。但在大规模检测APK时人工检测效率低并且工作量非常大,因而迫切需求设计出一种自动化检测方法。
自动化测试通过自动化测试脚本遍历应用程序的控件,以达到触发条件。目前很多自动化测试方法是触发应用程序完成一系列随机事件,然而用于行为检测的自动化测试,要求能够尽可能地遍历应用程序所有界面和控件,从而完整地触发行为。
现在,污点检测技术是Android隐私数据泄露检测的一个较新的方向。Taintdroid系统就是一款基于污点检测的Android检测系统,其利用Android的虚拟化架构整合了四个粒度级的污点传播监测,污点检测技术为隐私数据添加污点标签,污点会伴随数据的处理传播,从而能够跟踪数据的传播流向,并在系统边界处(短信、文件、网络)检测污点,记录敏感数据泄露的途径。
然而上述的污点检测技术应用于真实的Android智能终端上,只能进行隐私数据泄露的实时提醒,并没有记录检测结果,容易造成虚检和漏检,测试人员很难进行进一步分析;同时,上述方案需要手工操作,测试效率低,实用性比较差;此外,在真机上进行测试会造成真实隐私数据泄露,甚至感染手机病毒、木马,具有很大的风险性。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种Android应用程序隐私数据泄露离线检测方法,解决了现有检测方案只能进行隐私数据泄露的实时提醒,并没有记录检测结果,容易造成虚检和漏检的问题,同时解决了现有检测方案测试效率低,实用性比较差,会造成真实隐私数据泄露,风险大的问题。
为解决上述技术问题,本发明采用的技术方案是:
一种Android应用程序隐私数据泄露离线检测方法,包括以下步骤,
(1)定义隐私数据;
(2)定制基于动态污点检测的Android系统,为不同类型的隐私数据添加相应的污点标签;
(3)将用户端设备中的待测APK导入装有Android模拟器的计算机;
(4)在Android模拟器上运行基于动态污点检测的Android系统,安装并运行待测APK中的应用程序;
(5)通过自动化测试脚本自动遍历点击应用程序中的控件并触发相应的行为;在遍历过程中,如果触发的应用程序调用或操作隐私数据,则跟踪污点标签传播,在系统边界检测所传输的数据是否带有污点标签,记录所测应用程序的危险行为;
(6)遍历结束后生成所测APK的隐私数据泄露检测报告。
步骤(2)中定制基于动态污点检测的Android系统的方法为,修改Android系统源代码中的隐私数据存储机制,增加一位或多位空间用于存储污点标签。
调用或操作隐私数据的过程中,由隐私数据生成的变量也被添加污点标签。
步骤(5)中记录所测应用程序的危险行为包括记录隐私数据泄露的内容和途径。
步骤(6)中隐私数据泄露检测报告包括隐私数据泄露的内容、隐私数据泄露途径、所测APK的风险等级、计算机软硬件环境和测试人员的基本信息。
发明的有益效果:1、本发明在遍历结束后生成所测APK的隐私数据泄露检测报告,不容易造成虚检和漏检,同时为测试人员进行进一步分析提供参考;2、本发明通过自动化测试脚本自动遍历点击应用程序中的控件,不需要手工操作,测试效率高,实用性较好;3、本发明是通过模拟器进行检测,不是在真实的Android智能终端上,不会造成真实隐私数据泄露,也不会感染手机病毒、木马,风险小。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1所示,一种Android应用程序隐私数据泄露离线检测方法,包括以下步骤,
(1)定义隐私数据;其中所述隐私数据包括定位数据、联系人数据、短信彩信数据、通话记录、Email数据、系统设置、IMEI、IMSI、ICCID、设备号、SIM卡数据、SD卡数据、浏览器历史记录和书签、录音数据、拍照图片、手机号码和传感器数据等。
(2)定制基于动态污点检测的Android系统,为不同类型的隐私数据添加相应的污点标签。
定制基于动态污点检测的Android系统的方法为,修改Android系统源代码中的隐私数据存储机制,增加一位或多位空间用于存储污点标签;所述的污点标签为一位或多位字符串。
(3)将用户端设备中的待测APK导入装有Android模拟器的计算机。现在只需要通过一根数据线(如USB连接线)直接将APK拷贝到计算机即可。
(4)在Android模拟器上运行基于动态污点检测的Android系统,安装并运行待测APK中的应用程序。
(5)通过自动化测试脚本自动遍历点击应用程序中的控件并触发相应的行为;在遍历过程中,如果触发的应用程序调用或操作隐私数据,则跟踪污点标签传播,在系统边界(短信、文件、网络的数据出口)检测所传输的数据是否带有污点标签,记录所测应用程序的危险行为即记录隐私数据泄露的内容和途径(如短信息、彩信、网络数据发送以及文件写入)。
在调用或操作隐私数据的过程中,由隐私数据生成的变量也被添加污点标签,因此被跟踪污点标签不仅包括为原始的隐私数据添加的污点标签,同时还包括在调用或操作隐私数据的过程中,为隐私数据生成的变量添加的污点标签。
(6)遍历结束后生成所测APK的隐私数据泄露检测报告;所述隐私数据泄露检测报告包括隐私数据泄露的内容、隐私数据泄露途径、所测APK的风险等级、计算机软硬件环境和测试人员的基本信息,生成的隐私数据泄露检测报告不仅不容易造成虚检和漏检而且为测试人员进一步分析提供参考。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种Android应用程序隐私数据泄露离线检测方法,其特征在于:包括以下步骤,
(1)定义隐私数据;
(2)定制基于动态污点检测的Android系统,为不同类型的隐私数据添加相应的污点标签;
定制基于动态污点检测的Android系统的方法为,修改Android系统源代码中的隐私数据存储机制,增加一位或多位空间用于存储污点标签;
(3)将用户端设备中的待测APK导入装有Android模拟器的计算机;
(4)在Android模拟器上运行基于动态污点检测的Android系统,安装并运行待测APK中的应用程序;
(5)通过自动化测试脚本自动遍历点击应用程序中的控件并触发相应的行为;在遍历过程中,如果触发的应用程序调用或操作隐私数据,则跟踪污点标签传播,在系统边界检测所传输的数据是否带有污点标签,记录所测应用程序的危险行为;
(6)遍历结束后生成所测APK的隐私数据泄露检测报告。
2.根据权利要求1所述的一种Android应用程序隐私数据泄露离线检测方法,其特征在于:步骤(5)中,调用或操作隐私数据的过程中,由隐私数据生成的变量也被添加污点标签。
3.根据权利要求1所述的一种Android应用程序隐私数据泄露离线检测方法,其特征在于:步骤(5)中,记录所测应用程序的危险行为包括记录隐私数据泄露的内容和途径。
4.根据权利要求1所述的一种Android应用程序隐私数据泄露离线检测方法,其特征在于:步骤(6)中,隐私数据泄露检测报告包括隐私数据泄露的内容、隐私数据泄露途径、所测APK的风险等级、计算机软硬件环境和测试人员的基本信息。
CN201410001209.XA 2014-01-02 2014-01-02 一种Android应用程序隐私数据泄露离线检测方法 Expired - Fee Related CN103729595B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410001209.XA CN103729595B (zh) 2014-01-02 2014-01-02 一种Android应用程序隐私数据泄露离线检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410001209.XA CN103729595B (zh) 2014-01-02 2014-01-02 一种Android应用程序隐私数据泄露离线检测方法

Publications (2)

Publication Number Publication Date
CN103729595A CN103729595A (zh) 2014-04-16
CN103729595B true CN103729595B (zh) 2016-08-17

Family

ID=50453666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410001209.XA Expired - Fee Related CN103729595B (zh) 2014-01-02 2014-01-02 一种Android应用程序隐私数据泄露离线检测方法

Country Status (1)

Country Link
CN (1) CN103729595B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309808B (zh) * 2013-06-13 2016-06-15 华为技术有限公司 基于标签的安卓用户隐私泄露黑盒检测方法及系统
CN103984900B (zh) * 2014-05-19 2017-03-01 南京赛宁信息技术有限公司 Android应用漏洞检测方法及系统
CN105787364B (zh) * 2014-12-23 2020-06-30 深圳市腾讯计算机系统有限公司 任务的自动化测试方法、装置及系统
CN104714884A (zh) * 2015-01-05 2015-06-17 中山大学 一种检查web应用和Android应用一致性的方法
CN104766012B (zh) * 2015-04-09 2017-09-22 广东电网有限责任公司信息中心 基于动态污点追踪的数据安全动态检测方法及系统
US9721094B2 (en) 2015-05-20 2017-08-01 International Business Machines Corporation Determining privacy leaks
CN105160250A (zh) * 2015-07-06 2015-12-16 国家计算机网络与信息安全管理中心 一种apk应用软件通信行为的动态分析方法及装置
CN105160251A (zh) * 2015-07-06 2015-12-16 国家计算机网络与信息安全管理中心 一种apk应用软件行为的分析方法及装置
CN105069374B (zh) * 2015-08-06 2018-02-13 上海斐讯数据通信技术有限公司 一种隐私数据拦截保护方法及系统
CN107526966B (zh) * 2016-06-21 2020-03-13 中国科学院软件研究所 一种Android平台的复合污点传播追踪方法
CN106161095B (zh) * 2016-07-15 2020-09-08 北京奇虎科技有限公司 数据泄露的预警方法及装置
CN107038372A (zh) * 2016-11-14 2017-08-11 平安科技(深圳)有限公司 数据泄露接口检测方法和装置
CN108229165A (zh) * 2016-12-21 2018-06-29 武汉安天信息技术有限责任公司 一种恶意代码检测环境模拟方法及系统
CN106650451A (zh) * 2016-12-30 2017-05-10 北京启明星辰信息安全技术有限公司 一种检测方法和装置
CN106803028B (zh) * 2017-01-18 2019-08-30 西安电子科技大学 一种防止安卓手机短信验证码被窃取的方法
CN107180202B (zh) * 2017-05-10 2019-11-22 华中科技大学 一种基于信息流标签的Web用户隐私保护系统和方法
CN107330345B (zh) * 2017-07-05 2020-11-27 北京理工大学 一种检测隐私数据泄露的方法和装置
CN108932199B (zh) * 2018-07-09 2020-11-17 南京网觉软件有限公司 一种基于用户界面分析的自动化污点分析系统
CN113918443A (zh) * 2020-07-10 2022-01-11 北京奇虎科技有限公司 基于测试真机的应用检测方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136471B (zh) * 2011-11-25 2015-12-16 中国科学院软件研究所 一种恶意Android应用程序检测方法和系统
CN103473509A (zh) * 2013-09-30 2013-12-25 清华大学 Android平台恶意软件自动检测方法

Also Published As

Publication number Publication date
CN103729595A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103729595B (zh) 一种Android应用程序隐私数据泄露离线检测方法
Gibler et al. Androidleaks: Automatically detecting potential privacy leaks in android applications on a large scale
CN103984900B (zh) Android应用漏洞检测方法及系统
CN108804912B (zh) 一种基于权限集差异的应用程序越权检测方法
CN105956474B (zh) Android平台软件异常行为检测系统
Yang et al. Leakminer: Detect information leakage on android with static taint analysis
CN103559446B (zh) 一种基于安卓系统的设备的动态病毒检测方法和装置
CN104766012B (zh) 基于动态污点追踪的数据安全动态检测方法及系统
CN107066390B (zh) 一种动态内存泄漏检测方法及系统
US20170286693A1 (en) Security analysis using relational abstraction of data structures
CN103761175B (zh) 一种Linux系统下程序执行路径监测系统及其方法
CN112035354B (zh) 风险代码的定位方法、装置、设备及存储介质
WO2014198171A1 (zh) 基于标签的安卓用户隐私泄露黑盒检测方法及系统
Li et al. Peruim: Understanding mobile application privacy with permission-ui mapping
CN104268473B (zh) 应用程序检测方法和装置
CN102081719B (zh) 基于动态污染传播的软件安全测试系统及方法
CN106055983A (zh) 一种基于IDA通信的Android应用反调试方法
CN103268448B (zh) 动态检测移动应用的安全性的方法和系统
CN102651062A (zh) 基于虚拟机架构的恶意行为跟踪系统和方法
CN104732146A (zh) 一种Android程序漏洞检测方法及系统
CN109325350B (zh) 一种电力移动终端运行环境的安全评估系统及方法
Li et al. Large-scale third-party library detection in android markets
CN110502892A (zh) 一种异常测试进程的确定方法、装置及系统
CN108932199A (zh) 一种基于用户界面分析的自动化污点分析系统
CN112632547A (zh) 一种数据处理方法和相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817

Termination date: 20200102

CF01 Termination of patent right due to non-payment of annual fee