●dep(date execution prevention)資料執行保護:
dep通過處理器的(no execute)功能,查詢記憶體中沒有明確包含可執行**的資料,找到這些資料後,nx將它們都標記為「不可執行」。
以後如果某程式在記憶體中,試圖執行這些帶「不可執行」標記的**,sp2將會自動關閉該程式。因此,假如你執行了乙個已經染毒的軟體,
dep就會把病毒**標記為「不可執行」,這樣就能阻止病毒在記憶體中執行,保護電腦中的檔案免受蠕蟲、病毒的傳染破壞。
●aslr(address space layout randomization)位址空間布局隨機化:
通過將系統可執行程式隨機裝載到記憶體裡,從而防止緩衝溢位攻擊。如果乙個動態鏈結庫(dll)檔案的動態重定位標誌設定為真,
那麼它就會自動地隨機裝載到記憶體中。那些在特定記憶體區域尋找特定檔案的惡意軟體就會失效不能再li利用漏洞。
實際上aslr還能通過讓那些正受攻擊的系統檔案崩潰來誤導惡意軟體。
●sehop(structured exception handling overwrite protection )結構化異常處理覆寫保護:
專門用於對抗覆蓋seh此類攻擊。它會檢測程式棧中的所有she結構鍊錶,
特別是最後乙個she結構(擁有乙個特殊的異常處理函式指標)向其中插入乙個硬位址,
這樣通常覆蓋seh後為了穩定溢位而使用的payload就會破壞掉seh鏈,從而導致seh鏈找不到末尾的位址於是系統就會認為seh被覆蓋了,從而程序被終止。
●eaf(export address table access filtering)匯出表位址過濾:
當前絕大部分的shellcode在執行時都需要搜尋要用到的api位址,而這一行為通常是通過對相應模組匯出表的遍歷來實現的。
而eaf通過對ntdll.dll和kernel32.dll匯出表的相應位置下硬體斷點,來監控shellcode 對匯出表的搜尋行為。
●heapspray allocations:
顧名思義用來對抗使用heapspray的方法來執行shellcode。
預先把有可能被spray的常見記憶體位址分配掉這樣shellcode就不能執行了。
null page allocation:
類似heapspray,利用提前佔位的方式,將空指標未初始化之前預設指向的可能位址先分配掉,這樣惡意**也就不能執行了。
常見的分頁的實現方式 簡介
mysql select from tablename limit m,n m從 開始,n資料的條數 postgresql select from tablename limit n offset m oracle select from select s.rownum rn from select...
私有保護方式
作 者 劉慧豔 完成日期 2014 年6月20日 版 本 號 v1.0 問題描述 student類含有私有資料成員 num,name,公有成員函式 輸入函式get value 和輸出函式display 採用私有保護方式實現類student1,增加資料成員 age,addr,成員函式 get valu...
pwn 幾種保護方式
arch amd64 64 little relro會有partial relro和full relro,如果開啟full relro,意味著我們無法修改got表 relro full relro 重定向 stack no canary found 棧檢查 nx nx enabled 不可執行 pi...