教你安全專家常用的漏洞分析方法 |
發(fā)布時間: 2012/5/29 19:24:22 |
漏洞分析是指在代碼中迅速定位漏洞,弄清攻擊原理,準(zhǔn)確地估計潛在的漏洞利用方式和風(fēng)險等級的過程。
扎實(shí)的漏洞利用技術(shù)是進(jìn)行漏洞分析的基礎(chǔ),否則很可能將不可利用的bug判斷成漏洞,或者將可以允許遠(yuǎn)程控制的高危漏洞誤判成D.O.S型的中級漏洞。 一般情況下,漏洞發(fā)現(xiàn)者需要向安全專家提供一段能夠重現(xiàn)漏洞的代碼,這段代碼被稱作POC(PRoof of Concept)。 POC可以是很多種形式,只要能夠觸發(fā)漏洞就行。例如,它可能是一個能夠引起程序崩潰的畸形文件,也可能是一個Metasploit的exploit模塊。根據(jù)POC的不同,漏洞分析的難度也會有所不同——按照MSF標(biāo)準(zhǔn)公布出來的exploit顯然要比幾個二進(jìn)制形式的數(shù)據(jù)包容易分析得多。 在拿到POC之后,安全專家需要部署實(shí)驗(yàn)環(huán)境,重現(xiàn)攻擊過程,并進(jìn)行分析調(diào)試,以確定到底是哪個函數(shù)、哪一行代碼出的問題,并指導(dǎo)開發(fā)人員制作補(bǔ)丁。 安全專家常用的分析方法包括: 。1)動態(tài)調(diào)試:使用OllyDbg等調(diào)試工具,跟蹤軟件,從棧中一層層地回溯出發(fā)生溢出的漏洞函數(shù)。 。2)靜態(tài)分析:使用IDA等逆向工具,獲得程序的“全局觀”和高質(zhì)量的反匯編代碼,輔助動態(tài)調(diào)試。 。3)指令追蹤技術(shù):我們可以先正常運(yùn)行程序,記錄下所有執(zhí)行過的指令序列;然后觸發(fā)漏洞,記錄下攻擊狀況下程序執(zhí)行過的指令序列;最后比較這兩輪執(zhí)行過的指令,重點(diǎn)逆向兩次執(zhí)行中表現(xiàn)不同的代碼區(qū),并動態(tài)調(diào)試和跟蹤這部分代碼,從而迅速定位漏洞函數(shù)。 除了安全專家需要分析漏洞之外,黑客也經(jīng)常需要分析漏洞。比如當(dāng)微軟公布安全補(bǔ)丁之后,全世界的用戶不可能全都立刻patch,因此,在補(bǔ)丁公布后一周左右的時間內(nèi),其所修復(fù)的漏洞在一定范圍內(nèi)仍然是可利用的。 安全補(bǔ)丁一旦公布,其中的漏洞信息也就相當(dāng)于隨之一同公布了。黑客可以通過比較分析Patch前后的PE文件而得到漏洞的位置,經(jīng)驗(yàn)豐富的黑客甚至可以在補(bǔ)丁發(fā)布當(dāng)天就寫出exploit。 鑒于這種攻擊的價值,補(bǔ)丁比較也是漏洞分析方法中重要的一種,不同的是,這種分析方法多被攻擊者采用。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |