預(yù)售地址
China-Pub:http://product.china-pub.com/4971073#qy
京東:http://search.jd.com/Search?keyword=...sort=2&click=2
淘寶:https://world.taobao.com/search/sear...854-PV895_2462
編輯推薦
《漏洞戰(zhàn)爭(zhēng):軟件漏洞分析精要》是這些年來難得一見的系統(tǒng)舰罚、全面深入分析漏洞攻防心要與戰(zhàn)術(shù)的書籍膊毁。《漏洞戰(zhàn)爭(zhēng):軟件漏洞分析精要》結(jié)合經(jīng)典的漏洞案例唬滑,從攻防思路、分析方法與實(shí)戰(zhàn)等方面對(duì)漏洞攻防做了詳細(xì)的闡述泉懦。既照顧了全局的視野,又不失細(xì)節(jié)上的周到,對(duì)于有志于安全事業(yè)并想在安全技術(shù)分析上有所提升的讀者籽懦,這是一本可信賴的必備書籍。正如wushi老師所說:"……對(duì)照本書動(dòng)手調(diào)試這些經(jīng)典漏洞氛魁,我相信只要認(rèn)真做一遍暮顺,功力會(huì)大增。"
還猶豫什么呢秀存,好書捶码,一本就夠!
內(nèi)容簡(jiǎn)介
《漏洞戰(zhàn)爭(zhēng):軟件漏洞分析精要》系統(tǒng)地講解軟件漏洞分析與利用所需的各類工具或链、理論技術(shù)和實(shí)戰(zhàn)方法惫恼,主要涉及Windows?和Android?系統(tǒng)平臺(tái)≈昕福《漏洞戰(zhàn)爭(zhēng):軟件漏洞分析精要》根據(jù)不同的軟件漏洞類型劃分尤筐,比如堆棧溢出、沙盒逃逸洞就、類型混淆盆繁、UAF、內(nèi)核漏洞等旬蟋,同時(shí)又針對(duì)當(dāng)前流行的移動(dòng)安全油昂,加入Android?平臺(tái)上的漏洞分析與利用。以精心挑選的經(jīng)典漏洞為例倾贰,以分享漏洞的分析技巧和工具為主冕碟,對(duì)這些漏洞的成因、利用及修復(fù)方法進(jìn)行詳細(xì)講解匆浙,旨在"授之以漁"安寺。《漏洞戰(zhàn)爭(zhēng):軟件漏洞分析精要》最大的特點(diǎn)是以各種類型的經(jīng)典漏洞作為實(shí)戰(zhàn)講解首尼,摒棄空頭理論挑庶,幾乎是"一本用調(diào)試器寫出來的書"。
《漏洞戰(zhàn)爭(zhēng):軟件漏洞分析精要》適合計(jì)算機(jī)相關(guān)專業(yè)的本科及研究生软能,信息安全愛好者迎捺,軟件安全及移動(dòng)安全相關(guān)的安全從業(yè)人員,軟件開發(fā)與測(cè)試人員查排、黑客等閱讀凳枝。
目錄
第1?章?基礎(chǔ)知識(shí)?1
11?漏洞的相關(guān)概念?1
111?什么是漏洞?1
112?漏洞的價(jià)值?1
113?0Day?漏洞?2
114?PoC?與Exploit?2
12?為什么要分析漏洞?2
13?常用分析工具?3
131?IDA-反匯編利器?3
132?OllyDbg-破解與逆向常用調(diào)試器?4
133?Immunity?Debugger-漏洞分析專用調(diào)試器?4
134?WinDbg-微軟正宗調(diào)試器?5
135?GDB-Linux?調(diào)試器?6
136?JEB-Android?反編譯器?7
137?其他?8
14?常見的漏洞分析方法?8
141?靜態(tài)分析?8
142?動(dòng)態(tài)調(diào)試?9
143?源碼分析?9
144?補(bǔ)丁比較?9
145?污點(diǎn)追蹤?10
15?學(xué)習(xí)資源?11
151?站點(diǎn)分享?11
152?書籍推薦?12
16?本章總結(jié)?13
第2?章?棧溢出漏洞分析?14
21?棧溢出簡(jiǎn)史?14
22?棧溢出原理?15
23?CVE-2010-2883?Adobe?Reader?TTF?字體SING?表?xiàng)R绯雎┒?16
231?LuckyCat?攻擊事件?16
232?漏洞描述?18
233?分析環(huán)境?18
234?基于字符串定位的漏洞分析方法?19
235?樣本Exploit?技術(shù)分析?20
236?樣本Shellcode?惡意行為分析?26
237?漏洞修復(fù)?29
24?CVE-2010-3333?Microsoft?RTF?棧溢出漏洞?30
241?林來瘋攻擊事件?30
242?漏洞描述?31
243?分析環(huán)境?31
244?RTF?文件格式?32
245?基于棧回溯的漏洞分析方法?33
246?漏洞利用?41
247?Office?2003?與Office?2007?Exploit?通用性研究?42
248?漏洞修復(fù)?45
25?CVE-2011-0104?Microsoft?Excel?TOOLBARDEF?Record?棧溢出漏洞?51
251?漏洞描述?51
252?分析環(huán)境?52
253?基于污點(diǎn)追蹤思路的漏洞分析方法?52
254?漏洞修復(fù)?59
26?阿里旺旺ActiveX?控件imageMandll?棧溢出漏洞?60
261?漏洞描述?60
262?分析環(huán)境?60
263?針對(duì)ActiveX?控件的漏洞分析方法?60
264?漏洞利用?63
27?CVE-2012-0158?Microsoft?Office?MSCOMCTLocx?棧溢出漏洞?65
271?Lotus?Blossom?行動(dòng)?65
272?漏洞描述?65
273?分析環(huán)境?65
274?基于OffVis?工具的Office?漏洞分析方法?66
275?漏洞修復(fù)?71
28?總結(jié)?72
第3?章?堆溢出漏洞分析?73
31?堆溢出簡(jiǎn)史?73
32?堆溢出原理?74
33?堆調(diào)試技巧?79
331?堆尾檢查?80
332?頁堆?81
34?CVE-2010-2553?Microsoft?Cinepak?Codec?CVDecompress?函數(shù)堆溢出漏洞?85
341?漏洞描述?85
342?分析環(huán)境?85
343?基于HeapPage?的堆漏洞分析方法?85
344?漏洞修復(fù)?101
35?CVE-2012-0003?Microsoft?Windows?Media?Player?winmmdll?MIDI?文件堆溢出漏洞?104
351?關(guān)于"蜘蛛"漏洞攻擊包(Zhi-Zhu?Exploit?Pack)?104
352?漏洞描述?105
353?分析環(huán)境?105
354?MIDI?文件格式?105
355?基于導(dǎo)圖推算的漏洞分析方法?107
356?漏洞利用?122
357?補(bǔ)丁比較?130
36?CVE-2013-0077?Microsoft?DirectShow?quartzdll?m2p?文件堆溢出漏洞?130
361?漏洞描述?130
362?基于HTC?的漏洞分析方法?131
363?漏洞修復(fù)?134
37?CVE-2012-1876?Internet?Exporter?MSHTMLdll?CalculateMinMax?堆溢出漏洞?135
371?在Pwn2Own?黑客大賽上用于攻破IE9?的漏洞?135
372?分析環(huán)境?135
373?基于HPA?的漏洞分析方法?135
374?通過信息泄露實(shí)現(xiàn)漏洞利用?149
375?漏洞修復(fù)?161
38?小結(jié)?163
第4?章?整數(shù)溢出漏洞分析?164
41?整數(shù)溢出簡(jiǎn)史?164
42?整數(shù)溢出原理?164
421?基于棧的整數(shù)溢出?165
422?基于堆的整數(shù)溢出?166
43?CVE-2011-0027?Microsoft?Data?Access?Components?整數(shù)溢出漏洞?167
431?在Pwn2Own?黑客大賽上用于攻破IE8?的漏洞?167
432?基于堆分配記錄的漏洞分析方法?168
433?補(bǔ)丁比較?176
44?CVE-2012-0774?Adobe?Reader?TrueType?字體整數(shù)溢出漏洞?178
441?漏洞描述?178
442?PDF?文件格式與常用分析工具?178
443?基于條件記錄斷點(diǎn)的漏洞分析方法?182
444?補(bǔ)丁分析?196
45?CVE-2013-0750?Firefox?字符串替換整數(shù)溢出漏洞?197
451?漏洞描述?197
452?基于源碼調(diào)試的漏洞分析方法?197
453?源碼比對(duì)?207
46?CVE-2013-2551?Internet?Explorer?VML?COALineDashStyleArray?整數(shù)溢出漏洞?208
461?在Pwn2Own?黑客大賽上攻破IE10?的漏洞?208
462?基于類函數(shù)定位的漏洞分析方法?208
463?利用信息泄露實(shí)現(xiàn)漏洞利用?223
47?總結(jié)?226
第5?章?格式化字符串漏洞分析?227
51?格式化字符串漏洞簡(jiǎn)史?227
52?格式化字符串漏洞的原理?227
53?CVE-2012-0809?Sudo?sudo_debug?函數(shù)格式化字符串漏洞?234
531?漏洞描述?234
532?通過源碼比對(duì)分析漏洞?234
54?CVE-2012-3569?VMware?OVF?Tool?格式化字符串漏洞?235
541?漏洞描述?235
542?基于輸出消息的漏洞定位方法?235
543?漏洞利用?239
55?總結(jié)?242
第6?章?雙重釋放漏洞分析?243
61?雙重釋放漏洞簡(jiǎn)史?243
62?雙重釋放漏洞的原理?243
63?CVE-2010-3974?Windows?傳真封面編輯器fxscoverexe?雙重釋放漏洞?246
631?漏洞描述?246
632?通過棸虾耍回溯和堆狀態(tài)判定漏洞類型?246
633?通過補(bǔ)丁比較確定漏洞成因及修復(fù)方法?249
64?CVE-2014-0502?Adobe?Flash?Player?雙重釋放漏洞?251
641?GreedyWonk?行動(dòng)?251
642?靜態(tài)分析攻擊樣本?251
643?Shellcode?自動(dòng)化模擬執(zhí)行?263
644?基于ROP?指令地址的反向追蹤?265
65?總結(jié)?273
第7?章?釋放重引用漏洞分析?274
71?釋放重引用(Use?After?Free岖瑰,UAF)漏洞簡(jiǎn)史?274
72?UAF?漏洞的原理?274
73?CVE-2011-0065?Firefox?mChannel?UAF?漏洞?277
731?漏洞描述?277
732?通過動(dòng)態(tài)調(diào)試快速定位漏洞源碼?277
733?漏洞利用?285
734?源碼比對(duì)?286
74?CVE-2013-1347?Microsoft?IE?CGenericElement?UAF?漏洞?287
741?"水坑"攻擊事件?287
742?通過HPA?快速定位漏洞對(duì)象?287
743?逆向分析IE?引擎對(duì)JavaScript?代碼的解析?290
744?追本溯源:探尋漏洞的本質(zhì)?321
745?漏洞利用?324
75?CVE-2013-3346?Adobe?Reader?ToolButton?UAF?漏洞?326
751?"Epic?Turla"網(wǎng)絡(luò)間諜攻擊行動(dòng)?326
752?使用peepdf?分析PDF?惡意樣本?326
753?漏洞利用?338
76?CVE-2015-0313?Adobe?Flash?Player?Workers?ByteArray?UAF?漏洞?340
761?漏洞描述?340
762?分析ActiveScript?虛擬機(jī)源碼輔助漏洞調(diào)試?340
763?Flash?JIT?調(diào)試插件與符號(hào)文件?353
764?漏洞利用?354
765?漏洞修復(fù)?360
77?本章總結(jié)?360
第8?章?數(shù)組越界訪問漏洞分析?361
81?數(shù)組越界與溢出的關(guān)系?361
82?數(shù)組越界訪問漏洞原理?361
83?CVE-2011-2110?Adobe?Flash?Player?數(shù)組越界訪問漏洞?363
831?漏洞描述?363
832?解決安裝舊版Flash?Player?的限制問題?364
833?通過Perl?腳本輔助分析樣本?365
834?搭建服務(wù)器重現(xiàn)漏洞場(chǎng)景?371
835?通過修改樣本代碼定位漏洞?373
836?通過構(gòu)造信息泄露利用漏洞?376
837?通過搜索指令序列分析補(bǔ)丁?380
84?CVE-2014-0160?OpenSSL?TLS?數(shù)組越界訪問漏洞("心臟出血")?382
841?漏洞描述?382
842?基于源碼對(duì)比與跟蹤的漏洞分析方法?383
843?利用漏洞盜取網(wǎng)站賬號(hào)?389
85?本章總結(jié)?394
第9?章?內(nèi)核漏洞分析?395
91?Windows?內(nèi)核漏洞漫談?395
92?Windows?內(nèi)核調(diào)試環(huán)境搭建?396
93?常見內(nèi)核漏洞原理與利用?398
931?漏洞成因分析?398
932?漏洞利用?405
94?360?安全衛(wèi)士bregdrvsys?本地提權(quán)漏洞分析?414
941?漏洞描述?414
942?基于導(dǎo)出函數(shù)和IO?控制碼的追蹤分析?414
95?CVE-2011-2005?Windows?Afdsys?本地提權(quán)漏洞?423
951?漏洞描述?423
952?從利用代碼到漏洞函數(shù)的定位分析?423
953?補(bǔ)丁比較?426
96?CVE-2013-3660?Windows?win32ksys?EPATHOB?指針未初始化漏洞?426
961?漏洞描述?426
962?通過IDA?定義結(jié)構(gòu)體輔助分析?427
963?漏洞利用?431
97?CVE-2014-1767?Windows?AFDsys?雙重釋放漏洞(Pwn2Own?2014)?437
971?Pwnie?Awards?2014"最佳提權(quán)漏洞獎(jiǎng)"得主?437
972?基于IOCTL?處理函數(shù)自動(dòng)追蹤記錄的分析方法?437
973?漏洞利用?454
974?補(bǔ)丁分析?460
98?本章總結(jié)?462
第10?章?Android?平臺(tái)漏洞分析?463
101?Android?平臺(tái)漏洞簡(jiǎn)史?463
102?Android?平臺(tái)漏洞分類?466
103?常見的漏洞分析方法?467
1031?APK?靜態(tài)分析?467
1032?smali?動(dòng)態(tài)調(diào)試?468
1033?so?庫動(dòng)態(tài)調(diào)試?474
1034?補(bǔ)丁源碼比對(duì)?475
1035?系統(tǒng)Java?源碼調(diào)試?477
1036?系統(tǒng)C/C++源碼調(diào)試?486
1037?Android?內(nèi)核源碼調(diào)試?488
104?智能插座漏洞分析?492
1041?漏洞描述?492
1042?靜態(tài)逆向分析?492
1043?利用漏洞控制網(wǎng)絡(luò)上的任意插座?497
1044?總結(jié)?502
105?CVE-2013-4787?Android?系統(tǒng)簽名漏洞?502
1051?漏洞描述?502
1052?Android?簽名機(jī)制?503
1053?漏洞重現(xiàn)?509
1054?漏洞原理分析?514
1055?漏洞修復(fù)?516
106?CVE-2010-1119?Android?WebKit?UAF?漏洞?516
1061?漏洞描述?516
1062?漏洞利用?517
1063?通過補(bǔ)丁源碼分析漏洞成因?524
107?CVE-2014-3153?Android?內(nèi)核Futex?提權(quán)漏洞(Towelroot)?528
1071?Android?設(shè)備Root?神器-Towelroot?528
1072?通過內(nèi)核源碼調(diào)試分析漏洞?528
1073?漏洞利用?548
1074?漏洞修復(fù)?554
108?本章總結(jié)?554
第11?章?其他類型的漏洞分析?555
111?本章引言?555
112?CVE-2013-2423?JAVA?Applet?reflection?類型混淆代碼執(zhí)行漏洞?555
1121?漏洞描述?555
1122?類型混淆漏洞?555
1123?Java?安全機(jī)制?556
1124?漏洞分析與利用?558
1125?漏洞修復(fù)?562
1126?2013?年漏洞之王-Java?563
113?CVE-2014-0257?Microsoft?Internet?Explorer?11?dfsvc?組件沙盒逃逸漏洞?564
1131?漏洞描述?564
1132?IE?沙盒保護(hù)原理?564
1133?IE?沙盒攻擊面分析?569
1134?CVE-2014-0257?漏洞分析與利用?570
114?CVE-2014-9150?Adobe?Acrobat?Reader?MoveFileEx?IPC?Hook?競(jìng)爭(zhēng)條件(沙盒逃逸)漏洞?572
1141?Therac-25?醫(yī)療事故?572
1142?競(jìng)爭(zhēng)條件漏洞原理?573
1143?CVE-2014-9150?漏洞描述?574
1144?Adobe?沙盒簡(jiǎn)介?574
1145?利用漏洞實(shí)現(xiàn)沙盒逃逸?575
115?本章總結(jié)?578
第12?章?軟件漏洞發(fā)展趨勢(shì)?579
121?軟件漏洞領(lǐng)域的新挑戰(zhàn)?579
122?移動(dòng)終端漏洞發(fā)展趨勢(shì)?579
123?云計(jì)算平臺(tái)漏洞發(fā)展趨勢(shì)?581
124?物聯(lián)網(wǎng)漏洞發(fā)展趨勢(shì)?583
125?本章總結(jié)?585
前言
為什么寫這本書
不知道大家是否曾有過這樣的經(jīng)歷:
●?無法讀懂網(wǎng)上很多軟件漏洞分析文章叛买,不理解里面的漏洞成因和漏洞利用技巧。
●?即使讀懂某篇軟件漏洞分析文章锭环,自己仍無法獨(dú)立完成相同漏洞的分析聪全。如果文章中所使用的
測(cè)試環(huán)境與軟件版本跟自己使用的不一樣,則頓時(shí)更不知如何入手辅辩。
●?很多軟件漏洞分析文章貼出存在漏洞的匯編代碼难礼,指出導(dǎo)致漏洞的原因,即"結(jié)論式分析"玫锋,但如何定位到此段代碼并無解釋蛾茉,看完之后,仍不知如何快速定位撩鹿,缺乏可借鑒的思路谦炬。帶著這些問題,相信讀者會(huì)在本書中找到想要的答案节沦。
再來聊下本書的一些寫作經(jīng)歷键思,開始寫作本書始于2012年5月,最初是"愛無言"找到我甫贯,說大家合作寫一本關(guān)于軟件漏洞案例分析的書吼鳞,因?yàn)槟嵌螘r(shí)間我在博客上每周都會(huì)分享一兩篇軟件漏洞分析的實(shí)際案例,而當(dāng)時(shí)國(guó)內(nèi)還沒有專門寫軟件漏洞案例的專著(幾年前出版的《0Day安全:軟件漏洞分析技術(shù)》主要偏向堆和棧溢出及內(nèi)核方面的漏洞分析叫搁,實(shí)際案例較少赔桌,且"愛無言"也是作者之一)。
就這樣渴逻,兩人開始謀劃疾党,寫書的念頭就此產(chǎn)生。
后來惨奕,我又拉了兩位朋友加入雪位,然后幾人列出大綱目錄,但最后因?yàn)榉N種原因梨撞,只剩下我一人獨(dú)自完成本書創(chuàng)作雹洗,中途也多次想放棄,但慶幸的是聋袋,歷時(shí)3年半队伟,終于2015年12月完稿穴吹,共歷時(shí)4年后出版幽勒。
就這樣,一本原為"合著"的書就寫成了"專著"港令。
由于朋友的退出啥容,以及寫作速度較慢锈颗,中途停寫半年,已原本打算放棄咪惠。后來击吱,有一天,編輯"皎子"找我聊了一些出書的想法遥昧。
就這樣覆醇,一本原打算沉留箱底的"殘卷"再次被"激活"。
之后的寫書經(jīng)歷還算順利炭臭,又歷時(shí)一年左右完稿永脓,比較符合預(yù)期,遺留心底多年的剐裕總算可以釋懷了常摧。
相信一些讀者看完本書目錄之后會(huì)有一些疑問,也相信其中一些疑問也是我在定位本書方向時(shí)考慮的威创,所以有必要在此談一談落午。
Q:本書與《0day?安全:軟件漏洞分析技術(shù)》有何區(qū)別?
A:0day安全一書主要是講Windows平臺(tái)下堆棧溢出和內(nèi)核提權(quán)的漏洞分析技術(shù)肚豺,還涉及部分格式化字符串漏洞溃斋,從基礎(chǔ)講起,最后是實(shí)例分析详炬。本書則完全是以真實(shí)的漏洞為實(shí)例以分享漏洞分析時(shí)的一些技巧盐类,以漏洞類型的不同來分享不同的漏洞分析技巧,可以說是"用調(diào)試器寫出來的一本書"呛谜,而且綜合考慮當(dāng)前熱門的移動(dòng)安全在跳,特意加入Android平臺(tái)上的漏洞分析章節(jié),從Java層隐岛、Native層和內(nèi)核層等方向分享不同的調(diào)試分析方法猫妙。從難度而言,本書比《0day安全:軟件漏洞分析技術(shù)》一書更難聚凹,可以將本書當(dāng)作進(jìn)階版割坠,搭配學(xué)習(xí)。
Q:本書列舉的許多漏洞實(shí)例網(wǎng)上早有分析文章妒牙,為何還寫這本書彼哼?
A:著書的宗旨在于"授人以魚,不如授人以漁"湘今。如果讀者經(jīng)掣抑欤看網(wǎng)上的漏洞分析文章,就會(huì)發(fā)現(xiàn)一個(gè)常見現(xiàn)象:它們大多是"結(jié)論性分析",而非"思路性分析"拴签。換句話說孝常,就是貼出存在漏洞的匯編代碼,然后直接給出漏洞成因的結(jié)論蚓哩,至于如何定位到漏洞代碼构灸,并沒有給出分析思路。正因?yàn)槿绱税独妫词鼓憧炊薞upen漏洞軍火商寫的分析文章喜颁,也不代表你看完后就能獨(dú)立分析出來,甚至在調(diào)試之后曹阔,你還會(huì)發(fā)現(xiàn)Vupen在一些文章里留有"坑"洛巢,故意省略或?qū)戝e(cuò)某些關(guān)鍵內(nèi)容,如果沒有自己實(shí)際調(diào)試一遍是很難發(fā)現(xiàn)這些問題的次兆。
相信有一定軟件漏洞分析經(jīng)驗(yàn)的朋友會(huì)注意到稿茉,軟件漏洞分析的大部分時(shí)間是花費(fèi)在尋找和定位漏洞代碼,而非分析存在漏洞的代碼芥炭。對(duì)于有一定編程經(jīng)驗(yàn)和漏洞基礎(chǔ)的讀者漓库,如果直接給一段漏洞代碼,可能很容易就看出來园蝠,但像Adobe和Windows這些復(fù)雜的軟件或系統(tǒng)渺蒿,在千千萬萬的代碼行中找到漏洞代碼是有一定難度的。因此彪薛,本書的重點(diǎn)是講授如何快速地定位漏洞代碼茂装,針對(duì)不同漏洞類型采取不同的分析技巧,以幫助大家快速地分析出漏洞成因善延,制定檢測(cè)少态、防御與修復(fù)方案。書中的漏洞實(shí)例分析技巧是可以長(zhǎng)期運(yùn)用和延伸的易遣,這才是本書的核心價(jià)值彼妻。
Q:如何借助本書提升自身的軟件漏洞分析能力?
. A:本書主要面向有一定軟件漏洞基礎(chǔ)的讀者豆茫,如果缺乏這方面的基礎(chǔ)侨歉,且有一定C語言和匯編語言基礎(chǔ),建議提前看看《0day安全:軟件漏洞分析技術(shù)》一書揩魂。軟件漏洞分析是一門實(shí)踐性比較強(qiáng)的安全領(lǐng)域分支幽邓,需要許多實(shí)際動(dòng)手的調(diào)試經(jīng)驗(yàn),因此建議大家在看本書時(shí)火脉,一邊看一邊動(dòng)手調(diào)試牵舵,以加深理解茅特,就像騎自行車一樣,熟練之后棋枕,哪怕十年未碰,也依然會(huì)騎妒峦。本書在分析漏洞時(shí)重斑,也盡量以思路性地描述為主篱竭,以講解分析漏洞時(shí)的思考方式和常用技巧膜毁,包括工具和方法論,因此大家在閱讀時(shí)愿险,應(yīng)該掌握書中介紹的思考方式笛丙、工具運(yùn)用及分析技巧漾脂,畢竟單個(gè)漏洞案例本身是會(huì)過時(shí)的,但技巧性的東西總是可以借鑒和擴(kuò)展胚鸯。
記得大一上第一節(jié)歷史課時(shí)骨稿,老師說過這樣一句話,如果在未來的某一天姜钳,你在和朋友閑聊時(shí)坦冠,能夠運(yùn)用到歷史課上學(xué)到的知識(shí),哪怕一句話作為談資哥桥,那這歷史課就算沒白學(xué)辙浑。同樣地,我也希望未來大家在分析軟件漏洞時(shí)拟糕,本書能夠提供一些幫助判呕,哪怕是一個(gè)分析技巧,一個(gè)工具使用送滞,我也覺得這4年的付出算值了侠草。
縱觀近五年,各種APT攻擊事件頻發(fā)犁嗅,包括知名企業(yè)梦抢,甚至國(guó)家級(jí)單位都曾遭受到漏洞攻擊。每年都有一款產(chǎn)品的漏洞被頻繁用于網(wǎng)絡(luò)攻擊愧哟,比如2012年的Office漏洞(還記得經(jīng)典的CVE-2012-0158嗎奥吩?),2013年的Java漏洞蕊梧,2014年的Internet?Explorer漏洞霞赫,2015年Adobe?Flash漏洞。PC端上的軟件漏洞一直在逐年增加肥矢,雖然廠商在不斷地推出各種安全機(jī)制端衰,但漏洞利用技術(shù)的發(fā)展從未間斷叠洗,Exploiter們依然生存得很好。同時(shí)旅东,互聯(lián)網(wǎng)早已步入移動(dòng)化時(shí)代灭抑,伴隨著PC軟件漏洞攻擊事件的頻發(fā),移動(dòng)端的漏洞攻擊也在逐年增長(zhǎng)抵代。因此腾节,筆者結(jié)合PC端(Windows)與移動(dòng)端(Android)平臺(tái)上的漏洞案例,歷時(shí)近4年荤牍,將自身的實(shí)戰(zhàn)經(jīng)驗(yàn)整理成本書案腺。
求學(xué)之路
經(jīng)常有人問我:"一個(gè)醫(yī)學(xué)生為什么會(huì)轉(zhuǎn)行做安全?"康吵,通常我都會(huì)這么回答:"因?yàn)樾≌f看多了"劈榨。
大一時(shí),由于喜歡看黑客小說晦嵌,比如《黑客傳說》《地獄黑客》《指間的黑客》同辣,就去圖書館找一些黑客書籍學(xué)習(xí),每天中午都不休息惭载,幾乎天天都泡在圖書館看書邑闺,甚至翹課去看計(jì)算機(jī)書。
大四才買計(jì)算機(jī)棕兼,在此之前一直都只能去網(wǎng)吧陡舅、學(xué)校機(jī)房或者借用舍友的計(jì)算機(jī)。當(dāng)年就用諾基亞3100手機(jī)看完了《Windows程序設(shè)計(jì)》伴挚、《Windows核心編程》和《Windows環(huán)境下32位匯編語言程序設(shè)計(jì)》靶衍。后來就網(wǎng)購(gòu)實(shí)體書來看,這樣比在網(wǎng)吧看電子書更實(shí)惠茎芋。
大學(xué)期間颅眶,經(jīng)常給《黑客防線》雜志投稿,一方面可以提高個(gè)人技術(shù)田弥,一方面可以用稿費(fèi)作為生活補(bǔ)貼涛酗,后來就用稿費(fèi)加上我哥的經(jīng)濟(jì)支持,買下了第一臺(tái)屬于自己的計(jì)算機(jī)偷厦,本書就有一半內(nèi)容是在那臺(tái)計(jì)算機(jī)上完成的商叹。
在求學(xué)這條道路上,我一直是一個(gè)人默默地前行著只泼,就連一塊生活了幾年的舍友也不知道我在學(xué)習(xí)安全方面的知識(shí)剖笙,我買的一堆計(jì)算機(jī)書籍一直藏在宿舍衣柜最里面。在此過程中请唱,自己走過很多彎路弥咪,甚至多次差點(diǎn)放棄过蹂,但很慶幸最后還是堅(jiān)持下來了,并直至今日聚至,依然在安全這條道路上前行著……
面試經(jīng)歷
在圈內(nèi)朋友的建議下酷勺,我在大五(醫(yī)學(xué)五年制)上學(xué)期開始找安全相關(guān)的工作,最終順利拿到安恒和騰訊的offer扳躬。當(dāng)初投簡(jiǎn)歷給安恒時(shí)脆诉,安恒的副總裁看完簡(jiǎn)歷后直接發(fā)了offer,我有點(diǎn)受寵若驚坦报,也特別感謝安恒的信任,但最終還是選擇了騰訊狂鞋。面試騰訊的經(jīng)歷片择,我覺得是個(gè)有趣的過程,值得與大家分享骚揍。
那年我還在廈門市第二醫(yī)院骨傷科實(shí)習(xí)字管,門診部剛好不是特別忙,我在給一位腰椎患者做完針灸后信不,就接到來自騰訊安全中心的面試電話嘲叔。然后趁主任不在,偷偷躲到門診部后面的樓梯口進(jìn)行電話面試抽活,整個(gè)面試過程還算比較順利硫戈,第2天騰訊安全中心就來電說希望我到深圳總部面試。
到了深圳總部后下硕,騰訊安全中心的主管面試了我丁逝,雖然聊了一個(gè)半小時(shí),但沒有問我多少問題梭姓,聊完后直接被帶去HR那里面試霜幼。
HR面試我時(shí),并非以常規(guī)的話題開場(chǎng)誉尖,我們是以腰椎間盤突出的話題開場(chǎng)的罪既,也算是一次別開生面的面試經(jīng)歷。
回到廈門后铡恕,我跟帶教老師說明了轉(zhuǎn)行情況琢感,之后有上手術(shù)臺(tái)的機(jī)會(huì),我都會(huì)主動(dòng)讓給其他同班同學(xué)探熔,讓他們有更多上臺(tái)練手的機(jī)會(huì)猩谊,而我自己自然有更多的時(shí)間去專研安全技術(shù)。
加入騰訊
騰訊是我的第一家雇主祭刚,也是目前我唯一工作過的公司牌捷,從我畢業(yè)一直工作到現(xiàn)在墙牌。在公司我見證了騰訊安全應(yīng)急響應(yīng)中心(TSRC)的成立與發(fā)展,幫助完善各種流程和標(biāo)準(zhǔn)暗甥,作為早期主要的漏洞審核者喜滨,我也從廣大白帽子身上學(xué)到很多東西,包括各種漏洞挖掘與利用技術(shù)撤防,涉及各個(gè)安全領(lǐng)域虽风,如Web安全、驅(qū)動(dòng)安全寄月、應(yīng)用軟件安全辜膝、移動(dòng)安全等,正是TSRC給了我更多學(xué)習(xí)的機(jī)會(huì)漾肮,使得我在安全技術(shù)上能夠更加全面地發(fā)展厂抖。除此之外,我在公司也做一些安全研究工作克懊,并研發(fā)出Android與iOS應(yīng)用安全審計(jì)系統(tǒng)忱辅,已投入公司日常運(yùn)營(yíng)使用。
至今谭溉,我依然覺得工作能夠與興趣結(jié)合在一起墙懂,是一件既幸福又幸運(yùn)的事,而選擇騰訊依然是我當(dāng)年的明智之舉扮念。
著書感言
本書是我寫的第一本書损搬,也可能是最后一本技術(shù)書籍,只有自己經(jīng)歷了著書過程柜与,才知道寫書的不易场躯。特別是類似本書這種以漏洞實(shí)例進(jìn)行調(diào)試分析的書,寫起來特別費(fèi)時(shí)旅挤,也更需要有持之以恒之的毅力踢关。如果說單純寫書用掉1年時(shí)間,那么我用來調(diào)試的時(shí)間大約是3年粘茄,因此可以說這是"一本用調(diào)試器寫出來的書"签舞。
"開頭容易,收尾難"是個(gè)人著書的真實(shí)感受柒瓣,很多人一時(shí)興起寫了開頭儒搭,最后很難堅(jiān)持下去,導(dǎo)致夭折了不少著作芙贫。
本書結(jié)構(gòu)
本書共12章搂鲫,可以分為三大部分。
基礎(chǔ)篇(第1章):主要介紹一些軟件漏洞相關(guān)的基本概念磺平,以及常用工具及漏洞分析方法魂仍,最后向讀者推薦一些相關(guān)的學(xué)習(xí)站點(diǎn)和書籍拐辽,方便讀者做進(jìn)一步地學(xué)習(xí)和交流。
實(shí)戰(zhàn)篇(第2~11章):是本書最主要的部分擦酌,根據(jù)不同的漏洞類型挑選不同的經(jīng)典案例俱诸,用不同的漏洞分析技巧,向讀者介紹比較高效的分析方法赊舶,剖析各種常見的軟件漏洞類型睁搭、原理、利用和修復(fù)的實(shí)戰(zhàn)技術(shù)笼平。同時(shí)园骆,緊跟當(dāng)前熱門的移動(dòng)互聯(lián)網(wǎng)安全問題,增加了Android平臺(tái)的漏洞分析寓调,以保持內(nèi)容與時(shí)俱進(jìn)锌唾。
展望篇(第12章):對(duì)未來的軟件漏洞發(fā)展趨勢(shì)做出預(yù)判,相信未來的主要戰(zhàn)場(chǎng)會(huì)更集中在移動(dòng)終端捶牢、云計(jì)算平臺(tái)鸠珠、物聯(lián)網(wǎng)三大方向上巍耗,并對(duì)現(xiàn)有的這些方向的漏洞案例進(jìn)行簡(jiǎn)要介紹秋麸。
致謝
感謝我父母的養(yǎng)育之恩,是他們?cè)诒澈竽刂С治仪靶小?/p>
感謝我的兄長(zhǎng)在生活和工作上對(duì)我的幫助與支持炬太。
感謝我的女朋友灸蟆,正是她的督促和支持才讓我能夠準(zhǔn)時(shí)完稿,并且書中有些截圖是經(jīng)過她后期制作的亲族,以便使得圖片的印刷效果更好炒考。
感謝我的姑母長(zhǎng)期以來對(duì)我生活上的關(guān)心與照顧。
感謝我的公司騰訊霎迫,它所營(yíng)造的良好氛圍斋枢,使我的技術(shù)水平和在職場(chǎng)的發(fā)展都更上一層樓。同時(shí)也感謝在工作中一直給予我?guī)椭凸膭?lì)的同事和領(lǐng)導(dǎo)知给,由于人數(shù)較多瓤帚,就不一一列舉。
感謝王清先生為本書作序涩赢,他所著書籍一直是軟件安全行業(yè)的經(jīng)典戈次。
感謝博文視點(diǎn)的編輯皎子、鄭柳潔及她們的團(tuán)隊(duì)筒扒,正是他們的努力才使得本書最終能夠與大家見面怯邪。
感謝各位圈內(nèi)的朋友,他們包括但不限于(排名不分先后):wushi花墩、愛無言悬秉、仙果澄步、wingdbg、instruder搂捧、kanxue驮俗、lake2、harite允跑、h4ckmp王凑、dragonltx、非蟲聋丝、monster索烹、gmxp、古河弱睦、冰雪風(fēng)谷百姓、KiDebug、KK……
由于作者水平有限况木,書中難免有誤垒拢,歡迎各位業(yè)界同仁斧正!
序言
獨(dú)樂樂火惊,與人樂樂求类,孰樂?
不斷向底層鉆研的技術(shù)深度屹耐,創(chuàng)造性的廣度思維尸疆,契而不舍地執(zhí)著追求是成為優(yōu)秀的安全研究員所必備的基礎(chǔ)素質(zhì),無疑riusksk全都具備惶岭。
單論技術(shù)本身寿弱,問世間,是否此山最高按灶,沒有人能說的清楚症革。但是我在書目中還看到了許多超出技術(shù)的其他元素:有精益求精、追求完美的極客精神鸯旁;有循序漸進(jìn)噪矛、耐心引導(dǎo)的導(dǎo)師身影;有架構(gòu)明晰羡亩,邏輯嚴(yán)謹(jǐn)?shù)恼w設(shè)計(jì)感摩疑;最能打動(dòng)我的,其實(shí)是那份熾熱的分享精神畏铆,毫無保留地去幫助那些還在摸索中學(xué)習(xí)的朋友雷袋。
一代宗師除了不斷修煉自己之外,還需要將自己的智慧發(fā)揚(yáng)傳承,我在書中看到了這樣的影子楷怒。
《0day安全:軟件漏洞分析技術(shù)》作者蛋勺,北京子衿晨風(fēng)科技有限公司CEO?failwest
媒體評(píng)論
本書對(duì)近年來影響比較大的漏洞一一詳細(xì)剖析,于細(xì)節(jié)處可以看出作者的功力鸠删,對(duì)于漏洞攻防領(lǐng)域是一本不可多得的原創(chuàng)好書抱完。
讀者可以對(duì)照著動(dòng)手調(diào)試這些經(jīng)典漏洞,我相信只要認(rèn)真做一遍刃泡,功力會(huì)大增巧娱。
--?騰訊科恩實(shí)驗(yàn)室總監(jiān)?wushi
過去的幾年,我們見證了移動(dòng)互聯(lián)網(wǎng)的興起烘贴,也見證了軟件漏洞戰(zhàn)場(chǎng)從PC端向移動(dòng)端的遷移禁添。本書從這個(gè)視角出發(fā),結(jié)合實(shí)例桨踪、深入淺出老翘、涵蓋全面,是學(xué)習(xí)軟件漏洞的絕佳之選锻离。同時(shí)铺峭,本書作者riusksk(泉哥)在騰訊安全應(yīng)急響應(yīng)中心負(fù)責(zé)軟件漏洞的處理和研究,有著豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)汽纠。強(qiáng)烈推薦卫键!
--?騰訊安全平臺(tái)部總監(jiān)?lake2
安全漏洞的挖掘與分析是隱秘且難度較高的一門技術(shù),系統(tǒng)性的學(xué)習(xí)資料更是少之又少疏虫。本書以近年來報(bào)告出的經(jīng)典漏洞為藍(lán)本永罚,分析并講解了常見的各種系統(tǒng)及軟件漏洞的成因及攻擊方法啤呼,通過對(duì)這些精彩漏洞實(shí)例的全面講解卧秘,相信讀者對(duì)軟件漏洞技術(shù)會(huì)有更加全面的認(rèn)識(shí)。隨著全書內(nèi)容的展開官扣,讀者一定會(huì)與我一樣翅敌,被漏洞挖掘者的聰明與智慧折服。
--?軟件安全專家惕蹄,《Android軟件安全與逆向分析》及《Mac?OS?X軟件安全與逆向分析》作者?豐生強(qiáng)
對(duì)軟件漏洞進(jìn)行分析研究是提高軟件安全技術(shù)水平的途徑之一蚯涮,他山之石可以攻玉,這本書為我們提供了一個(gè)很好的開始卖陵,值得認(rèn)真學(xué)習(xí)遭顶。移動(dòng)平臺(tái)的漏洞研究是當(dāng)下的熱點(diǎn),本書與時(shí)俱進(jìn)地納入了這一部分內(nèi)容泪蔫,不可不讀棒旗!
--?自由安全研究者,《挖0day》作者?愛無言
這是自《0day安全:軟件漏洞分析技術(shù)》以來撩荣,又一本關(guān)于二進(jìn)制漏洞分析最全面的力作铣揉,本書結(jié)合新的經(jīng)典漏洞與新型分析方法饶深,深度剖析不同類型的安全漏洞,結(jié)合不同的分析方法逛拱,做到授人以漁敌厘。相信能夠幫助那些希望從事安全行業(yè)的人員,為其提供更好的幫助朽合。
--?阿里安全威脅情報(bào)中心安全專家?instruder
隨著互聯(lián)網(wǎng)的蓬勃發(fā)展俱两,安全漏洞也跟著逐年爆發(fā)。未知攻曹步,焉知防锋华!因此,如何快速分析漏洞成因是安全研究員必備的一項(xiàng)技能箭窜。本書涵蓋了各種各樣的漏洞類型毯焕,覆蓋了PC端和移動(dòng)端,極具實(shí)戰(zhàn)性和全面性磺樱,兼具實(shí)用性和時(shí)效性纳猫,干貨滿滿,是安全研究員提高漏洞分析能力的利器竹捉。俱往矣芜辕,數(shù)漏洞分析,還看此書块差!
--?阿里巴巴移動(dòng)安全專家?dragonltx