このセクションの内容:

はじめに

OWASP Dependency-Check は、Java および .NET プロジェクトをスキャンし、既知の脆弱なコンポーネントの使用を特定するオープンソースのツールです。OWASP Dependency-Check オープンソース ツールの公式ページは、こちらから見ることができます。Parasoft OWASP Dependency Check Pack は、OWASP Dependency-Check ツールの結果を読み取り、標準化されたフォーマットで Parasoft DTP に脆弱性をレポートします。 これにより、DTPはウィジェットにデータを表示し、脆弱性に対処するための修復パスを提供できます。 

脆弱性は、DTP で OWASP Top 10 2021 A6: Vulnerable and Outdated Components ガイドラインの違反としてレポートされます。OWASP Dependency-Check Pack のデータを Parasoft Jtest または dotTEST のコード解析結果とマージして、OWASP セキュリティ コンプライアンスを完全に実装することができます。

  


要件

  • Java Runtime 11
  • X-Server へのアクセス (Linux のみ)。DISPLAY 変数を設定し、xhost コマンド (xtest + の実行) のアクセス制御を無効にする必要があります。この設定は、HTML レポートの概要の画像を正しく表示するために必要です。
  • XML 形式の OWASP Dependency-Check の結果。詳細については OWASP Dependency-Check のドキュメントを参照してください。
  • OWASP Dependency-Check 8.2.1 がサポートされています。

デプロイメント

OWASP Dependency Check Pack は Parasoft Security Bundle に同梱されています。

  1. security-bundle-<version>.zip ファイルの内容を展開します。この zip ファイルには、dependency-check-<version>.zip および security-compliance-pack-<version>.zip が含まれています。  
  2. 目的の場所に dependency-check-pack-<version>.zip ファイルの内容を展開します。Windows のデフォルトの解凍機能など、一部のファイル解凍ツールは、OWASP Dependency Check Pack を展開するためのディレクトリを作成します。ファイル解凍ツールがディレクトリを自動的に作成しない場合、インストール ホーム ディレクトリを作成することを推奨します。 
  3. DTP 環境に Security Compliance Pack をインストールする操作指示に従います。この手順は、OWASP Dependency Check Pack を実行するために必須ではありませんが、DTP で結果を表示するために必要です。

OWASP Dependency-Check のルール ドキュメント

DTP で OWASP Dependency-Check のルール ドキュメントを表示するには、OWASP Dependency Check Pack に同梱されているルールを DTP のルール ディレクトリにコピーする必要があります。 

<DEPENDENCY_CHECK_INSTALL>/rulesdoc/dependencycheck/ ディレクトリの内容を <DTP_INSTALL>/tomcat/webapps/grs/rulesdoc/ ディレクトリにコピーします。

ルールをコピーした後、OWASP Dependency-Check の違反に関連するドキュメントが 違反エクスプローラー の [ドキュメント] タブなどの DTP インターフェイスで利用できるようになります。 

DTP への接続

OWASP Dependency Check Pack は個別のツールであり、ライセンスを取得して結果を DTP プロジェクトに送るために DTP に接続する必要があります。インストール ディレクトリにある settings.properties ファイルで以下の設定を指定します。

dtp.server

DTP サーバーのホスト名を指定します。

dtp.port

DTP のポート番号を指定します。デフォルトは 8443 です。

dtp.user

DTP 認証用のユーザー名を指定します。

dtp.password

DTP 認証用のパスワードを指定します。-encodepass パラメーターを付けて dependency.sh または dependency.bat を実行することで、DTP パスワードを暗号化できます。例:

./dependencycheck.sh -encodepass=<mypassword>

dtp.project

結果をリンクする 既存の DTP プロジェクト名を指定します。 

build.id

データを関連付けるビルドを指定します。正確な結果を得るために、ビルド ID は静的解析ツールで設定されているビルド ID と一致している必要があります。 

使用方法

まだ行っていない場合は、OWASP Dependency-Check を実行します。結果は XML ファイルに出力する必要があります。OWASP Dependency-Check Pack を使用してこれらの結果を Parasoft DTP に送信するには、次の操作を行います。

  1. コマンド プロンプトを開き、OWASP Dependency-Check Pack のインストール ディレクトリに移動します。
  2. -results.file パラメーターを使って OWASP Dependency-Check の結果を指定して、.BAT または .SH スクリプトを実行します。例:

    ./dependencycheck.sh -results.file="/Users/admin/Desktop/dependency_check.xml"

    -results.file が唯一の必須パラメーターですが、次の任意のパラメーターを渡すことができます。

    -parasoft.local.storage.dir

    この設定は、生成されたログ ファイルの場所を指定します。推奨する場所は ${project.base.dir}/.dependencycheck です。

    例:

    -parasoft.local.storage.dir=.dependencycheck

    -settings

    デフォルトでは、OWASP Dependency-Check Pack はインストール ディレクトリ内の settings.properties ファイルを参照しますが、この設定を使用して別の構成ファイルを指定することもできます。例:

    -settings=C:\my-team-configs\my-settings.properties

結果の参照

OWASP Dependency-Check Pack を実行した後、結果は 2 種類の方法で出力されます。

  • ローカルの Parasoft HTML レポートとして。ローカルの HTML レポート (およびレポートに渡される XML データ) は、実行後に <INSTALL>/reports ディレクトリに保存されます。
  • DTP に送信され、ウィジェット、レポート、およびその他のビジュアルな UI に表示されます。脆弱性は、DTP で OWASP Top 10 2021 A6: Vulnerable and Outdated Components ガイドラインの違反としてレポートされます。DTP で違反を確認する方法については「OWASP Compliance」を参照してください。


  • No labels