0day安全:软件漏洞分析技术

出版社:电子工业出版社
出版日期:2008
ISBN:9787121060779
作者:王清
页数:358 pages页

后记

虽然溢出技术经常涉及汇编语言,但本书并不要求读者一定具备汇编语言的开发能力。所用到的指令和寄存器在相关的章节都有额外介绍,只要您有C语言基础就能消化本书的绝大部分内容。我并不推荐在阅读本书之前先去系统的学习汇编知识和逆向知识,枯燥的寻址方式和指令介绍很容易让人失去学习的兴趣。本书将带您迅速跨过漏洞分析与利用技术的进入门槛。即使您并不懂汇编与二进制也能完成书中的调试实验,并获得一定的乐趣。当然,在您达到一定水平想进一步提高时,补习逆向知识和汇编语言将是绝对必要的。本书适合的读者群体包括:安全技术工作者 本书比较全面、系统地收录了Windows平台下缓冲区溢出攻击所涉及的各种方法,将会是一本不错的技术字典。信息安全理论研究者 本书中纰漏的许多漏洞利用、检测方法在学术上具有一定的前沿性,在一定程度上反映了目前国内外安全技术所关注的焦点问题。QA工程师、软件测试人员 本书第4篇中集中介绍了产品安全性测试方面的知识,这些方法可以指导QA人员审计软件中的安全漏洞,增强软件的安全性,提高软件质量。软件开发人员 知道漏洞利用原理将有利于编写出安全的代码。高校信息安全专业的学生 本书将在一定程度上弥补高校教育与信息安全公司人才需求脱节的现象。用一套过硬的调试技术和逆向技术来武装自己可以让您在未来的求职道路上利于不败之地。精通exploit的人才可以轻松征服任何一家杀毒软件公司或安全资讯公司的求职门槛,获得高薪工作。 本科二年级以上计算机系学生 通过调试实验,你们将更加深入地了解计算机体系架构和操作系统。这些知识一样将成为您未来求职时过硬的敲门砖。所有黑客技术爱好者 如果您厌倦了网络嗅探、端口扫描之类的扫盲读物,您将在本书中学到实施有效攻击所必备的知识和技巧。

作者简介

本书分为4篇17章,系统全面地介绍了Windows平台缓冲区溢出漏洞的分析、检测与防护。第一篇为常用工具和基础知识的介绍;第二篇从攻击者的视角出发,揭秘了攻击者利用漏洞的常用伎俩,了解这些知识对进行计算机应急响应和提高软件产品安全性至关重要;第三篇在第二篇的基础上,从安全专家的角度介绍了漏洞分析和计算机应急响应方面的知识;第四篇则站在软件工程师的角度讲述如何在开发、测试等软件生命周期的各个环节中加入安全因素,以增强软件产品的安全性。

书籍目录

第1篇 基础知识
第1章 漏洞概述
1.1 bug与漏洞
1.2 几个令人困惑的安全问题
1.3 漏洞挖掘、漏洞分析、漏洞利用
1.4 漏洞的公布与0 day响应
第2章 二进制文件概述
2.1 PE文件格式
2.2 虚拟内存
2.3 PE文件与虚拟内存之间的映射
第3章 必备工具
3.1 OllyDbg简介
3.2 SoftICE简介
3.3 WinDbg 简介
3.4 IDA Pro简介
3.5 二进制编辑器
3.6 虚拟机简介
3.7 Crack二进制文件
第2篇 漏洞利用
第4章 栈溢出利用
4.1 系统栈的工作原理
4.1.1 内存的不同用途
4.1.2 栈与系统栈
4.1.3 函数调用时发生了什么
4.1.4 寄存器与函数栈帧
4.1.5 函数调用约定与相关指令
4.2 修改邻接变量
4.2.1 修改邻接变量的原理
4.2.2 突破密码验证程序
4.3 修改函数返回地址
4.3.1 返回地址与程序流程
4.3.2 控制程序的执行流程
4.4 代码植入
4.4.1 代码植入的原理
4.4.2 向进程中植入代码
第5章 开发shellcode的艺术
5.1 shellcode概述
5.1.1 shellcode与exploit
5.1.2 shellcode需要解决的问题
5.2 定位shellcode
5.2.1 栈帧移位与jmp esp
5.2.2 获取“跳板”的地址
5.2.3 使用“跳板”定位的exploit
5.3 缓冲区的组织
5.3.1 缓冲区的组成
5.3.2 抬高栈顶保护shellcode
5.3.3 使用其他跳转指令
5.3.4 不使用跳转指令
5.3.5 函数返回地址移位
5.4 开发通用的shellcode
5.4.1 定位API的原理
5.4.2 shellcode的加载与调试
5.4.3 动态定位API地址的shellcode
5.5 shellcode编码技术
5.5.1 为什么要对shellcode编码
5.5.2 会“变形”的shellcode
5.6 为shellcode“减肥”
5.6.1 shellcode瘦身大法
5.6.2 选择恰当的hash算法
5.6.3 191个字节的bindshell
第6章 堆溢出利用
6.1 堆的工作原理
6.1.1 Windows堆的历史
6.1.2 堆与栈的区别
6.1.3 堆的数据结构与管理策略
6.2 在堆中漫游
6.2.1 堆分配函数之间的调用关系
6.2.2 堆的调试方法
6.2.3 识别堆表
6.2.4 堆块的分配
6.2.5 堆块的释放
6.2.6 堆块的合并
6.3 堆溢出利用(上)——DWORD SHOOT
6.3.1 链表“拆卸”中的问题
6.3.2 在调试中体会“DWORD SHOOT”
6.4 堆溢出利用(下)——代码植入
6.4.1 DWORD SHOOT的利用方法
6.4.2 狙击P.E.B中RtlEnterCritical-Section()的函数指针
6.4.3 堆溢出利用的注意事项
第7章 Windows异常处理机制深入浅出
7.1 S.E.H概述
7.2 在栈溢出中利用S.E.H
7.3 在堆溢出中利用S.E.H
7.4 挖掘Windows异常处理
7.4.1 不同级别的S.E.H
7.4.2 线程的异常处理
7.4.3 进程的异常处理
7.4.4 系统默认的异常处理U.E.F
7.4.5 异常处理流程的总结
7.5 V.E.H简介
第8章 高级内存攻击技术
8.1 狙击异常处理机制
8.1.1 攻击V.E.H链表的头节点
8.1.2 攻击TEB中的S.E.H头节点
8.1.3 攻击U.E.F
8.1.4 攻击PEB中的函数指针
8.2 “off by one”的利用
8.3 攻击C++的虚函数
8.4 Heap Spray:堆与栈的协同攻击
第9章 揭秘Windows安全机制
9.1 Service Pack 2简介
9.2 百密一疏的S.E.H验证
9.3 栈中的较量
9.3.1 .net中的GS安全编译选项
9.3.2 GS机制面临的挑战
9.4 重重保护下的堆
9.5 硬件方面的安全措施
第10章 用MetaSploit开发Exploit
10.1 漏洞测试平台MSF 简介
10.2 入侵Windows系统
10.2.1 漏洞简介
10.2.2 图形界面的漏洞测试
10.2.3 console界面的漏洞测试
10.3 利用MSF制作shellcode
10.4 用MSF扫描“跳板”
10.5 Ruby语言简介
10.6 “傻瓜式”Exploit开发
10.7 用MSF发布POC
第11章 其他漏洞利用技术
11.1 格式化串漏洞
11.1.1 printf中的缺陷
11.1.2 用printf读取内存数据
11.1.3 用printf向内存写数据
11.1.4 格式化串漏洞的检测与防范
11.2 SQL注入攻击
11.2.1 SQL注入原理
11.2.2 攻击PHP+MySQL网站
11.2.3 攻击ASP+SQL Server网站
11.2.4 注入攻击的检测与防范
11.3 XSS攻击
11.3.1 脚本能够“跨站”的原因
11.3.2 XSS Reflection攻击场景
11.3.3 Stored XSS攻击场景
11.3.4 攻击案例回顾:XSS蠕虫
11.3.5 XSS的检测与防范
第3篇 漏洞分析
第12章 漏洞分析技术概述
12.1 漏洞分析的方法
12.2 用“白眉”在PE中漫步
12.2.1 指令追踪技术与Paimei
12.2.2 Paimei的安装
12.2.3 使用PE Stalker
12.2.4 迅速定位特定功能对应的代码
12.3 补丁比较
第13章 MS06-040分析:系统入侵与蠕虫
13.1 MS06-040简介
13.2 漏洞分析
13.2.1 动态调试
13.2.2 静态分析
13.3 远程Exploit
13.3.1 RPC编程简介
13.3.2 实现远程exploit
13.3.3 改进exploit
13.3.4 MS06-040与蠕虫
第14章 MS06-055分析:揭秘“网马”
14.1 MS06-055简介
14.1.1 矢量标记语言(VML)简介
14.1.2 O day安全响应纪实
14.2 漏洞分析
14.3 漏洞利用
14.3.1 实践Heap Spray技术
14.3.2 网页木马攻击
第15章 MS07-060分析:Word文档中的阴谋
15.1 MS07-060简介
15.2 POC分析
第4篇 漏洞挖掘与软件安全性测试
第16章 漏洞挖掘技术浅谈
16.1 漏洞挖掘概述
16.2 Fuzz文件格式
16.2.1 File Fuzz简介
16.2.2 用Paimei实践File Fuzz
16.3 Fuzz网络协议
16.3.1 协议测试简介
16.3.2 SPIKE的Fuzz原理
16.3.3 SPIKE的Hello World
16.3.4 定义Block
16.3.5 生成Fuzz用例
16.4 Fuzz ActiveX
16.5 静态代码审计
第17章 安全的软件生命周期
17.1 Threat Modeling
17.2 编写安全的代码
17.3 产品安全性测试
17.4 漏洞管理与应急响应
参考文献

编辑推荐

《oday安全:软件漏洞分析技术》为我们系统介绍了漏洞分析的原理和技术细节,并深入浅出地引用了不少在安全界非常经典的漏洞实例。然而,更重要的是failwest并没有流水账式的罗列知识与技术,而是花了大量的篇幅介绍了漏洞检测的步骤及其背后的思维方式。这些完全不同的思维方式,加上分析员必备的技能以及必需的工具,为读者展现了一套非常完整的软件漏洞分析方法。

前言

关于“zero day attack”0 day是网络安全技术中的一个术语,特指被攻击者掌握却未被软件厂商修复的系统漏洞。0 day漏洞是攻击者入侵系统的终极武器,资深的黑客手里总会掌握几个功能强大的0 day漏洞。0 day漏洞是木马、病毒、间谍软件入侵系统的最有效途径。由于没有官方发布的安全补丁,攻击者可以利用0 day对目标主机为所欲为,甚至在Internet上散布蠕虫。因此,0 day漏洞的技术资料通常非常敏感,往往被视为商业机密。对于软件厂商和用户来说,0 day攻击是危害最大的一类攻击。针对0 day漏洞的缓冲区溢出攻击是对技术性要求最高的攻击方式。世界安全技术峰会Black Hat上每年最热门的议题之一就是“zero day attack/defense”。微软等世界著名的软件公司为了在其产品中防范“zero day attack”,投入了大量的人力、物力。全世界有无数的信息安全科研机构在不遗余力地研究与0 day安全相关的课题。全世界也有无数技术精湛的攻击者在不遗余力地挖掘软件中的0 day漏洞。

内容概要

王清,网络ID:failwest,于西安交通大学先后获得计算机科学与技术学士学位、系统工程专业硕士学位。曾工作于教育部下一代互联网与网络安全重点实验室,研究兴趣涉及蠕虫建模、高级IDS算法、网站安全、代码审计、漏洞分析、病毒分析、逆向工程等领域。现就职于Symantec产品安全部,从事软件攻击测试,系统安全性审计,安全咨询等工作。

名人推荐

从软件开发者的角度著书阐述漏洞分析与检测技术的专业软件工程师。作者非常恰当地把着眼点放在一个软件开发者的角度去做漏洞检测,使得《0 day安全:软件漏洞分析技术》对大多数读者来说更加实用。 《0 day安全:软件漏洞分析技术》为我们系统介绍了漏洞分析的原理和技术细节,并深入浅出地引用了不少在安全界非常经典的漏洞实例。然而,更重要的是failwest并没有流水账式的罗列知识与技术,而是花了大量的篇幅介绍了漏洞检测的步骤及其背后的思维方式。这些完全不同的思维方式,加上分析员必备的技能以及必需的工具,为读者展现了一套非常完整的软件漏洞分析方法。许 明

章节摘录

第6章 堆溢出利用在很长一段时间内,Windows下的堆溢出被认为是不可利用的,然而事实并非如此。第6章将用精辟的论述点破堆溢出利用的原理,让您轻松领会堆溢出的精髓。此外,这章的一系列调试实验将加深您对概念和原理的理解。用通俗易懂的方式论述复杂的技术是本书始终坚持的原则。第7章 Windows异常处理机制深入浅出对异常处理的利用是Windows平台下缓冲区溢出漏洞利用的一大特点。第7章除了介绍如何在溢出发生时利用S.E.H外,还对Windows异常处理机制做了较深入的剖析,供有一定基础的读者参考。第8章 高级内存攻击技术集中介绍了一些曾发表于Black Hat上的著名论文中所提出的高级利用技术。对于安全专家,了解这些技巧和手法不至于在分析漏洞时错把可以利用的漏洞误判为低风险类型;对于黑客技术爱好者,这些知识很可能成为激发技术灵感的火花。

图书封面


 0day安全:软件漏洞分析技术下载 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     这本书是属于有基础一遍就能看懂的,没基础最好先去补基础,再看这本书。最难的一章莫属堆溢出了。我觉得是本好的黑客教材。
  •     50块钱的书,400页不到,字体那么大还有那么多图片在充数相比《软件调试》,《程序员的自我修养》这样的,实在太水了

精彩短评 (总计24条)

  •     8gmjlo 5a nom t7 noa jm6f 6f 4a 9m roa nom ea dgm 9gfb o7 4m 9gfb f6a noa 6f im6f bgfb 5o7fb roa la6f roa o7a c7 bgfb ea tgm ym pa6f 9mg rogfb 86fb 86 o7 ea7 dmf omg pm 5a nom t7 roa noa em 5om d7 f6 pa7 4m 5o7fb bgfb roa o7a c7 7j ta 46
  •     个人觉的,不对望指教
  •     不错的书,作为入门很合适。
  •     杰出的作品,作者思路清晰,图表画的很干净,帮入门者节省了很多时间。
  •     内容深入浅出,详略得当!
  •     感谢大家对博文视点安全图书的支持!欢迎多提宝贵意见。 郭立
  •     很好,但是不知道为什么论坛上都有了大部分,而且光盘还缺了一点....
  •     嗯。。不错。通俗易懂,有一定基础的同学看了应该会更快入门
  •     0day算不上,讲漏洞分析的。确实是属于有基础一遍就能看懂的,入门级不错的书。
  •     这本书总体来说还是可以的,讲的很细腻,只是再深入一些就更好了。
  •     实践的部分稍多了一些,有点骗篇幅的嫌疑。说明该书定位不甚明确。既然想涉足这个领域,必定已经是编程或安全方面有一定了解的读者。没必要对初学者贴那么多代码。不过这样一来的话这本书就会亏。也还是能理解作者。书中讲的内容还是不错的,看后能学到不少东西。也带我进入了这个领域。不过卓越发给我的书中装订错误了二十多页,联系后答应调换,但此后随我怎么联系也再无下文。不得不对其客服说一个烂字。
  •     这本书不错,有理论也有实践,但着重点还是理论(个人觉得),如果你的理论知识相当的完备,那么最好不好买它。
  •     同学托买的,应该还行
  •     感觉一步步跟着走。虽然要点基础,但也是对基础的一些梳理。整体说OK。
  •     介绍一些基础的黑客攻击的方法
  •     学习缓冲区溢出。
  •     由于还没有看完,现在暂时没有办法评价。
  •     希望学习安全的教材
  •     是本好书,适合初学
  •     虽然当初没看懂,但是不准备在看了,想了想就是加密与解密的子集加强版吧。
  •     准备把手头的事弄完了仔细研读!
  •     一哥们写的书,竟然在豆瓣看到,所以给五星不需要什么理由吧
  •     买了之后才发现,看这本书的门槛远没有作者说的那么底这也好激励我继续学习
  •     还没怎么看,这方面的书比较少,所以拿到以后大概翻了翻,还是比较喜欢的,只是内容稍显单薄了点,软件漏洞的问题,应该可以出大部头了
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024