《Android安全攻防实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(南非)麦凯恩,(英)鲍恩著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121261077
  • 页数:302 页
图书介绍:全书共分九章,涵盖了基本的Android开发环境和工具;app组件之间及它们与系统的交互方式;Android安全评估框架“drozer”;app及Android原生代码的逆向技巧;各类漏洞的利用及防护方式;使用SSL在网络通信中进行更有效的验证;利用第三方代码库或Android中新增的特性,通过加密和在开发时使用设备管理策略,加固app等内容。

第1章 Android开发工具 1

1.1简介 1

1.2安装Android开发工具(ADT) 2

1.3安装Java开发包(JDK) 5

1.4更新API资源 9

1.5另一种安装ADT的方法 11

1.6安装原生开发包(Native Development Kit, NDK) 15

1.7虚拟Android设备 16

1.8使用命令行创建Android虚拟设备(AVD) 19

1.9使用Android调试桥(ADB)与AVD交互 21

1.10从AV D上复制出/复制入文件 22

1.11通过ADB在AVD中安装app 23

第2章 实践app安全 24

2.1简介 24

2.2检查app的证书和签名 24

2.3对Android app签名 33

2.4验证app的签名 37

2.5探索AndroidManifest.xml文件 37

2.6通过ADB与activity管理器交互 47

2.7通过ADB提取app里的资源 50

第3章 Android安全评估工具 56

3.1简介 56

3.2制作Santoku启动盘和安装Santoku 58

3.3安装drozer 62

3.4运行一个drozer会话 71

3.5枚举己安装的包(package) 72

3.6枚举activity 78

3.7枚举content provider 80

3.8枚举service 83

3.9枚举broadcast receiver 85

3.10确定app的受攻击面(attack surface) 87

3.11运行activity 89

3.12编写drozer模块——一个驱动枚举模块 91

3.13编写一个app证书枚举器 94

第4章 利用app中的漏洞 98

4.1简介 98

4.2收集logcat泄露的信息 101

4.3检查网络流量 106

4.4通过activity manager被动嗅探intent 111

4.5攻击service 117

4.6攻击broadcast receiver 121

4.7枚举有漏洞的content provider 123

4.8从有漏洞的content provider中提取数据 126

4.9向content provider插入数据 129

4.10枚举有SQL-注入漏洞的content provider 131

4.11利用可调试的app 134

4.12对app做中间人攻击 139

第5章 保护app 146

5.1简介 146

5.2保护app的组件 147

5.3通过定制权限保护组件 149

5.4保护content provider的路径(path) 152

5.5防御SQL注入攻击 155

5.6验证app的签名(防篡改) 157

5.7通过检测安装程序、模拟器、调试标志位反逆向工程 161

5.8用ProGuad删除所有日志消息 164

5.9用GexGuard进行高级代码混淆 168

第6章 逆向app 173

6.1简介 173

6.2把Java源码编译成DEX文件 175

6.3解析DEX文件的格式 177

6.4解释Dalvik字节码 194

6.5把DEX反编译回Java 202

6.6反编译app的原生库 205

6.7使用GDB server调试Android进程 207

第7章 网络安全 211

7.1简介 211

7.2验证SSL自签名证书 212

7.3使用OnionKit库中的StrongTrustManager 221

7.4 SSL pinning——限定受信SSL的范围 223

第8章 原生代码中漏洞的利用与分析 231

8.1简介 231

8.2检查文件的权限 232

8.3交叉编译原生可执行程序 241

8.4利用竞争条件引发的漏洞 249

8.5栈溢出漏洞的利用 254

8.6自动fuzzing测试Android原生代码 261

第9章 加密与在开发时使用设备管理策略 274

9.1简介 274

9.2使用加密库 275

9.3生成对称加密密钥 277

9.4保护SharedPreferences数据 281

9.5基于口令的加密 283

9.6用SQLCipher加密数据库 287

9.7 Android KeyStore provider 290

9.8在开发时使用设备管理策略 293