基本信息
编辑推荐
《漏洞战争:软件漏洞分析精要》是这些年来难得一见的系统、全面深入分析漏洞攻防心要与战术的书籍。《漏洞战争:软件漏洞分析精要》结合经典的漏洞案例,从攻防思路、分析方法与实战等方面对漏洞攻防做了详细的阐述。既照顾了全局的视野,又不失细节上的周到,对于有志于安全事业并想在安全技术分析上有所提升的读者,这是一本可信赖的必备书籍。正如wushi老师所说:"……对照本书动手调试这些经典漏洞,我相信只要认真做一遍,功力会大增。"
还犹豫什么呢,好书,一本就够!
内容简介
计算机书籍
《漏洞战争:软件漏洞分析精要》系统地讲解软件漏洞分析与利用所需的各类工具、理论技术和实战方法,主要涉及Windows 和Android 系统平台。《漏洞战争:软件漏洞分析精要》根据不同的软件漏洞类型划分,比如堆栈溢出、沙盒逃逸、类型混淆、UAF、内核漏洞等,同时又针对当前流行的移动安全,加入Android 平台上的漏洞分析与利用。以精心挑选的经典漏洞为例,以分享漏洞的分析技巧和工具为主,对这些漏洞的成因、利用及修复方法进行详细讲解,旨在"授之以渔"。《漏洞战争:软件漏洞分析精要》最大的特点是以各种类型的经典漏洞作为实战讲解,摒弃空头理论,几乎是"一本用调试器写出来的书"。
《漏洞战争:软件漏洞分析精要》适合计算机相关专业的本科及研究生,信息安全爱好者,软件安全及移动安全相关的安全从业人员,软件开发与测试人员、黑客等阅读。
作译者
目录
11 漏洞的相关概念 1
111 什么是漏洞 1
112 漏洞的价值 1
113 0Day 漏洞 2
114 PoC 与Exploit 2
12 为什么要分析漏洞 2
13 常用分析工具 3
131 IDA-反汇编利器 3
132 OllyDbg-破解与逆向常用调试器 4
133 Immunity Debugger-漏洞分析专用调试器 4
134 WinDbg-微软正宗调试器 5
135 GDB-Linux 调试器 6
136 JEB-Android 反编译器 7
137 其他 8
14 常见的漏洞分析方法 8
141 静态分析 8
142 动态调试 9
143 源码分析 9
144 补丁比较 9
前言
不知道大家是否曾有过这样的经历:
● 无法读懂网上很多软件漏洞分析文章,不理解里面的漏洞成因和漏洞利用技巧。
● 即使读懂某篇软件漏洞分析文章,自己仍无法独立完成相同漏洞的分析。如果文章中所使用的
测试环境与软件版本跟自己使用的不一样,则顿时更不知如何入手。
● 很多软件漏洞分析文章贴出存在漏洞的汇编代码,指出导致漏洞的原因,即"结论式分析",但如何定位到此段代码并无解释,看完之后,仍不知如何快速定位,缺乏可借鉴的思路。带着这些问题,相信读者会在本书中找到想要的答案。
再来聊下本书的一些写作经历,开始写作本书始于2012年5月,最初是"爱无言"找到我,说大家合作写一本关于软件漏洞案例分析的书,因为那段时间我在博客上每周都会分享一两篇软件漏洞分析的实际案例,而当时国内还没有专门写软件漏洞案例的专著(几年前出版的《0Day安全:软件漏洞分析技术》主要偏向堆和栈溢出及内核方面的漏洞分析,实际案例较少,且"爱无言"也是作者之一)。
就这样,两人开始谋划,写书的念头就此产生。
后来,我又拉了两位朋友加入,然后几人列出大纲目录,但最后因为种种原因,只剩下我一人独自完成本书创作,中途也多次想放弃,但庆幸的是,历时3年半,终于2015年12月完稿,共历时4年后出版。
就这样,一本原为"合著"的书就写成了"专著"。
由于朋友的退出,以及写作速度较慢,中途停写半年,已原本打算放弃。后来,有一天,编辑"皎子"找我聊了一些出书的想法。
就这样,一本原打算沉留箱底的"残卷"再次被"激活"。
之后的写书经历还算顺利,又历时一年左右完稿,比较符合预期,遗留心底多年的梗总算可以释怀了。
相信一些读者看完本书目录之后会有一些疑问,也相信其中一些疑问也是我在定位本书方向时考虑的,所以有必要在此谈一谈。
Q:本书与《0day 安全:软件漏洞分析技术》有何区别?
A:0day安全一书主要是讲Windows平台下堆栈溢出和内核提权的漏洞分析技术,还涉及部分格式化字符串漏洞,从基础讲起,最后是实例分析。本书则完全是以真实的漏洞为实例以分享漏洞分析时的一些技巧,以漏洞类型的不同来分享不同的漏洞分析技巧,可以说是"用调试器写出来的一本书",而且综合考虑当前热门的移动安全,特意加入Android平台上的漏洞分析章节,从Java层、Native层和内核层等方向分享不同的调试分析方法。从难度而言,本书比《0day安全:软件漏洞分析技术》一书更难,可以将本书当作进阶版,搭配学习。
Q:本书列举的许多漏洞实例网上早有分析文章,为何还写这本书?
A:著书的宗旨在于"授人以鱼,不如授人以渔"。如果读者经常看网上的漏洞分析文章,就会发现一个常见现象:它们大多是"结论性分析",而非"思路性分析"。换句话说,就是贴出存在漏洞的汇编代码,然后直接给出漏洞成因的结论,至于如何定位到漏洞代码,并没有给出分析思路。正因为如此,即使你看懂了Vupen漏洞军火商写的分析文章,也不代表你看完后就能独立分析出来,甚至在调试之后,你还会发现Vupen在一些文章里留有"坑",故意省略或写错某些关键内容,如果没有自己实际调试一遍是很难发现这些问题的。
相信有一定软件漏洞分析经验的朋友会注意到,软件漏洞分析的大部分时间是花费在寻找和定位漏洞代码,而非分析存在漏洞的代码。对于有一定编程经验和漏洞基础的读者,如果直接给一段漏洞代码,可能很容易就看出来,但像Adobe和Windows这些复杂的软件或系统,在千千万万的代码行中找到漏洞代码是有一定难度的。因此,本书的重点是讲授如何快速地定位漏洞代码,针对不同漏洞类型采取不同的分析技巧,以帮助大家快速地分析出漏洞成因,制定检测、防御与修复方案。书中的漏洞实例分析技巧是可以长期运用和延伸的,这才是本书的核心价值。
Q:如何借助本书提升自身的软件漏洞分析能力?
序言
不断向底层钻研的技术深度,创造性的广度思维,契而不舍地执着追求是成为优秀的安全研究员所必备的基础素质,无疑riusksk全都具备。
单论技术本身,问世间,是否此山最高,没有人能说的清楚。但是我在书目中还看到了许多超出技术的其他元素:有精益求精、追求完美的极客精神;有循序渐进、耐心引导的导师身影;有架构明晰,逻辑严谨的整体设计感;最能打动我的,其实是那份炽热的分享精神,毫无保留地去帮助那些还在摸索中学习的朋友。
一代宗师除了不断修炼自己之外,还需要将自己的智慧发扬传承,我在书中看到了这样的影子。《0day安全:软件漏洞分析技术》作者,北京子衿晨风科技有限公司CEO
failwest
媒体评论
读者可以对照着动手调试这些经典漏洞,我相信只要认真做一遍,功力会大增。
-- 腾讯科恩实验室总监 wushi
过去的几年,我们见证了移动互联网的兴起,也见证了软件漏洞战场从PC端向移动端的迁移。本书从这个视角出发,结合实例、深入浅出、涵盖全面,是学习软件漏洞的绝佳之选。同时,本书作者riusksk(泉哥)在腾讯安全应急响应中心负责软件漏洞的处理和研究,有着丰富的实战经验。强烈推荐!
-- 腾讯安全平台部总监 lake2
安全漏洞的挖掘与分析是隐秘且难度较高的一门技术,系统性的学习资料更是少之又少。本书以近年来报告出的经典漏洞为蓝本,分析并讲解了常见的各种系统及软件漏洞的成因及攻击方法,通过对这些精彩漏洞实例的全面讲解,相信读者对软件漏洞技术会有更加全面的认识。随着全书内容的展开,读者一定会与我一样,被漏洞挖掘者的聪明与智慧折服。
-- 软件安全专家,《Android软件安全与逆向分析》及
《Mac OS X软件安全与逆向分析》作者 丰生强
对软件漏洞进行分析研究是提高软件安全技术水平的途径之一,他山之石可以攻玉,这本书为我们提供了一个很好的开始,值得认真学习。移动平台的漏洞研究是当下的热点,本书与时俱进地纳入了这一部分内容,不可不读!
-- 自由安全研究者,《挖0day》作者 爱无言
这是自《0day安全:软件漏洞分析技术》以来,又一本关于二进制漏洞分析最全面的力作,本书结合新的经典漏洞与新型分析方法,深度剖析不同类型的安全漏洞,结合不同的分析方法,做到授人以渔。相信能够帮助那些希望从事安全行业的人员,为其提供更好的帮助。
-- 阿里安全威胁情报中心安全专家 instruder
随着互联网的蓬勃发展,安全漏洞也跟着逐年爆发。未知攻,焉知防!因此,如何快速分析漏洞成因是安全研究员必备的一项技能。本书涵盖了各种各样的漏洞类型,覆盖了PC端和移动端,极具实战性和全面性,兼具实用性和时效性,干货满满,是安全研究员提高漏洞分析能力的利器。俱往矣,数漏洞分析,还看此书!
-- 阿里巴巴移动安全专家 dragonltx