Oday安全:软件漏洞分析技术
版权信息书 名: Oday安全:软件漏洞分析技术

作者:王清
出版社:电子工业出版社
出版时间: 2008
ISBN: 9787121060779
开本: 16
定价: 49.00 元
内容简介《Oday安全:软件漏洞分析技术》(光盘1张)分为4篇17章,系统全面地介绍了Windows平台缓冲区溢出漏洞的分析、检测与防护。第一篇为常用工具和基础知识的介绍;第二篇从攻击者的视角出发,揭秘了攻击者利用漏洞的常用伎俩,了解这些知识对进行计算机应急响应和提高软件产品安全性至关重要;第三篇在第二篇的基础上,从安全专家的角度介绍了漏洞分析和计算机应急响应方面的知识;第四篇则站在软件工程师的角度讲述如何在开发、测试等软件生命周期的各个环节中加入安全因素,以增强软件产品的安全性。
编辑推荐从软件开发者的角度著书阐述漏洞分析与检测技术的专业软件工程师。《oday安全:软件漏洞分析技术》的作者非常恰当地把着眼点放在一个软件开发者的角度去做漏洞检测,使得《oday安全:软件漏洞分析技术》对大多数读者来说更加实用。
《oday安全:软件漏洞分析技术》为我们系统介绍了漏洞分析的原理和技术细节,并深入浅出地引用了不少在安全界非常经典的漏洞实例。然而,更重要的是failwest并没有流水账式的罗列知识与技术,而是花了大量的篇幅介绍了漏洞检测的步骤及其背后的思维方式。这些完全不同的思维方式,加上分析员必备的技能以及必需的工具,为读者展现了一套非常完整的软件漏洞分析方法。
关于安全技术人才
国内外对网络安全技术人才的需求量很大,精通缓冲区溢出攻击的安全专家可以在大型软件公司轻易地获得高薪的安全咨询职位。
信息安全技术是一个对技术性要求极高的领域,除了扎实的计算机理论基础外,更重要的是优秀的动手实践能力。在我看来,不懂二进制数据就无从谈起安全技术。
国内近年来对网络安全的重视程度正在逐渐增加,许多高校相继成立了“信息安全学院”或者设立“网络安全专业”。科班出身的学生往往具有扎实的理论基础,他们通晓密码学知识、知道PKI体系架构,但要谈到如何真刀实枪地分析病毒样本、如何拿掉PE上复杂的保护壳、如何在二进制文件中定位漏洞、如何对软件实施有效的攻击测试……能够做到的人并不多。
虽然每年有大量的网络安全技术人才从高校涌入人力市场,真正能够满足用人单位需求的却寥寥无几。捧着书本去做应急响应和风险评估是滥竽充数的作法,社会需要的是能够为客户切实解决安全风险的技术精英,而不是满腹教条的阔论者。
我所认识的很多资深安全专家都并非科班出身,他们有的学医、有的学文、有的根本没有学历和文凭,但他们却技术精湛,充满自信。
这个行业属于有兴趣、够执著的人,属于为了梦想能够不懈努力的意志坚定者。
关于“Impossible”与“I’mpossible”
从拼写上看,“Impossible”与“I’mpossible”仅仅相差一个用于缩写的撇号(apostrophe)。学完本书之后,您会发现将“不可能(Impossible)”变为“可能(I’mpossible)”的“关键(keypoint)”往往就是那么简单的几个字节,本书将要讨论的就是在什么位置画上这一撇!
从语法上看,“Impossible”是一个单词,属于数据的范畴;“I’mpossible”是一个句子,含有动词(算符),可以看成是代码的范畴。学完本书之后,您会明白现代攻击技术的精髓就是混淆数据和代码的界限,让系统错误地把数据当作代码去执行。
从意义上看,Tobetheapostrophewhichchanged“Impossible”into“I’mpossible”代表着人类挑战自我的精神,代表着对理想执著的追求,代表着对事业全情的投入,代表着敢于直面惨淡人生的豪情……而这一切正好是黑客精神的完美诠释——还记得在电影《SwordFish(剑鱼行动)》中,Stan在那台酷毙的计算机前坚定地说:“Nothingisimpossible”,然后开始在使用Vernam加密算法和512位密钥加密的网络上,挑战蠕虫的经典镜头吗?
于是我在以前所发表过的所有文章和代码中都加入了这个句子,甚至用它作为自己的签名档。
尽管我的英语老师和不少外国朋友提醒我,说这个句子带有强烈的“Chinglish”味道,甚至会引起NativeSpeaker的误解,然而我最终还是决定把它写进书里。
虽然我不是莎士比亚那样的文豪,可以创造语言,发明修辞,用文字撞击人们的心灵,但这句“Chinglish”的确能把我所要表达的含义精确地传递给中国人,这已足够。
关于本书
通常情况下,利用缓冲区溢出漏洞需要深入了解计算机系统,精通汇编语言乃至二进制的机器代码,这足以使大多数技术爱好者望而却步。
随着时间的推移,缓冲区溢出攻击在漏洞的挖掘、分析、调试、利用等环节上已经形成了一套完整的体系。伴随着调试技术和逆向工程的发展,Windows平台下涌现出的众多功能强大的debug工具和反汇编分析软件逐渐让二进制世界和操作系统变得不再神秘,这有力地推动了Windows平台下缓冲区溢出的研究。除此以外,近年来甚至出现了基于架构(FrameWork)的漏洞利用程序开发平台,让这项技术的进入门槛大大降低,使得原本高不可攀的黑客技术变得不再遥不可及。
遗憾的是,与国外飞速发展的高级黑客技术相比,目前国内还没有系统介绍Windows平台下缓冲区溢出漏洞利用技术的专业书籍,而且相关的中文文献资料也非常匮乏。
本书将系统全面地介绍Windows平台软件缓冲区溢出漏洞的发现、检测、分析和利用等方面的知识。
为了保证这些技术能够被读者轻松理解并掌握,本书在叙述中尽量避免枯燥乏味的大段理论阐述和代码粘贴。概念只有在实践中运用后才能真正被掌握,这是我多年来求学生涯的深刻体会。书中所有概念和方法都会在紧随其后的调试实验中被再次解释,实验和案例是本书的精髓所在。从为了阐述概念而精心自制的漏洞程序调试实验到现实中已经造成很大影响的著名漏洞分析,每一个调试实验都有着不同的技术侧重点,每一个漏洞利用都有自己的独到之处。
我将带领您一步一步地完成调试的每一步,并在这个过程中逐步解释漏洞分析思路。不管您是网络安全从业人员、黑客技术发烧友、网络安全专业的研究生或本科生,如果您能够完成这些分析实验,相信您的软件调试技术、对操作系统底层的理解等计算机能力一定会得到一次质的飞跃,并能够对安全技术有一个比较深入的认识。
目录第1篇基础知识
第1章漏洞概述2
1.1bug与漏洞2
1.2几个令人困惑的安全问题2
1.3漏洞挖掘、漏洞分析、漏洞利用3
1.4漏洞的公布与0day响应5
第2章二进制文件概述6
2.1PE文件格式6
2.2虚拟内存6
2.3PE文件与虚拟内存之间的映射8
第3章必备工具13
3.1OllyDbg简介13
3.2SoftICE简介14
3.3WinDbg简介19
3.4IDAPro简介22
3.5二进制编辑器24
3.6虚拟机简介26
3.7Crack二进制文件27
第2篇漏洞利用
第4章栈溢出利用38
4.1系统栈的工作原理38
4.1.1内存的不同用途38
4.1.2栈与系统栈40
4.1.3函数调用时发生了什么41
4.1.4寄存器与函数栈帧44
4.1.5函数调用约定与相关指令45
4.2修改邻接变量49
4.2.1修改邻接变量的原理49
4.2.2突破密码验证程序51
4.3修改函数返回地址57
4.3.1返回地址与程序流程57
4.3.2控制程序的执行流程60
4.4代码植入66
4.4.1代码植入的原理66
4.4.2向进程中植入代码67
第5章开发shellcode的艺术78
第6章堆溢出利用139
第7章Windows异常处理机制深入浅出177
第8章高级内存攻击技术196
第9章揭秘Windows安全机制210
第10章用MetaSploit开发Exploit219
第11章其他漏洞利用技术248
第3篇漏洞分析
第12章漏洞分析技术概述268
第13章MS06-040分析:系统入侵与蠕虫280
第14章MS06-055分析:揭秘“网马”307
第15章MS07-060分析:Word文档中的阴谋318
第4篇漏洞挖掘与软件安全性测试
第16章漏洞挖掘技术浅谈326
第17章安全的软件生命周期346
参考文献
……