slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
移动应用安全 PowerPoint Presentation
Download Presentation
移动应用安全

Loading in 2 Seconds...

play fullscreen
1 / 28

移动应用安全 - PowerPoint PPT Presentation


  • 173 Views
  • Uploaded on

移动应用安全. Android 系统安全概述. Android 系统安全 3 个层面 Linux 层面安全、软件安装签名机制、程序运行时的安全 1 、 Linux 层面安全 每一个应用程序对应一个 Linux 用户 每个用户对应一个文件夹 文件在默认情况下仅允许据有者访问 鲁棒性. Android 系统安全概述. Android 系统安全 3 个层面 2 、软件安装签名机制 安装程序必须有一个签名 签名由程序发行方完成 用户确认程序发行方的真实身份后安装程序 签名使用“公钥、私钥对”技术. Android 系统安全概述.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '移动应用安全' - chakra


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

Android系统安全概述

  • Android系统安全3个层面
  • Linux层面安全、软件安装签名机制、程序运行时的安全
  • 1、Linux层面安全
  • 每一个应用程序对应一个Linux用户
  • 每个用户对应一个文件夹
  • 文件在默认情况下仅允许据有者访问
  • 鲁棒性
slide3

Android系统安全概述

  • Android系统安全3个层面
  • 2、软件安装签名机制
  • 安装程序必须有一个签名
  • 签名由程序发行方完成
  • 用户确认程序发行方的真实身份后安装程序
  • 签名使用“公钥、私钥对”技术
slide4

Android系统安全概述

  • Android系统安全3个层面
  • 3、程序运行时的安全
  • Android系统的权限许可权机制,拥有许可权才能调用相关的功能
  • Android允许程序在执行时调用其他程序组件(Activity、Service、Content Provider等)的安全
  • Anddorid系统内部外部存储的安全
slide5

第一层面安全-超级用户权限

  • 超级用户权限
  • Android基于Linux
  • 管理员root具有最高权限
  • Android默认关闭root权限
  • 手机root
  • 手机在使用过程中能够获取root权限
slide6

第一层面安全-超级用户权限

  • 获取root权限的好处
  • 获系统文件管理权限(如Root Explore),卸载捆绑系统软件
  • 特殊软件使用需要(如杀毒软件)
  • 系统优化加速需要(手机发烧友)
slide7

第一层面安全-超级用户权限

  • 获取root权限的危险
  • 系统不稳定(删除系统软件造成,root后失去保修)
  • 病毒侵入
  • 手机root后,所有软件都可能获得root权限,病毒可以做任何事
  • 权限管理软件作用有限
  • 隐私数据暴露
  • root后,隐私数据全部暴露(文件访问权限)
slide8

第一层面安全-超级用户权限

  • 超级用户权限获取原理
  • 利用android系统本地提取漏洞提升权限
  • 超级用户权限获取分类
  • 临时获取:不对系统进行修改
  • 永久获取:修改系统,手机随时可以获得root权限
  • 目前本地提取漏洞共出现过8个
slide9

第一层面安全-超级用户权限

  • 实验5.1
  • Android系统漏洞检测
  • 实验软件:X-ray for Android
  • 步骤:
  • 启动安卓虚拟机
  • 安装X-ray for android
  • 启动X-ray for android,检测虚拟机漏洞
slide10

第一层面安全-超级用户权限

  • 实验要点-在安卓虚拟机上安装软件
  • 启动虚拟机
  • adb devices 查看系统中的虚拟机和连接终端设备
  • 把要安装的apk文件复制到android SDK\platform-tools中
  • 开始->运行->cmd
  • 用cd命令进入 android SDK\platform-tools
  • adb install XRAY_1.0.apk
slide11

第一层面安全-超级用户权限

  • 超级用户权限获取实例z4root
  • 原理:
  • 默认程序以非root用户运行,包括adbd
  • adbd由init创建,然后调用setid()设置运行用户为shell用户
  • 如果能够让adbd重新以root身份运行,则计算机传过来的命令也能够以root身份运行
slide12

第一层面安全-超级用户权限

  • 超级用户权限获取实例z4root
  • 具体实现
  • Linux中最大允许运行的进程数有限
  • Android adb setuid漏洞利用该限制
  • 制造大量僵尸进程,达到系统上限
  • Kill系统中的adb进程,并占据其位置再次达到系统上限
  • 系统重启adb进程(最初用户为root)
slide13

第一层面安全-超级用户权限

  • 超级用户权限获取实例z4root
  • 具体实现
  • adb完成初始化工作后,调用setid()切换shell用户,由于shell用户进程数达到上限,setid()失败,切换为未完成,adb具备root权限
  • 计算机执行adb shell命令,进入root shell
  • 漏洞产生的原因
  • adb没有检查setid()的返回值,产生了一个具备root权限的adb进程
slide14

第一层面安全-超级用户权限

  • 超级用户权限获取实例z4root
  • /*then switch user and group to “shell”*/
  • setgid(AID_SHELL)
  • setuid(AID_SHELL)
  • 漏洞的修改
  • if (setgid(AID_SHELL) !=0) exit(1);
  • if (setuid(AID_SHELL) !=0) exit(1);
slide15

第一层面安全-超级用户权限

  • root后的后续
  • 向系统的/system/app目录写入root权限管理软件(通常是Superuser.apk)
  • 向/system/bin或/system/xbin写入su程序
  • 他们协作实现root权限管理
slide16

第一层面安全-超级用户权限

  • 实验5.2 超级用户权限获取
  • 安装运行z4root
  • 安装运行Root Explorer
  • 安装Superuser
slide17

第一层面安全-超级用户权限

  • Android系统分区及加载
  • Android设备分区包括:
  • 系统分区、数据分区、Cache分区及SD卡分区
  • 系统分区加载为只读分区,包括操作系统内容、系统函数库、实时运行框架、应用框架与系统应用程序等
  • 由OEM厂商植入,外界不能修改
  • 系统出现安全问题,用户启动“安全模式”,加载只读系统分区,不加载数据分区内容,隔离第三方程序威胁
slide18

第一层面安全-超级用户权限

  • Android系统分区及加载
  • 重要系统分区目录
  • /system/app存放系统自带应用程序APK
  • /system/lib系统库文件
  • /system/bin与/system/xbin 存放系统管理命令
  • /system/framework目录存放Android系统应用框架的jar文件
slide19

第一层面安全-超级用户权限

  • Android系统分区及加载
  • 数据分区用于存储各类用户数据与应用程序
  • 数据分区在安全模式下可不加载,可以不启动数据分区中的程序,可以格式化数据分区
  • 数据分区挂载点/data
slide20

第一层面安全-超级用户权限

  • Android系统分区及加载
  • 数据分区重要目录
  • /data/data 所以APK程序数据,每个APK对于自己的Data目录,即在/data/data目录下有与包名一样的目录,APK只能在此目录下操作,不能访问其他APK目录
  • /data/app存放用户安装的APK
slide21

第一层面安全-超级用户权限

  • Android系统分区及加载
  • 数据分区重要目录
  • /data/system存放的文件记录安装软件的信息
  • /data/misc保存WIFI帐号与VPN设置等
  • SD卡分区
  • 外置设备,可以从计算机上进行操作,不受Android系统控制
  • SD卡为FAT文件系统,无法设置用户权限
  • 在加载时可以设置整个文件系统读写权限,但无法对FAT中个别文件进行特殊操作
slide22

第一层面安全-超级用户权限

  • 实验5.3 adb 操作
  • adb与adbd
  • adb(Android Debug Bridge)是与移动设备或模拟器上的adbd进行交互的命令行客户端程序
  • adbd:Android平台对调试的支持通过驻留程序/sbin/adbd来进行,允许在程序开发所用的软件连接到在移动设备上运行的软件
slide23

第一层面安全-超级用户权限

  • 实验5.3
  • cmd //打开命令行
  • 启动虚拟机
  • adb devices //列举设备
  • adb -s 虚拟机名(或设备名)shell //在虚拟机或设备上打开shell
  • 例如:adb –s emulator5554 shell
slide24

第一层面安全-超级用户权限

  • 实验5.2
  • shell操作
  • mount //查看文件系统
  • ls
  • cd
  • id
slide25

第一层面安全-超级用户权限

  • 实验5.2
  • ls /system
  • ls /system/app
  • ls /system/bin
  • ls /system/lib
  • ls /xbin
slide26

第一层面安全-超级用户权限

  • 实验5.2
  • ls /data
  • ls /data/app
  • ls /data/system
  • ls /data/misc
  • ls /mnt/
slide27

第一层面安全-超级用户权限

6、将某个目录挂载为可读写

A. 使用adb命令打开shell

B. #su

C.#mount -o remount,rw /system

slide28

第一层面安全-超级用户权限

  • 实验5.3 超级用户权限获取
  • 7、使根目录可写
  • #mount
  • rootfs / rootfs ro 0 0  //ro 代表只读属性
  • 重新执行mount命令:
  • # mount -o remount,rw rootfs /
  •  rootfs / rootfs rw 0 0  //rw代表读写属于