トラブルシューティングフロー

この付録は、許可された学習・評価環境で観測できない、再現できない、または安全境界を判断できないときの切り分け手順です。攻撃を継続するための回避策ではありません。

開始前のauthorization gate

次の全項目を確認できない場合は開始しません。

  • 書面で合意した対象、scope、許可手法、時間帯、連絡先、停止条件がある。
  • 学習用・検証用環境とproduction/第三者環境を識別できる。
  • credential、token、個人情報、request/response、screen captureの保管・masking規則がある。
  • cleanup、snapshot/restore、証跡保全、費用上限の担当者が決まっている。

6段階の判断フロー

  1. 停止条件を先に判定する: 許可外対象、active production、可用性低下、credentialや個人情報の露出、横展開・永続化の兆候があれば即時停止する。
  2. read-onlyで観測する: 時刻、対象、期待結果、実結果、直前操作、tool/version、log、request IDを保存する。再起動や設定変更はまだ行わない。
  3. 症状を分類する: lab起動、proxy/TLS、認証/session/OAuth、API/mobile/cloud tooling、再現性/証跡のどこで差が生じたかを一つに絞る。
  4. 最小安全テストを設計する: snapshot可能な隔離環境と単一仮説を使い、負荷、対象、回数を制限する。productionや共有tenantで試行錯誤しない。
  5. rollbackまたはescalationを選ぶ: 承認済みのrestore/cleanupだけを実行する。scope、所有権、影響を判断できない場合は停止して責任者へ渡す。
  6. cleanupと記録を確認する: container/VM/cloud resource、test account、temporary token、proxy設定を片付け、証跡、未解決risk、実施しなかった操作を記録する。

症状別ルート

labが起動しない・到達できない

proxy・TLS・HTTPを観測できない

  • target host、proxy listener、browser/app proxy、certificate trust、HTTP/HTTPSの順に一境界ずつ確認する。
  • production certificateの置換や端末全体の検証無効化を行わない。
  • HTTP/Cookie/CORS/SameSiteとBurp Suite入門を参照する。

認証・session・OAuth/OIDCの結果が揺れる

  • account/role、token expiry、redirect URI、state/nonce、cookie属性、再現時刻を分けて記録する。
  • 他者account、実credential、共有sessionを使わず、許可済みtest identityだけを使用する。
  • JWT/OAuth2/OIDCの基礎、OAuth/OIDCテストを参照する。

API・mobile・cloud toolが期待どおり動かない

  • tool/version、対象environment、permission、quota、network、provider statusを分離する。
  • 管理者権限の常用、監査log無効化、課金上限を越えるscanで回避しない。
  • API基礎、mobile環境、cloud評価toolを参照する。

findingを再現できない・証跡が不足する

  • 同一request、同一identity、同一前提、時刻、response差分を最小手順で比較する。
  • 再現のためにscope外の負荷、横展開、data変更を追加しない。再現不能も結果として記録する。
  • PoCとreporting、report作成と振り返りを参照する。

即時停止・escalation条件

  • scope外、第三者、active productionへ到達した。
  • credential、token、秘密情報、個人情報を取得または露出した。
  • availability、billing、data integrityへ予期しない影響が出た。
  • 横展開、権限昇格、永続化、証拠毀損が必要になった。
  • 連絡先、rollback、cleanup、証跡保全のいずれかを確認できない。

停止後は法的注意点と倫理とscoping/test planへ戻り、責任者の再承認なしに再開しません。