书籍详情

内核漏洞的利用与防范

内核漏洞的利用与防范

作者:(美)Enrico Perla , Massimiliano Oldani 著,吴世忠,郁莲,郭涛,董国伟 译

出版社:机械工业出版社

出版时间:2012-03-01

ISBN:9787111374299

定价:¥79.00

购买这本书可以去
内容简介
  《内核漏洞的利用与防范》涵盖了开发可靠和有效的内核级别漏洞利用所需的理论技术和方法,并将其应用于主流操作系统——UNIX衍生系统、MacOSX和Windows。本书分4个部分共9个章。第一部分介绍了漏洞利用的目标、内核以及理论基础;第二部分钻研了目前主流操作系统的细节,并针对不同错误类别分别编写了漏洞利用程序。第三部分将关注点从本地场景转移到远程利用的情景;第四部分介绍了未来内核的攻防模式。本书不仅从软件安全研究人员的角度谈论如何发现软件漏洞,也从软件开发者的角度给出了防止软件出现漏洞的方法,以帮助软件编程人员开发出安全的软件系统。《内核漏洞的利用与防范》内容详实,实例丰富,操作性强,涉及主流操作系统内核漏洞利用的各个方面,适合软件开发人员、测试人员、安全工程师等阅读。
作者简介
  Enrico Perla目前是Oracle公司的内核开发人员。他于2007年获得Torino大学学士学位,并于2008年获得TrinityDublin大学计算机科学硕士学位。他的兴趣范围包括底层系统编程、底层系统攻击、漏洞利用和漏洞利用对策等。Massimiliano Oldani目前担任Emaze网络的安全顾问。他主要的研究课题包括操作系统安全和内核漏洞。技术编辑简介Graham Speake是Yokogawa电气公司首席系统架构师,该公司是一个工业自动化供应商。他目前为内核开发人员,并为多个国家的客户提供安全咨询和解决方案。他擅长工业自动化和过程控制安全、渗透测试、网络安全和网络设计。Graham经常在安全会议上发表演讲,并经常给世界各地的客户进行安全培训。Graham的背景包括:BP和ATOS/Origin的安全顾问,以及福特汽车公司的工程师。Graham拥有位于威尔士的Swanseada大学学士学位,并且是ISA的成员之一。
目录
译者序
序言
前言
致谢
作者简介
第一部分 内核态
第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
逻辑bug31
引用计数器溢出31
物理设备输入验证32
内核生成的用户态漏洞33
小结35
尾注36
第3章 成功内核利用进阶37
引言37
架构级概览38
基本概念38
x86和x86-6443
执行阶段46
放置shellcode46
伪造shellcode52
触发阶段55
内存破坏55
竞态条件66
信息收集阶段69
环境告诉我们什么70
环境不想告诉我们的:信息泄露74
小结75
相关阅读76
第二部分 UNIX家族、Mac OS X和Windows
第4章 UNIX家族78
引言78
UNIX家族成员79
Linux79
Solaris/OpenSolaris87
BSD衍生操作系统97
执行步骤97
滥用Linux的权限模型98
实战UNIX108
内核堆利用108
利用OpenSolaris的slab分配器109
利用Linux 2.6 SLAB^H^HUB 分配器127
Linux的栈溢出利用142
重拾 CVE-2009-3234148
小结156
尾注157
第5章 Mac OS X158
引言158
XNU概述159
Mach160
BSD160
IOKit160
系统调用表161
内核调试162
内核扩展 (kext)169
IOKit174
内核扩展审计174
执行步骤185
利用注释186
随意的内存重写186
基于栈的缓冲区溢出195
内存分配符利用208
竞态条件219
Snow Leopard利用219
小结219
尾注220
第6章 Windows221
引言221
Windows内核概述223
内核信息收集 223
DVWD介绍227
内核内部组织攻略228
内核调试232
执行阶段234
Windows验证模型234
编写shellcode242
Windows 漏洞利用实践253
重写任意内存253
栈缓冲区溢出261
小结278
尾注278
第三部分 远程内核漏洞利用
第7章 远程内核漏洞利用面临的挑战280
引言280
利用远程漏洞281
缺少公开信息281
缺少对远程目标的控制283
执行第一条指令284
直接执行流程重定向284
内核内存的任意写294
远程payload296
payload迁移297
KEP上下文297
多级shellcode306
小结311
尾注312
第8章 一个Linux案例313
引言313
SCTP的转发块堆内存损坏313
SCTP简要概述314
漏洞路径316
远程漏洞利用:总体分析319
获得任意内存重写原语320
远程调整堆布局320
创建SCTP消息:从相对到绝对内存的重写323
安装shellcode327
从中断上下文直接跳到用户态327
执行shellcode333
检查当前进程,模拟gettimeofday()函数333
执行反向连接334
恢复Vsyscall336
小结337
相关阅读337
尾注337
第四部分 展望
第9章 内核演变:未来内核攻防模式340
引言340
内核攻击341
保密性341
完整性342
可用性344
内核防御344
内核威胁的分析与建模345
内核防御机制346
内核保证机制347
超越内核bug:虚拟化350
虚拟层安全350
客户机内核安全351
小结351
猜您喜欢

读书导航