地址空間佈局隨機化 (ASLR)
幾十年來,記憶體破壞漏洞一直困擾著軟體,儘管蘋果、谷歌和微軟等大型公司都努力根除它們。本文介紹了有關 ASLR 的一些基本事實,重點關注 Windows 的實現。除了介紹 ASLR 如何提高安全態勢外,我們還旨在為防禦者提供有關如何提高其軟體安全的建議,併為研究人員提供更多有關 ASLR 如何工作以及調查其侷限性的思路。
記憶體破壞漏洞發生在程式錯誤地將攻擊者控制的資料寫入預期記憶體區域之外或預期記憶體範圍之外時。這可能會導致程式崩潰,或者更糟的是,使攻擊者完全控制系統。由於這些錯誤很難發現,並且只有一個錯誤就可能危及系統,因此安全專業人員設計了故障安全機制來阻止軟體利用並限制在利用記憶體破壞錯誤時造成的損害。不幸的是,沒有什麼事情是完美的,但是地址空間佈局隨機化 (ASLR) 是現有最好的緩解措施之一。
ASLR 透過打破開發人員在執行時可能對程式和庫在記憶體中的位置所做的假設來工作。一個常見的例子是返回導向程式設計 (ROP) 中使用的 gadget 的位置,ROP 通常用於擊敗資料執行保護 (DEP) 的防禦。ASLR 打亂易受攻擊程序的地址空間——主程式、其動態庫、堆疊和堆、記憶體對映檔案等等——以便利用有效負載必須根據受害者程序在當時佈局的地址空間進行唯一定製。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP