freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

緩沖區(qū)溢出攻擊的分析及防范策略-資料下載頁(yè)

2025-08-26 08:48本頁(yè)面

【導(dǎo)讀】風(fēng)險(xiǎn)也隨之而來(lái),網(wǎng)絡(luò)安全問(wèn)題成為各種網(wǎng)上活動(dòng)需要考慮的頭等大事。本文重點(diǎn)探討一下緩沖區(qū)溢出對(duì)計(jì)算機(jī)系統(tǒng)造成的危害。因?yàn)閹资陙?lái),緩沖區(qū)溢出一直引起許多嚴(yán)重的。緩沖區(qū)溢出漏洞占%以上。溢出,從而破壞程序的堆棧,使程序轉(zhuǎn)而執(zhí)行其他的指令,以達(dá)到攻擊的目的。執(zhí)行任意指令,甚至可以取得系統(tǒng)特權(quán),由此而引發(fā)多種攻擊方法。的產(chǎn)生及類(lèi)型,從而做出相應(yīng)的防范策略。的兩個(gè)不同部分中創(chuàng)建存儲(chǔ)器。而分配到堆棧的數(shù)據(jù)一般包括非靜態(tài)的局部變量和所有按值傳遞的參數(shù)。一個(gè)程序在內(nèi)存中通常分為程序段、數(shù)據(jù)段和堆棧三個(gè)部分。數(shù)據(jù),這個(gè)段通常是只讀代碼,故禁止對(duì)程序段進(jìn)行寫(xiě)操作。數(shù)據(jù)段放的是程序中的靜態(tài)數(shù)據(jù)。的大小可以由brk()系統(tǒng)調(diào)用來(lái)改變;三是堆棧,其特點(diǎn)是LIFO。減去適當(dāng)?shù)臄?shù)值。在堆棧中被保留下來(lái)的指令指針將被作為返回地址。執(zhí)行完成后,RET替換IP,程序接著繼續(xù)執(zhí)

  

【正文】 過(guò)檢查堆棧的完整性的堆棧保護(hù)法是從 Synthetix方法演變來(lái)的。 Synthetix方法通過(guò)使用準(zhǔn)不變量來(lái)確保特定變量的正確性。這些特定的變量的改變是程序?qū)崿F(xiàn)能預(yù)知的,而且只能在滿(mǎn)足一定的條件才能可以改變。這種變量我們稱(chēng)為準(zhǔn)不變量。 Synthetix 開(kāi)發(fā)了一些工具用來(lái)保護(hù)這些變量。攻擊者通過(guò)緩沖區(qū)溢出而產(chǎn)生的改變可以被系統(tǒng)當(dāng)做非法的動(dòng)作。在某些極端的情況下,這些準(zhǔn)不變量有可能被非法改變,這是就需要堆棧保護(hù)來(lái)提供更完善的保護(hù)了。 實(shí)驗(yàn)的數(shù) 據(jù)表明,堆棧保護(hù)對(duì)于各種系統(tǒng)的緩沖區(qū)溢出攻擊都有很好的保護(hù)作用,并能保持較好的兼容性和系統(tǒng)性能。早先我們報(bào)告的堆棧保護(hù)所能抑制的漏洞都在表一中列出。隨后,我們用堆棧保護(hù)的方法重新構(gòu)造了一個(gè)完整的 Linux系統(tǒng) (Red )。然后我們用 lsof 的漏洞對(duì)此進(jìn)行了攻擊,結(jié)果表明,這個(gè)系統(tǒng)有效地抵御了這些攻擊。這些分析表明,堆棧保護(hù)能有效抵御現(xiàn)在的和將來(lái)的基于堆棧的攻擊。 堆棧保護(hù)版本的 Red Hat Linux ,包括個(gè)人的筆記本電腦和工作 組文件服務(wù)器。從我們的 Web 服務(wù)器上可以得到這個(gè)版本,而且在我們的郵件列表里已經(jīng)有了 55 個(gè)成員。出了僅有的一次例外,這個(gè)系統(tǒng)和本來(lái)的系統(tǒng)工作完全一樣,這表明堆棧保護(hù)并不對(duì)系統(tǒng)的兼容性構(gòu)成很大的影響。 我們已經(jīng)用各種性能測(cè)試來(lái)評(píng)測(cè)堆棧保護(hù)的性能。 Mircobenchmarks 的結(jié)果表明在函數(shù)的調(diào)用,堆棧保護(hù)中增加了系統(tǒng)的開(kāi)銷(xiāo)。而在網(wǎng)絡(luò)的測(cè)試中(需要用到堆棧保護(hù)的地方),則表明這種開(kāi)銷(xiāo)不是很大。 我們的第一個(gè)測(cè)試對(duì)象是 SSH,它提供了極強(qiáng)的加密和認(rèn)證,用來(lái)替代 Berkeley的 r 系列指令。 SSH 使用了軟件加密, 因此系統(tǒng)的占用的帶寬不大,我們用網(wǎng)絡(luò)間復(fù)制一個(gè)大的文件來(lái)測(cè)試帶寬: scp bigsource loc alhost:bigdest 測(cè)試結(jié)果表明:堆棧保護(hù)幾乎不影響 SSH 的網(wǎng)絡(luò)吞吐性能。 第二個(gè)測(cè)試使用了 Apache Web服務(wù)器。如果這種服務(wù)器存在基于堆棧的攻擊,那么攻擊者就可以輕易地取得 Web服務(wù)器的控制權(quán),允許攻擊者閱讀隱秘的內(nèi)容和肆意篡改主頁(yè)的內(nèi)容。同時(shí), Web服務(wù)器也是對(duì)性能和帶寬要求較高的一個(gè)服務(wù)器部件。 我們用 WebStone 對(duì)帶有和不帶堆棧保護(hù)的 Apache Web服務(wù)器進(jìn)行了測(cè)試,測(cè)試的 結(jié)果在表二中列出。 和 SSH 一樣,他們的性能幾乎沒(méi)有區(qū)別。在客戶(hù)數(shù)目較少的情況下,帶有保護(hù)的服務(wù)器性能比不帶保護(hù)的略微好些,在客戶(hù)端數(shù)目多的時(shí)候,不帶保護(hù)的性能好些。在最壞的情況下,帶保護(hù)的服務(wù)器比不帶保護(hù)的要差 8%的連接性能,而在平均延時(shí)上保持優(yōu)勢(shì)。象以前一樣,我們把這些歸結(jié)為噪聲的影響。因此,我們的結(jié)論是:堆棧保護(hù)對(duì) Web服務(wù)器系統(tǒng)性能沒(méi)有重大的影響。 3)指針保護(hù):編譯器生成程序指針完整性檢查 在堆棧保護(hù)設(shè)計(jì)的時(shí)候,沖擊堆棧構(gòu)成了緩沖區(qū)溢出攻擊的常見(jiàn)的一種形式。有人推測(cè)存在一種模板來(lái)構(gòu)成這些攻擊(在 1996 年的時(shí)候)。從此,很多簡(jiǎn)單的漏洞被發(fā)現(xiàn),實(shí)施和補(bǔ)丁了,很多攻擊者開(kāi)始用在第二部分中描述的更一般的方法實(shí)施緩沖區(qū)溢出攻擊。 指針保護(hù)是堆棧保護(hù)針對(duì)這種情況的一個(gè)推廣。通過(guò)在所有的代碼指針之后放置附加字節(jié)來(lái)檢驗(yàn)指針在被調(diào)用之前的合法性。如果檢驗(yàn)失敗,會(huì)發(fā)出報(bào)警信號(hào)和退出程序的執(zhí)行,就如同在堆棧保護(hù)中的行為一樣。這種方案有三點(diǎn)需要注意: a.附加字節(jié)的定位: 附加字節(jié)的空間是在被保護(hù)的變量被分配的時(shí)候分配的,同時(shí)在被保護(hù)字節(jié)初始化過(guò)程中被初始化。這樣就帶來(lái)了問(wèn)題;為了保持兼容性,我們不想改變被保護(hù)變量的大小 ,因此不能簡(jiǎn)單地在變量的結(jié)構(gòu)定義中加入附加字。還有,對(duì)各種類(lèi)型也有不同附加字節(jié)數(shù)目。 b.檢查附加字節(jié): 每次程序指針被引用的時(shí)候都要檢查附加字節(jié)的完整性。這個(gè)也存在問(wèn)題;因?yàn)?―從存取器讀 ‖在編譯器中沒(méi)有語(yǔ)義;編譯器更關(guān)心指針的使用,而各種的優(yōu)化算法傾向于從存儲(chǔ)器中讀入變量。 c.還有隨著不同類(lèi)型的變量,讀入的方法也各自不同。 已經(jīng)開(kāi)發(fā)的指針保護(hù)的一個(gè)原型(還是基于 gcc 的),通過(guò)附加字節(jié)來(lái)保護(hù)靜態(tài)分配的函數(shù)指針,但不適用于結(jié)構(gòu)和數(shù)組類(lèi)型。這個(gè)計(jì)劃還遠(yuǎn)沒(méi)有完成。一旦這個(gè)項(xiàng)目完成了,那么用它和堆棧保護(hù)構(gòu)成的可 執(zhí)行代碼將不會(huì)受到緩沖區(qū)溢出的攻擊了。 目前為止,只有很少一部分使用非指針變量的攻擊能逃脫指針保護(hù)的檢測(cè)。但是,可以通過(guò)在編譯器上強(qiáng)制對(duì)某一變量加入附加字節(jié)來(lái)實(shí)現(xiàn)檢測(cè),這時(shí)需要程序員自己手工加入相應(yīng)的保護(hù)了。 ( 7)利用編譯器將靜態(tài)數(shù)據(jù)段中的函數(shù)地址指針存放地址和其他數(shù)據(jù)的存放地址分離 我們知道緩沖區(qū)溢出的一個(gè)基本條件是在緩沖區(qū)的高地址附近存放著可供溢出覆蓋的函數(shù)地址指針,如果我們破壞了這一條件,就會(huì)使緩沖區(qū)溢出不能覆蓋函數(shù)地址指針。比如,我們可以假定編譯器在編譯程序時(shí)會(huì)將靜態(tài)數(shù)據(jù)段中的函數(shù)地址指針存放地址 和其他數(shù)據(jù)的存放地址隔開(kāi)相當(dāng)大的一段距離,例如數(shù) 10M,數(shù) 100M,這樣才會(huì)迫使攻擊者只有送入長(zhǎng)的出乎想象數(shù)據(jù)才能抵達(dá)函數(shù)地址指針存放地址并覆蓋它,以這樣的不可操作性來(lái)制止攻擊者實(shí)現(xiàn)攻擊意圖。另外,我們還可以使這兩種數(shù)據(jù)段間的線形地址空間不分配物理地址并設(shè)置為不可讀寫(xiě),這些都可以通過(guò)硬件實(shí)現(xiàn),這樣每當(dāng)緩沖區(qū)溢出進(jìn)入這段區(qū)域,就會(huì)出現(xiàn)地址保護(hù)錯(cuò)誤,從而阻止了緩沖區(qū)溢出攻擊。 另外一種較為簡(jiǎn)潔的方法是始終保持使靜態(tài)數(shù)據(jù)段中的函數(shù)地址指針存放地址低于其他數(shù)據(jù)的存放地址。但是這個(gè)方法僅僅是防止了靜態(tài)數(shù)據(jù)段中的緩沖區(qū) 溢出攻擊,而不能避免堆的緩沖區(qū)溢出攻擊,因?yàn)榫幾g器和操作系統(tǒng)并不知道用戶(hù)申請(qǐng)的內(nèi)存是用來(lái)存放函數(shù)地址指針還是其他數(shù)據(jù),從而無(wú)法為其隔離分配內(nèi)存。表 1 是針對(duì)靜態(tài)數(shù)據(jù)段、堆棧和堆的緩沖區(qū)溢出的防范策略,其中沒(méi)有把邊界檢查包括在內(nèi),因?yàn)樗苡行У胤乐顾械木彌_區(qū)溢出,但其運(yùn)行開(kāi)銷(xiāo)也是驚人的。表的最上面一行是攻擊代碼所植入的內(nèi)存空間,表的最左面一列是溢出方法,而中間單元就是相應(yīng)的防范策略。 表 1 緩沖區(qū)溢出的防范策略 堆棧 ( Stack Buffer) 堆 ( Heap Buffer) 靜態(tài)數(shù)據(jù)段 ( Static Buffer) 活動(dòng)記錄 堆棧保護(hù) 非執(zhí)行的緩沖區(qū) 堆棧保護(hù) 堆棧保護(hù) 函數(shù)指針 指針保護(hù) 非執(zhí)行的緩沖區(qū) 指針保護(hù) 指針保護(hù) 長(zhǎng)跳轉(zhuǎn)緩沖區(qū) 指針保護(hù) 非執(zhí)行的緩沖區(qū) 指針保護(hù) 指針保護(hù) 其它變量 手工的指針保護(hù) 非執(zhí)行的緩沖區(qū) 手工的指針保護(hù) 手工的指針保護(hù)為了防止靜態(tài)數(shù)據(jù)段、堆棧和堆這三種數(shù)據(jù)段中的一個(gè)緩沖區(qū)溢出覆蓋另一個(gè)段中的函數(shù)地址指針,我們應(yīng)該為這三種數(shù)據(jù)段隔離分配線形地址空間。 四 總結(jié) 緩沖區(qū)溢出是當(dāng)今很流行的一種網(wǎng)絡(luò)攻擊方法,它易于攻擊而且危害嚴(yán)重,給系統(tǒng)的安全帶來(lái)了 極大的隱患。因此,如何及時(shí)有效地檢測(cè)出計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)入侵行為,已越來(lái)越成為網(wǎng)絡(luò)安全管理的一項(xiàng)重要內(nèi)容。緩沖區(qū)溢出的漏洞一般有以下幾種情況: ( 1) 系統(tǒng)漏洞 如操作系統(tǒng)、服務(wù)器程序、數(shù)據(jù)庫(kù)程序等,這種漏洞可以通過(guò)升級(jí)軟件、打安全 ―補(bǔ)丁 ‖等方法來(lái)解決。 ( 2) 應(yīng)用軟件 在軟件開(kāi)發(fā)過(guò)程中,如果程序員沒(méi)有很強(qiáng)的安全意識(shí)和良好的編程習(xí)慣,也會(huì)產(chǎn)生很多安全漏洞。 本文從上面的系統(tǒng)環(huán)境及程序設(shè)計(jì)語(yǔ)言角度,對(duì)目前主要的網(wǎng)絡(luò)攻擊方式:緩沖區(qū)溢出攻擊的出現(xiàn)和原理進(jìn)行了詳細(xì)的分析,并根據(jù)緩沖區(qū)溢出攻擊的類(lèi)型提出了 相應(yīng)的防范策略。 然而,飛速發(fā)展的網(wǎng)絡(luò)技術(shù)還需要我們繼續(xù)對(duì)各種黑客攻擊系統(tǒng)的方法做更多的關(guān)注和應(yīng)付措施的探索,為網(wǎng)絡(luò)安全做出更大的實(shí)踐意義的研究。 參考文獻(xiàn) [1] 張小斌,嚴(yán)望佳,黑客分析與防范技術(shù) [M] 北京清華大學(xué)出版社, 1999。 [2] 陳意云 編譯原理和技術(shù) [M],合肥,中國(guó)科技大學(xué)出版社, 1997。 [3] 汪立東,方濱興, Unix緩沖區(qū)溢出攻擊:技術(shù)原理、防范與檢測(cè),計(jì)算機(jī)工程與應(yīng)用, 2020( 2)。 [4]譚毓安,網(wǎng)絡(luò)攻擊防護(hù)編碼設(shè)計(jì),北京希望電子出版社, 2020。 [5]/P
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1