2

Android4.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 ファイルがバッファ オーバーフローを引き起こし、シェルコードを実行する可能性があります。Android に ASLR (Address Space Layout Randomization) を追加すると、一部のメモリ アドレスをランダム化することで、このようなエクスプロイトを作成することが難しくなります。

于 2014-11-19T15:06:24.077 に答える