以下の内容はhttps://cysec148.hatenablog.com/entry/2025/10/17/080910より取得しました。


第81回:チェックリスト形式で確認する診断の流れ

Hello there, ('ω')ノ

✅ チェックリストの構成イメージ(主要6カテゴリ)

カテゴリ 内容
基本設定 アプリ設定・パーミッションなど
静的解析 ソースコード/バイナリ解析
動的解析 実行中の挙動チェック
通信・暗号 ネットワークとデータ保護の確認
ストレージ・ログ 保存データ・ログ出力の安全性
その他 外部連携・SDK・署名など

✅ 診断チェックリスト(例)

No 診断項目 内容 チェック結果 備考
1 allowBackup の無効化 AndroidManifestで false ✅ / ❌ / 要確認
2 debuggable の無効化 リリースビルドで debuggable=false
3 Exported Activityの制限 不要な exported は無効化済みか LoginActivityが外部公開中
4 モバイルフレームワークの脆弱性確認 使用ライブラリにCVEがないか MobSFで確認済み
5 通信の暗号化 HTTPSを使用し、SSLピンニングされているか HTTP通信あり
6 平文保存データ 外部ストレージやログに個人情報を保存していないか

👉 上記のような表をGoogleスプレッドシートやExcelで作っておくと、チームでも共有しやすく、更新も簡単です。


✅ 各ステップごとのチェックポイント

🛠 ステップ1:診断準備

  • [ ] 対象アプリのAPKを取得済み
  • [ ] テスト用端末(物理 or エミュレータ)準備
  • [ ] MobSF / JADX / Burp Suite / Fridaなどの環境構築済み
  • [ ] テスト用ネットワーク環境(MITMできるWi-Fiなど)

🔍 ステップ2:静的解析

  • [ ] AndroidManifest.xml の確認(設定ミス、不要なExportedなど)
  • [ ] パーミッションと使用APIの確認
  • [ ] ハードコードされた認証情報の有無
  • [ ] 使用ライブラリの脆弱性(CVE)チェック
  • [ ] Javaコードに脆弱な処理が含まれていないか(WebView、ファイル操作など)

🚦 ステップ3:動的解析

  • [ ] ログ出力に機密情報が含まれていないか
  • [ ] 通信内容の盗聴・改ざんテスト(Burp Suite)
  • [ ] Fridaを用いたランタイム挙動の確認
  • [ ] デバイスルート状態での診断(任意コード実行や内部DBアクセス)

🔐 ステップ4:通信と暗号

  • [ ] 通信はすべてHTTPSを使用しているか
  • [ ] SSLピンニングが導入されているか
  • [ ] 暗号処理に脆弱なアルゴリズム(例:AES ECB)が使われていないか
  • [ ] 鍵や秘密情報がハードコードされていないか

💾 ステップ5:ストレージとログ

  • [ ] 外部ストレージに機密データが保存されていないか
  • [ ] SQLiteやRealmに保存されるデータの暗号化確認
  • [ ] Logcatにユーザー入力やトークンが出力されていないか
  • [ ] クラッシュレポートに内部情報が含まれていないか

🌐 ステップ6:外部連携とその他

  • [ ] 利用中のSDKや外部APIの安全性確認
  • [ ] URLスキームの誤設定がないか
  • [ ] インテント受信制限が適切に設定されているか
  • [ ] 署名やアプリ整合性チェックの仕組みが存在するか

✅ 活用方法のコツ

シーン 使い方
個人作業 自分の進捗チェックや忘れ防止に
チーム診断 担当分け+進捗共有に最適(スプレッドシート形式がおすすめ)
レポート作成前 漏れがないかの最終確認として

✅ まとめ

  • 診断チェックリストは「地図」として機能する超重要ツール
  • 分担・進捗・網羅性のすべてをカバーできる
  • チーム運用・教育・自動化(CI/CD連携)にも応用可能

Best regards, (^^ゞ




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

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