自動スキャンの仕組み
このトピックでは、スキャンの「ステージ」と「フェーズ」の違いについて説明します。
AppScan フル・スキャンは 2 つのステージ探査とテストという 2 つの別個のフェーズがあります。スキャン処理の大部分がユーザーには実際上シームレスに見え、またユーザー入力はスキャンが完了するまでほとんど必要ありませんが、この背後にある原理を理解することは役に立ちます。
探査ステージ
第 1 ステージでは、AppScan によって、リンクをクリックしてフォームのフィールドに入力を行う Web ユーザーがシミュレートされることで、サイト (Web アプリケーションまたは Web サービス) が探査されます。これが探査ステージです。
AppScan では、自身が送信した各要求への応答が分析され、潜在的な脆弱性のすべての兆候が探索されます。AppScan® でセキュリティーの脆弱性を示す可能性がある応答が受信されると、この応答に基づいて 1 つ以上のテストが自動的に作成され、またどの結果が脆弱性とみなされるかを判別するために必要な検証ルール、および関連するセキュリティー上のリスクのレベルについても記述されます。
AppScan では、作成されたサイト固有のテストをアプリケーションに送信する前に、いくつかの誤った形式の要求がアプリケーションに送信され、アプリケーションでのエラー応答の生成方法が確認されます。この情報は、次に AppScan の自動テスト検証処理の精度を高めるために使用されます。
テスト・ステージ
第 2 ステージでは、AppScan は、探査ステージ中に作成した何千というカスタムのテスト要求を送信します。また、カスタムの検証ルールを使用して、各テストに対するアプリケーションの応答を記録および分析します。これらのルールは、アプリケーション内部のセキュリティー上の問題を特定し、またそれらのセキュリティー上のリスクのレベルをランク付けします。
フェーズ
実際には、テスト・ステージでサイト内の新規リンクや発生する可能性が高いセキュリティー・リスクが明らかになることがよくあります。このため、探査とテストの第 1「フェーズ」の完了後に、AppScan では、第 2「フェーズ」が自動的に開始されて新しい情報が処理されます。第 2 フェーズで新しいリンクが検出された場合は第 3 フェーズが実行され、これ以降も同じようになります。
構成された回数のスキャン・フェーズ (ユーザーが構成可能。デフォルトでは 4 回) が完了した後、スキャンが停止し、ユーザーは完了結果を確認できます。
スキャン・フロー
以下の図は、自動スキャン・フローのステージとフェーズを示しています。このプロセスには、ユーザーからのアクションは不要ですが、AppScan® ログ内にこれらのプロセスについて記載されている場合があります。