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

openkk 12年前
     <p>        开发者 Jon Oberheid 日前在 Duo 安全博客中<a href="/misc/goto?guid=4958330725660825479" target="_blank">发表了一篇文章</a>,称谷歌 Android 4.0(冰淇淋三明治)中新引入的 ASLR 技术有些缺陷。</p>    <p>        针对 Android 平台频频爆出安全问题,谷歌在去年发布的 Android 4.0 中引入了 ASLR(Address space layout randomization)技术,这是一种针对缓冲区溢出的安全保护技术,通过对栈、共享库映射等线性区布局的随机化,增加攻击者预测目的地址的难度, 防止攻击者定位攻击代码位置,达到阻止溢出攻击的目的。如今 Linux、FreeBSD、Windows 等主流操作系统都已采用了该技术。</p>    <p>        Oberheid 在博文中称,由于 ASLR 缺乏对可执行文件和链接器内存区域的随机化,因此它“对于减缓现实世界中的攻击在很大程度上是无效的”。Oberheid 说 Android 中的 ASLR 是从 Linux 中继承的,但是在 Android 4.0 早期版本,这项技术“几乎是不存在的”,因为只有堆栈的位置被随机化了。</p>    <p style="text-align:center;"><img alt="Android 4.0 中的安全技术 ASLR 被爆“无效”" src="https://simg.open-open.com/show/e5ed52c20bcc15de9529eba930744303.jpg" width="506" height="146" /></p>    <p style="text-align:center;">许多重要的代码仍然是在同一地址</p>    <p>        在 ICS 4.0 中,使用了 Linux 3.x 内核,理论上 Linux 中的 ARM ASLR 扩展也将运行。但是在实际测试过程中,只是比之前版本略有改善,只有 libc.so 和其他共享库被随机化,而堆、可执行代码或链接器映射并没有被随机化。</p>    <p>        Android 安全小组回应 Oberheid 的文章称,在4.0.3中将加入堆随机化功能,未来的 Android 版本中还将加入可执行代码和链接器映射随机化功能。</p>    <p>        Via <a href="/misc/goto?guid=4958330726457771980" target="_blank">TheH</a></p> 来自:    <a id="link_source2" href="/misc/goto?guid=4958330727246623154" target="_blank">www.iteye.com</a>