SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

OWASPでビルトイン・セキュリティ

組み込んだOSSコンポーネントの更新漏れを可視化する「OWASP Dependency Check」

OWASPでビルトイン・セキュリティ 第7回

  • X ポスト
  • このエントリーをはてなブックマークに追加

スキャン結果レポート

 レポートの記載内容について見ていきましょう。生成されたhtmlファイルを開くと、スキャン結果レポートを閲覧できます。

図6 スキャン結果レポート(検査結果概要)
図6 スキャン結果レポート(検査結果概要)

 まず、レポートの上部にはスキャン結果の概要が出力されています。

 コマンドオプションで指定したプロジェクト名の下にスキャン情報(ツールのバージョン、レポート作成日時、スキャンした依存ファイル数、検出した脆弱性数など)が出力されています。

 続く表では、スキャンした依存ファイルに関する以下のような情報が記載されています。

表2 レポート(概要部分の表)に出力されている情報
Dependency スキャンした依存ファイル名
CPE 検出されたCPE名
GAV GAV情報(mavenのgroupId,artifactId,version)
Highest Severity 関連するCVE番号における最も高い脆弱性の深刻度
CVE Count 関連するCVE番号の数
CPE Confidence CPE名の特定に関する信頼度
Evidence Count CPE名を特定するために利用したデータ量

 デフォルトでは、スキャンした依存ファイルの内、脆弱性を検出したもののみの情報がレポートに表示されますが、「Showing Vulnerable Dependencies (click to show all)」をクリックすることで、スキャンしたすべての依存ファイル情報を表示することができます。

 この例に示すスキャン結果レポートでは、対象アプリケーションでは脆弱性が報告されているバージョンのApache Strutsを利用していることなどが検出されています。このように「Highest Severity」の値が高いものが検出された場合には、危険な脆弱性が報告されているコンポーネントを利用している可能性があるということです。早急に調査し、対応する必要がある、ということになります。

 レポートでは、スキャンした依存ファイルごとに、特定したCPE名に関する情報、報告されている脆弱性の詳細情報なども出力されます。

図7 スキャン結果レポート(依存ファイルの詳細情報)
図7 スキャン結果レポート(依存ファイルの詳細情報)
表3 レポート(依存ファイルの詳細情報)に出力されている情報
Evidence CPE名を特定するために利用した収集データの詳細
Related Dependencies 関連する依存ファイル情報
Identifiers 特定したCPE名や特定に関する信頼度などの記載
Published Vulnerabilities 特定したCPE名に関連する脆弱性情報の詳細

 特に、「Published Vulnerabilities」の項目をご覧ください。ここでは、CPE名に関連するCVE番号ごとに危険度、脆弱性の内容、脆弱性情報を掲載しているサイトへの参照リンクなどの情報が出力されています。CVE番号は脆弱性に割り当てられている一意な識別番号であり、この番号を元に脆弱性の詳細について調査できます。

誤検知の削除

 これまでに説明した通り、OWASP Dependency Checkを利用すれば自動的に脆弱性が存在する利用コンポーネントを洗い出すことが可能です。しかしながら、例えばツールが判定したCPE名が間違っていた場合や、出力された脆弱性が環境や設定などの理由により実際には顕在化しないものであった場合など、誤検知(False Positive)が発生することがあります。そのため、スキャン結果については必ず内容の精査を行う必要があります。

 誤検知があった場合の対応として、OWASP Dependency Checkでは--suppressionオプションを利用することによって任意のCPE名や特定のCVE番号などを検出結果に出力しないようにできます。--suppressionオプションでは削除する内容を定義したXMLファイルを個別に指定する必要がありますが、HTMLレポートからXMLファイルを簡単に作成できます。レポート中に結果として出力されているCPE名やCVE番号の隣に「suppress」ボタンがあります。このボタンを押すと以下のように該当する項目をスキャン結果に出力させないためのXML情報をダイアログで表示してくれます。

図8 --suppressionオプション用のXML情報がダイアログで表示される
図8 --suppressionオプション用のXML情報がダイアログで表示される

 デフォルトでは、追記するためだけのXML情報のみが表示されるため、初めてXMLファイルを作成する場合には「Complete XML Doc」をクリックしてください。あとはこの内容をコピーしたXMLファイルを作成すれば完成です。CPE名を対象として指定した場合には指定したCPE名に関連する結果すべてが出力されなくなります。CVE番号を指定した場合には指定したCVE番号に関連する情報のみが結果に出力されなくなります。XMLが作成できれば、以下のように--suppressionで作成したXMLファイルを指定してスキャンを再度実行することで、ここで指定した内容が検査結果から除外されたレポートを出力できます。

> bin\dependency-check.bat --project sampletest --scan testapp --suppression suppression.xml

 XMLファイルによる指定方法により、例えば「指定したCVSSスコアを下回る脆弱性情報をすべて検出結果から削除する」などの指定なども可能です。詳しくは以下のサイトをご参照ください。

次のページ
ビルドツールとの連携

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
OWASPでビルトイン・セキュリティ連載記事一覧

もっと読む

この記事の著者

洲崎 俊(OWASP Japan)(スザキ シュン)

OWASP Japan Promotion Teamに所属する「とある診断員」。2006年よりセキュリティベンダに入社し、NW及びWebアプリケーションの脆弱性診断を中心としたセキュリティソリューションサービスの提供に携わる。現在はユーザ企業内のセキュリティチームにて、セキュリティエンジニアとしてセ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9608 2016/09/06 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング