第一部分 恶意软件 5
第1章 传染方法 5
1.1这种安全设施可能确实有用 5
1.1.1操作系统漏洞的减少 6
1.1.2边界安全 7
1.2为什么他们想要你的工作站 8
1.3难以发现的意图 8
1.4这是桩生意 9
1.5重要的恶意软件传播技术 10
1.5.1社会工程 10
1.5.2文件执行 12
1.6现代恶意软件的传播技术 14
1.6.1 StormWorm(恶意软件实例:trojan.peacomm) 15
1.6.2变形(恶意软件实例:W32.Evol、 W32.Simile) 16
1.6.3混淆 18
1.6.4动态域名服务(恶意软件实例:W32. Reatle.E @mm) 21
1.6.5 Fast Flux(恶意软件实例:trojan.peacomm) 21
1.7恶意软件传播注入方向 23
1.7.1电子邮件 23
1.7.2恶意网站 25
1.7.3网络仿冒 27
1.7.4对等网络(P2P) 32
1.7.5蠕虫 34
1.8本书配套网站上的实例 36
1.9小结 36
第2章 恶意软件功能 37
2.1恶意软件安装后会做什么 37
2.1.1弹出窗口 37
2.1.2搜索引擎重定向 41
2.1.3数据盗窃 47
2.1.4单击欺诈 48
2.1.5身份盗窃 49
2.1.6击键记录 52
2.1.7恶意软件的表现 55
2.2识别安装的恶意软件 57
2.2.1典型安装位置 58
2.2.2在本地磁盘上安装 58
2.2.3修改时间戳 59
2.2.4感染进程 59
2.2.5禁用服务 59
2.2.6修改Windows注册表 60
2.3小结 60
第二部分 Rootkit 64
第3章 用户模式Rootkit 64
3.1维持访问权 64
3.2隐身:掩盖存在 65
3.3Rootkit的类型 66
3.4时间轴 66
3.5用户模式Rootkit 67
3.5.1什么是用户模式Rootkit 68
3.5.2后台技术 68
3.5.3注入技术 71
3.5.4钩子技术 80
3.5.5用户模式Rootkit实例 81
3.6小结 88
第4章 内核模式Rootkit 89
4.1底层:x86体系结构基础 89
4.1.1指令集体系结构和操作系统 90
4.1.2保护层次 90
4.1.3跨越层次 91
4.1.4内核模式:数字化的西部蛮荒 92
4.2目标:Windows内核组件 92
4.2.1 Win32子系统 93
4.2.2这些API究竟是什么 94
4.2.3守门人:NTDLL.DLL 94
4.2.4委员会功能:WindowsExecutive(NTOSKRNL.EXE) 94
4.2.5 Windows内核(NTOSKRNLEXE) 95
4.2.6设备驱动程序 95
4.2.7 Windows硬件抽象层(HAL) 96
4.3内核驱动程序概念 96
4.3.1内核模式驱动程序体系结构 96
4.3.2整体解剖:框架驱动程序 97
4.3.3 WDF、 KMDF和UMDF 99
4.4内核模式Rootkit 99
4.4.1内核模式Rootkit简介 99
4.4.2内核模式Rootkit所面对的挑战 100
4.4.3装入 100
4.4.4得以执行 101
4.4.5与用户模式通信 101
4.4.6保持隐蔽性和持续性 101
4.4.7方法和技术 102
4.5内核模式Rootkit实例 118
4.5.1 Clandestiny创建的Klog 118
4.5.2 Aphex创建的AFX 121
4.5.3 Jamie Butler、 Peter Silberman和C.H.A.O.S创建的FU和FUTo 123
4.5.4 Sherri Sparks和Jamie Butler创建的Shadow Walker 124
4.5.5 He4Team创建的He4Hook 126
4.5.6 Honeynet项目创建的Sebek 129
4.6小结 129
第5章 虚拟Rootkit 131
5.1虚拟机技术概述 131
5.1.1虚拟机类型 132
5.1.2系统管理程序 132
5.1.3虚拟化策略 134
5.1.4虚拟内存管理 134
5.1.5虚拟机隔离 135
5.2虚拟机Rootkit技术 135
5.2.1矩阵里的Rootkit:我们是怎么到这里的 135
5.2.2什么是虚拟Rootkit 136
5.2.3虚拟Rootkit的类型 136
5.2.4检测虚拟环境 137
5.2.5脱离虚拟环境 143
5.2.6劫持系统管理程序 144
5.3虚拟Rootkit实例 145
5.4小结 150
第6章 Rootkit的未来:如果你现在认为情况严重 151
6.1复杂性和隐蔽性的改进 151
6.2定制的Rootkit 157
6.3小结 157
第三部分 预防技术 163
第7章 防病毒 163
7.1现在和以后:防病毒技术的革新 163
7.2病毒全景 164
7.2.1病毒的定义 164
7.2.2分类 165
7.2.3简单病毒 166
7.2.4复杂病毒 168
7.3防病毒——核心特性和技术 169
7.3.1手工或者“按需”扫描 169
7.3.2实时或者“访问时”扫描 170
7.3.3基于特征码的检测 170
7.3.4基于异常/启发式检测 171
7.4对防病毒技术的作用的评论 172
7.4.1防病毒技术擅长的方面 172
7.4.2防病毒业界的领先者 173
7.4.3防病毒的难题 175
7.5防病毒曝光:你的防病毒产品是个Rootkit吗 180
7.5.1在运行时修补系统服务 181
7.5.2对用户模式隐藏线程 182
7.5.3是一个缺陷吗 183
7.6防病毒业界的未来 184
7.6.1为生存而战斗 184
7.6.2是行业的毁灭吗 185
7.6.3可能替换防病毒的技术 186
7.7小结和对策 187
第8章 主机保护系统 189
8.1个人防火墙功能 189
8.1.1 McAfee 190
8.1.2 Symantec 191
8.1.3 Checkpoint 192
8.1.4个人防火墙的局限性 193
8.2弹出窗口拦截程序 195
8.2.1 Internet Explorer 195
8.2.2 Firefox 195
8.2.3 Opera 196
8.2.4 Safari 196
8.2.5 Chrome 196
8.2.6 一般的弹出式窗口拦截程序代码实例 198
8.3小结 201
第9章 基于主机的入侵预防 202
9.1 HIPS体系结构 202
9.2超过入侵检测的增长 204
9.3行为与特征码 205
9.3.1基于行为的系统 206
9.3.2基于特征码的系统 206
9.4反检测躲避技术 207
9.5如何检测意图 210
9.6 HIPS和安全的未来 211
9.7小结 212
第10章 Rootkit检测 213
10.1 Rootkit作者的悖论 213
10.2 Rootkit检测简史 214
10.3检测方法详解 216
10.3.1系统服务描述符表钩子 216
10.3.2 IRP钩子 217
10.3.3嵌入钩子 217
10.3.4中断描述符表钩子 218
10.3.5直接内核对象操纵 218
10.3.6 IAT钩子 218
10.4 Windows防 Rootkit特性 218
10.5基于软件的Rootkit检测 219
10.5.1实时检测与脱机检测 220
10.5.2 System Virginity Verifier 220
10.5.3 IceSword和DarkSpy 221
10.5.4 RootkitRevealer 223
10.5.5 F-Secure的Blacklight 223
10.5.6 Rootkit Unhooker 225
10.5.7 GMER 226
10.5.8 Helios和Helios Lite 227
10.5.9 McAfee Rootkit Detective 230
10.5.10 商业Rootkit检测工具 230
10.5.11使用内存分析的脱机检测:内存取证的革新 231
10.6虚拟Rootkit检测 237
10.7基于硬件的Rootkit检测 238
10.8小结 239
第11章 常规安全实践 240
11.1最终用户教育 240
11.2纵深防御 242
11.3系统加固 243
11.4自动更新 243
11.5虚拟化 244
11.6固有的安全(从一开始) 245
11.7小结 245
附录A 系统安全分析:建立你自己的Rootkit检测程序 246