AtlassianがSnykを活用してLog4Shellを解決した方法
Sarah Conway
2022年11月16日
0 分で読めますSnykは最近、AWSとともに複数日にわたるライブハッキングシリーズを開催しました。専門家がリアルタイムでエクスプロイトを実演し、脆弱性への防御方法を解説しました。このシリーズを通じて、視聴者はAWSワークロードのアプリケーションスタック全体でセキュリティを強化する新たな方法を学ぶことができました。
シリーズの一環として、SnykのDeveloper RelationsディレクターであるMicah Silvermanと、AtlassianのシニアセキュリティエンジニアであるChris WalzがLog4Shellについて話し合いました。Log4Shellは、広く使われているJavaライブラリLog4jで見つかった、広範囲に影響を及ぼしたゼロデイ脆弱性です。この脆弱性について詳しく知りたい方は、SnykのLog4jに関する充実したリソースライブラリをご覧ください。
この記事では、AtlassianでSnykを使ってLog4Shellを検出・修正したWalzの経験と、Log4Shellの影響についてSilvermanが詳しく語った内容を振り返ります。
AtlassianがSnykを活用してセキュリティを拡大する方法
Atlassianは全社で数千ものリポジトリとサービスを運用しているため、それぞれを個別にスキャンするのは現実的ではありません。そこでAtlassianのセキュリティチームは、いずれかのリポジトリでコードが変更されるたびにSnyk Open Sourceのスキャンを実行する自動化を構築しました。
さらに、この自動化ではSnykのスキャン結果をもとに、セキュリティ上の問題が見つかった場合にJiraチケットを起票します。チケットはコード変更をコミットした開発者に割り当てられ、リポジトリへのリンクと問題を修正するための具体的なアドバイスが含まれます。問題が修正されると、チケットは自動的にクローズされます。
「セキュリティ脆弱性の管理に全社で使用しているJiraプロジェクトが1つあります。これにより、可視性を高め、自動化を進め、[そして] SLOを確実に達成できます。」
Chris Walz
Senior Security Engineer, Atlassian
AtlassianにおけるLog4Shellの解決
2021年12月、Apache Software FoundationはLog4jライブラリに重大な脆弱性があることを発表しました。この脆弱性は後にLog4Shellと名付けられました。Atlassianはただちにセキュリティ調査を開始し、脆弱なバージョンのLog4jを使用しているか、Log4jを使用する製品への影響がどの程度深刻か、そしてLog4Shellにパッチを適用するにはどうすればよいかを確認しました。
「ライブラリ依存関係の問題としては、これ以上ないほど深刻なものでした。AtlassianではJavaを多く使用しているため、重大な問題であり、すぐにセキュリティ調査を開始しました。」
Chris Walz
Senior Security Engineer, Atlassian
Walzのチームは、どのプロジェクトでLog4jが使われているかを特定するのにSnykが役立つと理解していましたが、自動化が実行されるのはコード変更時のみでした。そのため、最新の情報を把握する必要がありました。Log4Shellの脆弱性がSnykの脆弱性データベースに追加されたばかりだったため、Atlassianはスクリプトを作成し、すべてのプロジェクトをすばやく再スキャンして、脆弱なLog4jの使用箇所を検出しました。
セキュリティチームは、脆弱性データがすべて最新であることを確認した後、自動化の第2段階であるJiraとの同期を手動で開始しました。これにより、Log4jの脆弱性に関するJiraチケット1,426件が、該当する開発者全員に自動送信され、すみやかに修正できるようになりました。
「セキュリティチームが何もすることなく、これらのJiraチケットが自動で作成されました。発表から12時間以内に、脆弱性のあるバージョンのLog4jを使っていた全員に、アップデートを促すチケットが届きました。」
Chris Walz
Senior Security Engineer, Atlassian
Log4Shellの影響
Log4ShellはJavaエコシステムで広く使われていたため、修正にあたって重要だったのは、脆弱なLog4jがどこで使われているかを特定することでした。しかし、プロジェクトの依存関係を確認するだけでは十分ではありません。Snykの調査では、脆弱性の大半が推移的依存関係に起因することがわかっています。
Snykの迅速で正確なセキュリティインテリジェンスは、多くの企業がコードベース内のLog4jを検出するのに役立ちました。検出されたケースの60%超は間接的な依存関係でした。実際、SnykはJavaバイナリやJARファイル内のLog4jを検出する専用アップデートをSnyk CLI向けに迅速にリリースしました。
「この問題の性質上、あらゆることを疑わざるを得ませんでした。これがオープンソースの両刃の剣です。問題に迅速に対応できるのは大きな利点ですが、安定した状態に落ち着くまで数日かかることもよくあります。」

Micah Silverman
業界全体への影響を分析した結果、Snykは17,000を超えるJavaパッケージが影響を受け、最初の72時間だけで80万件を超える攻撃が試みられたことを明らかにしました。しかし、多くの攻撃者は、最初の対応期間を過ぎても問題を修正しない企業を標的にします。そのため、パッチが見つかった後も、Log4Shellのような脆弱性を継続的にスキャンすることが重要です。
「脆弱性対応のサイクルに陥り、脆弱性を修正する方法が見つかると、つい安心してしまうことがあります。しかし、それは実は対応の中盤にすぎません。一定の割合の企業は速やかに修正を行わず、そのとき攻撃者が動き出すのです。」

Micah Silverman
シリーズで開催されたその他のセッション
StackHawkと探る、最も脆弱なコード行を狙ったエクスプロイト
AWSと探る、コンテナワークロードの脆弱性を悪用する方法
HashiCorpと探る、設定ミスのあるKubernetesへの攻撃
ライブ配信の全編を見る SnykとAtlassianによるAWSライブハッキングセッションはこちら。

CTFを始めよう
オンデマンドのバーチャル入門ワークショップを視聴して、CTFの課題の解き方を学びましょう。



