第1章 虚拟化介绍 1
简介 2
什么是虚拟化? 2
虚拟化历史 2
答案:虚拟化是 6
为什么要虚拟化? 6
分散化VS集中化 6
明确的优势 10
虚拟化是如何工作的? 13
OS与CPU体系结构的关系 14
虚拟机监视器与0环呈现 15
VMM作用探究 15
虚拟化类型 17
存储虚拟化 19
网络虚拟化 20
应用软件虚拟化 20
虚拟化常见用例 21
总结 23
内容快速回顾 24
常见问题 25
第2章 选择正确的解决方案 27
简介 28
影响虚拟化实现的问题和考虑 28
性能 28
冗余 29
操作 29
安全 29
演化 30
区分虚拟化类型之间的不同 31
运行库模拟 32
处理器模拟 33
操作系统虚拟化 33
应用系统虚拟化 34
表现层虚拟化 34
服务器虚拟化 34
准虚拟化 35
I/O虚拟化 36
硬件虚拟化 36
总结 37
内容快速回顾 37
常见问题 38
第3章 构建沙盒 39
简介 40
沙盒背景 40
看得见的沙盒 40
现有沙盒实现 45
CWSandbox说明 46
使用VMware和CWSandbox创建Live DVD 49
安装Linux 49
安装VMware Server v1.05 50
在VMware Server中创建一个虚拟机 51
下一步需要在刚创建的虚拟机中安装Windows XP 52
在Windows XP专业版中安装CWSandbox v2.x 52
为Live DVD创建配置Linux和VMware Server 53
升级Live DVD 54
总结 54
内容快速回顾 55
常见问题 56
注释 57
参考文献 57
第4章 配置虚拟机 59
简介 60
资源管理 60
硬盘和网络配置 60
硬盘配置 60
网络配置 61
物理硬件访问 64
物理磁盘 64
USB设备 67
与主机系统的接口 68
剪切与粘贴 68
如何在虚拟机中安装VMware工具 68
如何在Virtual PC安装虚拟机附加模块 73
总结 73
内容快速回顾 73
常见问题 74
第5章 蜜罐 75
简介 76
牧羊 76
蜜网 77
部署在何处 78
第二层桥接 79
Honeymole 80
多个远程网络 81
检测攻击 83
入侵检测 84
网络通信捕获 84
盒上监控 85
如何建立逼真环境 86
猪笼草 86
建立网络 86
总结 91
内容快速回顾 91
常见问题 92
注释 92
第6章 恶意软件分析 93
简介 94
设置阶段 94
应该限制网络访问吗? 95
自己不要再传播 95
研究人员可能发现 95
创建一个尽可能真实的“受害者” 95
应该提供各种内容 96
长期使用的环境 96
使得本地网络更真实 96
在VMware工作站上测试 97
微软Virtual PC 98
寻找恶意软件 99
恶意软件的目的是什么? 99
如何传播? 99
恶意软件会寻找更新吗? 100
恶意软件参与僵尸网络了? 100
恶意软件会到处危害吗? 100
根据域不同,恶意软件的行为不同吗? 101
恶意软件如何隐藏,如何对其检测? 101
如何恢复? 102
查看示例分析报告 102
〈Analysis〉节 102
82f78a89bde09a71ef99b3cedb991bcc.exe分析 103
arman.exe分析 105
解析分析报告 109
如何安装僵尸? 110
找出新主机是如何被感染的 111
僵尸程序如何保护本地主机和自身? 113
判断C&C服务器是如何连接上以及连接的哪个C&C服务器 116
僵尸程序如何获得二进制更新? 117
执行什么恶意操作? 118
Live沙盒发现的与僵尸程序相关的内容 123
反虚拟化技术 125
检测你是否在虚拟环境中 125
虚拟化实用工具 125
VMware I/O端口 126
检测模拟硬件 126
检测是否处在Hypervisor环境中 127
总结 128
内容快速回顾 128
常见问题 129
第7章 应用软件测试 131
简介 132
加快速度 132
默认平台 133
已知好的起点 134
下载预配置的应用装置 135
调试 136
内核级调试 136
开源虚拟化的优势 141
总结 141
内容快速回顾 141
常见问题 142
第8章 Fuzzing 143
简介 144
Fuzzing是什么? 144
虚拟化与Fuzzing 145
选择一个有效起点 145
使用干净的场记版 145
减少启动时间 146
安装调试工具 146
准备接收输入 147
准备与外部交互 148
做快照 148
执行测试 149
脚本化快照的启动 149
与应用软件交互 150
选择测试数据 150
检查异常 151
保存结果 151
运行并发测试 152
总结 152
内容快速回顾 153
常见问题 153
第9章 取证分析 155
简介 156
准备取证分析环境 157
捕获机器 157
准备在新的硬件上启动捕获的机器 162
通过启动捕获的机器可以得到什么? 163
虚拟化可能允许观察只在运行时可现的行为 164
使用系统演示证据的含义 164
系统上可能有一些需要特殊软件的专有的/旧文件 165
分析定时炸弹和陷阱 165
更容易了解嫌疑人的动机 165
收集关于僵尸网络或者病毒感染的系统的信息 166
收集关于案子的情报信息 166
捕获内存中的进程和数据 166
执行虚拟机的取证分析 167
警告:提前觉察虚拟机的恶意软件 168
总结 169
内容快速回顾 169
常见问题 171
第10章 灾难恢复 173
简介 174
虚拟环境中灾难恢复 174
简化备份与恢复 174
文件级备份与恢复 175
系统级备份与恢复 175
公用存储器的备份与恢复 176
允许硬件复原中更大变化 177
不同的服务器数目 178
从硬件失败中恢复 179
重新划分数据中心 180
总结 180
内容快速回顾 181
常见问题 182
第11章 高可用性:重置到良好状态 183
简介 184
理解高可用性 184
为计划中的停机时间提供高可用性 184
为未计划中的停机时间提供高可用性 185
重置到良好状态 186
使用供应商的工具重置到良好状态 186
使用脚本或其他机制重置到良好状态 187
随着时间下降 187
配置高可用性 188
配置共享存储器 188
配置网络 188
建立服务器池或服务器集群 189
维护高可用性 189
监视超额负担的资源 189
涉及的安全 190
在高可用性系统上执行维护 191
总结 191
内容快速回顾 192
常见问题 193
第12章 两全其美:双启动 195
简介 196
如何建立既能在本地又能在虚拟系统中运行的Linux 196
在己存的驱动上为Linux创建分区 196
建立双硬件概要文件 199
本地与虚拟化中运行Windows时的问题 200
在物理和虚拟化平台上运行一个操作系统需要预防的事情 200
总结 201
内容快速回顾 201
常见问题 201
第13章 不可信环境中的保护 203
简介 204
在不可信环境中使用虚拟化 204
恶意软件分析级别 208
用虚拟机隔离数据 213
用虚拟机运行不信任的软件 213
让不信任的用户使用虚拟机 216
建立客户机 216
还原过程脚本化 217
总结 217
内容快速回顾 218
常见问题 218
注释 219
第14章 培训 221
简介 222
建立扫描服务器 222
虚拟机替代Live-CD发布版的优势 222
虚拟机替代Live-CD的劣势 223
虚拟环境中的扫描服务器 224
建立目标服务器 225
课堂中演示所用的非常“开放”的机器 225
创建夺旗场景 228
更难的目标 228
添加一些真实性 230
简短总结 230
之后清理环境 231
恢复保存 231
总结 231
内容快速回顾 232
常见问题 233