论文部分内容阅读
看过今年央视3·15晚会的朋友都知道,央视在晚会上曝光了安卓(Android)系统中的部分软件收集并泄露用户信息的问题。现在安卓手机非常普及,大家在安卓手机上安装的软件也越来越多,那么如何保护自己的手机隐私不被那些恶意软件窃取?其实,我们可以自己打造一个安卓手机隐私防火墙。
学前班:安卓权限扫盲
由于安卓是开放性系统,为了安全起见,Google需要给用户提供一系列的安全措施,所以Google在安卓框架内把各种对象(包括设备上的各类数据、传感器、拨打电话、发送信息、控制别的应用程序等)的访问权限进行了详细的划分,列出了约一百条安卓权限。应用程序在运行前必须向安卓系统声明它将会用到的权限,否则安卓将会拒绝该应用程序访问相关的内容。
不过Google并不会要求开发什么程序才能拥有对应的权限,理论上任何一个应用程序只要开发者在代码中做出相关声明即可拥有对应的权限。比如说搜狗输入法提供了一个智能通讯录的功能,可以在用户输入联系人拼音的前几个字符(或首字母)时,输入法就能自动呈现相关联系人的名字。为了实现这个功能,搜狗输入法必须声明它需要读取手机中联系人信息的能力,也就是在相关代码中加上声明android.permission.READ_CONTACTS对象。这样当我们安装搜狗输入法时,它会显示“读取联系人数据”权限,同时安装好后它就可以自动读取我们的通讯录了(图1)。
初级班:LBE隐私卫士后台控制权限
下载地址:http://www.lbesec.com/lite
适用:已安装的应用,手机要ROOT
如上所述,应用程序只要在代码中做出声明,它就可以自动获取对应的权限(在安装时用户只能看到声明但无法做出权限的更改),所以很多恶意应用程序利用安卓这个漏洞,大肆在我们的手机中窃取隐私。有一些软件,虽然我们明知道它不应该读取手机中的某些内容(如读取通讯录),但是因为某种需要又不得不使用它,那么即使在安装时看到了它的所谓声明,我们也不得不安装。对于这类软件,我们可以在安装后使用LBE隐私卫士在后台控制它的权限。
实战:屏蔽搜狗的读取权限
对于搜狗输入法,很多人其实只是想使用它的快捷输入功能,对于和输入法无关的联系人数据、位置信息、短信记录等,我们自然不希望它在后台偷偷读取。现在如果要屏蔽它的读取联系人数据权限,只要在手机上启动LBE隐私卫士,然后切换到“主动防御”,接着在打开的窗口中点击“联系人记录”,最后再在打开的窗口中,在受监控的软件列表上长按选中“搜狗输入法”,将其读取权限设置为“拒绝”即可(图2)。其他权限的屏蔽方法与其类似。
完成上述的设置,以后如果在搜狗输入法输入联系人拼音的前几个字符,输入法就不会再自动呈现相关联系人的名字了,同时系统通知栏“LBE隐私卫士”会提示已经成功拒绝搜狗输入法读取联系人数据。这样即可屏蔽无关程序对自己手机隐私数据的窃取,有效保护隐私安全!
高级班:安装前修改应用的权限
下载地址:http://www.yingyong.so/app/7/3857.htm
适用:未安装的应用
虽然LBE隐私卫士可以很好地对程序的权限进行控制,但是它控制的权限有限(读取短信、联系人记录、通话记录等9个权限)。我们还可以采取另外的方法,在安装前就将程序的权限废止,达到“御敌于国门外”的效果。“权限修改器”就可以对任意APK程序权限进行修改,它的原理是修改应用程序的APK安装包,删除其中AndroidManifest.xml文件内,用于声明权限的对应Android.Permission.*的条目,然后再用一个公开的证书对安装包重新签名(手机需要允许“未知源”),这样一来,应用程序就不会向系统申请原先所需的权限。当应用运行至相应的流程时,系统将直接拒绝,从而达到用户控制权限的目的。
实战:移去搜狗输入法读取权限
为了方便起见,我们依然以搜狗输入法为例来说明。首先下载搜狗输入法安装程序,接着启动“权限修改器”,点击“直接修改APK文件”,然后定位到搜索输入法安装文件,程序会自动读取安装包的权限声明,按提示勾选需要删除的android.permission.READ_CONTACTS对象权限(图3)。
点击“下一步“,程序会自动修改应用程序的APK安装包并且重新打包,完成权限的修改后点击“安装已修改的应用程序”,现在激活的搜狗输入法安装程序中,可以看到它的权限声明就没有读取“联系人数据”的权限了(图4)。
当然,并不是应用程序所有权限都可以删除,一些应用程序的权限是和程序本身紧密结合的,比如某些网络程序如果删除其联网权限,则可能导致安装后的程序无法运行,此时只要重新使用“权限修改器”进行修改即可,大家可以参照下表对号入座进行修改。
学前班:安卓权限扫盲
由于安卓是开放性系统,为了安全起见,Google需要给用户提供一系列的安全措施,所以Google在安卓框架内把各种对象(包括设备上的各类数据、传感器、拨打电话、发送信息、控制别的应用程序等)的访问权限进行了详细的划分,列出了约一百条安卓权限。应用程序在运行前必须向安卓系统声明它将会用到的权限,否则安卓将会拒绝该应用程序访问相关的内容。
不过Google并不会要求开发什么程序才能拥有对应的权限,理论上任何一个应用程序只要开发者在代码中做出相关声明即可拥有对应的权限。比如说搜狗输入法提供了一个智能通讯录的功能,可以在用户输入联系人拼音的前几个字符(或首字母)时,输入法就能自动呈现相关联系人的名字。为了实现这个功能,搜狗输入法必须声明它需要读取手机中联系人信息的能力,也就是在相关代码中加上声明android.permission.READ_CONTACTS对象。这样当我们安装搜狗输入法时,它会显示“读取联系人数据”权限,同时安装好后它就可以自动读取我们的通讯录了(图1)。
初级班:LBE隐私卫士后台控制权限
下载地址:http://www.lbesec.com/lite
适用:已安装的应用,手机要ROOT
如上所述,应用程序只要在代码中做出声明,它就可以自动获取对应的权限(在安装时用户只能看到声明但无法做出权限的更改),所以很多恶意应用程序利用安卓这个漏洞,大肆在我们的手机中窃取隐私。有一些软件,虽然我们明知道它不应该读取手机中的某些内容(如读取通讯录),但是因为某种需要又不得不使用它,那么即使在安装时看到了它的所谓声明,我们也不得不安装。对于这类软件,我们可以在安装后使用LBE隐私卫士在后台控制它的权限。
实战:屏蔽搜狗的读取权限
对于搜狗输入法,很多人其实只是想使用它的快捷输入功能,对于和输入法无关的联系人数据、位置信息、短信记录等,我们自然不希望它在后台偷偷读取。现在如果要屏蔽它的读取联系人数据权限,只要在手机上启动LBE隐私卫士,然后切换到“主动防御”,接着在打开的窗口中点击“联系人记录”,最后再在打开的窗口中,在受监控的软件列表上长按选中“搜狗输入法”,将其读取权限设置为“拒绝”即可(图2)。其他权限的屏蔽方法与其类似。
完成上述的设置,以后如果在搜狗输入法输入联系人拼音的前几个字符,输入法就不会再自动呈现相关联系人的名字了,同时系统通知栏“LBE隐私卫士”会提示已经成功拒绝搜狗输入法读取联系人数据。这样即可屏蔽无关程序对自己手机隐私数据的窃取,有效保护隐私安全!
高级班:安装前修改应用的权限
下载地址:http://www.yingyong.so/app/7/3857.htm
适用:未安装的应用
虽然LBE隐私卫士可以很好地对程序的权限进行控制,但是它控制的权限有限(读取短信、联系人记录、通话记录等9个权限)。我们还可以采取另外的方法,在安装前就将程序的权限废止,达到“御敌于国门外”的效果。“权限修改器”就可以对任意APK程序权限进行修改,它的原理是修改应用程序的APK安装包,删除其中AndroidManifest.xml文件内,用于声明权限的对应Android.Permission.*的条目,然后再用一个公开的证书对安装包重新签名(手机需要允许“未知源”),这样一来,应用程序就不会向系统申请原先所需的权限。当应用运行至相应的流程时,系统将直接拒绝,从而达到用户控制权限的目的。
实战:移去搜狗输入法读取权限
为了方便起见,我们依然以搜狗输入法为例来说明。首先下载搜狗输入法安装程序,接着启动“权限修改器”,点击“直接修改APK文件”,然后定位到搜索输入法安装文件,程序会自动读取安装包的权限声明,按提示勾选需要删除的android.permission.READ_CONTACTS对象权限(图3)。
点击“下一步“,程序会自动修改应用程序的APK安装包并且重新打包,完成权限的修改后点击“安装已修改的应用程序”,现在激活的搜狗输入法安装程序中,可以看到它的权限声明就没有读取“联系人数据”的权限了(图4)。
当然,并不是应用程序所有权限都可以删除,一些应用程序的权限是和程序本身紧密结合的,比如某些网络程序如果删除其联网权限,则可能导致安装后的程序无法运行,此时只要重新使用“权限修改器”进行修改即可,大家可以参照下表对号入座进行修改。