位址空间配置随机载入

计算机科学中,位址空间配置随机载入(英语: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