安卓NativeLib和Kernel简介和攻击面

安卓底层安全架构简介

安卓开源问题

  • 什么是开源?
  • 谷歌使用HAL接口
  • 安卓碎片化问题:厂商和系统

安卓底层安全框架及攻击缓释技术

自主访问控制

  • 基于uid、gid
  • 容易被突破

强制访问控制

  • SELinux
  • 攻破较为困难
  • 极大降低攻击后危害

验证启动模式(Verified Boot)

  • 通过硬件密钥,逐步验证整个系统
  • 一旦出厂之后,不可修改
  • 修改之后系统无法启动(测试,解锁BootLoader后可以)
  • 6.0后开始支持,7.0之后更加严格

代码签名和平台密钥

  • 无法刷入任何非签名镜像(不解锁BootLoader)
  • System级别的签名验证(系统APP)

安卓系统启动

  • init的过程

Root相关基础知识

名词解释

  • rwx之外的权限s位
  • BootLoader(解锁、刷机)
  • Recovery(twrp、验证签名、OTA更新)

Root类型(时间)

  • 永久Root
  • 临时Root
  • 取消Root

Root方式

  • 直接使用Recovery刷入su和deamon-su
  • 使用BootLoader替换Recovery之后,再刷入su和deamon-su
  • 用内核漏洞Exploit进入Root

调试常用工具及技术

调试

hook

Canary、DEP、ASLR

  • Heap。。。

原生代码库及其攻击面

本地文件处理原生库

具有远程攻击面的原生库

进程间通信及其他提权相关库

7911

噗噗噗我听不懂啦,等以后有了知识再看吧