2011-10-19 44 views
2

的Android 4.0加入ASLRAndroid上ASLR的用途是什麼?

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

據我所知,ASLR是很有用的,以避免讓利用緩衝區溢出漏洞,當一些惡意代碼泄露/把有效載荷在另一個庫

但幾乎所有的將在Android上運行的代碼將被管理,因此它不應該受到內存管理錯誤的影響

它可能對本機代碼可能有用。 Otoh,我認爲大多數使用NDK的程序(例如用C語言編寫的opengl遊戲引擎)仍然有一層java代碼來處理用戶輸入,並且我認爲用戶提供的文件/字符串會對惡意代碼的主要載體)

顯然我失去了一些東西在我的圖片

+0

有關的東西..http://stackoverflow.com/questions/5917768/is-there-some-sort-of-aslr-protection-on-android – Krishnabhadra

回答

1

即使你只能添加在編寫Java等管理語言程序,現有的C庫仍然vulnerables緩衝區溢出。

例如,用於播放mp3的庫可能用C編寫,特製的mp3文件可能會觸發緩衝區溢出並執行shellcode。在Android中添加ASLR(地址空間佈局隨機化)將通過隨機化一些內存地址來增加編寫這種漏洞的難度。