-
内容大纲
随着移动互联网的持续发展和移动智能终端的不断普及,面向我国庞大的移动互联网产业以及基于《网络安全法》《数据安全法》《个人信息保护法》等法律法规针对移动应用持续合规的网络安全监管要求下,移动安全攻防这一课题逐渐被产业界和学术界所关注。基于我国核心信息技术应用创新的大背景,本书分4篇向读者呈现了移动安全攻防领域进阶阶段的逆向理论与实战案例,并配套有立体化资源,包括电子资料、教学课件、源代码与视频教程等。
本书从Android虚拟机的技术原理开始,着重解析了Java层Dalvik虚拟机和ART虚拟机的Android系统中的运行机制,从而引出Native层的Native开发和ARM汇编语言等更底层的技术栈。在攻防全局观上主要介绍ATT & CK框架的技战术,将攻防过程中的技术点映射到矩阵中,ATT & CK框架中的移动安全攻防框架可以作为移动安全攻防的全局指导。通过对移动应用第一代加固壳到第三代加固壳的技术原理的剖析及技术实现的讲解,可以看到攻防对抗逐渐走向底层的原生层,通过学习基于OLLVM的加固壳开发以及VMP加固壳的代码实现,全面掌握主流应用加固的技术方案。通过对真实世界实网攻防中遭遇的恶意程序、APT攻击样本等进行逆向分析,详细介绍其中的技术原理和代码实现,以帮助读者从一线攻防案例中获取攻防对抗经验。
本书适合作为高等院校网络空间安全学科及相关专业中移动安全、软件逆向、代码安全等专业课程的教材,也可以作为网络安全研究员与移动应用开发者的自学参考书。 -
作者介绍
-
目录
基础篇
第1章 Android虚拟机
1.1 Dalvik虚拟机
1.1.1 DVM的特点
1.1.2 DVM虚拟机启动流程
1.1.3 DVM虚拟机运行过程
1.2 odex文件
1.3 ART虚拟机
1.3.1 ART虚拟机的创建
1.3.2 ART虚拟机的启动
1.4 dex2oat
1.4.1 概述
1.4.2 Oat文件格式介绍
1.4.3 ART文件介绍
1.4.4 Oat与ART文件关系
1.5 ART虚拟机类的链接与初始化
1.6 本章小结
第2章 Native层
2.1 Native开发
2.1.1 JNI介绍
2.1.2 JNI数据类型转换
2.1.3 Native调用Java代码
2.2 ARM汇编
2.2.1 ARM汇编介绍
2.2.2 ARM汇编数据类型
2.2.3 ARM寄存器
2.2.4 ARM模式与Thumb模式
2.2.5 ARM指令
2.3 Native Hook
2.3.1 Got/ Plt Hook
2.3.2 inline Hook
2.4 本章小结
第3章 iOS基础知识
3.1 iOS包结构分析
3.1.1 CodeSignature文件夹
3.1.2 lproj文件夹
3.1.3 xcent文件
3.1.4 mobileprovision文件
3.1.5 info, plist文件
3.2 iOS应用启动过程分析
3.3 本章小结
理论篇
第4章 ATT & CK框架
4.1 ATT&CK框架背景介绍
4.2 ATT&.CK框架的使用
4.3 本章小结
第5章 ATT&CK for mobile框架
5.1 初始访问技术
5.2 执行战术
5.3 持久化战术
5.4 权限提升战术
5.5 防御规避
5.6 凭证访向战术
5.7 发现战术
5.8 横向移动战术
5.9 收集战术
5.10 命令控制战术
5.11 渗滤技术
5.12 冲击战术
5.13 本章小结
第6章 LLVM编译框架
6.1 LLVM概论
6.1.1 LLVM介绍
6.1.2 LLVM功能
6.1.3 LLVM的主要子项目
6.1.4 LLVM周边项目
6.1.5 LLVM目录结构
6.2 LLVM安装与编译
6.2.1 LLVM的下载与安装
6.2.2 LLVM的编译
6.2.3 LLVM的使用
6.2.4 编写LLVM Pass
6.3 IR入门
6.4 本章小结
实战篇
第7章 整体加固实战
7.1 第一代加固技术简介
7.1.1 早期静态売
7.1.2 后期动态加载壳
7.2 APK包的结构
7.2.1 APK打包过程
7.2.2 软件安装过程
7.2.3 软件启动流程
7.2.4 AndroidManifest, xml
7.2.5 resource, arsc
7.3 原理介绍
7.4 加固流程
7.5 代码实现
7.6 本章小结
第8章 指令抽取加固实战
8.1 第二代加固技术简介
8.2 Dex文件结构
8.3 指令抽取恢复介绍
8.4 加固流程
8.5 代码实现
8.6 本章小结
第9章 so文件加固
9.1 第三代加固技术
9.1.1 Dex2C
9.1.2 VMP
9.2 upx
9.3 50文件格式
9.8.13 2位EI文件解析
9.3.26 4位E文件解析
9.4 upx的编译
9.5 本章小结
第10章 基于OLLVM的加固壳开发
10.1 OLLVM基础
10.2 OLLVM编译与使用
10.3 OLLVM壳原理
10.3.1 指令替换混淆源码分析
10.3.2 控制流平展混淆源码分析
10.3.3 伪造控制流混淆源码分析
10.4 本章小结
第11章 VMP 加固技术
11.1 .VMP 加固原理
11.2 Dex VMP
11.2.1 Dex VMP介绍
11.2.2 Dvm虚拟机的解释流程
11.2.3 Advmp功能与源码解析
11.3 ARM VMP
11.3.1 ARM VMP介绍
11.3.2 编写ARM VMP解释器
11.3.3 ARM VMP的加固流程
11.4 本章小结
第12章 iOS逆向工具的使用
12.1 硬売工具
12.1.1 Clutch
12.1.2 CrackerXI
12.2 Classdump工具
12.3 Tweaks工具
12,3.1 Theos的前置环境
12.3.2 安装Theos
12.3.3 编写Tweaks程序
12.3.4 Tweaks程序的编译与安装
12.4 Cycript工具
12.4.1 Cycript的安装使用
12.4.2 使用Cycript分析应用
12.4.3 Cycript脚本
12.5 本章小结
第13章 进阶逆向技巧
13.1 使用Frida绕过SSL-Pinning
13.1.1 HTTPS协议简介
13.1.2 SSL-Pinning技术
13.1.3 绕过证书绑定
13.1.4 使用SSLContext导人自定义证书
13.2 终极抓包脚本
13.2.1 抓包的攻防
13.2.2 r0capture抓包原理
13.2.3 r0capture抓包实践
13.3 Frida追踪雨数调用
13.3.1 Frida Trace脚本解析
13.3.2 Frida Trace脚本使用
13.4 本章小结
案例篇
第14章 Android恶意软件分析
14.1 远程操控手机App分析
14.1.1 配置MSF框架
14.1.2 生成Android payload
14.1.3 逆向分析木马
14.2 分析锁机勒索软件样本
14.2.1 勒索软件的初步分析
14.2.2 分析危险行为
14.2.3 分析软件释放出来的应用
14.2.4 锁机软件的解除
14.3 可自我扩散的手机短信蠕虫分析
14.3.1 蠕虫病毒分析
14.3.2 分析木马的本体
14.3.3 分析结果
14.4 本章小结
第15章 APT攻击案例分析
15.1 APT简介
15.2 KONNI远控木马病毒
15.2.1 KONNI恶意行为分析
15.2.2 KONNI源码逆向分析
15.2.3 远程控制机制解析
15.3 GravityRAT间谍软件
15.3.1 GravityRAT恶意行为分析
15.3.2 GravityRAT源码逆向分析
15.4 Anubis木马
15.4.1 Anubis木马的功能与发展
15.4.2 Anubis样本行为逆向分析
15.5 本章小结
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...