亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

防御網(wǎng)絡(luò)攻擊的方法、裝置以及設(shè)備的制作方法

文檔序號:7688756閱讀:173來源:國知局
專利名稱:防御網(wǎng)絡(luò)攻擊的方法、裝置以及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及防御網(wǎng)絡(luò)攻擊的方法、裝置及設(shè)備。
背景技術(shù)
因特網(wǎng)訪問的日益增長給惡意代碼的遠程攻擊帶來了可乘之機,網(wǎng)絡(luò)中 的攻擊行為也在成倍的增長?;诰彌_區(qū)溢出的攻擊已經(jīng)成為網(wǎng)絡(luò)攻擊中最 常見也是最具威脅的攻擊方式之一。緩沖區(qū)溢出是指,計算機程序在緩沖區(qū) 輸入的數(shù)據(jù)位數(shù)超過了緩沖區(qū)的邊界而造成的溢出。緩沖區(qū)溢出攻擊包括多
種類型,包括基于堆的溢出攻擊,基于棧的溢出攻擊等。由于溢出的數(shù)據(jù) 可能覆蓋緩沖區(qū)相鄰內(nèi)存中的合法數(shù)據(jù),破壞數(shù)據(jù)完整性,溢出的數(shù)據(jù)也可 能覆蓋函數(shù)指針或棧中的函數(shù)返回地址,破壞程序的執(zhí)行流程,使得程序執(zhí) 行一些非安全代碼,從而出現(xiàn)了緩沖區(qū)溢出漏洞。攻擊者利用溢出漏洞,利 用程序在緩沖區(qū)輸入超過其邊界長度的代碼,造成溢出,使溢出的數(shù)據(jù)覆蓋 返回地址后,在返回地址處寫上可以改變程序流程的地址,即跳轉(zhuǎn)地址,使 該地址指向自己的惡意代碼,從而達到攻擊、破壞系統(tǒng)的目的。
現(xiàn)有的相關(guān)防范緩沖區(qū)溢出攻擊技術(shù)之一通過發(fā)現(xiàn)緩沖區(qū)溢出,結(jié)束該 緩沖區(qū)溢出線程來防范緩沖區(qū)溢出攻擊。相關(guān)的技術(shù)方案包括調(diào)用掛鉤系統(tǒng) 關(guān)4建API l(Application Programming Interface,應(yīng)用程序編程4妄口 )函數(shù), 查函數(shù)的返回地址,根據(jù)該返回地址是否在棧范圍內(nèi)以及返回地址的屬性是 否可寫,進一步來判斷是否發(fā)生緩沖區(qū)溢出,當(dāng)發(fā)現(xiàn)緩沖區(qū)溢出時,將引起該緩沖溢出的線程結(jié)束。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 由于檢查函數(shù)的返回地址前,存在返回地址或者頁面屬性被惡意修改的
情況,該惡意修改可以有效的繞過上述方案仍然能達到惡意攻擊的目的,通
過上述的相關(guān)技術(shù)很難有效防御緩沖區(qū)溢出攻擊。

發(fā)明內(nèi)容
為解決上面提到的問題,本發(fā)明實施例提供了 一種防御網(wǎng)絡(luò)攻擊的方 法,特別在防御緩沖區(qū)溢出的時候采用該方法以保證網(wǎng)絡(luò)實施的安全性,該 方法包4舌
獲知??臻g分配啟動,實施隨機化操作獲得隨機化操作數(shù); 根據(jù)所述隨機化操作數(shù)更新??臻g地址信息。
本發(fā)明實施例還提供了 一種應(yīng)用防御網(wǎng)絡(luò)攻擊的方法,該方法包括
實施程序后回到??臻g的返回地址,所述返回地址所在的棧空間為?;?br> 地址隨機化后的棧空間,所述返回地址內(nèi)存儲的信息為?;刂冯S機化后的
??臻g數(shù)據(jù)信息;
根據(jù)所述返回地址內(nèi)容轉(zhuǎn)到所述返回地址空間所在的程序執(zhí)行。 本發(fā)明實施例還提供了 一種防御網(wǎng)絡(luò)攻擊的裝置,所述裝置包括 隨機化模塊,獲知??臻g分配啟動,實施隨機化操作獲得隨機化操作
數(shù);
地址更新模塊,根據(jù)所述隨機化操作數(shù)更新棧空間地址信息。 本發(fā)明實施例還提供了 一種防御網(wǎng)絡(luò)攻擊的設(shè)備,所述設(shè)備包括 調(diào)用模塊,啟動??臻g分配,調(diào)用??臻g分配信息; 隨機化模塊,實施隨機化操作,隨機化分配隨機值; 觸發(fā)模塊,根據(jù)所述調(diào)用模塊觸發(fā)隨機化模塊的操作;
5地址更新模塊,將所述??臻g地址信息更新為所述分配隨機值。 由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,利用本發(fā)明實施例方 案的緩沖區(qū)溢出防御方法,不但可以高效、準(zhǔn)確的攔截惡意程序的緩沖區(qū)溢
全、高效攻擊防御方法。并且對于未知的緩沖區(qū)漏洞溢出攻擊,也可以準(zhǔn) 確、及時的攔截,在其未對系統(tǒng)造成危害的時候阻止其執(zhí)行實施。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下 面描述中的附圖僅僅是本發(fā)明的 一些實施例,對于本領(lǐng)域普通技術(shù)人員來 講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附 圖。
圖1為計算機系統(tǒng)進程在內(nèi)存中的映像示意圖2為棧的內(nèi)部結(jié)構(gòu)示意圖3為待存放數(shù)組的棧的內(nèi)容示意圖4為存放數(shù)組的棧的內(nèi)容示意圖5為包括數(shù)組在內(nèi)的字符串的棧的內(nèi)容示意圖6為本發(fā)明實施例一的方法示意圖7為本發(fā)明實施例二的方法示意圖8為本發(fā)明實施例三的示意圖9為本發(fā)明實施例的裝置圖10為本發(fā)明實施例的設(shè)備具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行 清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而 不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作 出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
進程在內(nèi)存的映像可以分成三個區(qū)域文本,數(shù)據(jù)和棧,如圖1所示。 計算機系統(tǒng)執(zhí)行計算機程序,程序的函數(shù)調(diào)用和函數(shù)中的臨時變量都用到棧 技術(shù)。以棧為例,計算機系統(tǒng)創(chuàng)建線程,執(zhí)行計算機程序時需要創(chuàng)建棧,創(chuàng) 建棧的過程首先是對棧空間進行分配,計算機系統(tǒng)在內(nèi)存空閑的地址空間內(nèi) 創(chuàng)建線程棧并為其分配空間。
當(dāng)程序中發(fā)生函數(shù)調(diào)用時,主要完成如下操作首先把參數(shù)壓入棧,然 后向棧壓入指令寄存器(EIP)中的內(nèi)容,作為返回地址(RET),其次放入棧的 是基址寄存器(EBP),把當(dāng)前的棧指針(ESP)拷貝到EBP ,做為新的基地 址,最后把ESP減去適當(dāng)?shù)臄?shù)值,為本地變量留出一定空間作為緩沖區(qū)。棧 的內(nèi)部結(jié)構(gòu)如圖2所示。
攻擊者可以通過向一個緩沖區(qū)寫入過多的數(shù)據(jù),使其超過緩沖區(qū)的邊 界,直至覆蓋返回地址,從而使得程序的執(zhí)行流程發(fā)生改變??梢?,緩沖區(qū) 溢出允許攻擊者改變一個函數(shù)的返回地址,如果攻擊者將一段惡意的可執(zhí)行 代碼(shellcode)放入緩沖區(qū)中,同時改變函數(shù)的返回地址使之指向這段可執(zhí) 行代碼,則當(dāng)函數(shù)返回時,將轉(zhuǎn)而執(zhí)行攻擊者;^文置的惡意代碼。
子線程執(zhí)行過程中對棧的操作和溢出的產(chǎn)生過程示例如下
調(diào)用函數(shù)輸出"hello world hello!"參數(shù)代碼,其中對棧的操作為緩沖 區(qū)中ESP向上增長個16字節(jié),用來存放name數(shù)組"hello world hello!", 棧布局如圖3。執(zhí)行完之后,棧中的內(nèi)容如見圖4。棧運行完后返回,彈出 RET里的返回地址并賦值給曰P, CPU繼續(xù)執(zhí)行EIP所指向的命令。如果輸 入的字符串長度超過16個字節(jié),例如輸入 "hello
7world!AAAAAAAAAAA ", 則當(dāng)執(zhí)行完后,棧的情況如圖5。由于輸入的字 符串太長,數(shù)組容納不下,只好向棧的底部方向繼續(xù)寫'A ,。這些'A , 覆蓋了棧的老的EBP元素,從圖可以看出,RET都已經(jīng)被'A ,覆蓋了。返 回時,就必然會把'AAAA,的ASCII碼0x41414141視作返回地址,CPU 會跳轉(zhuǎn)到0x41414141處執(zhí)行0x41414141處指令。攻擊者正是利用該漏洞完 成緩沖區(qū)溢出攻擊。
上述計算機程序的執(zhí)行基于計算機系統(tǒng)為進程分配??臻g。
實施例一
本發(fā)明實施例提供一種防御網(wǎng)絡(luò)攻擊的方法,通過下述操作實施
1、 獲知??臻g分配啟動;
2、 實施隨機化操作;
3、 獲得隨機化操作數(shù);
4、 根據(jù)所述隨機化操作數(shù)更新??臻g地址信息。
上述網(wǎng)絡(luò)中通過緩沖區(qū)溢出實施攻擊的方法的具體步驟包括 101:創(chuàng)建進程為所述進程進行分配棧空間。
系統(tǒng)執(zhí)行的程序大多都是在子線程中完成,所以執(zhí)行計算機程序首先對 子線程進行創(chuàng)建,系統(tǒng)創(chuàng)建子線程需要分配??臻g,系統(tǒng)在空閑的內(nèi)存空間 或者預(yù)先分配的內(nèi)存空間中分配棧空間,分配??臻g可以通過調(diào)用掛鉤函數(shù) 來實現(xiàn),在??臻g分配函數(shù)中包括棧的基地址參數(shù),局部變量、靜態(tài)信息以 及其他確定棧信息的必要參數(shù)。
102:分配棧參數(shù),確定??臻g的基地址。
內(nèi)存空間中對程序調(diào)用所需的棧空間進行分 ,需要確定的信息之一為 棧空間基地址。
8?;刂返拇_定采用隨機化方法。當(dāng)獲知??臻g的分配啟動后,通過隨 機化算法獲得一個隨機值,該隨機值區(qū)別于系統(tǒng)之前執(zhí)行程序創(chuàng)建子線程時 分配的??臻g的基地址值,并且隨著系統(tǒng)對所述程序重新調(diào)用并創(chuàng)建子線程 時該隨機的棧基地址重新進行隨機化計算。每一次分配??臻g為子線程棧分 配了不同的基地址信息。
本發(fā)明實施例中,實施方式可以包括系統(tǒng)調(diào)用??臻g分配函數(shù)時,當(dāng)對 其中的基地址參數(shù)進行分配時觸發(fā)基地址隨機化操作,系統(tǒng)按照預(yù)設(shè)的隨機 算法或者自動生成的隨機算法獲得隨機化置,分配給所述基地址參數(shù)信息, 隨機化算法可以采用常見的各隨機計算方式。
本實施例中可以采用以下技術(shù)來獲取隨機化的基地址參數(shù)值。首先利用 系統(tǒng)時間產(chǎn)生 一個隨機數(shù)種子,隨后根據(jù)系統(tǒng)時間通過所述隨機數(shù)種子生成 一個隨機數(shù),從而保證??臻g基地址的隨機性,使其不會在系統(tǒng)對線程???間分配基地址的過程中發(fā)生基地址的重復(fù)。將產(chǎn)生的所述隨機數(shù)變換為符合 棧基地址規(guī)律的隨機值,?;刂芬?guī)律滿足棧基地址的隨機范圍,包括空閑 內(nèi)存空間中系統(tǒng)分配的??臻g地址范圍。
在進行棧地址隨機化后,隨著?;刂返淖兓?,棧里面的靜態(tài)數(shù)據(jù)也會 被相應(yīng)的隨機化。
隨機化基地址之后,??臻g轉(zhuǎn)移,原來存放惡意代碼指令的地址被修 改,此刻若受到基于緩沖區(qū)溢出的攻擊時,攻擊者無法根據(jù)返回地址信息找 到惡意代碼,使得基于緩沖區(qū)溢出的攻擊失效。
實施例二
本發(fā)明實施例以windows操作系統(tǒng)為例,通過對系統(tǒng)API函數(shù)中的??臻g 分配函數(shù)(nt!NtAllocateVirtualMemory函數(shù))進行掛鉤處理,以實現(xiàn)對?;?地址的隨才幾化,包括如下步驟,確定分配??臻g。
Windows系統(tǒng)經(jīng)過前一次執(zhí)行程序后,若需要再一次^i行所述程序,需要 對所述程序所在的子線程進行創(chuàng)建,先為線程分配??臻g。
Windows系統(tǒng)多數(shù)功能使用單線程或者多線程,Windows在創(chuàng)建棧時也 可以分為主棧和輔棧,這兩種棧創(chuàng)建時,Windows都會為分配??臻g。
202:掛鉤調(diào)用棧空間分配函數(shù),觸發(fā)基地址隨機化。
Windows系統(tǒng)若確定為各棧分配棧空間,首先啟動棧空間分配函數(shù)調(diào)用。 Windows系統(tǒng)掛鉤調(diào)用棧空間分配函數(shù),以驅(qū)動基地址隨機化步驟。
203:基地址隨機化。
由??臻g分配函數(shù)的調(diào)用觸發(fā)基地址隨機化,采用隨機化的算法獲得一個 隨機值,本發(fā)明實施例中,采用通過srand()和rand()函數(shù)來獲取隨機數(shù)。首 先,可以通過Srand()函數(shù)利用windows系統(tǒng)的操作時間產(chǎn)生 一個隨機數(shù)種 子,再利用rand()函數(shù)通過產(chǎn)生的隨機數(shù)種子來生成一個隨機數(shù)。這個隨機 數(shù)通過當(dāng)前時間來產(chǎn)生的,保證產(chǎn)生數(shù)字的隨機性。將產(chǎn)生的這個隨機數(shù)變 換為符合?;刂芬?guī)律的數(shù),這個數(shù)可以用來替換要掛鉤的 nt!NtAllocateVirtualMemory函數(shù)中BaseAddress這個參數(shù)所指向的值,實現(xiàn) 對基地址的隨機化采用隨機化。
204:更新??臻g基地址參數(shù)操作值。
通過掛鉤后的API函數(shù)修改函數(shù)NtAllocateVirtualMemory函數(shù)中為??臻g 分配基地址的參數(shù)的值,將上述隨機值的指針來替換API函數(shù) NtAllocateVirtualMemory函數(shù)中BaseAddress的值。
進一步的,通過nt!NtAllocateVirtualMemory函數(shù)進行Hook處理實現(xiàn)基地 址隨才幾化的技術(shù)如下
Hook nt!NtAllocateVirturlMemory (實現(xiàn)棧隨機化)
以下是nt!NtAllocateVirturlMemory函數(shù)的聲明
10NTSTATUS
NtAllocateVirtualMemory
IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN ULONG—PTR ZeroBits, IN OUT PSIZE—T RegionSize, IN ULONG AllocatJonType, IN ULONG Protect
)
其中
BaseAddress:為??臻g分配基地址
AllocationType:為4戔空間分配類型
nt! NtAllocateVirturlMemory功能實現(xiàn)??臻g的分配
BaseAddress:為分配的??臻g的基地址,缺省為0,即由系統(tǒng)進行分配
ZeroBits:指定地址高位的數(shù)目
AllocationType:為空間分配的類型,其中包括MEM—TOP—DOWN 如果指定MEM—TOP_DOWN , 并且將將ZeroBits至0時, NtAllocateVirtualMemory會從MMJHIGHEST—VAD—ADDRESS這個指針指向 的地址開始找,通過修改指向改MM—HIGHEST—VAD—ADDRESS的指針,就
可以隨才幾化??臻g的地址。
實施例三
本發(fā)明還提供了 一種應(yīng)用防御網(wǎng)絡(luò)攻擊的方法,包括如下實施 實施程序后回到??臻g的返回地址,所述返回地址所在的??臻g為?;?地址隨機化后的棧空間,所述返回地址內(nèi)存儲的信息為?;刂冯S機化后的??臻g數(shù)據(jù)信息;
根據(jù)所述返回地址內(nèi)容轉(zhuǎn)到所述返回地址空間所在的程序執(zhí)行。
本發(fā)明實施例結(jié)合RealPlayer Plus播放軟件中利用瀏覽器輔助對象 ActiveX控件中的安全漏洞進行攻擊的過程,對本發(fā)明的具體實施作詳細說明。
RealPlayer Plus是一個具有高級功能的媒體播放器,可以用于播放、保 存和組織媒體,刻錄CD, RealPlayer Plus甚至可以從模擬源保存音頻。 在用戶瀏覽帶有RealPlayer Plus播放軟件中利用瀏覽器輔助對象ActiveX
控件的網(wǎng)頁的時候,就將觸發(fā)緩沖區(qū)溢出的漏洞。
在漏洞被觸發(fā)時,攻擊者需要在溢出惡意代碼中找到一個能改變程序執(zhí)行 流程的跳轉(zhuǎn)地址。由于本漏洞的特殊性,所以,皮攻擊者利用的跳轉(zhuǎn)地址存在 于使用的是RealPlayer Plus播放軟件某個線程的棧的地址范圍中,這樣攻擊 者通過在棧地址范圍中的跳轉(zhuǎn)地址就可以完成對用戶系統(tǒng)的攻擊行為。
本發(fā)明實施例對?;刂愤M行隨機化操作,攻擊進行前若線程的?;刂?是0008H,本發(fā)明實施例設(shè)置一隨機化算法,由于分配棧空間時調(diào)用??臻g 分配函數(shù)觸發(fā)了隨機化,根據(jù)隨機化算法可以獲得一個隨機化值,用該隨機 化值作為?;刂分?,系統(tǒng)為該線程分配??臻g的時候其棧的基地址隨上述 的隨機化值發(fā)生了變化,棧空間以及??臻g內(nèi)數(shù)據(jù)的地址信息相應(yīng)發(fā)生了改 變,如隨機化后的?;刂窞?012H,這里,0008H以及2012H滿足??臻g 分配^見律,包括系統(tǒng)內(nèi)存空閑空間地址。
一旦在執(zhí)行程序的過程中發(fā)生緩沖區(qū)溢出,該溢出可以為攻擊者利用溢出 漏洞設(shè)計的緩沖區(qū)溢出數(shù)據(jù),溢出的數(shù)據(jù)覆蓋了棧中的RET字段的內(nèi)容,由 于對?;刂穼嵤╇S機化處理,攻擊者代碼根據(jù)RET尋址到的地址空間內(nèi)的 地址無法指示其預(yù)設(shè)的惡意代碼執(zhí)行,或者根據(jù)RET尋址到的地址空間內(nèi)沒 有預(yù)設(shè)的指示惡意代碼執(zhí)行指令的跳轉(zhuǎn)地址使得攻擊失效,如圖8所示。原棧基地址為0008H,其返回地址RET的棧地址為0008H + 16byte, 0008H + 16byte??臻g存放的跳轉(zhuǎn)地址為0017H ,在??臻g0017H地址中存放著攻擊
者的惡意代碼,當(dāng)計算機系統(tǒng)對??臻g進行重新分配后,若修改??臻g基地 址為2012H,相應(yīng)的,其惡意代碼的跳轉(zhuǎn)地址0017H遷移到以2012H為基地 址的2012^1 +16byte的地址空間中,當(dāng)按照攻擊者設(shè)計的攻擊過程,當(dāng)函數(shù) 調(diào)用完畢返回棧地址0008H + 16byte時,其內(nèi)存放的不再是指示惡意代碼執(zhí) 行地址的0017H,因為系統(tǒng)中線程的?;刂凡辉偈?008H,而隨隨機化技 術(shù)變?yōu)?012H。這樣在攻擊者預(yù)想的地址空間中,即以0008H為基地址的地 址空間沒有惡意代碼指令的跳轉(zhuǎn)地址,無法執(zhí)行惡意代碼,使其攻擊失效。
另外,將本發(fā)明的緩沖區(qū)溢出防治方法內(nèi)置于安全防護軟件中,對于計算 機防護系統(tǒng)來說,實現(xiàn)了更本性的改變。具有很高的實用價值。
綜上所述,利用本發(fā)明的緩沖區(qū)溢出防治方法,不但可以高效、準(zhǔn)確的攔 截惡意程序的緩沖區(qū)溢出攻擊,而且避免了現(xiàn)有技術(shù)中安全防護軟件對新漏 洞特征碼獲取的滯后性,也比同類產(chǎn)品中讓惡意代碼先執(zhí)行再檢測的方法安 全、高效很多。并且對于未知的緩沖區(qū)漏洞溢出攻擊,也可以準(zhǔn)確、及時的 攔截,并且在其未對系統(tǒng)造成危害的時候阻止其執(zhí)行。 實施例四
本發(fā)明實施例提供了一種防御網(wǎng)絡(luò)攻擊的裝置,包括隨機化模塊和地 址更新模塊。所述隨機化模塊位于所述裝置中,受觸發(fā)操作。所述隨機化模 塊通過獲取??臻g分配啟動信息,所述分配啟動信息包括系統(tǒng)??臻g分配啟 動時對??臻g隨機化分配函數(shù)的調(diào)用,所述隨機化模塊的??臻g分配啟動于 系統(tǒng)確定為子線程分配棧空間之后。
當(dāng)系統(tǒng)調(diào)用棧空間分配函數(shù)觸發(fā)隨機化操作,隨機化;f莫塊根據(jù)所述啟動 消息接收觸發(fā),實施隨機化操作獲得隨機化操作數(shù)。具體可以包括通過隨機 化算法獲得一個隨機值,該隨機值區(qū)別于系統(tǒng)之前執(zhí)行程序,創(chuàng)建子線程時分配的??臻g的基地址值,并且隨著系統(tǒng)對所述程序重新調(diào)用并創(chuàng)建子線程 時該隨機的棧基地址重新進行隨機化計算。每一次分配棧空間為子線程棧分 配了不同的基地址信息。地址更新模塊,根據(jù)所述隨機化#:作數(shù)更新棧空間 地址信息,將所述??臻g基地址信息更新為所述分配的隨機操作數(shù)。 實施例五
本發(fā)明實施例一種防御網(wǎng)絡(luò)攻擊的設(shè)備,所述設(shè)備和分配模塊連接,所
述系統(tǒng)包括調(diào)用模塊,和分配模塊邏輯連接,所述分配模塊,確定為待創(chuàng) 建線程進行??臻g分配,所述調(diào)用模塊啟動棧空間分配,調(diào)用??臻g分配信 息;隨機化模塊,實施隨機化操作,隨機化分配隨機值;觸發(fā)模塊,根據(jù)所 述調(diào)用模塊觸發(fā)隨機化模塊的操作;地址更新模塊,將所述??臻g地址信息 更新為所述分配隨機值。
所述調(diào)用模塊啟動棧空間分配,調(diào)用??臻g分配信息包括棧空間分配啟動 的??臻g隨機化分配函數(shù)的調(diào)用。
所述隨機化模塊包括觸發(fā)感應(yīng)模塊和隨機化梯:作模塊,觸發(fā)感應(yīng)模塊用于 獲得觸發(fā)隨機化操作的信息觸發(fā)隨機化操作。隨機化操作模塊根據(jù)所述觸發(fā) 隨機化操作的信息進行隨機化操作獲得隨機值。所述棧空間地址信息包括棧 基地址信息。
由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,利用本發(fā)明實施例方案 的緩沖區(qū)溢出防御方法,不但可以高效、準(zhǔn)確的攔截惡意程序的緩沖區(qū)溢出 攻擊,而且避免了安全防護軟件對新漏洞特征碼獲取的滯后性,是一種安 全、高效攻擊防御方法。并且對于未知的緩沖區(qū)漏洞溢出攻擊,也可以準(zhǔn) 確、及時的攔截,在其未對系統(tǒng)造成危害的時候阻止其執(zhí)行實施。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不 局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可
14輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明 的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。
權(quán)利要求
1、一種防御網(wǎng)絡(luò)攻擊的方法,其特征在于,該方法包括獲知??臻g分配啟動,實施隨機化操作獲得隨機化操作數(shù);根據(jù)所述隨機化操作數(shù)更新??臻g地址信息。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述棧空間地址信息包括?;刂沸畔?。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲知??臻g分配啟動 后包括對??臻g隨機化分配函數(shù)的調(diào)用。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述隨機化操作數(shù)由生成的隨機化種子操作數(shù)獲得。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述棧空間分配啟動于系統(tǒng)確定為子線程分配??臻g之后。
6、 一種應(yīng)用防御網(wǎng)絡(luò)攻擊的方法,其特征在于,該方法包括實施程序后回到??臻g的返回地址,所述返回地址所在的??臻g為?;?地址隨機化后的棧空間,所述返回地址內(nèi)存儲的信息為?;刂冯S機化后的 棧空間數(shù)據(jù)信息;根據(jù)所述返回地址內(nèi)容轉(zhuǎn)到所述返回地址空間所在的程序執(zhí)行。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述棧基地址隨^M匕在獲知??臻g分配啟動后實施。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于, 所述棧基地址隨機化采用隨機化操作數(shù)更新??臻g地址信息。
9、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述返回地址內(nèi)容包括存放所述執(zhí)行程序的地址。
10、 一種防御網(wǎng)絡(luò)攻擊的裝置,其特征在于,所述裝置包括 隨機化模塊,獲知??臻g分配啟動,實施隨機化操作獲得隨機化操作數(shù);地址更新模塊,根據(jù)所述隨機化操作數(shù)更新??臻g地址信息。
11、 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述地址更新模塊更新??臻g地址信息包括更新??臻g基地址信息。
12、 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述隨機化模塊獲知??臻g分配啟動包括對棧空間隨機化分配函數(shù)的調(diào)用。
13、 根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述隨機化裝置的棧空間分配啟動于系統(tǒng)確定為子線程分配??臻g后。
14、 一種防御網(wǎng)絡(luò)攻擊的設(shè)備,其特征在于,所述設(shè)備包括 調(diào)用模塊,啟動棧空間分配,調(diào)用??臻g分配信息; 隨機化模塊,實施隨機化操作,隨機化分配隨機值; 觸發(fā)模塊,根據(jù)所述調(diào)用模塊觸發(fā)隨機化模塊的操作;地址更新模塊,將所述棧空間地址信息更新為所述分配隨機值。
15、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述調(diào)用模塊啟動??臻g分配,調(diào)用??臻g分配信息包括??臻g分配啟動 的??臻g隨機化分配函數(shù)的調(diào)用。
16、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述隨機化模塊包括 觸發(fā)感應(yīng)模塊用于獲得觸發(fā)隨機化操作的信息;隨機化操作模塊用于根據(jù)所述觸發(fā)隨機化操作的信息進行隨機化操作獲 得隨機值。
17、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于, 所述??臻g地址信息包括棧基地址信息。
全文摘要
本發(fā)明提供了一種防御網(wǎng)絡(luò)攻擊的方法以及一種應(yīng)用防御網(wǎng)絡(luò)攻擊的方法,包括獲知??臻g分配啟動,實施隨機化操作,獲得隨機化操作數(shù),根據(jù)所述隨機化操作數(shù)更新??臻g地址信息。進一步的,實施程序后回到棧空間的返回地址,所述返回地址所在的棧空間為?;刂冯S機化后的??臻g,所述返回地址內(nèi)存儲的信息為?;刂冯S機化后的??臻g數(shù)據(jù)信息;根據(jù)所述返回地址內(nèi)容轉(zhuǎn)到所述返回地址空間所在的程序執(zhí)行。本發(fā)明還提供了一種防御網(wǎng)絡(luò)攻擊的裝置以及設(shè)備。通過采用上述技術(shù),可以高效、準(zhǔn)確的攔截惡意程序的緩沖區(qū)溢出攻擊,而且避免了安全防護軟件對新漏洞特征碼獲取的滯后性,是一種安全、高效攻擊防御方法。
文檔編號H04L29/06GK101621498SQ20081006823
公開日2010年1月6日 申請日期2008年6月30日 優(yōu)先權(quán)日2008年6月30日
發(fā)明者巍 崔, 白皓文 申請人:成都市華為賽門鐵克科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1