0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

脆弱なlog4jへの依存を1コマンドで把握する

Last updated at Posted at 2021-12-19

log4shellについて

問題

log4jの対応を行う上での最大の問題は、膨大な依存の中から完全に取り除く必要がある点である
直接的にlog4jを利用している場合は、更新 or logbackへの移行 を行えばよい
しかし、外部ライブラリやフレームワークが利用している場合は、そもそも依存の把握自体が困難になる

対処

方法1 gradale dependencies

gradleのdependencies タスクを利用する
現時点の全ての依存のリストを出力することができる
ただ、単純な依存ツリーを吐き出しているだけなので、ある程度の規模のアプリケーションでは数万行になる
そのため、特定のバージョンのライブラリを取り除く目的にはあまり適していない

方法2 OWASP dependency check

OWASP(Open Web Application Security Project)のdependency check pluginを利用する
セキュリティに特化していて、CVEなどのデータベースを基に、脆弱な依存を集計してリストアップできる
そのため、どのライブラリが依存しているのか把握しやすい
また、リストアップされない = 脆弱な依存は存在しない = 対応が完了 というハンドリングの判断に利用できる

Gradle projectであれば、以下の1コマンドで実行できる

./gradlew dependencyCheckAnalyze

結論

log4shellの対応にはOWASPのdependency check pluginを使用すべき

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?