Android安全攻防权威指南

Android安全攻防权威指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , [西] , [德] , , ,
2015-04
版次: 1
ISBN: 9787115385703
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 394页
字数: 617千字
原版书名: Android Hacker's Handbook
204人买过
  •   本书是一本全面的Android系统安全手册。书中细致地介绍了Android系统中的漏洞挖掘、分析,并给出了大量利用工具,结合实例从白帽子角度分析了诸多系统问题,是一本难得的安全指南。移动设备管理者、安全研究员、Android应用程序开发者和负责评估Android安全性的顾问都可以在本书中找到必要的指导和工具。
      在本书中你可以:
      熟悉实现安全性的细节,以及由Android操作系统开放性带来的复杂问题;
      绕开常见安全隐患,了解智能手机全新黑客攻击策略;
      回顾曾成功攻破Android操作系统的各类攻击;
      探索ROOT操作、分区布局和引导过程;
      理解Android生态圈的复杂性,包括各个硬件厂商和软件开发者的影响。

      JoshuaJ.Drake,是国际知名黑客,AccuvantLABS公司研究部门总监,曾在世界黑客大赛Pwn2Own上攻陷IE浏览器中的Java插件,曾发现GoogleGlass漏洞。

      PauOlivaFora,是viaForensics公司的移动安全工程师,为主流AndroidOEM提供咨询服务。
     
      GeorgWicherski,是CrowdStrike公司的安全研究员。

    第1章纵观Android生态圈
    1.1了解Android的根源
    1.1.1公司历史
    1.1.2版本历史
    1.1.3审视Android设备家族
    1.1.4主体开源
    1.2了解Android的利益相关者
    1.2.1谷歌
    1.2.2硬件厂商
    1.2.3移动通信运营商
    1.2.4开发者
    1.2.5用户
    1.3理解生态圈的复杂性
    1.3.1碎片化问题
    1.3.2兼容性
    1.3.3更新问题
    1.3.4安全性与开放性
    1.3.5公开披露
    1.4小结
    第2章Android的安全设计与架构
    2.1理解Android系统架构
    2.2理解安全边界和安全策略执行
    2.2.1Android沙箱
    2.2.2Android权限
    2.3深入理解各个层次
    2.3.1Android应用层
    2.3.2Android框架层
    2.3.3DalvikVM
    2.3.4用户空间原生代码层
    2.3.5内核
    2.4复杂的安全性,复杂的漏洞利用
    2.5小结
    第3章rootAndroid设备
    3.1理解分区布局
    3.2理解引导过程
    3.3引导加载程序的锁定与解锁
    3.4对未加锁引导加载程序的设备进行root
    3.5对锁定引导加载程序的设备进行root
    3.5.1在已启动系统中获取root权限
    3.5.2NAND锁、临时性root与永久性root
    3.5.3对软root进行持久化
    3.6历史上的一些已知攻击
    3.6.1内核:Wunderbar/asroot
    3.6.2恢复:Volez
    3.6.3udev:Exploid
    3.6.4adbd:RageAgainstTheCage
    3.6.5Zygote:Zimperlich和Zysploit
    3.6.6ashmem:KillingInTheName-
    Of和psneuter
    3.6.7vold:GingerBreak
    3.6.8PowerVR:levitator
    3.6.9libsysutils:zergRush
    3.6.10内核:mempodroid
    3.6.11文件权限和符号链接相关的攻击
    3.6.12adb恢复过程竞争条件漏洞
    3.6.13Exynos4:exynos-abuse
    3.6.14Diag:lit/diaggetroot
    3.7小结
    第4章应用安全性评估
    4.1普遍性安全问题
    4.1.1应用权限问题
    4.1.2敏感数据的不安全传输
    4.1.3不安全的数据存储
    4.1.4通过日志的信息泄露
    4.1.5不安全的IPC端点
    4.2案例分析:移动安全应用
    4.2.1初步剖析
    4.2.2静态分析
    4.2.3动态分析
    4.2.4攻击
    4.3案例分析:SIP客户端
    4.3.1了解Drozer
    4.3.2发现漏洞
    4.3.3snarfing
    4.3.4注入
    4.4小结
    第5章理解Android的攻击面
    5.1攻击基础术语
    5.1.1攻击向量
    5.1.2攻击面
    5.2对攻击面进行分类
    5.2.1攻击面属性
    5.2.2分类决策
    5.3远程攻击面
    5.3.1网络概念
    5.3.2网络协议栈
    5.3.3暴露的网络服务
    5.3.4移动技术
    5.3.5客户端攻击面
    5.3.6谷歌的基础设施
    5.4物理相邻
    5.4.1无线通信
    5.4.2其他技术
    5.5本地攻击面
    5.5.1探索文件系统
    5.5.2找到其他的本地攻击面
    5.6物理攻击面
    5.6.1拆解设备
    5.6.2USB
    5.6.3其他物理攻击面
    5.7第三方修改
    5.8小结
    第6章使用模糊测试来挖掘漏洞
    6.1模糊测试的背景
    6.1.1选定目标
    6.1.2构造畸形输入
    6.1.3处理输入
    6.1.4监控结果
    6.2Android上的模糊测试
    6.3对BroadcastReceiver进行模糊测试
    6.3.1选定目标
    6.3.2生成输入
    6.3.3传递输入
    6.3.4监控测试
    6.4对Android上的Chrome进行模糊测试
    6.4.1选择一种技术作为目标
    6.4.2生成输入
    6.4.3处理输入
    6.4.4监控测试
    6.5对USB攻击面进行模糊测试
    6.5.1对USB进行模糊测试的挑战
    6.5.2选定目标模式
    6.5.3生成输入
    6.5.4处理输入
    6.5.5监控测试
    6.6小结
    第7章调试与分析安全漏洞
    7.1获取所有信息
    7.2选择一套工具链
    7.3调试崩溃Dump
    7.3.1系统日志
    7.3.2Tombstone
    7.4远程调试
    7.5调试Dalvik代码
    7.5.1调试示例应用
    7.5.2显示框架层源代码
    7.5.3调试现有代码
    7.6调试原生代码
    7.6.1使用NDK进行调试
    7.6.2使用Eclipse进行调试
    7.6.3使用AOSP进行调试
    7.6.4提升自动化程度
    7.6.5使用符号进行调试
    7.6.6调试非AOSP设备
    7.7调试混合代码
    7.8其他调试技术
    7.8.1调试语句
    7.8.2在设备上进行调试
    7.8.3动态二进制注入
    7.9漏洞分析
    7.9.1明确问题根源
    7.9.2判断漏洞可利用性
    7.10小结
    第8章用户态软件的漏洞利用
    8.1内存破坏漏洞基础
    8.1.1栈缓冲区溢出
    8.1.2堆的漏洞利用
    8.2公开的漏洞利用
    8.2.1GingerBreak
    8.2.2zergRush
    8.2.3Mempodroid
    8.3Android浏览器漏洞利用
    8.3.1理解漏洞
    8.3.2控制堆
    8.4小结
    第9章ROP漏洞利用技术
    9.1历史和动机
    9.2ARM架构下的ROP基础
    9.2.1ARM子函数调用
    9.2.2将gadget组成ROP链
    9.2.3识别潜在的gadget
    9.3案例分析:Android4.0.1链接器
    9.3.1迁移栈指针
    9.3.2在新映射内存中执行任意代码
    9.4小结
    第10章攻击内核
    10.1Android的Linux内核
    10.2内核提取
    10.2.1从出厂固件中提取内核
    10.2.2从设备中提取内核
    10.2.3从启动镜像中提取内核
    10.2.4解压内核
    10.3运行自定义内核代码
    10.3.1获取源代码
    10.3.2搭建编译环境
    10.3.3配置内核
    10.3.4使用自定义内核模块
    10.3.5编译自定义内核
    10.3.6制作引导镜像
    10.3.7引导自定义内核
    10.4调试内核
    10.4.1获取内核崩溃报告
    10.4.2理解Oops信息
    10.4.3使用KGDB进行Live调试
    10.5内核漏洞利用
    10.5.1典型Android内核
    10.5.2获取地址
    10.5.3案例分析
    10.6小结
    第11章攻击RIL无线接口层
    11.1RIL简介
    11.1.1RIL架构
    11.1.2智能手机架构
    11.1.3Android电话栈
    11.1.4对电话栈的定制
    11.1.5RIL守护程序
    11.1.6用于vendor-ril的API
    11.2短信服务
    11.2.1SMS消息的收发
    11.2.2SMS消息格式
    11.3与调制解调器进行交互
    11.3.1模拟调制解调器用于模糊测试
    11.3.2在Android中对SMS进行模糊测试
    11.4小结
    第12章漏洞利用缓解技术
    12.1缓解技术的分类
    12.2代码签名
    12.3加固堆缓冲区
    12.4防止整数溢出
    12.5阻止数据执行
    12.6地址空间布局随机化
    12.7保护栈
    12.8保护格式化字符串
    12.9只读重定位表
    12.10沙盒
    12.11增强源代码
    12.12访问控制机制
    12.13保护内核
    12.13.1指针和日志限制
    12.13.2保护零地址页
    12.13.3只读的内存区域
    12.14其他加固措施
    12.15漏洞利用缓解技术总结
    12.16禁用缓解机制
    12.16.1更改personality
    12.16.2修改二进制文件
    12.16.3调整内核
    12.17对抗缓解技术
    12.17.1对抗栈保护
    12.17.2对抗ASLR
    12.17.3对抗数据执行保护
    12.17.4对抗内核级保护机制
    12.18展望未来
    12.18.1进行中的官方项目
    12.18.2社区的内核加固工作
    12.18.3一些预测
    12.19小结
    第13章硬件层的攻击
    13.1设备的硬件接口
    13.1.1UART串行接口
    13.1.2I2C、SPI和单总线接口
    13.1.3JTAG
    13.1.4寻找调试接口
    13.2识别组件
    13.2.1获得规格说明书
    13.2.2难以识别的组件
    13.3拦截、监听和劫持数据
    13.3.1USB
    13.3.2I2C、SPI和UART串行端口
    13.4窃取机密和固件
    13.4.1无损地获得固件
    13.4.2有损地获取固件
    13.4.3拿到dump文件后怎么做
    13.5陷阱
    13.5.1定制的接口
    13.5.2二进制私有数据格式
    13.5.3熔断调试接口
    13.5.4芯片密码
    13.5.5bootloader密码、热键和哑终端
    13.5.6已定制的引导过程
    13.5.7未暴露的地址线
    13.5.8防止逆向的环氧树脂
    13.5.9镜像加密、混淆和反调试
    13.6小结
    附录A工具
    附录B开源代码库
    2

  • 内容简介:
      本书是一本全面的Android系统安全手册。书中细致地介绍了Android系统中的漏洞挖掘、分析,并给出了大量利用工具,结合实例从白帽子角度分析了诸多系统问题,是一本难得的安全指南。移动设备管理者、安全研究员、Android应用程序开发者和负责评估Android安全性的顾问都可以在本书中找到必要的指导和工具。
      在本书中你可以:
      熟悉实现安全性的细节,以及由Android操作系统开放性带来的复杂问题;
      绕开常见安全隐患,了解智能手机全新黑客攻击策略;
      回顾曾成功攻破Android操作系统的各类攻击;
      探索ROOT操作、分区布局和引导过程;
      理解Android生态圈的复杂性,包括各个硬件厂商和软件开发者的影响。

  • 作者简介:
      JoshuaJ.Drake,是国际知名黑客,AccuvantLABS公司研究部门总监,曾在世界黑客大赛Pwn2Own上攻陷IE浏览器中的Java插件,曾发现GoogleGlass漏洞。

      PauOlivaFora,是viaForensics公司的移动安全工程师,为主流AndroidOEM提供咨询服务。
     
      GeorgWicherski,是CrowdStrike公司的安全研究员。

  • 目录:
    第1章纵观Android生态圈
    1.1了解Android的根源
    1.1.1公司历史
    1.1.2版本历史
    1.1.3审视Android设备家族
    1.1.4主体开源
    1.2了解Android的利益相关者
    1.2.1谷歌
    1.2.2硬件厂商
    1.2.3移动通信运营商
    1.2.4开发者
    1.2.5用户
    1.3理解生态圈的复杂性
    1.3.1碎片化问题
    1.3.2兼容性
    1.3.3更新问题
    1.3.4安全性与开放性
    1.3.5公开披露
    1.4小结
    第2章Android的安全设计与架构
    2.1理解Android系统架构
    2.2理解安全边界和安全策略执行
    2.2.1Android沙箱
    2.2.2Android权限
    2.3深入理解各个层次
    2.3.1Android应用层
    2.3.2Android框架层
    2.3.3DalvikVM
    2.3.4用户空间原生代码层
    2.3.5内核
    2.4复杂的安全性,复杂的漏洞利用
    2.5小结
    第3章rootAndroid设备
    3.1理解分区布局
    3.2理解引导过程
    3.3引导加载程序的锁定与解锁
    3.4对未加锁引导加载程序的设备进行root
    3.5对锁定引导加载程序的设备进行root
    3.5.1在已启动系统中获取root权限
    3.5.2NAND锁、临时性root与永久性root
    3.5.3对软root进行持久化
    3.6历史上的一些已知攻击
    3.6.1内核:Wunderbar/asroot
    3.6.2恢复:Volez
    3.6.3udev:Exploid
    3.6.4adbd:RageAgainstTheCage
    3.6.5Zygote:Zimperlich和Zysploit
    3.6.6ashmem:KillingInTheName-
    Of和psneuter
    3.6.7vold:GingerBreak
    3.6.8PowerVR:levitator
    3.6.9libsysutils:zergRush
    3.6.10内核:mempodroid
    3.6.11文件权限和符号链接相关的攻击
    3.6.12adb恢复过程竞争条件漏洞
    3.6.13Exynos4:exynos-abuse
    3.6.14Diag:lit/diaggetroot
    3.7小结
    第4章应用安全性评估
    4.1普遍性安全问题
    4.1.1应用权限问题
    4.1.2敏感数据的不安全传输
    4.1.3不安全的数据存储
    4.1.4通过日志的信息泄露
    4.1.5不安全的IPC端点
    4.2案例分析:移动安全应用
    4.2.1初步剖析
    4.2.2静态分析
    4.2.3动态分析
    4.2.4攻击
    4.3案例分析:SIP客户端
    4.3.1了解Drozer
    4.3.2发现漏洞
    4.3.3snarfing
    4.3.4注入
    4.4小结
    第5章理解Android的攻击面
    5.1攻击基础术语
    5.1.1攻击向量
    5.1.2攻击面
    5.2对攻击面进行分类
    5.2.1攻击面属性
    5.2.2分类决策
    5.3远程攻击面
    5.3.1网络概念
    5.3.2网络协议栈
    5.3.3暴露的网络服务
    5.3.4移动技术
    5.3.5客户端攻击面
    5.3.6谷歌的基础设施
    5.4物理相邻
    5.4.1无线通信
    5.4.2其他技术
    5.5本地攻击面
    5.5.1探索文件系统
    5.5.2找到其他的本地攻击面
    5.6物理攻击面
    5.6.1拆解设备
    5.6.2USB
    5.6.3其他物理攻击面
    5.7第三方修改
    5.8小结
    第6章使用模糊测试来挖掘漏洞
    6.1模糊测试的背景
    6.1.1选定目标
    6.1.2构造畸形输入
    6.1.3处理输入
    6.1.4监控结果
    6.2Android上的模糊测试
    6.3对BroadcastReceiver进行模糊测试
    6.3.1选定目标
    6.3.2生成输入
    6.3.3传递输入
    6.3.4监控测试
    6.4对Android上的Chrome进行模糊测试
    6.4.1选择一种技术作为目标
    6.4.2生成输入
    6.4.3处理输入
    6.4.4监控测试
    6.5对USB攻击面进行模糊测试
    6.5.1对USB进行模糊测试的挑战
    6.5.2选定目标模式
    6.5.3生成输入
    6.5.4处理输入
    6.5.5监控测试
    6.6小结
    第7章调试与分析安全漏洞
    7.1获取所有信息
    7.2选择一套工具链
    7.3调试崩溃Dump
    7.3.1系统日志
    7.3.2Tombstone
    7.4远程调试
    7.5调试Dalvik代码
    7.5.1调试示例应用
    7.5.2显示框架层源代码
    7.5.3调试现有代码
    7.6调试原生代码
    7.6.1使用NDK进行调试
    7.6.2使用Eclipse进行调试
    7.6.3使用AOSP进行调试
    7.6.4提升自动化程度
    7.6.5使用符号进行调试
    7.6.6调试非AOSP设备
    7.7调试混合代码
    7.8其他调试技术
    7.8.1调试语句
    7.8.2在设备上进行调试
    7.8.3动态二进制注入
    7.9漏洞分析
    7.9.1明确问题根源
    7.9.2判断漏洞可利用性
    7.10小结
    第8章用户态软件的漏洞利用
    8.1内存破坏漏洞基础
    8.1.1栈缓冲区溢出
    8.1.2堆的漏洞利用
    8.2公开的漏洞利用
    8.2.1GingerBreak
    8.2.2zergRush
    8.2.3Mempodroid
    8.3Android浏览器漏洞利用
    8.3.1理解漏洞
    8.3.2控制堆
    8.4小结
    第9章ROP漏洞利用技术
    9.1历史和动机
    9.2ARM架构下的ROP基础
    9.2.1ARM子函数调用
    9.2.2将gadget组成ROP链
    9.2.3识别潜在的gadget
    9.3案例分析:Android4.0.1链接器
    9.3.1迁移栈指针
    9.3.2在新映射内存中执行任意代码
    9.4小结
    第10章攻击内核
    10.1Android的Linux内核
    10.2内核提取
    10.2.1从出厂固件中提取内核
    10.2.2从设备中提取内核
    10.2.3从启动镜像中提取内核
    10.2.4解压内核
    10.3运行自定义内核代码
    10.3.1获取源代码
    10.3.2搭建编译环境
    10.3.3配置内核
    10.3.4使用自定义内核模块
    10.3.5编译自定义内核
    10.3.6制作引导镜像
    10.3.7引导自定义内核
    10.4调试内核
    10.4.1获取内核崩溃报告
    10.4.2理解Oops信息
    10.4.3使用KGDB进行Live调试
    10.5内核漏洞利用
    10.5.1典型Android内核
    10.5.2获取地址
    10.5.3案例分析
    10.6小结
    第11章攻击RIL无线接口层
    11.1RIL简介
    11.1.1RIL架构
    11.1.2智能手机架构
    11.1.3Android电话栈
    11.1.4对电话栈的定制
    11.1.5RIL守护程序
    11.1.6用于vendor-ril的API
    11.2短信服务
    11.2.1SMS消息的收发
    11.2.2SMS消息格式
    11.3与调制解调器进行交互
    11.3.1模拟调制解调器用于模糊测试
    11.3.2在Android中对SMS进行模糊测试
    11.4小结
    第12章漏洞利用缓解技术
    12.1缓解技术的分类
    12.2代码签名
    12.3加固堆缓冲区
    12.4防止整数溢出
    12.5阻止数据执行
    12.6地址空间布局随机化
    12.7保护栈
    12.8保护格式化字符串
    12.9只读重定位表
    12.10沙盒
    12.11增强源代码
    12.12访问控制机制
    12.13保护内核
    12.13.1指针和日志限制
    12.13.2保护零地址页
    12.13.3只读的内存区域
    12.14其他加固措施
    12.15漏洞利用缓解技术总结
    12.16禁用缓解机制
    12.16.1更改personality
    12.16.2修改二进制文件
    12.16.3调整内核
    12.17对抗缓解技术
    12.17.1对抗栈保护
    12.17.2对抗ASLR
    12.17.3对抗数据执行保护
    12.17.4对抗内核级保护机制
    12.18展望未来
    12.18.1进行中的官方项目
    12.18.2社区的内核加固工作
    12.18.3一些预测
    12.19小结
    第13章硬件层的攻击
    13.1设备的硬件接口
    13.1.1UART串行接口
    13.1.2I2C、SPI和单总线接口
    13.1.3JTAG
    13.1.4寻找调试接口
    13.2识别组件
    13.2.1获得规格说明书
    13.2.2难以识别的组件
    13.3拦截、监听和劫持数据
    13.3.1USB
    13.3.2I2C、SPI和UART串行端口
    13.4窃取机密和固件
    13.4.1无损地获得固件
    13.4.2有损地获取固件
    13.4.3拿到dump文件后怎么做
    13.5陷阱
    13.5.1定制的接口
    13.5.2二进制私有数据格式
    13.5.3熔断调试接口
    13.5.4芯片密码
    13.5.5bootloader密码、热键和哑终端
    13.5.6已定制的引导过程
    13.5.7未暴露的地址线
    13.5.8防止逆向的环氧树脂
    13.5.9镜像加密、混淆和反调试
    13.6小结
    附录A工具
    附录B开源代码库
    2

查看详情
其他版本 / 全部 (1)
您可能感兴趣 / 更多
Android安全攻防权威指南
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
Android安全攻防权威指南
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
Android安全攻防权威指南
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
Android安全攻防权威指南
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
Android安全攻防权威指南
力量训练的科学基础与实践应用(第三版)
[美]弗拉基米尔· M.扎齐奥尔斯基;[美]威廉·J.克雷默;[美]安德鲁· C.弗赖伊
Android安全攻防权威指南
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
Android安全攻防权威指南
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
Android安全攻防权威指南
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
Android安全攻防权威指南
最后一章
[美]厄尼·派尔
Android安全攻防权威指南
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
Android安全攻防权威指南
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
Android安全攻防权威指南
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译