Android 1.5〜4.1 で強化されたセキュリティ機能

Android では、Android のセキュリティの概要に記載されているマルチレイヤ セキュリティ モデルが提供されます。Android の各アップデートで、ユーザーを保護するためにさまざまなセキュリティ機能が強化されています。Android 1.5〜4.1 では、次のようなセキュリティ機能が強化されました。

Android 1.5
  • スタック バッファ オーバーランを防ぐ ProPolice(-fstack-protector)
  • 整数オーバーフローを低減する safe_iop
  • double free() の脆弱性を防止して、チャンク統合攻撃を阻止する OpenBSD dlmalloc の拡張(チャンク統合攻撃は、ヒープ破損を悪用する一般的な方法です)
  • メモリ割り当て時の整数オーバーフローを防ぐ OpenBSD calloc
Android 2.3
  • 書式文字列の脆弱性に対する保護機能(-Wformat-security -Werror=format-security)
  • スタックとヒープでコードが実行されないようにするハードウェアベースの No eXecute(NX)
  • null ポインタ逆参照の権限昇格を軽減する Linux mmap_min_addr(Android 4.1 でさらに強化されました)
Android 4.0
メモリ内の鍵の場所をランダム化するアドレス空間配置のランダム化(ASLR)
Android 4.1
  • PIE(位置独立実行形式)のサポート
  • 読み取り専用再配置と即時バインディング(-Wl、-z、relro -Wl、-z、now)
  • dmesg_restrict の有効化(カーネル アドレスの漏洩の回避)
  • kptr_restrict の有効化(カーネル アドレスの漏洩の回避)