ロード・トゥ・ザ・ホワイトハッカー

ホワイトハッカーはじめました

OWASP Dependency-Check

ライブラリのスキャン

Log4Shellの通称で有名になっている脆弱性

Apacheプロジェクトの Log4jというオープンソースライブラリで、致命的な欠陥が見つかったと大騒ぎ。

脆弱性の深刻度を評価するCVSSのスコアでは、最大値となる10.0(緊急レベル)を記録。

 

Webアプリケーションを作成する場合、このような外部のライブラリを使用することは多い。最新を使用しておけば間違いないのでしょうが、開発者側からすると、バージョン変更により、アプリケーションのテストが必要になり、変更に消極的になり、放置されやすい。

OWASP Dependency-Check

OWASP Dependency-Checkを使うと、ある程度自動でやってくれる。

owasp.org

  • Command Line
  • Ant Task
  • Maven Plugin
  • Gradle Plugin
  • Mac Homebrew

という5つの形態で提供されている。

以下のプラグインもあるらしい。

手っ取り早く、Commnad Lineツールを試してみる。

Commnad Line

https://github.com/jeremylong/DependencyCheck/releases/download/v7.0.0/dependency-check-7.0.0-release.zip

からZipファイルをダウンロード。

Windowsの場合、binフォルダにある、dependency-check.batを実行。

いろいろパラメーターはあるが、

-s (スキャンしたいフォルダ)

を指定すれば、スキャンが開始される。

 

初回実行時は、NVDから脆弱性情報を取得する。

2002年から取得しています。

f:id:chikuwamaruX:20220305135056p:plain

dataフォルダにnvdcacheというフォルダがあり、そこに年度ごとにファイルが作成される。中を見ると、JSON形式で脆弱性情報が収集されている。

f:id:chikuwamaruX:20220305135130p:plain

データベースとして結合されているようです。

f:id:chikuwamaruX:20220305135421p:plain

1分ちょっとでレポートが出力されます。

f:id:chikuwamaruX:20220305135952j:plain

 

スクリプトを使用して、見やすいレポートです。

f:id:chikuwamaruX:20220305140958p:plain

 

ただ、偽陽性偽陰性はあるらしく、完全ではない、とのこと。

jeremylong.github.io

 

現在、Javaと.NETに関して対応しており、実験的にPython, Ruby, PHP (composer),Node.jsでも可、のようです。

 

使用しているライブラリが一覧になるだけでも十分に価値を感じてしまう。