事前構成された CASA 以外のスキャンツールを使用する:
SAST スキャンツールと DAST スキャンツール(社内で開発されたツールまたは商用ツール)を使用するデベロッパーは、以下を提供する必要があります。
- OWASP ベンチマークに対するスキャン出力。スキャンツールは、CASA にマッピングされるすべての真陽性脆弱性を検出することが期待されます(下記の手順を参照)。
- スキャン ポリシー。ツールのスキャン構成のエクスポートや、ツールがスキャンした CWE を示すスクリーンショットなどです。
ベンチマークの実行
Benchmark を実行するには、以下がインストールされている必要があります。
- GIT: https://git-scm.com/ または https://github.com/
- Maven: https://maven.apache.org/(バージョン: 3.2.3 以降)。
- Java: https://www.oracle.com/java/technologies/javase-downloads.html(Java 7 または 8)(64 ビット)
CASA の目的のために、DAST または SAST スキャンツールのベンチマーク スコアカードを生成し、送信してください。ベンチマークには多数のテストが含まれているため、スキャンに時間がかかる場合があります。
次のコマンドを実行して、Benchmark アプリケーションをダウンロードして実行します。
$ git clone https://github.com/OWASP-Benchmark/BenchmarkJava $ cd benchmark $ mvn compile $ runBenchmark.sh
ベンチマークは https://localhost:8443/benchmark/ で実行されます。これは、DAST スキャンのターゲットとして使用できます。これで、ベンチマーク ソースコードとランタイム アプリケーションに対して任意のツールを実行できるようになりました。結果は、ベンチマーク リポジトリの /results ディレクトリに保存してください。
スコアカード生成ツールの出力ファイル名に、以下を含めます。
- ベンチマークのバージョン番号。間違った想定出力がマッピングされないようにします。
- スキャンツールの名前
- スキャンツールのバージョン
次の出力ファイル名の例は、「toolname」のバージョン 3.0 を使用して実行されたスキャンにマッピングされ、ベンチマーク バージョン 1.2 と比較されます。
Benchmark_1.2-toolname-v3.0.xml
ベンチマーク スコアの生成
ベンチマークは、次の 4 つの指標に基づいてアプリのスコアを付けます。
- 真陽性 - ツールが実際の脆弱性を正しく特定した場合
- 偽陰性 - ツールが実際の脆弱性を検出できない
- 真陰性 - ツールが誤検出を正しく無視している
- 偽陰性 - ツールが誤検出を無視できない
ベンチマーク スコアカードには、これらのディメンション全体でのスキャンツールのパフォーマンスの概要が表示されます。GitHub からベンチマーク ツールをダウンロードすると、BenchmarkScore ツールが含まれています。このツールをスキャン出力に対して実行すると、最終スコアを概説する PNG グラフが生成されます。結果の例は、こちらで確認できます。独自のベンチマーク スコアカードを生成する場合は、次のコマンドを実行します。
sh createScorecards.sh
これにより、/results ディレクトリ内に各出力のスコアカードが作成されます。生成されたスコアカードは /scorecard ディレクトリに保存されます。CASA 評価の一部としてスコアカードを提出します。