2

Android 4.0 新增 ASLR

http://developer.android.com/sdk/android-4.0-highlights.html#DeveloperApis

Afaik,ASLR 主要用于避免在利用缓冲区溢出漏洞时让一些恶意代码泄漏/将有效负载放入另一个库

但是几乎所有将在android上运行的代码都会被管理,所以它不应该受到内存管理错误的影响

它可能对本机代码有用。Otoh,我认为大多数使用 NDK 的程序(例如用 C 制作的 opengl 游戏引擎)仍然有一层 java 代码来处理用户输入等(我认为用户提供的文件/字符串会成为恶意代码的主要载体)

显然我在我的照片中遗漏了一些东西

4

1 回答 1

1

即使您只能添加用 Java 等托管语言编写的程序,现有的 C 库仍然容易受到缓冲区溢出的影响。

例如,用于播放 mp3 的库可能是用 C 编写的,而特制的 mp3 文件可能会触发缓冲区溢出并执行 shellcode。在 Android 中添加 ASLR(地址空间布局随机化)会通过随机化一些内存地址来增加编写这种利用的难度。

于 2014-11-19T15:06:24.077 回答