《内核漏洞的利用与防范》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)佩拉(PerlaE)等著;吴世忠等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111374299
  • 页数:353 页
图书介绍:本书涵盖了开发可靠和有效的内核级别漏洞利用所需的理论技术和方法,并将其应用于主流操作系统——UNIX衍生系统、Mac OS X和 Windows。本书分4个部分共9个章。第一部分介绍了漏洞利用的目标、内核以及理论基础;第二部分钻研了目前主流操作系统的细节,并针对不同错误类别分别编写了漏洞利用程序。第三部分将关注点从本地场景转移到远程利用的情景;第四部分介绍了未来内核的攻防模式。本书不仅从软件安全研究人员的角度谈论如何发现软件漏洞,也从软件开发者的角度给出了防止软件出现漏洞的方法,以帮助软件编程人员开发出安全的软件系统。本书内容详实,实例丰富,操作性强,涉及主流操作系统内核漏洞利用的各个方面,适合软件开发人员、测试人员、安全工程师等阅读。

第一部分 内核态 2

第1章 从用户态利用到内核态利用 2

引言 2

内核和内核漏洞利用的世界 2

漏洞利用的艺术 4

为什么用户态漏洞利用不再有效 7

内核态漏洞利用和用户态漏洞利用 8

一个漏洞利用者的内核观 10

用户态进程和调度 10

虚拟内存 11

开源操作系统和闭源操作系统 14

小结 14

相关阅读 15

尾注 15

第2章 内核漏洞分类 16

引言 16

未初始化的/未验证的/已损坏的指针解引用 17

内存破坏漏洞 20

内核栈漏洞 20

内核堆漏洞 21

整数误用 22

算术/整数溢出 23

符号转换错误 24

竞态条件 26

逻辑bug 31

引用计数器溢出 31

物理设备输入验证 32

内核生成的用户态漏洞 33

小结 35

尾注 36

第3章 成功内核利用进阶 37

引言 37

架构级概览 38

基本概念 38

x86和x86-64 43

执行阶段 46

放置shellcode 46

伪造shellcode 52

触发阶段 55

内存破坏 55

竞态条件 66

信息收集阶段 69

环境告诉我们什么 70

环境不想告诉我们的:信息泄露 74

小结 75

相关阅读 76

第二部分 UNIX家族、Mac OS X和Windows 78

第4章 UNIX家族 78

引言 78

UNIX家族成员 79

Linux 79

Solaris/OpenSolaris 87

BSD衍生操作系统 97

执行步骤 97

滥用Linux的权限模型 98

实战UNIX 108

内核堆利用 108

利用OpenSolaris的slab分配器 109

利用Linux 2.6 SLAB^H^HUB分配器 127

Linux的栈溢出利用 142

重拾CVE-2009-3234 148

小结 156

尾注 157

第5章 Mac OS X 158

引言 158

XNU概述 159

Mach 160

BSD 160

IOKit 160

系统调用表 161

内核调试 162

内核扩展(kext) 169

IOKit 174

内核扩展审计 174

执行步骤 185

利用注释 186

随意的内存重写 186

基于栈的缓冲区溢出 195

内存分配符利用 208

竞态条件 219

Snow Leopard利用 219

小结 219

尾注 220

第6章 Windows 221

引言 221

Windows内核概述 223

内核信息收集 223

DVWD介绍 227

内核内部组织攻略 228

内核调试 232

执行阶段 234

Windows验证模型 234

编写shellcode 242

Windows漏洞利用实践 253

重写任意内存 253

栈缓冲区溢出 261

小结 278

尾注 278

第三部分 远程内核漏洞利用 280

第7章 远程内核漏洞利用面临的挑战 280

引言 280

利用远程漏洞 281

缺少公开信息 281

缺少对远程目标的控制 283

执行第一条指令 284

直接执行流程重定向 284

内核内存的任意写 294

远程payload 296

payload迁移 297

KEP上下文 297

多级shellcode 306

小结 311

尾注 312

第8章 一个Linux案例 313

引言 313

SCTP的转发块堆内存损坏 313

SCTP简要概述 314

漏洞路径 316

远程漏洞利用:总体分析 319

获得任意内存重写原语 320

远程调整堆布局 320

创建SCTP消息:从相对到绝对内存的重写 323

安装shellcode 327

从中断上下文直接跳到用户态 327

执行shellcode 333

检查当前进程,模拟gettimeofday()函数 333

执行反向连接 334

恢复Vsyscall 336

小结 337

相关阅读 337

尾注 337

第四部分 展望 340

第9章 内核演变:未来内核攻防模式 340

引言 340

内核攻击 341

保密性 341

完整性 342

可用性 344

内核防御 344

内核威胁的分析与建模 345

内核防御机制 346

内核保证机制 347

超越内核bug:虚拟化 350

虚拟层安全 350

客户机内核安全 351

小结 351