Android 4.0 中的安全技术 ASLR 被爆“无效”

开发者Jon Oberheid日前在Duo安全博客中 发表了一篇文章 ,称 谷歌Android 4.0(冰淇淋三明治)中新引入的ASLR技术有些缺陷。  

针对Android平台频频爆出安全问题,谷歌在去年发布的Android 4.0中引入了ASLR(Address space layout randomization)技术,这是一种针对缓冲区溢出的安全保护技术,通过对栈、共享库映射等线性区布局的随机化,增加攻击者预测目的地址的难度,防止攻击者定位攻击代码位置,达到阻止溢出攻击的目的。如今Linux、FreeBSD、Windows等主流操作系统都已采用了该技术。 

Oberheid在博文中称, 由于ASLR缺乏对可执行文件和链接器内存区域的随机化,因此它“对于减缓现实世界中的攻击在很大程度上是无效的” 。Oberheid说Android中的ASLR是从Linux中继承的,但是在Android 4.0早期版本,这项技术“几乎是不存在的”,因为只有堆栈的位置被随机化了。 

Android 4.0 中的安全技术 ASLR 被爆“无效”_第1张图片 
许多重要的代码仍然是在同一地址

在ICS 4.0中,使用了Linux 3.x内核,理论上Linux中的ARM ASLR扩展也将运行。但是在实际测试过程中,只是比之前版本略有改善, 只有libc.so和其他共享库被随机化,而堆、可执行代码或链接器映射并没有被随机化。  

Android安全小组回应Oberheid的文章称, 在4.0.3中将加入堆随机化功能,未来的Android版本中还将加入可执行代码和链接器映射随机化功能。  

你可能感兴趣的:(android,linux,windows,layout,扩展,FreeBSD)