CN105653979A - 一种基于代码注入的隐私信息保护方法 - Google Patents
一种基于代码注入的隐私信息保护方法 Download PDFInfo
- Publication number
- CN105653979A CN105653979A CN201511010349.4A CN201511010349A CN105653979A CN 105653979 A CN105653979 A CN 105653979A CN 201511010349 A CN201511010349 A CN 201511010349A CN 105653979 A CN105653979 A CN 105653979A
- Authority
- CN
- China
- Prior art keywords
- function
- program
- privacy
- request
- reading
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种基于代码注入的隐私信息保护方法,包括以下步骤:(1)取得安卓***的最高root权限;(2)通过文件管理器将安卓***的zygote程序进行替换,通过***调用fork()函数增加新的进程;(3)将***反root;(4)检测应用提出的特定请求;(5)采用反射的方式拦截请求,对请求中需要欺骗的程序在程序启动时为特定的权限访问添加基于Xposed框架的钩子函数;(6)在应用程序运行时,在隐私函数访问前对读入参数数据进行处理;(7)函数结束后对获取的真实返回值进行修改、欺骗,从而达到隐私信息保护的目的。本发明适用性良好、操作方便、可靠性良好。
Description
技术领域
本发明涉及面向移动终端的应用及权限管理问题,尤其涉及一种基于代码注入的隐私信息保护方法,属于隐私保护领域范畴。
背景技术
2014年,是中国正式接入国际互联网第20周年。移动通信技术的快速发展使得移动设备的数量呈指数级增长,2014年手机网民大概有5亿人。手机病毒的指数级增长无疑是移动安全的爆发点,移动支付安全成为移动互联网新的挑战。新的移动应用和新功能,如网上银行、游戏、手机收费等,为用户带来方便的同时,也带来了私人隐私泄露等安全风险。相较于iOS的封闭***,灵活开放的Android***更加容易受到隐私泄露的影响。央视在2013年的3·15晚会中曝光了安卓***手机软件收集用户信息造成信息泄露事件。高德地图、公信卫士、蓝盒子科技等软件公司以及移动互联网广告平台力美广告、掌阔移动等公司的产品都在央视的调查中相继出现。虽然Android本身拥有很完整的权限控制***,但Google只是把应用权限列出来,却没给用户选择的机会,大多数软件为了自身开发方便或其他原因,申请了大量的无关权限,用户并没有相应的权限去控制软件申请相关权限。从用户的角度,大部分应用在安装时申请不必要的、甚至根本与应用无关的权限。近年来,面对Android复杂的应用环境,各种应用对于***权限无节制的索取,莫名的广告、防不胜防的隐私外泄等问题,这些问题可以说一直存在,毫无改善。
如今有着很多权限管理的软件例如Appops,Xprivacy,AppShield以及手机管家,但是效果却不尽如人意,有些通过在后台保持相应的服务程序,周期性地将驻留进程杀死,以防止隐私泄漏,但此方法对电池消耗较大,同时杜绝其他应用仍然能够获取用户的隐私信息。有些程序通过修改***底层,拒绝向未授权的程序提供隐私API接口,但此种方法会造成程序的崩溃,用户体验不佳。
发明内容
为了克服已有隐私保护方式的适用性较差、操作复杂、可靠性较差的不足,本发明提供一种适用性良好、操作方便、可靠性良好的基于代码注入的隐私信息保护方法。
本发明解决其技术问题所采用的技术方案是:
一种基于代码注入的隐私信息保护方法,所述方法包括以下步骤:
101取得安卓***的最高root权限;
102通过文件管理器将安卓***的zygote程序进行替换,通过***调用fork()函数增加新的进程,使得在生成新进程时能对新进程进行反射拦截,为特定的函数调用注入新的代码;
103在替换掉zygote程序后将***反root;
104检测应用提出的特定请求,其中,特定请求的内容涉及账户信息读取、浏览器调用、日历内容读取、电话记录读取、联系人信息读取与修改、邮件读取、位置信息读取以及MAC或IMEI信息读取;
105采用反射的方式拦截请求,对请求中需要欺骗的程序在程序启动时为特定的权限访问添加基于Xposed框架的钩子函数:
publicHook(StringrestrictionName,StringmethodName,Stringpermissions,intsdk,Stringreplaces);
其中,restrictionName为限制访问类别、methodName为待替换函数名、permissions为能否访问的权限清单、sdk为标识sdk版本、replaces为替换后的函数名;
106在应用程序运行时,在隐私函数访问前对读入参数数据进行处理,过程如下:首先对步骤(4)中隐私项目数据进行处理,返回能够进行伪造的方法,防止直接透露相应数据,并将原始数据和虚假参数记录于***中,将修改后的参数数据传递给***进行调用;
107函数结束后对获取的真实返回值按用户预先设置的虚假值进行修改、欺骗。
进一步,所述步骤107中,在执行的函数结束之后将相应的返回值进行修改,并将修改后的数据提供给调用程序,从而隐藏真实值,达到隐私信息保护的目的。
本发明的有益效果主要表现在:(1)具有普适性,能针对用户的需求对权限进行管理。主要涉及隐私相关的权限,类型非常详细,如账户信息读取、浏览器调用、日历内容读取、电话记录读取、联系人信息读取与修改、邮件读取、位置信息读取以及MAC或IMEI信息读取。同时借助Xposed可以在不修改APK的情况下影响程序运行(修改***)的框架服务,可以轻松地对Android***进行深度优化。
(2)简单易操作。可以通过生成包括序列号、MAC地址、IMEI以及AndroidID的随机数值,来阻止应用用户追踪SDK获取能唯一识别设备的标识符(IMEI、AndroidID、MAC等),从而阻止了应用程序不能获取任何非必要的信息。
(3)保证大量未授权软件正常运行的同时,将重要应用和隐私数据进行隔离。在工业应用时能够保证用户正常运行所有应用,但又保证用户的隐私数据的安全与可靠。
总之,该方法能够拦截未知的用户软件对关键隐私数据的访问请求,并在用户软件无察觉的情况下更改请求数据,有效地确保了智能手机用户使用第三方应用软件的安全性。
附图说明
图1是一种基于代码注入的隐私信息保护方法的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1,一种基于代码注入的隐私信息保护方法,包括以下步骤:
101取得安卓***的最高root权限;
102通过文件管理器将安卓***的zygote程序(参考文献1:《Android***进程Zygote启动过程的源代码分析》,文献来源为:http://blog.csdn.net/luoshengyang/article/details/6768304)进行替换,通过***调用fork()函数(参考文献2:《Fork(systemcall)》,文献来源为:https://en.wikipedia.org/wiki/Fork_(system_call))创建一个新进程,使得在生成新进程时能对新进程进行反射拦截,为特定的函数调用注入新的代码;
103在替换掉zygote程序后将***反root;
104检测应用提出的检测网络地址请求,如获取NetworkInfo;
105通过反射的方式拦截请求,具体实施方法如下:获取NetworkInfo请求会自动调用***函数getNetworkInfo(),其访问权限包括android.permission.ACCESS_NETWORK_STATE和android.permission.ACCESS_WIFI_STATE,因此,需对该函数在程序启动时为特定的权限访问添加基于Xposed框架的钩子函数(参考文献3:《AndroidHook神器:XPosed入门与登陆劫持演示》,文献来源为:http://blog.csdn.net/dj0379/article/details/47755325):
publicHook(StringrestrictionName,StringmethodName,Stringpermissions,intsdk,Stringreplaces);
其中,restrictionName为限制访问类别、methodName为待替换函数名、permissions为能否访问的权限清单、sdk为标识sdk版本、replaces为替换后的函数名。钩子函数能实现对方法getNetworkInfo()的拦截,使得程序在访问隐私数据之前和之后能够对访问参数和返回值进行修改;
106在待拦截的应用程序运行时,在隐私函数getNetworkInfo()访问前对读入参数数据进行处理,处理方法如下:首先对NetworkInfo数据进行处理,返回能够进行伪造的方法,此时原始数据已被替换,可防止直接透露隐私数据,然后将原始数据NetworkInfo和虚假参数XNetworkInfo记录于***中,将修改后的参数数据XNetworkInfo传递给***进行调用;
107函数结束后对获取的真实返回值NetworkInfo按用户预先设置的虚假值XNetworkInfo进行修改、欺骗。操作方法如下:在执行的函数结束之后将相应的返回值进行修改,并将修改后的数据XNetworkInfo提供给调用程序,从而隐藏真实值,达到隐私信息保护的目的。
当请求为获取NetworkInfo的详细状态时,修改后的返回值为详细信息的未连接状态NetworkInfo.DetailedState.DISCONNECTED;当请求为获取NetworkInfo的附加信息时,修改后的返回值为对方的UID;当请求为获取NetworkInfo的状态时,修改后的返回值为未连接状态NetworkInfo.State.DISCONNECTED;当请求为判断NetworkInfo是否已经连接或判断NetworkInfo是否已经连接还是正在连接时,修改后的返回值一律为否。
本实施例为***级的解决方案,无需用户安装和获取root权限,在保证未授权软件的正常运行时对隐私数据进行修改、欺骗。
Claims (2)
1.一种基于代码注入的隐私信息保护方法,其特征在于:所述方法包括以下步骤:
101取得安卓***的最高root权限;
102通过文件管理器将安卓***的zygote程序进行替换,通过***调用fork()函数增加新的进程,使得在生成新进程时能对新进程进行反射拦截,为特定的函数调用注入新的代码;
103在替换掉zygote程序后将***反root;
104检测应用提出的特定请求,其中,特定请求的内容涉及账户信息读取、浏览器调用、日历内容读取、电话记录读取、联系人信息读取与修改、邮件读取、位置信息读取以及MAC或IMEI信息读取;
105采用反射的方式拦截请求,对请求中需要欺骗的程序在程序启动时为特定的权限访问添加基于Xposed框架的钩子函数:
publicHook(StringrestrictionName,StringmethodName,Stringpermissions,intsdk,Stringreplaces);
其中,restrictionName为限制访问类别、methodName为待替换函数名、permissions为能否访问的权限清单、sdk为标识sdk版本、replaces为替换后的函数名;
106在待拦截的应用程序运行时,在隐私函数访问前对读入参数数据进行处理,过程如下:首先对步骤(4)中隐私项目数据进行处理,返回能够进行伪造的方法,防止直接透露相应数据,并将原始数据和虚假参数记录于***中,将修改后的参数数据传递给***进行调用;
107函数结束后对获取的真实返回值按用户预先设置的虚假值进行修改、欺骗。
2.如权利要求1所述的一种基于代码注入的隐私信息保护方法,其特征在于:所述步骤107中,在执行的函数结束之后将相应的返回值进行修改,并将修改后的数据提供给调用程序,从而隐藏真实值,达到隐私信息保护的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511010349.4A CN105653979A (zh) | 2015-12-29 | 2015-12-29 | 一种基于代码注入的隐私信息保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511010349.4A CN105653979A (zh) | 2015-12-29 | 2015-12-29 | 一种基于代码注入的隐私信息保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105653979A true CN105653979A (zh) | 2016-06-08 |
Family
ID=56478202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511010349.4A Pending CN105653979A (zh) | 2015-12-29 | 2015-12-29 | 一种基于代码注入的隐私信息保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653979A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203162A (zh) * | 2016-06-30 | 2016-12-07 | 中国地质大学(武汉) | 一种疏堵结合的隐私保护方法与*** |
CN107220538A (zh) * | 2017-06-27 | 2017-09-29 | 广东欧珀移动通信有限公司 | 支付类应用程序管理方法、装置及移动终端 |
CN107481181A (zh) * | 2017-07-27 | 2017-12-15 | 银江股份有限公司 | 一种用于保护个人隐私的图片隐藏方法、还原方法及图片隐藏*** |
CN108229158A (zh) * | 2018-01-10 | 2018-06-29 | 西安电子科技大学 | 一种Android中存储的用户隐私信息的保护方法 |
CN109740303A (zh) * | 2018-09-07 | 2019-05-10 | 天翼电子商务有限公司 | 一种使用外部sdk时提升安全性的方法 |
CN110309646A (zh) * | 2019-06-28 | 2019-10-08 | 广州小鹏汽车科技有限公司 | 个人信息保护方法、保护装置和车辆 |
CN111008375A (zh) * | 2019-11-22 | 2020-04-14 | 珠海豹趣科技有限公司 | 一种数据保护方法及装置 |
CN112231699A (zh) * | 2020-10-15 | 2021-01-15 | 北京明略昭辉科技有限公司 | 读取函数的拦截方法、装置、电子设备和计算机可读介质 |
CN112329015A (zh) * | 2020-12-23 | 2021-02-05 | 黑龙江省网络空间研究中心 | 一种基于代码注入的隐私信息保护***及方法 |
CN113412603A (zh) * | 2019-04-16 | 2021-09-17 | 深圳市欢太科技有限公司 | 隐私合规检测方法及相关产品 |
CN113449332A (zh) * | 2020-03-24 | 2021-09-28 | 中国电信股份有限公司 | 访问权限监测方法、装置及计算机可读存储介质 |
CN117009252A (zh) * | 2023-10-07 | 2023-11-07 | 之江实验室 | 一种基于函数替换的故障注入测试方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198255A (zh) * | 2013-04-03 | 2013-07-10 | 武汉大学 | 一种Android软件敏感行为监控与拦截方法及*** |
CN104102358A (zh) * | 2014-07-18 | 2014-10-15 | 北京奇虎科技有限公司 | 隐私信息保护的方法及隐私信息保护装置 |
CN104156662A (zh) * | 2014-08-28 | 2014-11-19 | 北京奇虎科技有限公司 | 进程监控的方法、装置和智能终端 |
US20150188910A1 (en) * | 2013-12-26 | 2015-07-02 | Iswind Digital Engineering Inc. | Policy group based file protection system, file protection method thereof, and computer readable medium |
-
2015
- 2015-12-29 CN CN201511010349.4A patent/CN105653979A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198255A (zh) * | 2013-04-03 | 2013-07-10 | 武汉大学 | 一种Android软件敏感行为监控与拦截方法及*** |
US20150188910A1 (en) * | 2013-12-26 | 2015-07-02 | Iswind Digital Engineering Inc. | Policy group based file protection system, file protection method thereof, and computer readable medium |
CN104102358A (zh) * | 2014-07-18 | 2014-10-15 | 北京奇虎科技有限公司 | 隐私信息保护的方法及隐私信息保护装置 |
CN104156662A (zh) * | 2014-08-28 | 2014-11-19 | 北京奇虎科技有限公司 | 进程监控的方法、装置和智能终端 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203162B (zh) * | 2016-06-30 | 2019-03-19 | 中国地质大学(武汉) | 一种疏堵结合的隐私保护方法与*** |
CN106203162A (zh) * | 2016-06-30 | 2016-12-07 | 中国地质大学(武汉) | 一种疏堵结合的隐私保护方法与*** |
CN107220538A (zh) * | 2017-06-27 | 2017-09-29 | 广东欧珀移动通信有限公司 | 支付类应用程序管理方法、装置及移动终端 |
CN107481181B (zh) * | 2017-07-27 | 2020-08-04 | 银江股份有限公司 | 一种用于保护个人隐私的图片隐藏方法、还原方法及图片隐藏*** |
CN107481181A (zh) * | 2017-07-27 | 2017-12-15 | 银江股份有限公司 | 一种用于保护个人隐私的图片隐藏方法、还原方法及图片隐藏*** |
CN108229158A (zh) * | 2018-01-10 | 2018-06-29 | 西安电子科技大学 | 一种Android中存储的用户隐私信息的保护方法 |
CN109740303A (zh) * | 2018-09-07 | 2019-05-10 | 天翼电子商务有限公司 | 一种使用外部sdk时提升安全性的方法 |
CN109740303B (zh) * | 2018-09-07 | 2020-12-22 | 天翼电子商务有限公司 | 一种使用外部sdk时提升安全性的方法 |
CN113412603B (zh) * | 2019-04-16 | 2022-08-16 | 深圳市欢太科技有限公司 | 隐私合规检测方法及相关产品 |
CN113412603A (zh) * | 2019-04-16 | 2021-09-17 | 深圳市欢太科技有限公司 | 隐私合规检测方法及相关产品 |
CN110309646A (zh) * | 2019-06-28 | 2019-10-08 | 广州小鹏汽车科技有限公司 | 个人信息保护方法、保护装置和车辆 |
CN111008375A (zh) * | 2019-11-22 | 2020-04-14 | 珠海豹趣科技有限公司 | 一种数据保护方法及装置 |
CN111008375B (zh) * | 2019-11-22 | 2023-09-26 | 珠海豹趣科技有限公司 | 一种数据保护方法及装置 |
CN113449332A (zh) * | 2020-03-24 | 2021-09-28 | 中国电信股份有限公司 | 访问权限监测方法、装置及计算机可读存储介质 |
CN112231699A (zh) * | 2020-10-15 | 2021-01-15 | 北京明略昭辉科技有限公司 | 读取函数的拦截方法、装置、电子设备和计算机可读介质 |
CN112329015A (zh) * | 2020-12-23 | 2021-02-05 | 黑龙江省网络空间研究中心 | 一种基于代码注入的隐私信息保护***及方法 |
CN117009252A (zh) * | 2023-10-07 | 2023-11-07 | 之江实验室 | 一种基于函数替换的故障注入测试方法及装置 |
CN117009252B (zh) * | 2023-10-07 | 2024-01-02 | 之江实验室 | 一种基于函数替换的故障注入测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653979A (zh) | 一种基于代码注入的隐私信息保护方法 | |
CN104933362B (zh) | Android应用软件API误用类漏洞自动化检测方法 | |
Papadopoulos et al. | The long-standing privacy debate: Mobile websites vs mobile apps | |
Jeon et al. | A practical analysis of smartphone security | |
CN103716785B (zh) | 一种移动互联网安全服务*** | |
CN102724204B (zh) | 一种安全可信的能力开放平台 | |
CN103916244B (zh) | 验证方法及装置 | |
CN108763921B (zh) | 一种应用软件和sdk管控的方法 | |
Nadji et al. | Automated remote repair for mobile malware | |
CN104200155A (zh) | 基于苹果手机操作***iOS保护用户隐私的监测装置和方法 | |
US20160350525A1 (en) | Application Program Management Method, Device, Terminal, and Computer Storage Medium | |
CN104462997B (zh) | 一种保护移动终端上工作数据的方法、装置和*** | |
CN104361281B (zh) | 一种安卓平台钓鱼攻击的解决方法 | |
WO2016126668A1 (en) | External resource control of mobile devices | |
CN103619014B (zh) | 防止应用数据泄露的方法和*** | |
CN106096450A (zh) | 一种应用程序冻结方法及移动终端 | |
CN106027520A (zh) | 一种检测处理盗取网站帐号的方法及装置 | |
CN103617393A (zh) | 一种基于支持向量机的移动互联网恶意应用软件检测方法 | |
KR20110128632A (ko) | 스마트폰 응용프로그램의 악성행위 탐지 방법 및 장치 | |
CN106203110B (zh) | 基于逆向解析机制的Android安全增强*** | |
CN102170451A (zh) | 一种vpn客户端接入方法和装置 | |
CN104852888B (zh) | 一种设置静态认证信息的方法及装置 | |
CN108566643A (zh) | App访问控制方法、***、终端设备及存储介质 | |
CN103607508B (zh) | 一种凭据的管理方法、装置及手机终端 | |
CN104517070A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160608 |