位址空間配置隨機載入

在計算機科學中，位址空間配置隨機載入（，缩写ASLR，又稱位址空間配置隨機化、位址空間布局隨機化）是一种防范内存损坏漏洞被利用的计算机安全技术。ASLR通过随机放置进程关键数据区域的定址空間来防止攻击者能可靠地跳转到内存的特定位置来利用函数。現代作業系統一般都加設這一機制，以防範惡意程式對已知位址進行Return-to-libc攻擊。

作用 
位址空間配置隨機載入利用隨機方式配置資料定址空間，使某些敏感資料（例如作業系統內核）配置到一個惡意程式无法事先获知的位址，令攻擊者難以進行攻擊。

實作 
大部分主流的操作系统已经实现了ASLR。

Android 
Android 4.0 “Ice Cream Sandwich”提供ASLR功能以保护系统和第三方应用程序。Android 4.1添加了地址无关可执行文件支持。 Android 5.0移除了对非PIE的支持，并要求所有动态链接库是地址无关的。 库加载顺序随机化在2015年十月26日被接受并在Android 7.0并正式加入。

OpenBSD 
OpenBSD作为一个主流的操作系统，已在ASLR推出2年后支持，并在默认情况下是打开的。

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

Windows 
Windows Server 2008，Windows 7，Windows Vista，Windows Server 2008 R2，Windows 10 1809，默认情况下启用ASLR,但它仅适用于动态链接库和可执行文件。

Mac OS X 
Apple在Mac OS X Leopard 10.5（2007年十月發行）中某些函式庫導入了隨機位址偏移，但其實作並沒有提供ASLR所定義的完整保護能力。而Mac OS X Lion 10.7則對所有的應用程式均提供了ASLR支援。Apple宣稱為應用程式改善了這項技術的支援，能讓32及64位元的應用程式避開更多此類攻擊。從OS X Mountain Lion 10.8開始，核心及核心擴充（kext）與zones在系統啟動時也會隨機配置。

iOS（iPhone, iPod touch, iPad） 
Apple在iOS 4.3內導入了ASLR。

外部連結
PaX documentation on ASLR
Comparison of PaX to Exec Shield and W^X
ASLR for Windows Vista beta 2
ASLR for Windows 2000/XP/2003 (WehnTrust)
Bypassing PaX ASLR protection
On the effectiveness of address space layout randomization
Microsoft Finds (Random) Way to Secure Vista
Windows Vista Randomization Gets OEM Thumbs Up
Test Applications (or libraries) for their ASLR and DEP support
ASLR Smack & Laugh Reference

參考資料

電腦記憶體
記憶體管理
電腦架構