gpt4 book ai didi

android - Android 上 ASLR 的目的是什么?

转载 作者:行者123 更新时间:2023-11-29 02:10:26 26 4
gpt4 key购买 nike

Android 4.0 添加了 ASLR

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

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

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

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

很明显,我在图片中遗漏了一些东西

最佳答案

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

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

关于android - Android 上 ASLR 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7819809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com