首页
社区
课程
招聘
[转帖]Android的隐私保护利器
发表于: 2013-10-22 14:40 10403

[转帖]Android的隐私保护利器

2013-10-22 14:40
10403
本文原发表在IDF实验室博客,作者为Archer,地址:
http://blog.idf.cn/2013/10/privacy_on_android/
经IDF实验室同意转载至此。

-----

IPHONE/IPAD的IOS的隐私保护,曾经让我这种玩Android的穷人急红了眼。

1、总线控制型的第三方工具

在2011年,Android的隐私保护只有PDroid。PDROID可以给每个程序分别设置MAC、手机号、机器码。PDROID工作原理和IOS相似,在驱动链(chain)上加个节点(node)控制所有程序的请求,同时提供个GUI前端进行具体设置。它可以控制Android v2.x上的。

IMEI(可伪造)、
IMSI(可伪造)、
SIM卡序列号(可伪造)、
手机号码(可伪造)、
来去电号码、
SIM卡信息、
当前蜂窝网络信息、
GPS定位信息 (可伪造)、
基站定位(可伪造)、
系统自带浏览器的历史、
书签、
联系人、
通话记录、
系统日志、
日历 、
当前账户列表、
当前账户的授权码、
短信彩信……


Pdroid在谷歌商场有提供了官方介绍,并且给出了xda的官方链接





相比之下,好像所有的隐私保护工具都弱暴了。

对一般的安粉来说,Root不是大问题;问题是PDroid必须使用不加密的framework(说明硬件和结构的文件)。HTC /Moto等等知名厂商都有bootloader lock和framework encryption。如果不加密这些文件,不仅终端安全就暴露在暴徒手下,关键是hacker可以直接给手机解锁、解除各种SP绑定了(喔 RMB USD UKP … 各种钱财啊),重写android系统(是开源的)也都不是问题了。厂商不加密Framework才怪!

这种局限 丝毫不影响Pdroid的跨时代地位。Pdroid的作者后来放弃了这个项目,后来XDA的大师们继续为它做更新,并且推出了新的项目OpenPDroid。

是的,我手头的设备都加密了framework.apk(同目录下存在framework.odex就是加密特征)。我望洋兴叹很久、很久、很久……

2、APK为核心的阶段

后来,APK的自动化重打包技术成熟。逐渐出现了删除程序API(例如删除访问GPS功能)、修改API返回值的各种工具。

例如直接禁用接口功能的APK权限修改器。不过,禁用/删除接口有可能会造成程序不能正常使用。举例说,很多程序启动的时候就要访问硬件ID,停用这个功能之后,修改后的APK会直接挂。



强制某些接口的返回值为固定值(NULL等)的工具同期问世。例如洗大师,但是它必须将APK上传到服务器修改、并且必须保留修改程序才能使用修改后的APK。不知道是不是多数用户可以接受呢?俺是不用了。



顺便推荐一下著名的LBE。实际上LBE问世很早,但是出于资源和性能的考虑,我没有使用过LBE。近来,LBE没有以前那样受欢迎。



要在这里说明的是LBE用的技术比较复杂,应该不只修改APK、加入调试这么简单。本文只是把它放在这里,分类可能不准确。

此外也有LBE Privacy Guard (不需要root,2012年问世)。应该是标准的APK修改工具。

其实还有Permission  denied,下线了。Privacy Blocker 停止更新了……

3、谷歌重视的官方关注

Android是谷歌与Apple竞争的平台。谷歌当然会重视隐私安全。

谷歌随后在Android 4.1推出了APP OPS (程序,对不起啦)功能,并且可以在设置面板里直接限制程序访问隐私的权限。这个功能在AOSP版本的Android里直接可以看到,但是官方仅在4.3里实现了前端GUI-App Ops Starter



我们看到了App Ops类似于iOS6~7的隐私保护,它控制了下列功能:

位置
读/写联系人*
读/写通话记录*
收/发短信*
拨打电话
发送通知(已经在4.1实现)
在(包括其它应用程序的Activity之上的)顶层绘制
修改系统设置(指开启蓝牙,GPS,Wlan等项目,具体包括哪些API不清楚)
震动
拍照(使用摄像头)*
录音*
读/写剪贴板*
读/写日历*


android的实现方法比较体贴!Framework大家都加密,可是隐私必须保护,所以(据说)Android在app_process, 即Java程序的launcher上实现了参数传递的功能。即是说,app_process可以从配置文件里读取参数,选择性的屏蔽部分API的功能(应该是返回Null)。

App Ops的Activity已经在AOSP代码库(2013-8月份)的一次Commit里被注释掉了,也就是说在可见的未来里,App Ops应该不会出现。所以……呢

4、粉丝们的后现代主义时代

我不想多说什么官方不官方的,因为粉丝早比我疯狂。

最让我着迷的恐怕是XPosed.XPosed(要Root)修改了App_process并且在dalvik添加了个层(我认为还是节点),可以说它hook了几乎整个系统。Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。

当前,Per APP Setting(为每个应用设置单独的dpi或修改权限)、Cydia、XPrivacy(防止隐私泄露)、对原生Launcher替换图标等应用或功能均基于此框架。

XPosed的App settings模块可以直接禁用程序的API接口,而不必修改APK文件。不过XPosed最大招牌还是XPrivacy 模块,阻止程序访问隐私信息。值得一题的是,XPrivacy的伪造信息的功能。美中不足就是,它不能针对每个程序伪造不同的信息。对于免费软件来说,不要要求太多了。

XPosed Appsettings 可以把每个API都给你列出来,让你禁用。与Xprivacy 配合,Xposed可以控制近百个项目,甚至可以指定应用程序只能看到你选定的联系人.这种功力让人不寒而栗。



XPosed 实际上实现了前文说的所有技术,是名不虚传的强中之强。另外,我的电池是1200mA的,并没感觉Xposed 多费电。

上面的程序都是Hacker的作品。Hacker保护了自己的权益,也将之推广、造福大众,这是黑客文化的精髓之一。

今天就写到这里吧。预祝各位刷机愉快!

(全文完)

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 86
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
这不是xx 大学的毕业设计?
2013-10-22 14:42
0
雪    币: 1413
活跃值: (401)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
3
求细节。
2013-10-22 15:08
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
求细节
2013-10-22 15:16
0
雪    币: 131
活跃值: (98)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
求细节。
2013-10-22 16:30
0
雪    币: 86
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
仔细看了看 思路类似.... 老眼昏花,以为是一个人写的....
2013-10-22 16:49
0
雪    币: 1413
活跃值: (401)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
7
这就对了,朋友Archer原创的。
2013-10-22 17:09
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
https://github.com/rovo89/Xposed
最e xin  的是 拿别人东西来卖弄

话说 还是外国佬牛B
2013-10-22 19:43
0
雪    币: 1040
活跃值: (1313)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Xposed 只支持4.0以上……现在还在用2.3的简直呵呵呵呵呵呵
2013-10-24 17:27
0
游客
登录 | 注册 方可回帖
返回
//