CN105653979A - 一种基于代码注入的隐私信息保护方法 - Google Patents

一种基于代码注入的隐私信息保护方法 Download PDF

Info

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
Application number
CN201511010349.4A
Other languages
English (en)
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.)
Enjoyor Co Ltd
Original Assignee
Enjoyor Co Ltd
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 Enjoyor Co Ltd filed Critical Enjoyor Co Ltd
Priority to CN201511010349.4A priority Critical patent/CN105653979A/zh
Publication of CN105653979A publication Critical patent/CN105653979A/zh
Pending legal-status Critical Current

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting 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中,在执行的函数结束之后将相应的返回值进行修改,并将修改后的数据提供给调用程序,从而隐藏真实值,达到隐私信息保护的目的。
CN201511010349.4A 2015-12-29 2015-12-29 一种基于代码注入的隐私信息保护方法 Pending CN105653979A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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误用类漏洞自动化检测方法
Jeon et al. A practical analysis of smartphone security
CN102724204B (zh) 一种安全可信的能力开放平台
CN103716785B (zh) 一种移动互联网安全服务系统
CN103916244B (zh) 验证方法及装置
CN108763921B (zh) 一种应用软件和sdk管控的方法
Nadji et al. Automated remote repair for mobile malware
CN104200155A (zh) 基于苹果手机操作系统iOS保护用户隐私的监测装置和方法
CN103002445A (zh) 一种安全的提供应用服务的移动电子设备
WO2015109668A1 (zh) 应用程序管理方法、装置、终端及计算机存储介质
CN104361281B (zh) 一种安卓平台钓鱼攻击的解决方法
WO2016126668A1 (en) External resource control of mobile devices
CN103619014B (zh) 防止应用数据泄露的方法和系统
CN106096450A (zh) 一种应用程序冻结方法及移动终端
CN106027520A (zh) 一种检测处理盗取网站帐号的方法及装置
KR20110128632A (ko) 스마트폰 응용프로그램의 악성행위 탐지 방법 및 장치
Cooper et al. A survey of android malware characterisitics and mitigation techniques
Liu et al. An empirical study on android for saving non-shared data on public storage
CN102170451A (zh) 一种vpn客户端接入方法和装置
WO2019037521A1 (zh) 安全检测的方法、装置、系统以及服务器
CN108566643A (zh) App访问控制方法、系统、终端设备及存储介质
CN106203110B (zh) 基于逆向解析机制的Android安全增强系统
CN103607508B (zh) 一种凭据的管理方法、装置及手机终端
Rahulamathavan et al. An analysis of tracking settings in Blackberry 10 and Windows Phone 8 Smartphones

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