スキャンの種類と状態 (Scans)
Resolvyで実行可能なスキャンの種類、スキャンステータス、および実行に必要なトークンシステムについて解説します。
スキャンの種類と状態 (Scans)
Resolvyは、ターゲットの目的に応じて複数の異なるスキャンアプローチを実行できます。スキャンの進行はステータスで管理されます。
スキャンの種類
- 外部アタックサーフェステスト (XAST Scan)
- 外部攻撃者の視点でターゲットを分析します。サブドメイン、公開ポート、DNS、Webサービスなどを自動検出し、外側からアクセス可能な攻撃経路を探します。
- 脆弱性スキャン (Vulnerability Scan)
- 特定のWebアプリケーションやAPIに的を絞り、XSS、SQLインジェクション、設定不備などの一般的な脆弱性を深くスキャンします。
[!WARNING] Webアプリケーションファイアウォール(WAF)に関する注意点 診断対象(ターゲット)のサーバーでWAF(Web Application Firewall)が有効になっている場合、セキュリティスキャナーの診断用ペイロードが遮断され、スキャンが正常に完了しなかったり、正確な診断結果が得られなくなったりする(脆弱性が検出されないなど)可能性があります。
スキャンの効果を最大限に高めるため、スキャン実行中は一時的にWAFを無効にすることをお勧めします。 スキャンが正常に完了した後は、速やかにWAFを再有効化してください。
設定方法がわからない場合やサポートが必要な場合は、お気軽に弊社カスタマーサポート(CS)までお問い合わせください。
スキャンステータス (Scan Statuses)
スキャン実行中、進捗状況は以下のステータスで表示されます。
- Pending (待機中): スキャンの実行キューに登録され、実行スロットが空くのを待っている状態。
- Initializing (初期化中): スキャン環境を立ち上げ、ターゲットの生存確認を行っている状態。
- Scanning (スキャン中): スキャナーが実行され、脆弱性検出エンジンが稼働している状態。
- Analyzing (分析中): 検出されたデータを検証し、誤検知(False Positive)を除外している状態。
- Success (完了): スキャンが正常に終了し、結果レポートが生成された状態。
- Failed (失敗): ターゲットのタイムアウトやシステムエラーにより、スキャンが中断された状態。
トークンシステム
各スキャンの実行には、アカウントの「トークン」が消費されます。
- スキャンタイプや複雑さによって消費トークン数は変動します。
- トークン残高は各ダッシュボード画面の上部で確認できます。残高が不足している場合は、スキャンを実行できません。
脆弱性スキャナーの仕様と検証ルール (Vulnerability Scanner Specifications)
脆弱性スキャナー(Vulnerability Scanner)ページでは、指定されたターゲットURLに対してセキュリティ診断を実行します。スキャン実行時には以下の入力ルールとバリデーションが適用されます。
1. 診断可能なターゲット形式
入力フォームには、スペース(空白文字)を含まない以下のいずれかの形式を入力する必要があります。
- ドメインおよびサブドメイン (例:
example.com,api.example.com) - IPv4アドレス (例:
192.168.1.1) - ポート指定つきホスト (例:
example.com:8443,192.168.1.1:8080)- ポート番号は
1〜65535の範囲内である必要があります。
- ポート番号は
2. パス・クエリパラメータの自動クレンジング(削除)
脆弱性スキャナーは、個別のエンドポイントではなくベースホスト(オリジン)単位でセキュリティ診断を実行します。
そのため、https://example.com/api/v1?user=test#profile のような入力を行った場合、入力検証(バリデーション)によってパス(/api/v1)、クエリ(?user=test)、ハッシュ(#profile)は自動的に削除され、ターゲットは https://example.com に正規化されます。
- 正規化が行われた場合は、画面上に「パスとクエリパラメータが自動的に削除されました」という通知が表示されます。
3. 複数ターゲットの同時指定 (Comma-Separated)
ターゲット入力フォームでカンマ ( , ) を入力することで、最大3つのターゲットURLを同時に入力し、スキャンリスト(Staged URLs)に追加することができます。
- スキャン開始時、登録されたターゲットは順番に(シーケンシャルに)スキャンが実行されます。
4. 登録済みターゲットの選択(Enterpriseプラン)
Enterpriseプランをご利用の場合、プロジェクトの「Target Links」に事前登録されているターゲット一覧からプルダウンで直接選択してスキャンを開始することができます。
スキャン実行の5つのステップ (Five Scanning Phases)
スキャンが開始されると、リアルタイムで進行状況(SSE: Server-Sent Events)がダッシュボードへ送信され、以下の5つのフェーズで詳細な進捗が表示されます。
- 初期化 (Initialization)
- スキャナーの実行環境を立ち上げ、対象ターゲットがオンラインであり接続可能か確認します。
- アセット検出 (Asset Discovery)
- 対象に関連するサブドメインの収集や、公開されているポート・アクティブなサービスの検知を行います。
- 脆弱性スキャン (Vulnerability Scanning)
- OWASP Top 10(SQLインジェクション、XSSなど)やセキュリティ設定不備、既知の脆弱性(CVE)に対する詳細な動的スキャンを実行します。
- 分析と誤検知フィルタリング (Analysis & False Positive Filtering)
- スキャナーが検出したシグナルを検証し、AIと確認ルールを用いて誤検知(False Positive)を自動的に排除します。
- レポートと最終処理 (Reporting & Finalization)
- 診断結果をまとめ、ダッシュボードへの同期およびPDFレポートの生成を行います。
スキャンの完了には通常 3〜5分 程度かかります(XASTの場合は対象の規模により 10〜30分 かかる場合があります)。
履歴と操作 (Scan History & Actions)
スキャン結果テーブル(Results)には実行されたすべてのスキャン履歴が表示され、以下の操作が可能です。
- 詳細を表示 (View Details): 検出された具体的な脆弱性情報(深刻度、CVSSスコア、証跡、修復手順など)がまとめられた脆弱性トラッカーへ遷移します。
- PDFをダウンロード (Download PDF): 開発者やセキュリティ監査担当者向けの、コンプライアンス(OWASP、PCI-DSSなど)に対応したPDF形式のセキュリティ評価レポートをダウンロードします。
XAST (外部アタックサーフェステスト) の高度なオプション
XASTスキャンを実行する際、必要に応じて以下の高度なオプションを有効にできます。
- Webアーカイブ (Web Archives): Wayback Machine、AlienVault OTX、Common Crawlなどのオープンなアーカイブデータベースを遡り、過去に公開されていた資産や非公開アセットを探索します。
- 積極的探索 (Aggressive Discovery): より多くのスキャンペイロードの適用と、ディープなクロールにより、隠れた機密ファイルや異常動作を示すエンドポイントを徹底的に調査します。
- ライブセッション (Live Session): 認証が必要な画面をスキャンするために、セッションキー (例:
session_id,Authorization) とセッション値を指定して、ログインセッションを引き継いだ状態でのスキャンを実行します。