- スキャン
- スキャンを実行
- 認証済みスキャン用の2FA
自動スキャンにおける二要素認証 (2FA)
概要
当プラットフォームは、二要素認証 (2FA) で保護されたアプリケーションをサポートしています。 スキャンは追加の検証を必要とする認証フローを自動的に完了できるため、手動による介入なしにセキュリティ評価を進行させることが可能です。
サポートされている認証メカニズムは以下の通りです:
- SMSベースのワンタイムパスワード (OTP)
- 認証アプリによって生成される 時間ベースのワンタイムパスワード (TOTP)
- パスワードレス認証フロー (電子メールトークン)
- ブラウザベースの認証メカニズム
これにより、スキャナーは安全に認証を行い、アプリケーションの保護領域のテストを継続できます。
実現できること
- マルチステップ認証が含まれる場合でも、完全に自動化されたセキュリティスキャン
- ログインワークフロー全体の エンドツーエンドカバレッジ
- SMSの取得またはリアルタイムのTOTP生成を通じた 自動的なOTP処理
- ほとんどの標準的な2FA実装との互換性
サポートされている2FAメソッド
1. SMSベースの2FA
SMSベースの2FAは、登録された電話番号にテキストメッセージで送信されるワンタイムパスワード (OTP) をユーザーに入力させることで、アプリケーションへのアクセスを保護する認証メカニズムです。
当プラットフォームは、この認証フローの完全な自動化をサポートしています。OTPを自動的に傍受、抽出、および注入することにより、SMSベースの検証を必要とするアプリケーションに対する認証済みスキャンを実行できるようにし、ログインワークフローのシームレスなエンドツーエンドカバレッジを保証します。
前提条件
プラットフォームでSMS 2FAを構成する前に、以下の手順を完了していることを確認してください:
- サポートへの連絡: Ostorlab Support に連絡し、専用のテスト用電話番号をリクエストします。
- テストアカウントの設定: アプリケーションのテストアカウントを更新して、2FAにこの番号を使用するようにします。
構成
専用のテスト番号を取得したら:
- ナビゲート: メニューを開き、Scanning > Test Credentials に移動して New Credential をクリックし、2FA SMS を選択します。
- ラベル: 必要に応じて、この認証情報にわかりやすい名前を指定します (例: "Production SMS 2FA")。
- Test Phone Number: Ostorlabから割り当てられた電話番号を入力します (例:
+15550001111)。 - 保存: Add をクリックして、認証情報を安全に保存します。
トラブルシューティング
- 構成: テストアカウントでSMS 2FAが有効になっていることを確認します。
- フィルタリング: アプリケーションのスパム対策またはレート制限のポリシーが、ゲートウェイからの受信メッセージを許可していることを確認します。
- 電話番号: スキャナーがOTPのキャプチャに失敗する場合は、Test Phone Number がOstorlabから割り当てられた番号と完全に一致していること、およびテストアカウントがその番号を使用していることを再確認してください。
2. 電子メールベースのOTP
電子メールベースの2FAは、登録された電子メールアドレスに送信されるワンタイムパスワード (OTP) をユーザーに入力させることで、アプリケーションへのアクセスを保護します。
当プラットフォームは、専用のテスト用メールボックスを安全に監視し、受信した電子メールを解析してOTPを抽出し、アプリケーションのログインフォームに自動的に注入することで、このフローを自動化します。これにより、セキュリティスキャンは手動介入なしに認証フローを完了できます。
前提条件
電子メール2FAを構成する前に、以下の準備ができていることを確認してください:
- 専用メールボックス: OTPを受信するために特別に構成されたテストアカウント。
- 送信者の特定: テストアカウントにOTPをトリガーし、公式の Email Sender (アプリケーションがOTPメッセージを送信する特定の電子メールアドレス) を特定します。
- アプリパスワード: 電子メールプロバイダー (Gmailなど) がメールボックスアカウントに2FAを強制している場合、アプリパスワード を生成する必要があります。通常のアカウントパスワードは、最新のプロバイダーのセキュリティ設定によって拒否されることが多いため、使用しないでください。
構成
- ナビゲート: メニューを開き、Scanning > Test Credentials に移動して New Credential をクリックし、2FA Email を選択します。
- ラベル: 必要に応じて、この認証情報にわかりやすい名前を指定します (例: "Production Email 2FA")。
- Email Sender: 前提条件のステップで特定した Email Sender アドレスを入力します (例:
noreply@yourdomain.com)。 - Email Address & Email Password: テスト用メールボックスの電子メールアドレスと、対応する アプリパスワード を入力します。
- 保存: Add をクリックして、認証情報を安全に保存します。
トラブルシューティング
- 解析エラー: スキャナーがOTPの抽出に失敗する場合は、電子メールの本文に明確で読みやすい形式でコードが含まれていることを確認してください。
- 接続性: メールボックスの設定でIMAP/SMTPアクセスが有効になっていること、および認証情報 (特にアプリパスワード) が正しいことを確認してください。
- セキュリティブロック: スキャナーが受信トレイ自体にログインするのを防ぐような追加の2FAレイヤーによって、メールボックスアカウントが保護されていないことを確認してください。
3. TOTP (認証アプリ)
TOTPベースの認証は、30秒ごとに更新される時間ベースの検証コードを生成します。
当プラットフォームは、仮想の認証デバイスとして機能し、共有シークレットキーに基づいてリアルタイムで有効なコードを生成することにより、TOTPの完全な自動化をサポートしています。
前提条件
- テストアカウントの設定: テストアカウントでTOTPベースの2FAを有効にします。
- シークレットの保護: 設定プロセス中に、認証アプリから TOTPシークレットキー (シード) を取得します。
構成
- ナビゲート: メニューを開き、Scanning > Test Credentials に移動して New Credential をクリックし、2FA TOTP を選択します。
- ラベル: 必要に応じて、この認証情報にわかりやすい名前を指定します。
- TOTPシークレット: Base32でエンコードされたTOTPシードを貼り付けます (例:
JBSWY3DPEHPK3PXP)。 - 保存: Add をクリックして、認証情報を安全に保存します。
セキュリティに関する注意事項
すべてのTOTPシードは保存時に暗号化され、スキャンログや結果に公開されることは決してありません。この実装は RFC 6238 TOTP標準 に完全に準拠しています。
4. 手動2FA
手動2FAは、完全に自動化することができない独自、複雑、またはレガシーな認証フローに最適です。
スキャナーが2FAのステップに遭遇すると、自動的に一時停止し、手動でコードを入力するためのモーダルを表示します。送信後、スキャンが再開されます。
構成
- ナビゲート: メニューを開き、Scanning > Test Credentials に移動して New Credential をクリックし、2FA Manual を選択します。
- ラベル: 必要に応じて、この認証情報にわかりやすい名前を指定します。
- 送信者: 手動リクエストの送信元を特定するための参照ラベル (例:
helpdesk) を入力します。 - 保存: Add をクリックして、認証情報を保存します。
運用上のヒント
スキャナーはコードが提供されるまで手動介入を待つ「一時停止」状態のままになるため、スキャンの進行状況を監視できるようにしておいてください。
トークンの入力
手動介入のためにスキャンが一時停止した場合は、以下の手順に従ってトークンを入力します:
-
スキャンの詳細: Scans から進行中のスキャンを開き、スキャンの概要で Details をクリックします。
-
認証情報の展開: 以前に作成した2FA Manualの認証情報を展開します。
-
Manual OTPをクリック: Manual OTP ボタンをクリックします。
-
保存: 受信したトークン (例:
751629) を入力し、Save をクリックしてスキャンを再開します。
結果の検証
スキャンが完了したら、Call Coverage を検査することで、スキャナーが2FA認証フローを正常にナビゲートしたことを確認できます:
- スキャンを開きます。
- Dynamic Analysis カードの Call Coverage をクリックします。
- リプレイの手順と訪れた画面を確認し、スキャナーがログインと 2FA の手順を完了してからアプリケーションの保護領域にアクセスしたことを確認します。