DEP機制的保護原理

2021-08-26 00:06:39 字數 950 閱讀 2528

dep機制的保護原理

溢位攻擊的根源在於現代計算機對資料和**沒有明確區分這一先天缺陷,就目前來看重新去設計計算機體系結構基本上是不可能的,我們只能靠向前相容的修補來減少溢位帶來的損害,dep(資料執行保護,dataexecution prevention)就是用來彌補計算機對資料和**混淆這一天然缺陷的。

dep的基本原理是將資料所在記憶體頁標識為不可執行,當程式溢位成功轉入shellcode時,程式會嘗試在資料頁面上執行指令,此時cpu就會丟擲異常,而不是去執行惡意指令。如圖12.1.1所示。

dep 的主要作用是阻止資料頁(如預設的堆頁、各種堆疊頁以及記憶體池頁)執行**。微軟從windows xp sp2開始提供這種技術支援,根據實現的機制不同可分為:軟體dep(software dep)和硬體dep(hardware-enforced dep)。

軟體dep其實就是我們前面介紹的safeseh,它的目的是阻止利用s.e.h的攻擊,這種機制與cpu硬體無關,windows利用軟體模擬實現dep,對作業系統提供一定的保護。現在大家明白為什麼在safeseh的校驗過程中會檢查異常處理函式是否位於非可執行頁上了吧。

硬體dep才是真正意義的dep,硬體dep需要cpu的支援,amd和intel都為此做了設計,amd稱之為no-executepage-protection (nx),intel稱之為executedisable bit (xd) ,兩者功能及工作原理在本質上是相同的。

作業系統通過設定記憶體頁的nx/xd屬性標記,來指明不能從該記憶體執行**。為了實現這個功能,需要在記憶體的頁面表(page table)中加入乙個特殊的標識位(nx/xd)來標識是否允許在該頁上執行指令。當該標識位設定為0裡表示這個頁面允許執行指令,設定為1時表示該頁面不允許執行指令。

由於軟體dep就是傳說中的safeseh,關於safeseh的突破前面我們已經介紹過,所以在這一節中我們只對硬體dep進行討論和分析。

圖書詳細資訊:

DEP機制的保護原理

dep機制的保護原理 溢位攻擊的根源在於現代計算機對資料和 沒有明確區分這一先天缺陷,就目前來看重新去設計計算機體系結構基本上是不可能的,我們只能靠向前相容的修補來減少溢位帶來的損害,dep 資料執行保護,dataexecution prevention 就是用來彌補計算機對資料和 混淆這一天然缺陷...

關掉資料執行保護(DEP)

開啟系統分割槽根目錄下的boot.ini檔案,對其進行編輯。將其中的 noexecute optin 改為 execute 儲存後重新啟動系統,此時系統中的dep功能即已關閉。2k3sp1和xpsp2啟動選單,最後一行多了乙個引數 noexecute optin 這個是拿來控制新增的dep data...

STP的保護機制

bpdu保護 為了保護邊緣埠,因為當乙個邊緣埠收到乙個bpdu時,會狀變為非邊緣埠,會參與生成樹的計算,如果頻繁的up down,就使網路一直處於生成樹的計算。解決方法 在交換機的埠開啟bpdu保護,當設定為bpdu保護的埠收到bpdu時,系統會將該埠變為down狀態。配置 根橋保護 當網路中出現優...