コース目次 / 第5章
まとめ — 静的解析の先にあるもの
ビルド・秘密の発見・マニフェスト読解・修正を畳みます。このコースが扱わなかった動的解析の存在を明示し、Firebaseの落とし穴コースへの道筋を示します。
apktool と jadx だけで、Android SDK 無しに練習用APKをビルドし、静的解析で4つの穴を見つけ、直しました。
モバイル静的解析・早見表
| 見るところ | 道具 | 見つかるもの |
|---|---|---|
| バイトコード | jadx |
ハードコードされた秘密、ロジックの中身 |
| マニフェスト | apktool d |
allowBackup・usesCleartextTraffic・exported |
| リソース | apktool d |
strings.xml等に紛れた秘密や設定値 |
これらはすべて、アプリを1回も起動しなくても見つかります。sec-audit の「動かさずに読む」を、モバイルという別のプラットフォームで、そのまま実践しました。
このコースが扱わなかったこと — 動的解析
実務のモバイル診断は、静的解析だけでは終わりません。動的解析——実機やエミュレータでアプリを実際に動かし、Burp のようなプロキシで通信を傍受する、実行時にメモリやローカルストレージを覗く、といった手法——が、もう一つの大きな柱です。
これには、Android エミュレータや実機、証明書のインストールなど、このコースより重い環境構築が要ります。静的解析で「怪しい」と当たりをつけた箇所を、動的解析で「本当にそうなるか」確定させる——sec-audit で学んだ、ホワイトボックスとブラックボックスの補完関係が、ここでも同じ形で成り立ちます。
次の道 — Firebase の落とし穴
次は「Firebase の落とし穴」です。モバイルアプリの多くは、Firebase のようなバックエンドサービスと組み合わさっています。アプリ側のコードがどれだけ堅くても、バックエンドの設定が緩ければ、そこから同じように情報が漏れます。
このコースの実習も、すべて自分でビルドした練習用APKだけが相手でした(法と倫理)。実在のアプリを解析する場面が来たら、この読み方はそのまま使えますが、相手が実在するアプリなら、正式な許可(バグバウンティ・診断契約など)がある場合に限ります。
お疲れさまでした。あなたはもう、APKを「動かせない」からといって、丸腰ではありません。
こうなっていればOK
この章で卒業です。
この章はまだ完了していません。
保存できませんでした(プライベートブラウズ中かもしれません)。この端末に進捗は残りませんが、先へは進めます。