漏洞挖掘、漏洞分析和漏洞利用
生活随笔
收集整理的這篇文章主要介紹了
漏洞挖掘、漏洞分析和漏洞利用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
漏洞挖掘、漏洞分析和漏洞利用
??? 利用漏洞進行***可以大致分為漏洞挖掘、漏洞分析、漏洞利用三個步驟。這三部分所用的技術有相同之處,比如都需要精通系統底層知識、逆向工程等;同時也有一定的差異。 1. 漏洞挖掘 安全性漏洞往往不會對軟件本身功能造成很大影響,因此很難被QA工程師的功能性測試發現,對于進行“正常操作”的普通用戶來說,更難體會到軟件中的這類邏輯瑕疵了。 由于安全性漏洞往往有極高的利用價值,例如,導致計算機被非法遠程控制,數據庫數據泄漏等,所以總是有無數技術精湛、精力旺盛的家伙在夜以繼日地尋找軟件中的這類邏輯瑕疵。他們精通二進制、匯編語言、操作系統底層的知識;他們往往也是杰出的程序員,因此能夠敏感地捕捉到程序員所犯的細小的錯誤。 尋找漏洞的人并非全是***者。大型的軟件企業也會雇用一些安全專家來測試自己產品中的漏洞,這種測試工作被稱作Penetration test(***測試),這些測試團隊則被稱作Tiger team或者Ethic hacker。 從技術角度講,漏洞挖掘實際上是一種高級的測試(QA)。學術界一直熱衷于使用靜態分析的方法尋找源代碼中的漏洞;而在工程界,不管是安全專家還是***者,普遍采用的漏洞挖掘方法是fuzz,這實際是一種黑盒測試。 我們會在第四篇的相關章節中進一步介紹漏洞挖掘與產品安全性測試方面的知識。 2. 漏洞分析 當fuzz捕捉到軟件中一個嚴重的異常時,當您想透過廠商公布的簡單描述了解漏洞細節的時候,您就需要具備一定的漏洞分析能力。一般情況下,我們需要調試二進制級別的程序。 在分析漏洞時,如果能夠搜索到POC(proof of concept)代碼,就能重現漏洞被觸發的現場。這時可以使用調試器觀察漏洞的細節,或者利用一些工具(如Paimei)更方便地找到漏洞的觸發點。 當無法獲得POC時,就只有廠商提供的對漏洞的簡單描述了。一個比較通用的辦法是使用補丁比較器,首先比較patch前后可執行文件都有哪些地方被修改,之后可以利用反匯編工具(如IDA Pro)重點逆向分析這些地方。 漏洞分析需要扎實的逆向基礎和調試技術,除此以外還要精通各種場景下的漏洞利用方法。這種技術更多依靠的是經驗,很難總結出通用的條款。本書將用3個實際的分析案例來幫助您體會漏洞分析的過程,希望能夠起到拋磚引玉的效果。 3. 漏洞利用 漏洞利用技術可以一直追溯到20世紀80年代的緩沖區溢出漏洞的利用。然而直到Aleph One于1996年在Phrack第49期上發表了著名的文章《Smashing The Stack For Fun And Profit》,這種技術才真正流行起來。
??? 隨著時間的推移,經過無數安全專家和***們針鋒相對的研究,這項技術已經在多種流行的操作系統和編譯環境下得到了實踐,并日趨完善。這包括內存漏洞(堆棧溢出)和Web應用漏洞(腳本注入)等。 本書將從***兩個角度著重介紹Windows平臺下內存漏洞利用技術的方方面面。由于Web應用中的腳本注入***所使用的技術與緩沖區溢出相差較大,且自成體系,本書只做原理性簡單介紹,如有機會將單獨著書以述之。
?
本文節選自電子工業出版社2008年4月出版的《0day安全:軟件漏洞分析技術》一書。 到當當網購買 到卓越網購買 到china-pub購買 瀏覽更多精彩文章>>
訂閱軟件安全電子期刊>>
??? 利用漏洞進行***可以大致分為漏洞挖掘、漏洞分析、漏洞利用三個步驟。這三部分所用的技術有相同之處,比如都需要精通系統底層知識、逆向工程等;同時也有一定的差異。 1. 漏洞挖掘 安全性漏洞往往不會對軟件本身功能造成很大影響,因此很難被QA工程師的功能性測試發現,對于進行“正常操作”的普通用戶來說,更難體會到軟件中的這類邏輯瑕疵了。 由于安全性漏洞往往有極高的利用價值,例如,導致計算機被非法遠程控制,數據庫數據泄漏等,所以總是有無數技術精湛、精力旺盛的家伙在夜以繼日地尋找軟件中的這類邏輯瑕疵。他們精通二進制、匯編語言、操作系統底層的知識;他們往往也是杰出的程序員,因此能夠敏感地捕捉到程序員所犯的細小的錯誤。 尋找漏洞的人并非全是***者。大型的軟件企業也會雇用一些安全專家來測試自己產品中的漏洞,這種測試工作被稱作Penetration test(***測試),這些測試團隊則被稱作Tiger team或者Ethic hacker。 從技術角度講,漏洞挖掘實際上是一種高級的測試(QA)。學術界一直熱衷于使用靜態分析的方法尋找源代碼中的漏洞;而在工程界,不管是安全專家還是***者,普遍采用的漏洞挖掘方法是fuzz,這實際是一種黑盒測試。 我們會在第四篇的相關章節中進一步介紹漏洞挖掘與產品安全性測試方面的知識。 2. 漏洞分析 當fuzz捕捉到軟件中一個嚴重的異常時,當您想透過廠商公布的簡單描述了解漏洞細節的時候,您就需要具備一定的漏洞分析能力。一般情況下,我們需要調試二進制級別的程序。 在分析漏洞時,如果能夠搜索到POC(proof of concept)代碼,就能重現漏洞被觸發的現場。這時可以使用調試器觀察漏洞的細節,或者利用一些工具(如Paimei)更方便地找到漏洞的觸發點。 當無法獲得POC時,就只有廠商提供的對漏洞的簡單描述了。一個比較通用的辦法是使用補丁比較器,首先比較patch前后可執行文件都有哪些地方被修改,之后可以利用反匯編工具(如IDA Pro)重點逆向分析這些地方。 漏洞分析需要扎實的逆向基礎和調試技術,除此以外還要精通各種場景下的漏洞利用方法。這種技術更多依靠的是經驗,很難總結出通用的條款。本書將用3個實際的分析案例來幫助您體會漏洞分析的過程,希望能夠起到拋磚引玉的效果。 3. 漏洞利用 漏洞利用技術可以一直追溯到20世紀80年代的緩沖區溢出漏洞的利用。然而直到Aleph One于1996年在Phrack第49期上發表了著名的文章《Smashing The Stack For Fun And Profit》,這種技術才真正流行起來。
??? 隨著時間的推移,經過無數安全專家和***們針鋒相對的研究,這項技術已經在多種流行的操作系統和編譯環境下得到了實踐,并日趨完善。這包括內存漏洞(堆棧溢出)和Web應用漏洞(腳本注入)等。 本書將從***兩個角度著重介紹Windows平臺下內存漏洞利用技術的方方面面。由于Web應用中的腳本注入***所使用的技術與緩沖區溢出相差較大,且自成體系,本書只做原理性簡單介紹,如有機會將單獨著書以述之。
?
本文節選自電子工業出版社2008年4月出版的《0day安全:軟件漏洞分析技術》一書。 到當當網購買 到卓越網購買 到china-pub購買 瀏覽更多精彩文章>>
訂閱軟件安全電子期刊>>
轉載于:https://blog.51cto.com/broadviewsec/181571
總結
以上是生活随笔為你收集整理的漏洞挖掘、漏洞分析和漏洞利用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电话营销二法则
- 下一篇: 转 Procrastination