Hello there, ('ω')ノ
✅ 事前に確認すべきアプリ情報一覧(診断準備チェックリスト)
| 項目カテゴリ | チェック内容 | 補足 |
|---|---|---|
| 基本情報 | アプリ名 / バージョン名 / バージョンコード | どのビルドを診断するか明確に |
| APKファイル | 入手方法とハッシュ値 | 複数バージョンが混在しないように |
| 署名情報 | 開発 or リリース署名か? | 再署名の可否・証明書の確認 |
| プラットフォーム情報 | 対応Androidバージョン、対象端末機種 | テスト端末の準備に必要 |
| アプリ配布方法 | Google Play / MDM / ローカル配布など | APKの取得方法や制限に影響 |
| テスト用アカウント | 必要な認証情報の発行 | ログイン制限や二要素認証があるか |
| 利用中SDK | 外部ライブラリ・SDKの一覧 | 脆弱性DBでCVE確認のために必要 |
| サーバー構成 | バックエンドAPIのURL・通信方式 | 通信傍受やBurp設定に必要 |
| 動作環境制約 | VPN必須、Wi-Fi制限、MDM制御 など | 通信解析ができるかを確認 |
| ライセンスや倫理 | 診断許可・データ操作範囲 | 許可なく攻撃できないため明確化 |
✅ 取得の目的と重要性の解説
📦 APKファイル(バイナリ)
- MobSFやAPKTool、jadxなど解析ツールの起点になる必須ファイル
- 正しいバージョンであることを確認するため、SHA256やMD5のハッシュ値も控えておくと安全
🔑 テスト用アカウント
- 認証が必要なアプリでは必須
- ユーザーごとに機能が異なる場合は、複数ロールのアカウントがあると理想的
🌐 通信構成・サーバー情報
- サブドメイン含めた通信先一覧(APIエンドポイントなど)があると、Burp Suiteの設定がスムーズ
- HTTPSのみ/VPN経由限定などの特殊構成にも対応する準備が必要
📄 ライブラリ一覧
build.gradleから取得可能- CVE(Common Vulnerabilities and Exposures)チェックの対象となる情報源
📝 テンプレート例:診断前に記入してもらう情報シート(抜粋)
| 項目 | 内容 |
|---|---|
| アプリ名 | MyCompany HR App |
| APKバージョン | v1.3.2 (code: 132) |
| 配布方法 | 社内MDM(Intune) |
| テストアカウント | test_user01 / Passw0rd!(人事部用) |
| 通信先 | api.hr.mycompany.internal(HTTPS) |
| 使用ライブラリ例 | Retrofit, OkHttp, Firebase SDK |
| 開発言語 | Kotlin(Nativeコードなし) |
| データ保存先 | 内部ストレージ / SQLite |
| テスト端末 | Pixel 5 / Android 12 |
| 診断許可範囲 | アプリ本体、通信、ストレージまで(サーバーは対象外) |
👉 スプレッドシート形式で共有しておくと便利です。
✅ 注意点:診断を始めてから詰まることが多いパターン
| 問題 | 事前対策 |
|---|---|
| 通信できない(VPN経由など) | 事前にVPN接続の手順とアカウントを入手 |
| ログインできない | テスト用ユーザーを用意してもらう |
| FridaやBurpがブロックされる | MDMやセキュリティポリシーを確認 |
| 使用SDKが不明 | build.gradle か MobSFで一覧を抽出 |
✅ まとめ
- 診断をスムーズに進めるには、「事前に情報を集めておく」ことが最重要
- テスト端末・APKファイル・アカウント・ネットワーク設定の4点は特に重要
- チェックリスト形式の事前ヒアリングシートを使えば、ヒューマンエラーを防げる
Best regards, (^^ゞ