《Rootkits-Windows内核的安全防护》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Greg Hoglund,(美)James Butler著;韩智文译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302146527
  • 页数:298 页
图书介绍:本书帮助读者理解Rootkits在过程命令中的角色,应用方法和技巧。

第1章 销声匿迹 1

1.1 攻击者的动机 1

1.1.1 潜行的角色 2

1.1.2 不需潜行的情况 3

1.2 rootkit的定义 3

1.3 rootkit存在的原因 4

1.3.1 远程命令和控制 4

1.3.2 软件窃听 5

1.3.3 rootkit的合法使用 5

1.4 rootkit的存在历史 6

1.5 rootkit的工作方式 7

1.5.1 打补丁 7

1.5.2 复活节彩蛋 7

1.5.3 间谍件修改 7

1.5.4 源代码修改 8

1.5.5 软件修改的合法性 8

1.6 rootkit与其他技术的区别 9

1.6.1 rootkit不是软件利用工具 9

1.6.2 rootkit不是病毒 10

1.7 rootkit与软件利用工具 11

1.8 攻击型rootkit技术 14

1.8.1 HIPS 14

1.8.2 NIDS 15

1.8.3 绕过IDS/IPS 15

1.8.4 绕过取证分析工具 16

1.9 小结 17

第2章 破坏内核 19

2.1 重要的内核组件 20

2.2 rootkit的结构设计 20

2.3 在内核中引入代码 23

2.4 构建Windows设备驱动程序 24

2.4.1 设备驱动程序开发工具包 24

2.4.2 构建环境 24

2.4.3 文件 25

2.5 加载和卸载驱动程序 28

2.6 对调试语句进行日志记录 28

2.7 融合rootkit:用户和内核模式的融合 29

2.7.1 I/O请求报文 30

2.7.2 创建文件句柄 33

2.7.3 添加符号链接 35

2.8 加载rootkit 36

2.8.1 草率方式 36

2.8.2 正确方式 38

2.9 从资源中解压缩.sys文件 40

2.10 系统重启后的考验 42

2.11 小结 43

第3章 硬件相关问题 45

3.1 环0级 46

3.2 CPU表和系统表 47

3.3 内存页 48

3.3.1 内存访问检查 49

3.3.2 分页和地址转换 50

3.3.3 页表查询 51

3.3.4 页目录项 52

3.3.5 页表项 53

3.3.6 重要表的只读访问 53

3.3.7 多个进程使用多个页目录 54

3.3.8 进程和线程 54

3.4 内存描述符表 55

3.4.1 全局描述符表 55

3.4.2 本地描述符表 56

3.4.3 代码段 56

3.4.4 调用门 56

3.5 中断描述符表 56

3.6 系统服务调度表 60

3.7 控制寄存器 60

3.7.1 控制寄存器0 60

3.7.2 其他控制寄存器 61

3.7.3 EFlags寄存器 61

3.8 多处理器系统 61

3.9 小结 63

第4章 古老的钩子艺术 65

4.1 用户空间钩子 65

4.1.1 导入地址表钩子 67

4.1.2 内联函数钩子 68

4.1.3 将DLL注入到用户空间进程中 70

4.2 内核钩子 74

4.2.1 钩住系统服务描述符表 75

4.2.2 修改SSDT内存保护机制 76

4.2.3 钩住SSDT 79

4.3 混合式钩子方法 99

4.3.1 进入进程的地址空间 99

4.3.2 钩子的内存空间 103

4.4 小结 105

第5章 运行时补丁 107

5.1 detour补丁 108

5.1.1 用MigBot重定控制流程路径 109

5.1.2 检查函数字节 110

5.1.3 记录被重写的指令 112

5.1.4 使用NonPagedPool内存 114

5.1.5 运行时地址修正 115

5.2 跳转模板 119

5.3 补丁方法的变型 126

5.4 小结 127

第6章 分层驱动程序 129

6.1 键盘嗅探器 130

6.2 剖析KLOG rootkit 134

6.3 文件过滤器驱动程序 146

6.4 小结 161

第7章 直接内核对象操作 163

7.1 DKOM的优缺点 163

7.2 确定操作系统的版本 165

7.2.1 用户模式的自确定 165

7.2.2 内核模式的自确定 167

7.2.3 在注册表中查询操作系统版本 167

7.3 用户空间与设备驱动程序的通信 169

7.4 DKOM隐藏技术 173

7.4.1 隐藏进程 173

7.4.2 隐藏设备驱动程序 179

7.4.3 同步问题 183

7.5 使用DKOM提升令牌权限和组 187

7.5.1 修改进程令牌 187

7.5.2 伪造Windows Event Viewer 201

7.6 小结 203

第8章 操纵硬件 205

8.1 为何使用硬件 206

8.2 修改固件 207

8.3 访问硬件 208

8.3.1 硬件地址 208

8.3.2 访问硬件与访问RAM的区别 209

8.3.3 定时问题 210

8.3.4 I/O总线 210

8.3.5 访问BIOS 212

8.3.6 访问PCI和PCMCIA设备 213

8.4 访问键盘控制器示例 213

8.4.1 8259键盘控制器 213

8.4.2 修改LED指示器 214

8.4.3 强制重启 220

8.4.4 击键监视器 220

8.5 微码更新 227

8.6 小结 228

第9章 隐秘通道 229

9.1 远程命令、控制和数据窃取 230

9.2 伪装TCP/IP协议 231

9.2.1 注意通信量模式 231

9.2.2 不以明文发送数据 232

9.2.3 充分利用时间因素 232

9.2.4 隐藏在DNS请求中 233

9.2.5 对ASCII编码有效负载进行隐写操作 233

9.2.6 使用其他TCP/IP通道 234

9.3 TCP/IP内核中支持rootkit的TDI接口 235

9.3.1 构建地址结构 235

9.3.2 创建本地地址对象 237

9.3.3 根据上下文创建TDI端点 240

9.3.4 将端点与本地地址进行关联 243

9.3.5 连接到远程服务器(发送TCP握手消息) 245

9.3.6 将数据发送到远程服务器 247

9.4 原始网络操作 250

9.4.1 在Windows XP上实现原始套接字 250

9.4.2 绑定到接口 251

9.4.3 使用原始套接字进行嗅探 252

9.4.4 使用原始套接字进行杂乱嗅探 253

9.4.5 使用原始套接字发送报文 254

9.4.6 伪造源信息 254

9.4.7 弹回报文 254

9.5 TCP/IP内核中支持rootkit的NDIS接口 255

9.5.1 注册协议 255

9.5.2 协议驱动程序回调函数 260

9.5.3 移动完整报文 266

9.6 主机仿真 273

9.6.1 创建MAC地址 273

9.6.2 处理ARP协议 273

9.6.3 IP网关 276

9.6.4 发送报文 276

9.7 小结 280

第10章 rootkit检测 281

10.1 检测rootkit的存在 281

10.1.1 守护门口 282

10.1.2 扫描“空间” 284

10.1.3 查找钩子 284

10.2 检测rootkit的行为 293

10.2.1 检测隐藏的文件和注册表键 294

10.2.2 检测隐藏的进程 294

10.3 小结 297