简介
两位作者都曾经在“美国***安全局”(NSA)干过。第一作者 Michael Sikorski 如今是 Mandiant 公司的首席顾问。第二作者 Andrew Honig 如今是 Google 安全研究人员。
前不久写了一篇博文《在线查毒工具 VirusTotal 的 N 种玩法——从“误报/漏报”聊到“攻击者对它的利用”》,其中提到了:安全研究人员对恶意软件的“静态分析 & 动态分析”。就顺便把此书分享到网盘上。
在这个细分领域,此书算是比较权威滴,而且讲得很有系统性(很多方面都聊到了)。值得一提的是:作者还从【正/反】双方介绍了各种技术对抗——
加壳 VS 脱壳
加密 VS 解密
调试 VS 反调试
虚拟机 VS 反虚拟机
......
如果要说缺憾的话——此书只聊了 Windows 平台 :(
提醒一下:
书中涉及的很多主题,你必须具备相应的基础知识,才能看懂,比如说:
操作系统的基本原理
编程的基本功
汇编语言的基本功
shellcode 的基础知识
......
中文目录:
第0章 恶意代码分析技术入门
0.1 恶意代码分析目标
0.2 恶意代码分析技术
0.3 恶意代码类型
0.4 恶意代码分析通用规则
第一篇 静态分析
第1章 静态分析基础技术
1.1 反病毒引擎扫描——实用的第一步
1.2 哈希值——恶意代码的指纹
1.3 查找字符串
1.4 加壳与混淆恶意代码
1.5 PE 文件格式
1.6 链接库与函数
1.7 静态分析技术实践
1.8 PE 文件头与分节
1.9 小结
1.10 实验
第2章 在虚拟机中分析恶意代码
2.1 虚拟机的结构
2.2 创建恶意代码分析机
2.3 使用恶意代码分析机
2.4 使用 VMware 进行恶意代码分析的风险
2.5 记录/重放——重复计算机运行轨迹
2.6 小结
第3章 动态分析基础技术
3.1 沙箱:简便但粗糙的方法
3.2 运行恶意代码
3.3 进程监视器
3.4 使用进程浏览器(Process Explorer)来查看进程
3.5 使用 Regshot 来比较注册表快照
3.6 模拟网络
3.7 使用 Wireshark 进行数据包监听
3.8 使用 INetSim
3.9 基础动态分析工具实践
3.10 小结
3.11 实验
第二篇 静态分析高级技术篇
第4章 x86 反汇编速成班
4.1 抽象层次
4.2 逆向工程
4.3 x86 体系结构
4.4 小结
第5章 IDA Pro
5.1 加载一个可执行文件
5.2 IDA Pro 接口
5.3 使用交叉引用
5.4 分析函数
5.5 使用图形选项
5.6 增强反汇编
5.7 用插件扩展 IDA
5.8 小结
5.9 实验
第6章 识别汇编中的 C 代码结构
6.1 全局与局部变量
6.2 反汇编算术操作
6.3 识别 if 语句
6.4 识别循环
6.5 理解函数调用约定
6.6 分析 switch 语句
6.7 反汇编数组
6.8 识别结构体
6.9 分析链表遍历
6.10 小结
6.11 实验
第7章 分析恶意 Windows 程序
7.1 Windows API
7.2 Windows 注册表
7.3 网络 API
7.4 跟踪恶意代码的运行
7.5 内核与用户模式
7.6 原生 API
7.7 小结
7.8 实验
第三篇 动态分析高级技术篇
第8章 动态调试
8.1 源代码级与汇编级的调试器
8.2 内核模式与用户模式调试
8.3 使用调试器
8.4 异常
8.5 使用调试器修改可执行文件
8.6 修改可执行程序的实践
8.7 小结
第9 章 OllyDbg
9.1 加载恶意代码
9.2 OllyDbg 的接口
9.3 内存映射
9.4 查看线程和堆栈
9.5 执行代码
9.6 断点
9.7 加载 DLL
9.8 跟踪
9.9 异常处理
9.10 修补
9.11 分析 shellcode
9.12 协助功能
9.13 插件
9.14 脚本调试
9.15 小结
9.16 实验
第10章 使用 WinDbg 调试内核
10.1 驱动与内核代码
10.2 安装内核调试
10.3 使用 WinDbg
10.4 微软符号表
10.5 内核调试实践
10.6 Rootkit
10.7 加载驱动
10.8 Windows Vista、Windows 7 和 x64 版本的内核问题
10.9 小结
10.10 实验
第四篇 恶意代码功能篇
第11章 恶意代码行为
11.1 下载器和启动器
11.2 后门(backdoor)
11.3 登录凭证窃密器
11.4 存活机制
11.5 提权
11.6 隐藏它的踪迹——用户态的 Rootkit
11.7 小结
11.8 实验
第12章 隐蔽的恶意代码启动
12.1 启动器(Launcher)
12.2 进程注入
12.3 进程替换
12.4 钩子(Hook)注入
12.5 Detours
12.6 APC 注入
12.7 小结
12.8 实验
第13章 数据加密
13.1 分析加密算法的目的
13.2 简单的加密算法
13.3 常见的加密算法
13.4 自定义加密
13.5 解密
13.6 小结
13.7 实验
第14章 恶意代码的网络特征
14.1 网络应对措施
14.2 安全地调查在线攻击者
14.3 基于内容的网络应对措施
14.4 结合动态和静态分析技术
14.5 了解攻击者的意图
14.6 小结
14.7 实验
第五篇 逆向工程
第15章 对抗反汇编
15.1 何谓对抗反汇编技术
15.2 挫败反汇编算法
15.3 对抗反汇编技术
15.4 混淆控制流图
15.5 挫败栈帧分析
15.6 小结
15.7 实验
第16章 反调试技术
16.1 探测 Windows 调试器
16.2 识别调试器的行为
16.3 干扰调试器的功能
16.4 调试器漏洞
16.5 小结
16.6 实验
第17章 反虚拟机技术
17.1 VMware 痕迹
17.2 查找漏洞指令
17.3 调整设置
17.4 虚拟机逃逸
17.5 小结
17.6 实验
第18章 加壳与脱壳
18.1 剖析加壳
18.2 识别加壳程序
18.3 脱壳选项
18.4 自动脱壳
18.5 手动脱壳
18.6 常见壳的技巧与窍门
18.7 不完全脱壳情况下的分析
18.8 加壳 DLL
18.9 小结
18.10 实验
第六篇 高级专题
第19章 shellcode 分析
19.1 加载 shellcode 进行分析
19.2 位置无关代码
19.3 识别执行位置
19.4 手动符号解析
19.5 一个完整的 Hello World 例子
19.6 shellcode 编码
19.7 空指令雪橇
19.8 找到 shellcode
19.9 小结
19.10 实验
第20章 C++ 代码分析
20.1 面向对象的编程语言
20.2 虚函数和非虚函数
20.3 创建和销毁对象
20.4 小结
20.5 实验
第21章 x64位恶意代码
21.1 为什么需要x64位恶意代码
21.2 x64 架构上的差别
21.3 在 Windows x64 位上的 Windows 32 位
21.4 恶意代码功能上的x64位提示
21.5 小结
21.6 实验
附录
附录A 常见 Windows 函数列表
附录B 流行的恶意代码分析工具列表
附录C 实验作业参考解答
附录D 致青春,基础软件开发的故事
附录E Syser 操作入门
英文目录:
Introduction
Chapter 0 Malware Analysis Primer
Part 1 Basic Analysis
Chapter 1 Basic Static Techniques
Chapter 2 Malware Analysis in Virtual Machines
Chapter 3 Basic Dynamic Analysis
Part 2 Advanced Static Analysis
Chapter 4 A Crash Course in x86 Disassembly
Chapter 5 IDA Pro
Chapter 6 Recognizing C Code Constructs in Assembly
Chapter 7 Analyzing Malicious Windows Programs
Part 3 Advanced Dynamic Analysis
Chapter 8 Debugging
Chapter 9 OllyDbg
Chapter 10 Kernel Debugging with WinDbg
Part 4 Malware Functionality
Chapter 11 Malware Behavior
Chapter 12 Covert Malware Launching
Chapter 13 Data Encoding
Chapter 14 Malware-Focused Network Signatures
Part 5 Anti-Reverse-Engineering
Chapter 15 Anti-Disassembly
Chapter 16 Anti-Debugging
Chapter 17 Anti-Virtual Machine Techniques
Chapter 18 Packers and Unpacking
Part 6 Special Topics
Chapter 19 Shellcode Analysis
Chapter 20 C++ Analysis
Chapter 21 64-Bit Malware
Appendix A Important Windows Functions
Appendix B Tools for Malware Analysis
Appendix C Solutions to Labs
附件地址:
- 中文目录:
- 第0章 恶意代码分析技术入门
- 第一篇 静态分析
- 英文目录:
- 附件地址:
发表评论
good
good
6
呵呵
good
nice
good
好好好
很好!
nice
good
ok
Good
good
good
666
good
good