緩沖區(qū)溢出攻擊是屬于系統(tǒng)攻擊的手段,通過往程序的緩沖區(qū)寫超出其長度的內(nèi)容,造成緩沖區(qū)的溢出,從而破壞程序的堆棧,使程序轉(zhuǎn)而執(zhí)行其它指令,以達(dá)到攻擊的目的。當(dāng)然,隨便往緩沖區(qū)中填東西并不能達(dá)到攻擊的目的。最常見的手段是通過制造緩沖區(qū)溢出使程序運行一個用戶shell,再通過shell執(zhí)行其它命令。如果該程序具有root權(quán)限的話,攻擊者就可以對系統(tǒng)進(jìn)行任意操作了。
緩沖區(qū)溢出對網(wǎng)絡(luò)系統(tǒng)帶來了巨大的危害,要有效地防止這種攻擊,應(yīng)該做到以下幾點:
(1)程序指針完整性檢查 在程序指針被引用之前檢測它是否改變。即便一個攻擊者成功地改變了程序的指針,由于系統(tǒng)事先檢測到了指針的改變,因此這個指針將不會被使用。
(2)堆棧的保護(hù) 這是一種提供程序指針完整性檢查的編譯器技術(shù),通過檢查函數(shù)活動記錄中的返回地址來實現(xiàn)。在堆棧中函數(shù)返回地址后面加了一些附加的字節(jié),而在函數(shù)返回時,首先檢查這個附加的字節(jié)是否被改動過。如果發(fā)生過緩沖區(qū)溢出的攻擊,那么這種攻擊很容易在函數(shù)返回前被檢測到。但是,如果攻擊者預(yù)見到這些附加字節(jié)的存在,并且能在溢出過程中同樣地制造他們,那么他就能成功地跳過堆棧保護(hù)的檢測。
(3)數(shù)組邊界檢查 所有的對數(shù)組的讀寫操作都應(yīng)當(dāng)被檢查以確保對數(shù)組的操作在正確的范圍內(nèi)進(jìn)行。最直接的方法是檢查所有的數(shù)組操作,通常可以采用一些優(yōu)化技術(shù)來減少檢查次數(shù)。目前主要有這幾種檢查方法:Compaq C編譯器、Jones & Kelly C數(shù)組邊界檢查、Purify存儲器存取檢查等。
更多詳情咨詢 億恩科技億恩科技服務(wù)器租用托管專員 億恩天使 QQ530997 0371-63322213
本文出自:億恩科技【www.allwellnessguide.com】
本文出自:億恩科技【www.allwellnessguide.com】 -->
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|