aslr

aslr

aslr是一種針對緩衝區溢出的安全保護技術,通過對堆、棧、共享庫映射等線性區布局的隨機化,通過增加攻擊者預測目的地址的難度,防止攻擊者直接定位攻擊代碼位置,達到阻止溢出攻擊的目的的一種技術。 ASLR(Address space layout randomization)是一種針對緩衝區溢出的安全保護技術,通過對堆、棧、共享庫映射等線性區布局的隨機化,通過增加攻擊者預測目的地址的難度,防止攻擊者直接定位攻擊代碼位置,達到阻止溢出攻擊的目的。據研究表明ASLR可以有效的降低緩衝區溢出攻擊的成功率,如今Linux、FreeBSD、Windows等主流作業系統都已採用了該技術。 在學術研究上,已經有不少工作對其進行改進。比如進行運行時動態細粒度的隨機化(參見論文 Remix: On-demand Live Randomization)。

實現

大部分主流的作業系統已經實現了ASLR。

OpenBSD

OpenBSD作為一個主流的作業系統,已在ASLR推出2年後支持,並在默認情況下是打開的。

Linux

Linux已在核心版本2.6.12中添加ASLR。

Windows

Windows Server 2008,Windows 7,Windows Vista,Windows Server 2008 R2,默認情況下啟用ASLR,但它僅適用於動態程式庫和執行檔。

Mac OS X

Apple在Mac OS X Leopard10.5(2007年十月發行)中某些庫導入了隨機地址偏移,但其實現並沒有提供ASLR所定義的完整保護能力。而Mac OS X Lion10.7則對所有的應用程式均提供了ASLR支持。Apple宣稱為應用程式改善了這項技術的支持,能讓32及64位的應用程式避開更多此類攻擊。從OS X Mountain Lion10.8開始,核心及核心擴充(kext)與zones在系統啟動時也會隨機配置。

iOS(iPhone, iPod touch, iPad)

Apple在iOS4.3內導入了ASLR。

Android

Android 4.0提供地址空間配置隨機載入(ASLR),以幫助保護系統和第三方應用程式免受由於記憶體管理問題的攻擊,在Android 4.1中加入地址無關代碼(position-independent code)的支持。

相關詞條

相關搜尋

熱門詞條

聯絡我們