Android 4.0添加了ASLR
http://developer.android.com/sdk/android-4.0-highlights.html#DeveloperApis
Afaik,ASLR主要用于避免在利用缓冲区溢出漏洞时让某些恶意代码泄漏/将负载放入另一个库中
但几乎所有在Android上运行的代码都将被管理,因此它不应受内存管理错误的影响
它可能对本机代码有用。 Otoh,我认为大多数使用NDK的程序(比如用C语言制作的opengl游戏引擎),仍然有一层java代码来处理用户输入等等(我认为用户提供的文件/字符串会是恶意代码的主要载体)
显然我在照片中遗漏了一些东西
答案 0 :(得分:1)
即使你只能添加用Java这样的托管语言编写的程序,现有的C库仍然是缓冲区溢出的漏洞。
例如,用于播放mp3的库可能是用C语言编写的,而特制的mp3文件可能会触发缓冲区溢出并执行shellcode。在Android中添加ASLR(地址空间布局随机化)将通过随机化一些内存地址来增加编写此类漏洞的难度。