Oday安全:軟體漏洞分析技術

Oday安全:軟體漏洞分析技術

《Oday安全:軟體漏洞分析技術》(光碟1張)分為4篇17章,系統全面地介紹了Windows平台緩衝區溢出漏洞的分析、檢測與防護。第一篇為常用工具和基礎知識的介紹;第二篇從攻擊者的視角出發,揭秘了攻擊者利用漏洞的常用伎倆,了解這些知識對進行計算機應急回響和提高軟體產品安全性至關重要;第三篇在第二篇的基礎上,從安全專家的角度介紹了漏洞分析和計算機應急回響方面的知識;第四篇則站在軟體工程師的角度講述如何在開發、測試等軟體生命周期的各個環節中加入安全因素,以增強軟體產品的安全性。

基本介紹

  • 書名:Oday安全:軟體漏洞分析技術
  • 作者:王清
  • ISBN:9787121060779
  • 類別:計算機與網際網路> 軟體工程方法學
  • 頁數:358頁
  • 定價:49.00元
  • 出版社:電子工業出版社
  • 出版時間:2008年4月1日
  • 裝幀:平裝
  • 開本:16開
編輯推薦,目錄,序言,後記,

編輯推薦

從軟體開發者的角度著書闡述漏洞分析與檢測技術的專業軟體工程師。《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.1 bug與漏洞2
1.2 幾個令人困惑的安全問題2
1.3 漏洞挖掘、漏洞分析、漏洞利用3
1.4 漏洞的公布與0day回響5
第2章 二進制檔案概述6
2.1 PE檔案格式6
2.2 虛擬記憶體6
2.3 PE檔案與虛擬記憶體之間的映射8
第3章 必備工具13
3.1 OllyDbg簡介13
3.2 SoftICE簡介14
3.3 WinDbg簡介19
3.4 IDAPro簡介22
3.5 二進制編輯器24
3.6 虛擬機簡介26
3.7 Crack二進制檔案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
參考文獻
……

序言

關於“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漏洞。

後記

雖然溢出技術經常涉及彙編語言,但本書並不要求讀者一定具備彙編語言的開發能力。所用到的指令和暫存器在相關的章節都有額外介紹,只要您有C語言基礎就能消化本書的絕大部分內容。
我並不推薦在閱讀本書之前先去系統的學習彙編知識和逆向知識,枯燥的定址方式和指令介紹很容易讓人失去學習的興趣。本書將帶您迅速跨過漏洞分析與利用技術的進入門檻。即使您並不懂彙編與二進制也能完成書中的調試實驗,並獲得一定的樂趣。當然,在您達到一定水平想進一步提高時,補習逆向知識和彙編語言將是絕對必要的。
本書適合的讀者群體包括:
安全技術工作者 本書比較全面、系統地收錄了Windows平台下緩衝區溢出攻擊所涉及的各種方法,將會是一本不錯的技術字典。信息安全理論研究者 本書中紕漏的許多漏洞利用、檢測方法在學術上具有一定的前沿性,在一定程度上反映了目前國內外安全技術所關注的焦點問題。QA工程師、軟體測試人員 本書第4篇中集中介紹了產品安全性測試方面的知識,這些方法可以指導QA人員審計軟體中的安全漏洞,增強軟體的安全性,提高軟體質量。
軟體開發人員 知道漏洞利用原理將有利於編寫出安全的代碼。高校信息安全專業的學生 本書將在一定程度上彌補高校教育與信息安全公司人才需求脫節的現象。用一套過硬的調試技術和逆向技術來武裝自己可以讓您在未來的求職道路上利於不敗之地。精通exploit的人才可以輕鬆征服任何一家防毒軟體公司或安全資訊公司的求職門檻,獲得高薪工作。 本科二年級以上計算機系學生 通過調試實驗,你們將更加深入地了解計算機體系架構和作業系統。這些知識一樣將成為您未來求職時過硬的敲門磚。
所有黑客技術愛好者 如果您厭倦了網路嗅探、連線埠掃描之類的掃盲讀物,您將在本書中學到實施有效攻擊所必備的知識和技巧。

相關詞條

熱門詞條

聯絡我們