「探査オプション」ビュー

AppScan がアプリケーションの探査に使用する探査方法 (アクション・ベース、要求ベース、またはその両方) と、その他の基本的な探査設定と詳細な探査設定を定義します。

探査方法
AppScan は、2 つの異なる方法をスキャンの探査ステージに使用します。一方または両方を選択できます。2 つの方法の内、要求ベースの探査は一般にアクション・ベースの探査より高速で処理されます。両方とも選択した場合 (デフォルトの推奨されている選択です)、アクション・ベース探査がまず 30 分の時間制限で実行され、その後に要求ベースの探査が実行されます。
ページ構造 (DOM) フィルタリング
これらを使用すると、すでにスキャンしたページと非常に類似し、無視しても問題がないページを特定することにより、スキャン時間を大幅に減らすことができます。
スキャン制限
これらの制限により、AppScan がご使用のアプリケーションを探査する深度 (または速度) が決まります。
詳細設定
  • 追加の探査設定: クライアントが特定のサーバー・エンコードを認識し、特定のユーザー・エージェント・ヘッダーを送信するように構成します。
  • アクション・ベース: このメソッドに固有の設定です。
  • 要求ベース: このメソッドに固有の設定です。

設定

詳細

探査方法

アクション・ベース

任意のバージョンの Google Chrome ブラウザーを使用して、ユーザーが行うように、ブラウザーに表示されるリンクをクリックしてサイトをスキャンします。このメソッドは、JavaScript や Session Storage などのテクノロジーが使用されている場合、そして、RIA、Single-page Application (SPA)、または AngularJS のサイトに対して特に効果的です。

要求ベース

要求は、AppScan が検出する、すべてのページ・コンテンツに基づいて送信されます。これには、コメント内のリンクなど、ブラウザーを使用するユーザーには表示されずに、アタッカーが見つける可能性があるコンテンツが含まれます。

ページ構造フィルタリング

構造 (DOM) を基準にして類似ページをフィルター

AppScan® は、構造 (DOM) 類似性に関して、新規ページと既にスキャンしたページを比較します。類似性は、追加のテストが必要な新規リンクやコンテンツが新規ページに含まれていないことを示します。例えば、商用サイトでは、千単位の異なる製品が別々のページ上にあるものの、他のあらゆる点は同一のカタログがあるとします。この場合、通常はすべてのページをスキャンする必要がありません。DOM の類似性に基づいてフィルタリングを行うことで、スキャン時間を大幅に 短縮できます。

デフォルトでは、両方のチェック・ボックスが選択されています。スキャン後、スキャン結果の「フィルター済み」タブを調べて、固有の要求がフィルター処理により誤ってスキャンから除外されていないかを確認する必要があります。その場合は、一定した低レベルのフィルター処理を行う「フィルターに掛けるページを減らす」オプションを試行するか、DOM フィルター処理を完全に無効にする必要があります。

結果の「フィルター済み」タブには、以下の 3 種類のフィルター済み項目が表示されます。
  • 類似の DOM: これは、ページの構造 (DOM) が以前に探査したページの構造と類似しており、テストする新規要素が含まれていない可能性が高いために、スキャンからフィルターで除外されたページを示します。
  • 類似の可能性が高い DOM: これは、以前に探査したページと同じ構造 (DOM) が応答に含まれると AppScan が判断し、テストする新規要素が含まれていないために、送信されなかった要求を示します。
  • 類似した本文: これは、応答本体のコンテンツが以前に探査された要求の応答本体のコンテンツと類似しているためにフィルタリングによってスキャンから除外された、(類似の DOM によってフィルタリングされなかったページからの) 要求を示します。
スキャン後、スキャン結果の「フィルター済み」タブを調べて、固有の要求がフィルター処理により誤ってスキャンから除外されていないかを確認する必要があります。その場合は、「重複の可能性が高いページをフィルター」オプション (次のオプション) をクリアするか、このチェック・ボックスをクリアして DOM フィルター処理を完全に無効にする必要があります。

構造 (DOM) を基準として類似の可用性が高いページをフィルター

この設定は、フィルター処理により、「類似の可能性が高い DOM」ページをスキャンから除外します (上記の説明を参照)。誤って固有の要求がフィルター処理によりスキャンから除外された場合は、このチェック・ボックスをクリアしてください。

スキャン制限

冗長なパスの制限

AppScan® は、同じパスに対して、指定された回数を超えるアクセスは行いません。

特定のパスは、これが別のパラメーターを指定して 出現すると、数回にわたってアクセスされる可能性があります。この制限は、主にスクリプトに関連して行われます。これはデフォルトでは選択解除されています。ほとんどの場合、上記のチェック・ボックス「構造 (DOM) を基準に重複したページをフィルター」を選択すると、スキャン時間が十分に制御されるためです。

クリックの深さの制限

AppScan® は、指定された数を超えるリンクをクリックしてアクセスされたページをスキャンしません。

合計ページ制限 (Total Page Limit)

これを選択すると、AppScan® は、定義されているページの最大数を超えるアクセスは行いません。ページごとに多数の URL が探査される場合があることに注意してください。

拡張オプション

このセクションには以下の 3 つのパートが含まれています。
  • 追加の探査設定
  • アクション・ベース: アクション・ベースの探査にのみ影響する設定
  • 要求ベース: 要求ベースの探査にのみ影響する設定

追加の探査設定

これらの詳細設定は、アクション・ベースの探査と要求ベースの探査の両方に適用されます。

設定

詳細

エンコーディング

一般に、AppScan® は、アプリケーションのエンコード方式を自動的に検出するため、自動検出がデフォルトで選択されています。

スキャン結果の応答の内容がゆがめられているように見える場合は、エンコード方式が正しく識別されていなかったことが考えられます。この問題を解決するために、ドロップダウン・リストから正しいエンコード方式を選択してください。

ユーザー・エージェント

HTTP 要求内のユーザー・エージェント・ヘッダーは、要求を送信したクライアントの種類をサーバーに提示します。これは、サーバーが返すコンテンツに影響することがあります。例えば、ユーザー・エージェントが携帯電話ブラウザーである場合にのみ、携帯電話に固有のコンテンツを送信することができます。AppScan® がこのようなコンテンツをテストできるようにするには、適切なユーザー・エージェント・ヘッダーを送信するように構成する必要があります。

一般に、AppScan® は、ユーザー・エージェントを自動的に検出するため、「自動検出」がデフォルトで選択されています。しかし、組み込みブラウザー以外のブラウザーを使用して、ログイン手順、マルチステップ操作、またはマニュアル探査を記録しない場合、AppScan® はユーザー・エージェントを自動検出できないため、手動で選択する必要があります。

ユーザー・エージェントを変更するには、ドロップダウン・リストからエージェントを選択します。

カスタム・コンテンツを入力するには、「編集」ボタンをクリックし、コンテンツを入力します。ダイアログ・ボックスを閉じると、ボタン名が「カスタム・ユーザー・エージェント」に変更されます。

注: デフォルトのブラウザーを変更する場合は、デフォルト・ブラウザーの変更 にリストされている条件を参照してください。

アクション・ベース

このセクションは、このダイアログの上部で「アクション・ベース」チェック・ボックスが選択されている場合にのみアクティブになります。
設定 詳細
探査タイムアウト (分) サイトのアクション・ベース探査のデフォルト時間制限は 30 分です。この時間が経過すると、サイトの探査が完了していない場合でも探査ステージが停止します。

AppScan がこの時間内にサイトの重要な部分を探査できない場合には、このタイムアウトを延長できます。

ページでアクションを起動する前の最小待ち時間 (ミリ秒単位) AppScan は、探査を開始する前に、ページが完全に読み込まれたことを識別しようとします。
最小待ち時間をここに追加した場合、AppScan は常にこの設定を最小待ち時間として使用します (ページが読み込まれたことを検出した場合でも)。ただし、ページが読み込まれていないことを検出した場合には、さらに長く待機します。
ヒント: 探査データをレビューしているときに、AppScan がページで可能なすべてのアクションを実行できていないことが確認された場合には、動的な待ち時間が短すぎる可能性があります。また、ブラウザーを有効にしておけば、スキャン中にこれを確認することもできます。
  1. 「ツール」>「オプション」> 「詳細」に移動します
  2. SessionManagement:ShowActionBasedPlayerWindow を見つけ、設定を True に変更します。
  3. スキャンを実行します。スキャン時にブラウザーが開き、AppScan がサイトを探査する様子を見ることができます。現在のページが完全に読み込まれる前に新しいページへと続行されることに気づいた場合は、待ち時間を増やすと問題が解決することがあります。
注: この設定を変えると探査時間に影響が及ぶ可能性があるため、探査タイムアウト (上記) を増やすことも検討するとよいでしょう。
動的ページ
動的ページ読み込みの自動検出 デフォルトでは、AppScan はアクティブに動的ページ・コンテンツを検出して、そのようなページを処理します。まれに、これが原因でページが正しく読み込まれず、スキャン範囲に影響が及ぶことがあります。
ヒント: この問題を識別するには、以下を行います。
  1. 「ツール」>「オプション」> 「詳細」に移動します
  2. SessionManagement:ShowActionBasedPlayerWindow を見つけ、設定を True に変更します。
  3. スキャンを実行します。スキャン時にブラウザーが開き、AppScan がサイトを探査する様子を見ることができます。通常のブラウザーで正しく読み込まれるページがスキャン中に正しく読み込まれないことに気づいた場合は、このチェック・ボックスをクリアすると問題が解決することがあります。
フィルター
同一 DOM 要素のアクションをスキップする AppScan は、さまざまな基準に基づいて、前のページですでに実行したアクションを特定します。実際は異なっているのに DOM 要素が原因で同一に見えるアクションがサイトに含まれている場合、AppScan は誤ってそれらのアクションを無視することがあります。その場合は、このチェック・ボックスをクリアしてください。
注: 同じアクションを数回、実際にAppScan 繰り返すことでそれらが本当に同じであることを確認してから、今後の反復を無視するようになります。
機械学習を使用して重複するアクションを分析およびスキップする AppScan 機械学習を使用して探索のステージの効率を改善します。AppScan は、サイトの既に発見されている部分につながる可能性のあるアクションを予測して、それらを避けることができます。

コンテンツのみ異なるページがサイトに多く含まれている場合には、この機能によりサイトのカバー範囲を大幅に拡大することができます。正確な拡大範囲はサイトによって異なります。

スキップするアクション これは、スキャン、またはアプリケーションにさえも悪影響を及ぼすため AppScan が無視すべきアクションのリストです。スキップするアクションは、アクションの DOM 要素の Idname、または ng-model 属性に基づいて特定されます。DOM 要素属性の Idname、または ng-model にリスト内の語句のいずれかが含まれているアクションはスキャンから除外されます。

このリストに項目を追加したり、リストの項目を編集および削除できます。

要求ベース

このセクションは、このダイアログの上部で「要求ベース」チェック・ボックスが選択されている場合にのみアクティブになります。
  • JavaScript オプションにより、AppScan が、これらのスクリプトを無視するかスキャンするかが決まります。
  • 「探査モード」により、AppScan® がページ上のすべてのリンクを探査してから次のページに進むか、新しいリンクが検出されるたびにそのリンクを探査するかが決まります。
  • 「WebSphere Portal」により、クライアントが特定のサーバー・エンコードを認識し、特定のユーザー・エージェント・ヘッダーを送信するように構成します。
設定 詳細
JavaScript
JavaScript コードを解析して URL を見つける AppScan® は、JavaScript コードをリンクを収集するためのテキスト・データとして解析します。
探査モード
幅優先 (デフォルト) AppScan® は、ページごとに探査を行い、 ページに含まれるすべてのリンクを探査した後、次のページに進みます。

ユーザーが特定の順でリンクにアクセスする必要があるアプリケーションでの制約について問題がない限り、このオプション (幅優先) のデフォルトの選択を変更しないことをお勧めします。

深さ優先 AppScan® は、リンクごとに探査を行い、新しいリンクが見つかった時点でこれを探査します。

探査方法を「深さ優先」に変更すると、AppScan® について、探査中に 1 個のスレッドのみ使用するように変更する必要もあります。(「構成」 > 「通信およびプロキシー」ビュー)。

WebSphere® Portal

Enable WebSphere® Portal スキャン

サイトが WebSphere® Portal サイトの場合、AppScan® はより効率的にスキャンするためにそのサイトから URL デコード情報を取得して、便利なアプリケーション・ツリーを作成する必要があります。デコードを有効にするには、「WebSphere Portal スキャンを有効にする」を選択します。

コンテキスト・ルート URL がデフォルトの形式に従っていない場合、「コンテキスト・ルート URL の追加」をクリックして、1 つ以上のコンテキスト・ルート URL を追加します。
ヒント: ご使用のポータルのコンテキスト・ルート URL が分からない場合には、以下のようにします。
  1. WebSphere Portal がインストールされているコンピュータで、wp_profile_root/ConfigEngine/properties ディレクトリーの wkplc.properties ファイルを開きます。
  2. コンテキスト・ルート値が WpsContextRoot プロパティーによって指定されています。
ヒント: WebSphere® Portal サイトのスキャン中は、この目的用に構成されている、定義済みの WebSphere® Portal スキャン・テンプレートを使用することをお勧めします。