Navigating Scan Results (v8.4.1 to v8.4.2) (jp_スキャン結果の詳細確認(v8.4.1からv8.4.2))

Webインターフェースでフルスキャンの結果を表示すると、その結果を対話形式で確認することができます。

インターフェースは4つのパネルで構成されており、それぞれ多種多様な情報が示されます。次の順序でパネルを操作することで、実際のコード要素に沿い、包括的なリストからドリルダウンすることが可能です。

クエリ(左下のパネル): リスト内の各アイテムは、CxSASTがスキャン済みコードに対してクエリを実行した固有の脆弱性タイプと、その検出された脆弱性インスタンスの数を表す。クエリは、コード言語、カテゴリ、重大度別でソートが可能

をクリックするとAppSec Coachが起動します。これは、対話形式の学習プラットフォームで、コードの脆弱性や、その発生理由および削除方法について学ぶことができます。AppSec Coachを起動したら、まずチュートリアルを確認して、スキルを磨いてください。

AppSec Coach™

AppSec Coachは、脆弱性を修正し、セキュアなコードを作成するために必要なスキルを磨くための新しいインコンテキストラーニングプラットフォームを開発者に提供します。この新しいアプローチによって、AppSecを活用した学習が、より効果的ですぐに内容を理解できる魅力的な体験となります。

現在、すべてのユーザにAppSec Coachの無償の限定バージョンを提供しています。このバージョンでは、以下の機能を搭載したAppSec Coachを無償で利用することが可能です。

  • レッスン: SQLインジェクション(SQLi)、クロスサイトスクリプティング(XSS)、XMLインジェクション(XXE)
  • 言語: Java、.Net、PHP、Node.JS、Ruby、Python

有償版では、20以上のレッスンが提供され、サポート対象の言語が追加されます。

  • レッスン: Session fixation、Use of insufficiently random values、Reflected XSS、Command Injection、 DOM XSS、Directory (Path) Traversal、Privileged Interface Exposure、Leftover Debug Code、Session Exposure in URL、User Enumeration、Horizontal Privilege Escalation、Vertical Privilege Escalation、Authentication Credentials in URL、Cross Site Request Forgery (POST)、Cross Site Request Forgery (GET)、 Click Jacking、Insecure URL Direct
  • 言語: Scala、C/C++

(?)をクリックすると、リスクの詳細、発生原因とメカニズムの説明、脆弱性を回避するための推奨手順や、ソースコードの参考例など、この脆弱性タイプについての包括的な情報が提示されます。

Severityドロップダウンリストを活用すると、検出された脆弱性を次の形式で表示することが可能です。

  • Severity重大度別(High/Medium/Low)に、アプリケーションのセキュリティリスク(脆弱性)を表示
  • OWASP Top 10 2013OWASP(Open Web Application Security Project)が定義する、最も深刻な10個のリスク別(A1からA10)に、関連付けられている脆弱性を表示。OWASP Top 10 2013年版に該当しない脆弱性はすべて、Uncategoraized配下にグループ化される
  • PCI PCI(Payment Card Industry)が定義するカテゴリ別(DSS v3.1)に関連付けられている脆弱性を表示。PCIのカテゴリに該当しない脆弱性はすべて、Uncategoraized配下にグループ化される
  • Customセキュリティレベルを評価するユーザ定義のメソッド。Customメソッドを使用するには、重大度を評価するユーザのメソッドとCxSASTを連携させる必要がある。詳しい説明については、こちらに記載の適切な代理店に問い合わせてください

次の画像は、SeverityドロップダウンリストでOWASPPCIをそれぞれ選択した場合の画像です。

任意のクエリを選ぶと、検出された脆弱性インスタンスがResultsパネルに表示されます。

Resultsパネル(画面右下): Queriesパネルで選択されているクエリで検出された脆弱性インスタンスが、次の2つの形式で表示

  • Graphタブ(Resultsパネルの右側のタブ): 検出された脆弱性インスタンスごとに、最初と最後のコード要素と、それらの関係性を表す図

CxSAST IDEプラグインの場合、Graphパネルには、検出された脆弱性インスタンスと、それらの関係性を構成するコード要素のフルパスが表示されます。

  • Resultsタブ(Resultsパネルの左側のタブ): 検出された脆弱性インスタンスとその詳細情報のリスト。表強調表示されたインスタンスのコード要素の詳細が先頭に表示される。ページネーションを用いることで、結果の表示を変更することが可能です(ソートやグループ化など)

インスタンスノード(Graphタブ)または、インスタンスのチェックボックス(Resultsタブ)を選択すると、以下のステータスを変更することができます(ユーザ権限によって変更可能な項目が異なります)。

Results Stateフォルスポジティブを無視する場合や、対処すべき問題を選別する場合に有用

  • To Verify(デフォルト): インスタンスを検証する必要がある(例: 権限が付与されたユーザ)
  • Not ExploitableインスタンスがNot Exploitableとして確認されている(例: フォルスポジティブ)。このステータスに定義されたインスタンスは、スキャンサマリ、グラフ、レポート、ダッシュボードなどに表示されない

付与されているユーザ権限によって、「Not Exploitable」ステータスを選択できないことがあります。このような場合には、「Proposed Not Exploitable」ステータスを選び、適切な権限を持つユーザに当該インスタンスについて報告のうえ、確認を取ってください。

  • Proposed Not ExploitableインスタンスをNot Exploitableとして報告(例: フォルスポジティブの可能性など)。このステータスに定義されたインスタンスは、ステータスが「Not Exploitable」に変更されるまで、スキャンサマリ、グラフ、レポート、ダッシュボードなどに表示される
  • Confirmedインスタンスはexploitableとして確認され、適切な処理が求められる
  • Urgentインスタンスはexploitableとして確認され、迅速な処理が求められる

スキャン結果のステータスをカスタマイズして、独自のプリファレンスを適用することが可能です。詳しい説明については、こちらに記載の適切な代理店にお問い合わせください。

Result SeverityHigh/Medium/Low/Info): 選択されている問題の優先度を定義する場合に有用

インスタンスのステータスが、例えばNot Exploitableなどに変更されると、同じようなIDを持つ他のインスタンスすべてに対して、自動的に新たに変更されたステータスが適用されます。(有効化されている場合)ポップアップ画面が表示され、プロジェクト名、スキャン日付、影響を受けるインスタンスへの動的リンクなどを含む、影響が及ぶインスタンスすべてのリストを確認できます。

Assign to User選択されている問題に対応する担当者を決定する際に有用

Comments Commentsをクリクすると、インスタンスにコメントを残すことが可能。このメタデータは、今後プロジェクトでスキャンを実行するときや、この先も検出する必要のあるインスタンスに向けに管理される

Save Scan Subset 選択したインスタンスを、個別の結果としてスキャン結果リストに表示

Direct Linkアイコン: このアイコンをクリックして、この結果とインスタンスが選択された状態の画面を表示する、URLを取得

Pathパネル(画面右上): Resultsパネルで選択されている脆弱性インスタンスを構成する、コード要素のフルパスを表示。このパスは、脆弱性インスタンスの完全な攻撃ベクタを示す

Resultsパネル(ResultsタブまたはGraphタブ)で任意のインスタンスを選択すると、Pathパネルに、そのインスタンスの攻撃ベクタが表示されます。

Pathパネルでコード要素を選ぶことで、Source Codeパネルに、そのコードが強調表示されます(以下を参照)。

Source Codeパネル(画面左上): ソースコードファイルの内容を表示

Pathパネルで選択された要素を含むコード行が強調表示されます。

CxSAST IDEプラグインを使用すると、その場ですぐにコードを修正することができます!