地址空間組態隨機載入

電腦科學中,地址空間組態隨機載入(英語:Address space layout randomization,縮寫ASLR,又稱地址空間組態隨機化地址空間佈局隨機化)是一種防範主記憶體損壞漏洞被利用的電腦安全技術。ASLR通過隨機放置行程關鍵數據區域的定址空間來防止攻擊者能可靠地跳轉到主記憶體的特定位置來利用函數。現代作業系統一般都加設這一機制,以防範惡意程式對已知地址進行Return-to-libc攻擊

作用

地址空間組態隨機載入利用隨機方式組態資料定址空間,使某些敏感資料(例如作業系統內核)組態到一個惡意程式無法事先獲知的地址,令攻擊者難以進行攻擊。

實作

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

Android

Android 4.0 「Ice Cream Sandwich」提供ASLR功能以保護系統和第三方應用程式。Android 4.1添加了地址無關可執行檔案支援。[1] Android 5.0移除了對非PIE的支援,並要求所有動態連結庫是地址無關的。[2][3] 庫載入順序隨機化在2015年十月26日被接受[4][需要非第一手來源]並在Android 7.0並正式加入。

OpenBSD

OpenBSD作為一個主流的作業系統,已在ASLR推出2年後支援,並在預設情況下是打開的。[5]

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

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

iOS(iPhone, iPod touch, iPad)

AppleiOS 4.3內匯入了ASLR。[12]

外部連結

參考資料

  1. ^ Android Security. Android Developers. [7 July 2012]. (原始內容存檔於2011-10-12). 
  2. ^ oss-security. [4 October 2015]. (原始內容存檔於2015-10-05). 
  3. ^ Revert "Reenable support for non-PIE executables". [26 June 2017]. (原始內容存檔於2023-08-11). 
  4. ^ 參照錯誤:沒有為名為android-llor的參考文獻提供內容
  5. ^ Theo De Raadt. Exploit Mitigation Techniques (updated to include random malloc and mmap) at OpenCON 2005. [2009-08-26]. (原始內容存檔於2012-07-16). 
  6. ^ Quick Leopard Update. securosis.com. 29 October 2007 [10 April 2012]. (原始內容存檔於2008-04-03). 
  7. ^ Matasano Chargen » A Roundup Of Leopard Security Features. [2012-07-20]. (原始內容存檔於2009-03-23). 
  8. ^ Matasano Chargen » What We’ve Since Learned About Leopard Security Features. [2012-07-20]. (原始內容存檔於2008-01-11). 
  9. ^ King, Rob. TippingPoint DVLabs New Leopard Security Features – Part I: ASLR. Dvlabs.tippingpoint.com. 7 November 2007 [10 April 2012]. (原始內容存檔於2012-10-18). 
  10. ^ Security. Apple Inc. [6 June 2011]. (原始內容存檔於2011年6月6日). 
  11. ^ OS X 10.8 Mountain Lion. [19 February 2012]. (原始內容存檔於2015-09-23). 
  12. ^ Pwn2Own day 2: iPhone, BlackBerry beaten; Chrome, Firefox no-shows頁面存檔備份,存於互聯網檔案館), Ars Technica, 11 March 2011