以下の内容はhttps://cysec148.hatenablog.com/entry/2025/09/04/182327より取得しました。


第56回:Androidのセキュリティ機能まとめ

Hello there, ('ω')ノ

🔐 主なセキュリティ機能一覧

機能名 目的
ASLR(アドレス空間配置のランダム化) 攻撃者によるメモリ内のコード位置特定を困難にする
DEP(Data Execution Prevention) データ領域(スタックなど)でのコード実行を防止
SEAndroid(SELinux for Android) OSレベルでのアクセス制御
Verified Boot 改ざんされたOSの起動を防止
サンドボックス アプリごとの実行空間を分離
パーミッションモデル アプリが扱える情報・機能を制限
実行時パーミッション(runtime permission) インストール時ではなく、使用時に確認する仕組み

🧠 ASLR(Address Space Layout Randomization)

✔ 役割:

実行時にライブラリやスタックの位置をランダムに配置して、リターンアドレスなどを予測できなくする

✔ 診断時の影響:

ROP(Return-Oriented Programming)やバッファオーバーフローの攻撃成功率が下がる → ただし、古い端末や非PIEバイナリではASLRが弱いこともあります


🚫 DEP(Data Execution Prevention)

✔ 役割:

スタックやヒープなど、データ用のメモリ領域でコードの実行を完全に禁止 → 「コード注入してスタック上から実行」は原則できない

✔ 診断時の影響:

昔ながらのシェルコード注入では失敗する → その代替手段がROPJOP(Jump-Oriented Programming)


🛡 SEAndroid(SELinux on Android)

✔ 役割:

Linuxの**SELinux(強制アクセス制御)**をAndroidに応用したもの。 プロセスごとに「できること/できないこと」をポリシーで厳密に制御。

✔ 実例:

  • アプリが他アプリの内部ファイルにアクセス不可
  • システム領域の読み書き・実行制限
  • logcat へのアクセス制限(非rootアプリは読めない)

✔ 診断時の影響:

  • SEAndroidポリシーを変更しない限り、rootを取ってもできない操作がある
  • 一部ツール(Drozer等)でSEAndroidによる制限を受けることもある

🔍 Verified Boot(ブート検証)

✔ 役割:

起動時にOSイメージの整合性を検証し、改ざんがあれば起動しないようにする → root化やROM改造が難しくなる

✔ 診断時の影響:

  • Android 7以降はこの機能が強化され、診断用のroot取得に一手間かかる
  • 非公式ROMやカスタムリカバリ(TWRP)で回避するケースが多い

🧱 サンドボックス(アプリ分離)

✔ 役割:

各アプリは**独立したユーザーID(UID)**で動作することで、他アプリのデータやプロセスに干渉できないようにする

✔ 診断時の影響:

  • 他アプリのデータベースやファイルは、root化しない限りアクセスできない
  • 同一署名アプリを使った診断(sharedUserId)などが例外的に可能

✅ 実行時パーミッション(Runtime Permission)

Android 6以降では、ユーザーが実行中に権限を許可/拒否できる仕様に変わりました。

✔ 診断時のポイント:

  • ユーザーが拒否してもアプリが機能するか?(フェールセーフ設計)
  • 許可した直後に情報を抜かれる設計ではないか?(悪用リスク)

✅ 診断時に確認すべき視点

項目 質問
ASLR/DEPが有効か? 実行ファイルのビルド方法、OSバージョン
SELinuxはPermissiveか? adb shell getenforce で確認
アプリは適切にパーミッション制御されているか? 不要な権限が要求されていないか?
Rootなしでも診断できるか? 動的解析がどこまで可能か評価

✅ まとめ

  • Androidは多数の多層防御(Defense-in-Depth)機能を実装している
  • ASLRやDEPはバイナリ攻撃への防御、SEAndroidはOSレベル制御
  • セキュリティ診断では、それらが無効化/不適切に設定されているかを確認することも重要
  • 防御機構を理解することで、攻撃が“なぜ通るのか”/“なぜ防がれているのか”の理解が深まる

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/09/04/182327より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14