写点什么

【移动应用安全】移动应用安全概述及超级用户权限获取

作者:w010w
  • 2022-10-24
    北京
  • 本文字数:1204 字

    阅读完需:约 4 分钟

1. Android 系统安全

Android 系统安全包含两个层面:系统安全和应用安全

1.1 系统安全

系统安全包含内核层安全、架构层安全和用户认证机制

(为了方便复习检查,下面的目前就不加标题了)

内核层安全

来源:内核安全漏洞(如导致本地代码提权)

解决:将 SELinux(Security-Enhanced Linux)引入内核层增强安全性能,SElinux for Android

架构层安全

来源:安全漏洞(如 Root 权限泄露、OpenSSL 库生成随机数可预测)

解决:增强现有安全机制和系统类库的安全性

用户认证机制

实现方式对杨,关系到系统的隐私数据安全

1.2 应用安全

包括恶意应用检测和漏洞挖掘

恶意应用检测:监控系统中的恶意应用

方案:安装时的安全审核、运行过程中的行为检测

漏洞挖掘:针对开发过程中无意留下来的漏洞进行检测(此类漏洞可能导致拒绝服务攻击、权限提升、窃取用户数据及隐私)

方案:组件暴露漏洞挖掘和 API 调用过程中的漏洞挖掘

2. Android 系统框架与安全模型

2.1 Android 系统框架与安全模型

应用程序层(连接 web 服务) ------------代码安全、接入权限

应用框架---------------------------------数字证书

本地库和虚拟机运行环境-----------------SSL(网络安全)、Sqlite(数据库安全)、虚拟机(安全沙箱)

2.2 超级用户权限

超级用户:root

Android 基于 Linux

root 用户拥有最高权限

root 用户拥有的权限称为 root 权限

Android 默认关闭 root 用户

2.2.1 获取 root 权限的危险

1.系统不稳定:删除系统软件造成,root 后失去保修

2.病毒侵入:手机 root 后,所有软件都能获取 root 权限,病毒可以做任何事

3.隐私数据暴露:root 后,由于文件权限问题,隐私数据全部暴露

2.2.2 root 权限获取分类

1.临时获取:不修改系统,利用漏洞临时获取 root 权限;下次再需要 root 权限时还要重新破解

2.永久获取:修改系统,手机随时可以获取 root 权限

2.2.3 root 权限获取方法

1.刷机:将手机系统刷为开放 root 的系统

通过引导程序将手机设置为下载模式,更新手机的持久性存储

一般通过 fastboot 协议或厂商专有协议进行

fastboot 模式是通过 USB 将完整硬盘镜像刷到特定分区上的标准协议

刷机的前提条件是 bootloader 没有被锁定

2.系统运行时,利用 Android 本地权限提升漏洞获得

(1)自己发现漏洞

(2)查找已发现未弥补的漏洞

CVE-XXXX-XXXX

通用漏洞披露 (Common Vulnerabilities & Exposures )

2.2.4 超级用户获取权限示例:z4root

原理

默认程序以非 root 用户运行

adbd 是一个运行于 Android 系统中的守护进程,负责接收计算机传递过来的命令

守护进程:系统启动后就启动,直至系统关闭

adbd 由 init 创建,初始时以 root 身份运行(创建时用的身份是 root,创建快完成时会将 root 切换为普通用户(切换过程由下一条中 setuid()执行)

init:系统的初始化进程

然后系统调用 setuid()调用设置 adbd 运行用户为 shell 用户

setuid():root 用户切换为普通用户时用的函数。执行出错时会出现身份切换错误,但代码会向下执行,身份还是 root

提权思路

若让 adbd 重新以 root 身份运行,则计算机传过来的命令也能够以 root 身份运行

发布于: 刚刚阅读数: 4
用户头像

w010w

关注

还未添加个人签名 2022-10-17 加入

还未添加个人简介

评论

发布
暂无评论
【移动应用安全】移动应用安全概述及超级用户权限获取_android_w010w_InfoQ写作社区