版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
信息安全基礎(chǔ)InformationSecurityFundamentals5.9緩沖區(qū)溢出攻擊黑客攻擊與防范本節(jié)內(nèi)容緩沖區(qū)溢出攻擊的原理緩沖區(qū)溢出攻擊的典型案例緩沖區(qū)溢出攻擊的防范1.緩沖區(qū)溢出攻擊的原理從一個(gè)對(duì)話框說起……1.緩沖區(qū)溢出攻擊的原理【引例】把1升的水注入容量為0.5升的容量中……第一次大規(guī)模的緩沖區(qū)溢出攻擊是發(fā)生在1988年的Morris蠕蟲,它造成了6000多臺(tái)機(jī)器被癱瘓,損失在$100000至$10000000之間,利用的攻擊方法之一就是fingerd的緩沖區(qū)溢出。緩沖區(qū)溢出攻擊已經(jīng)占了網(wǎng)絡(luò)攻擊的絕大多數(shù),據(jù)統(tǒng)計(jì),大約80%的安全事件與緩沖區(qū)溢出攻擊有關(guān)。1.緩沖區(qū)溢出攻擊的原理緩沖區(qū)溢出的原理緩沖區(qū)是一塊連續(xù)的計(jì)算機(jī)內(nèi)存區(qū)域。在程序中通常把輸入數(shù)據(jù)存放在一個(gè)臨時(shí)存放空間稱為緩沖區(qū)。也就是堆棧段。1.緩沖區(qū)溢出攻擊的原理緩沖區(qū)溢出的原理計(jì)算機(jī)運(yùn)行時(shí),系統(tǒng)將內(nèi)存劃分為3個(gè)段,分別是代碼段、數(shù)據(jù)段和堆棧段。數(shù)據(jù)只讀,可執(zhí)行。在代碼段一切數(shù)據(jù)不允許更改。在代碼段中的數(shù)據(jù)是在編譯時(shí)生成的二進(jìn)制機(jī)器代碼,可供CPU執(zhí)行。放置程序運(yùn)行時(shí)動(dòng)態(tài)的局部變量,即局部變量的空間被分配在堆棧里面??勺x、寫。靜態(tài)全局變量是位于數(shù)據(jù)段并且在程序開始運(yùn)行的時(shí)候被加載??勺x、寫。代碼段堆棧段數(shù)據(jù)段1.緩沖區(qū)溢出攻擊的原理緩沖區(qū)溢出的原理緩沖區(qū)溢出源于程序執(zhí)行時(shí)需要存放數(shù)據(jù)的空間,也即我們所說的緩沖區(qū)。緩沖區(qū)的大小是程序執(zhí)行時(shí)固定申請的。然而,某些時(shí)候,在緩沖區(qū)內(nèi)裝載的數(shù)據(jù)大小是用戶輸入的數(shù)據(jù)決定的。程序開發(fā)人員偶爾疏忽了對(duì)用戶輸入的這些數(shù)據(jù)作長度檢查,由于用戶非法操作或者錯(cuò)誤操作,輸入的數(shù)據(jù)占滿了緩沖區(qū)的所有空間,且超越了緩沖區(qū)邊界延伸到緩沖區(qū)以外的空間。我們稱這個(gè)動(dòng)作為緩沖區(qū)溢出。1.緩沖區(qū)溢出攻擊的原理緩沖區(qū)溢出的原理緩沖區(qū)溢出是由于系統(tǒng)和軟件本身存在脆弱點(diǎn)所導(dǎo)致的。例如目前被廣泛使用的C和C++,這些語言在編譯的時(shí)候沒有做內(nèi)存檢查,即數(shù)組的邊界檢查和指針的引用檢查,也就是開發(fā)人員必須做這些檢查,可是這些事情往往被開發(fā)人員忽略了;標(biāo)準(zhǔn)C庫中還存在許多不安全的字符串操作函數(shù),包括:strcpy(),sprintf(),gets()等等,從而帶來了很多脆弱點(diǎn),這些脆弱點(diǎn)也便成了緩沖區(qū)溢出漏洞。1.緩沖區(qū)溢出攻擊的原理緩沖區(qū)溢出攻擊的原理在計(jì)算機(jī)內(nèi)部,如果一個(gè)容量有限的內(nèi)存空間里存儲(chǔ)過量數(shù)據(jù),這時(shí)數(shù)據(jù)會(huì)溢出存儲(chǔ)空間。緩沖區(qū)溢出攻擊主要是通過往程序的緩沖區(qū)寫超出其長度的數(shù)據(jù),造成緩沖區(qū)的溢出,從而破壞程序的堆棧,使程序轉(zhuǎn)而執(zhí)行其他指令,以達(dá)到攻擊的目的。最常見的手段是通過制造緩沖區(qū)溢出使程序運(yùn)行一個(gè)用戶shell,再通過shell執(zhí)行其他命令。如果該程序?qū)儆趓oot且有suid權(quán)限的話,攻擊者就獲得了一個(gè)有root權(quán)限的shell,可以對(duì)系統(tǒng)進(jìn)行任意操作了。2.緩沖區(qū)溢出攻擊的實(shí)例2.緩沖區(qū)溢出攻擊的實(shí)例2000年1月,Cerberus安全小組發(fā)布了微軟的IIS4/5存在的一個(gè)緩沖區(qū)溢出漏洞。攻擊該漏洞,可以使Web服務(wù)器崩潰,甚至獲取超級(jí)權(quán)限執(zhí)行任意的代碼。目前,微軟的IIS4/5是一種主流的Web服務(wù)器程序;因而,該緩沖區(qū)溢出漏洞對(duì)于網(wǎng)站的安全構(gòu)成了極大的威脅;它的描述如下:瀏覽器向IIS提出一個(gè)HTTP請求,在域名(或IP地址)后,加上一個(gè)文件名,該文件名以“.htr”做后綴。于是IIS認(rèn)為客戶端正在請求一個(gè)“.htr”文件,“.htr”擴(kuò)展文件被映像成ISAPI(InternetServiceAPI)應(yīng)用程序,IIS會(huì)復(fù)位向所有針對(duì)“.htr”資源的請求到ISM.DLL程序,ISM.DLL打開這個(gè)文件并執(zhí)行之。瀏覽器提交的請求中包含的文件名存儲(chǔ)在局部變量緩沖區(qū)中,若它很長,超過600個(gè)字符時(shí),會(huì)導(dǎo)致局部變量緩沖區(qū)溢出,覆蓋返回地址空間,使IIS崩潰。2.緩沖區(qū)溢出攻擊的實(shí)例上述的緩沖區(qū)溢出例子中,只是出現(xiàn)了一般的拒絕服務(wù)的效果。但是,實(shí)際情況往往并不是這么簡單。當(dāng)黑客精心設(shè)計(jì)這一EIP,使得程序發(fā)生溢出之后改變正常流程,轉(zhuǎn)而去執(zhí)行他們設(shè)計(jì)好的一段代碼(也即ShellCode),攻擊者就能獲取對(duì)系統(tǒng)的控制,利用ShellCode實(shí)現(xiàn)各種功能,比如,監(jiān)聽一個(gè)端口,添加一個(gè)用戶,等等。這也正是緩沖區(qū)溢出攻擊的基本原理。2.緩沖區(qū)溢出攻擊的實(shí)例利用漏洞:
RPC緩沖區(qū)溢出
135/TCP沖擊波在此添加標(biāo)題震蕩波極速波高波利用漏洞:
LSASS漏洞
1025/TCP利用漏洞:
UPNP漏洞
445/TCP利用漏洞:
多種漏洞曾經(jīng)流行的緩沖區(qū)溢出攻擊病毒3.緩沖區(qū)溢出攻擊的防范緩沖區(qū)溢出攻擊的危害可以導(dǎo)致程序運(yùn)行失敗、重新啟動(dòng)等后果。更為嚴(yán)重的是,可以利用它執(zhí)行非授權(quán)指令,甚至可以取得系統(tǒng)特權(quán),進(jìn)而進(jìn)行各種非法操作。而緩沖區(qū)溢出中,最為危險(xiǎn)的是堆棧溢出,因?yàn)槿肭终呖梢岳枚褩R绯?,在函?shù)返回時(shí)改變返回程序的地址,讓其跳轉(zhuǎn)到任意地址,帶來的危害一種是程序崩潰導(dǎo)致拒絕服務(wù),另外一種就是跳轉(zhuǎn)并且執(zhí)行一段惡意代碼,比如得到shell,然后為所欲為。3.緩沖區(qū)溢出攻擊的防范緩沖區(qū)溢出攻擊的防范防范緩沖區(qū)溢出攻擊的有效措施強(qiáng)制程序開發(fā)人員書寫正確的、安全的代碼。目前,可以借助grep、FaultInjection、PurifyPlus等工具幫助開發(fā)人員發(fā)現(xiàn)程序中的安全漏洞。通過對(duì)數(shù)組的讀寫操作進(jìn)行邊界檢查來實(shí)現(xiàn)緩沖區(qū)的保護(hù),使得緩沖區(qū)溢出不可能出現(xiàn),從而完全消除了緩沖區(qū)溢出的威脅。常見的對(duì)數(shù)組操作進(jìn)行檢查的工具有CompaqC編譯器,RichardJones和PaulKelly開發(fā)的gcc補(bǔ)丁等。3.緩沖區(qū)溢出攻擊的防范微軟的DEP(數(shù)據(jù)執(zhí)行保護(hù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 某著名企業(yè)六局高層建筑鋁合金模板施工技術(shù)
- 某著名企業(yè)外貿(mào)企業(yè)如何開某省市場
- 《GBT 16777-2008建筑防水涂料試驗(yàn)方法》專題研究報(bào)告
- 《GBT 4702.16-2008金屬鉻 硫含量的測定 紅外線吸收法和燃燒中和滴定法》專題研究報(bào)告
- 道路安全培訓(xùn)季度計(jì)劃課件
- 道路交通安全知識(shí)課件
- 2025-2026年西師版初三歷史上冊期末真題和答案
- 2025-2026年蘇教版九年級(jí)化學(xué)上冊期末題庫試題附答案
- 返校安全規(guī)范培訓(xùn)
- 三年(2023-2025)黑龍江中考語文真題分類匯編:專題12 說明文閱讀(解析版)
- 民辦學(xué)校退費(fèi)管理制度
- T/CIE 115-2021電子元器件失效機(jī)理、模式及影響分析(FMMEA)通用方法和程序
- KubeBlocks把所有數(shù)據(jù)庫運(yùn)行到K8s上
- 廣東省江門市蓬江區(qū)2025年七年級(jí)上學(xué)期語文期末考試試卷及答案
- 蘇州市施工圖無障礙設(shè)計(jì)專篇參考樣式(試行)2025
- 等腰三角形重難點(diǎn)題型歸納(七大類型)原卷版-2024-2025學(xué)年北師大版八年級(jí)數(shù)學(xué)下冊重難點(diǎn)題型突破
- 臨時(shí)用電變壓器安裝方案
- 社會(huì)工作項(xiàng)目調(diào)研方案含問卷及訪談提綱
- 2025年包頭職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完整版
- 全國高校輔導(dǎo)員素質(zhì)能力大賽試題(談心談話、案例分析)
- 《XXXX煤礦隱蔽致災(zāi)地質(zhì)因素普查報(bào)告》審查意見
評(píng)論
0/150
提交評(píng)論