基于緩沖區(qū)溢出攻擊與防范的研究

基于緩沖區(qū)溢出攻擊與防范的研究

ID:43963174

大小:94.61 KB

頁數(shù):9頁

時(shí)間:2019-10-17

基于緩沖區(qū)溢出攻擊與防范的研究_第1頁
基于緩沖區(qū)溢出攻擊與防范的研究_第2頁
基于緩沖區(qū)溢出攻擊與防范的研究_第3頁
基于緩沖區(qū)溢出攻擊與防范的研究_第4頁
基于緩沖區(qū)溢出攻擊與防范的研究_第5頁
資源描述:

《基于緩沖區(qū)溢出攻擊與防范的研究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、基于緩沖區(qū)溢出攻擊與防范的研究論文題冃完成吋間專業(yè)班級(jí)姓名學(xué)號(hào)基于緩沖區(qū)溢出攻擊與防范的研究基丁?緩沖區(qū)溢出攻擊與防范的研究2011.3.12計(jì)算機(jī)科學(xué)與技術(shù)09級(jí)2班王春泉(20092501)青島農(nóng)業(yè)大學(xué)理信學(xué)院編制2011年3月摘要:緩沖區(qū)溢出的漏洞隨著馮?諾依曼構(gòu)架的出現(xiàn)就已經(jīng)開始出現(xiàn)C在1988年隨著莫里斯互聯(lián)網(wǎng)蠕蟲的廣泛傳播他們開始聲名狼藉。不幸的是,同樣的基于緩沖區(qū)溢出的攻擊一直持續(xù)到今天。根據(jù)CVE顯示的數(shù)據(jù),2009年至今新發(fā)現(xiàn)的800多種漏洞中,有70多個(gè)都是緩沖區(qū)溢出漏洞。町見,基于這項(xiàng)“古老”漏洞的攻擊依然不容小覷。對(duì)于基于緩沖區(qū)溢出攻擊與防范的研究仍具有重

2、要意義。木論文在總結(jié)國(guó)緩沖區(qū)溢出攻擊的簡(jiǎn)介與原理1.1緩沖區(qū)溢出攻擊簡(jiǎn)介緩沖區(qū)是內(nèi)存中存放數(shù)據(jù)的地方,一般來說,它是“包含和同數(shù)據(jù)類型實(shí)例的一個(gè)連續(xù)計(jì)算機(jī)內(nèi)存塊",它保存了給定類型的數(shù)據(jù)。應(yīng)用最多的緩沖區(qū)類型是字符數(shù)組。緩沖區(qū)溢出(BufferOverflow)是指向I司定長(zhǎng)度的緩沖區(qū)屮寫入超出其預(yù)先分配長(zhǎng)度的內(nèi)容,造成緩沖區(qū)小數(shù)據(jù)的溢出,從而覆蓋緩沖區(qū)相鄰的內(nèi)存空間。就像一個(gè)杯子只能盛一定量的水,如果倒入太多的水到杯子中,多余的水就會(huì)溢出到杯外。一般來說,簡(jiǎn)單的緩沖區(qū)溢出,比如覆蓋的內(nèi)存空間只是用來存儲(chǔ)普通數(shù)據(jù)的,并不會(huì)產(chǎn)生安全問題。但如果覆蓋的是一個(gè)函數(shù)的返回地址空間且其執(zhí)行

3、者具有root權(quán)限,那么就會(huì)將溢出送到能夠以root權(quán)限或其他超級(jí)權(quán)限運(yùn)行命令的區(qū)域去執(zhí)行某些代碼或者運(yùn)行一個(gè)Shell,該程序?qū)?huì)以超級(jí)用戶的權(quán)限控制計(jì)算機(jī)。造成緩沖區(qū)越界的根本原因是由于C和C++等高級(jí)語言里,程序?qū)?shù)據(jù)讀入或復(fù)制到緩沖區(qū)中的任何時(shí)候,所用函數(shù)缺乏邊界檢查機(jī)制,包括strcpy()>strcat()xsprintf()>vsprintf()xgets()、scanf()>fscanf()、sscanf()、vscanf()、vsscanf()和vfscanf()等。比如一個(gè)簡(jiǎn)單的例子:voidoverflow(char*input){charbuf[20J;s

4、trcpy(buf,input);}strcpy()將直接將input屮的內(nèi)容復(fù)制到buf屮。如果我們賦了input的長(zhǎng)度人于20,就會(huì)造成buf的溢出,使程序運(yùn)行出錯(cuò)。最常見的手段是通過制造緩沖區(qū)溢出使程序運(yùn)行一個(gè)用戶Shell,再通過Shell執(zhí)行其他命令。如果該程序?qū)儆趓ootfl.冇suid權(quán)限的話,攻擊者就獲得了一個(gè)有root權(quán)限的Shell,便可以對(duì)系統(tǒng)進(jìn)行任意操作了。緩沖區(qū)溢出攻擊之所以成為一種常見安全攻擊手段,其原因在于緩沖區(qū)溢岀漏洞太普遍了,并口利用緩沖區(qū)溢出漏洞的攻擊易于實(shí)現(xiàn)。于此同時(shí),此種攻擊所獲得的利益也非常大。攻擊者可以利用某臺(tái)主機(jī)的網(wǎng)絡(luò)服務(wù)程序中的緩沖

5、區(qū)溢岀漏洞得到在主機(jī)上運(yùn)行代碼的權(quán)限,此后,主機(jī)上的其他程序也可能被利用而獲得更鬲級(jí)的權(quán)限。1.2緩沖區(qū)溢出攻擊原理緩沖區(qū)是計(jì)算機(jī)內(nèi)存中的一個(gè)連續(xù)塊,保存了給定類型的數(shù)據(jù)。當(dāng)進(jìn)行大量動(dòng)態(tài)內(nèi)存分配而又管理不當(dāng)時(shí),就會(huì)出現(xiàn)問題。動(dòng)態(tài)變最所需要的緩沖區(qū)是在程序運(yùn)行時(shí)才進(jìn)行分配的,如果程序在動(dòng)態(tài)分配的緩沖區(qū)中放入超長(zhǎng)的數(shù)據(jù),它就會(huì)溢出。打個(gè)比方,緩沖區(qū)溢岀好比是將10磅的糖放進(jìn)一個(gè)只能裝5磅的容器里。一旦該容器放滿了,余下的部分就溢出在柜臺(tái)和地板上。程序設(shè)計(jì)者編寫的程序代碼,如果沒有對(duì)目的區(qū)域即緩沖區(qū)做適當(dāng)?shù)臋z查,看它們是否夠大,能否完全裝入新的內(nèi)容,結(jié)果就可能造成緩沖區(qū)溢出。但是,如果

6、緩沖區(qū)僅僅只是溢出,還不具有破壞性。當(dāng)糖溢出時(shí),柜臺(tái)被蓋住。只有把糖擦掉或用吸塵器吸走,才可以恢復(fù)柜臺(tái)本來的血貌。與此不同的是,當(dāng)緩沖區(qū)溢出時(shí),過剩的信息覆蓋的是計(jì)算機(jī)內(nèi)存中以前的內(nèi)容,除非這些被覆蓋的內(nèi)容被保存或能夠恢復(fù),否則就會(huì)永遠(yuǎn)丟失。在丟失的信息里可能有被程序調(diào)用的了程序及其參數(shù)。這意味著程序不能得到足夠的信息從了程序返回,以完成它的任務(wù)。如果入侵者用精心編寫的入侵代碼(一種惡意程序)使緩沖區(qū)溢出,然后讓程序依據(jù)預(yù)設(shè)的方法處理緩沖區(qū),并II執(zhí)行預(yù)設(shè)的程序代碼,此時(shí)的程序就完全被入侵者操縱。1988年,美國(guó)康奈爾人學(xué)的計(jì)算機(jī)科學(xué)系研究生、23歲的莫里斯利川UNIXfinge

7、red程序不限制輸入長(zhǎng)度的漏洞,輸入512個(gè)字符后使緩沖器溢岀,同時(shí)編寫一段特別大的惡意程序能以root(根)身份執(zhí)行,并感染到其他計(jì)算機(jī)上。這就是利用計(jì)算機(jī)緩沖區(qū)溢出漏洞進(jìn)行攻擊的最著名的莫里斯(Morris)蠕蟲,它曾造成全世界6000多臺(tái)網(wǎng)絡(luò)服務(wù)器癱瘓。緩沖區(qū)溢出是一種相當(dāng)普遍的缺陷,也是一種非常危險(xiǎn)的缺陷,在各種系統(tǒng)軟件、應(yīng)用軟件中廣泛存在。緩沖區(qū)溢出可以導(dǎo)致程序運(yùn)行失敗、系統(tǒng)死機(jī)等后果。如果攻擊者利用緩沖區(qū)溢出使計(jì)算機(jī)執(zhí)行預(yù)設(shè)的非法程序,則可能獲得系統(tǒng)特權(quán),執(zhí)行各種非法

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。