• 日常搜索
  • 端口查询
  • IP查询
  • 在线工具
  • 搜本站

恶意代码分析实战(电子书)


分类

IT 类 / 信息安全 / 恶意软件

作者

(美)Michael Sikorski / 迈克尔·西科尔斯基


(美)Andrew Honig / 安德鲁·霍尼格

英文书名

《Practical Malware Analysis——The Hands-On Guide to Dissecting Malicious Software》

出版年份

2012(原著)

2014(简体中译本)

相关链接

本书官网

恶意代码分析实战(电子书)  第1张

简介


两位作者都曾经在“美国***安全局”(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章 恶意代码分析技术入门
      • 第一篇 静态分析
    • 英文目录:
    • 附件地址: