Skip to main content

AtlassianがSnykを活用してLog4Shellを解決した方法

著者

Sarah Conway

feature customer atlassian

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を確実に達成できます。」

AtlassianAtlassian

Chris Walz

Senior Security Engineer, Atlassian

AtlassianにおけるLog4Shellの解決

2021年12月、Apache Software FoundationはLog4jライブラリに重大な脆弱性があることを発表しました。この脆弱性は後にLog4Shellと名付けられました。Atlassianはただちにセキュリティ調査を開始し、脆弱なバージョンのLog4jを使用しているか、Log4jを使用する製品への影響がどの程度深刻か、そしてLog4Shellにパッチを適用するにはどうすればよいかを確認しました。

「ライブラリ依存関係の問題としては、これ以上ないほど深刻なものでした。AtlassianではJavaを多く使用しているため、重大な問題であり、すぐにセキュリティ調査を開始しました。」

AtlassianAtlassian

Chris Walz

Senior Security Engineer, Atlassian

Walzのチームは、どのプロジェクトでLog4jが使われているかを特定するのにSnykが役立つと理解していましたが、自動化が実行されるのはコード変更時のみでした。そのため、最新の情報を把握する必要がありました。Log4Shellの脆弱性がSnykの脆弱性データベースに追加されたばかりだったため、Atlassianはスクリプトを作成し、すべてのプロジェクトをすばやく再スキャンして、脆弱なLog4jの使用箇所を検出しました。

セキュリティチームは、脆弱性データがすべて最新であることを確認した後、自動化の第2段階であるJiraとの同期を手動で開始しました。これにより、Log4jの脆弱性に関するJiraチケット1,426件が、該当する開発者全員に自動送信され、すみやかに修正できるようになりました。

「セキュリティチームが何もすることなく、これらのJiraチケットが自動で作成されました。発表から12時間以内に、脆弱性のあるバージョンのLog4jを使っていた全員に、アップデートを促すチケットが届きました。」

AtlassianAtlassian

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ライブハッキングセッションはこちら。

Exploiting Risks in Your Open Source Dependencies with Atlassian

CTFを始めよう

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

続きを読む

Blog

フロンティアモデルは脆弱性を発見した。攻撃者だけがエクスプロイトチェーンを見つけた。

静的解析で欠陥は見つかりましたが、ライブ攻撃テストで侵害につながる連鎖を実証できたのは唯一でした。Evo COS、Claude Security、Claude Code Securityを比較します。

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

Blog

AIコーディングエージェントが不適切なアクセス制御を繰り返し実装する理由

AIコーディングエージェントは、コンパイルが通りレビューも通過する一方で、あるテナントのデータを別のテナントに公開してしまう認可ロジックを生成することがあります。不適切なアクセス制御が検出しにくい理由と、その防止策をご紹介します。