「XZ Utils」にバックドア(CVE-2024-3094)の問題 Fedora、Debian、Alpine、Kali、OpenSUSE、Arch Linuxの開発版、実験版に影響:OSSコミュニティーに衝撃
主要なLinuxディストリビューションなどで広く使用されている「XZ Utils」に、悪意あるコードが挿入された問題(CVE-2024-3094)が確認された。
2024年3月29日(米国時間)、主要なLinuxディストリビューションなどで広く使用されているファイル可逆圧縮ツール「XZ Utils」に、悪意あるコードが挿入された問題(CVE-2024-3094)が確認されたとして、同ツールの開発元Tukaani Projectの開発者やディストリビューター、セキュリティ企業などが情報を公開した。
JPCERTコーディネーションセンター(JPCERT/CC)によると、この悪意あるコードは、XZ Utilsの開発に関わる共同開発者によって2024年2月24日ごろに挿入された。このコードが挿入されたバージョンのXZ Utilsがインストールされたシステムは、特定条件下で、SSHポート経由で外部から攻撃者が接続できるような改ざんが行われる可能性がある。
CVE-2024-3094の影響を受けるXZ Utilsのバージョンは、「XZ Utils 5.6.0」と「XZ Utils 5.6.1」だ。使用中のXZ Utilsのバージョンを確認する際は、影響を受けるバージョンを使用している可能性を考慮し、xzコマンドによる確認は避け、各種パッケージ管理ソフトウェアのバージョン確認コマンドを使うよう推奨している。
JPCERT/CCは、これらを使用している可能性があるLinuxディストリビューションを利用している場合、同ツールの開発者や各ディストリビューターが公開する最新情報を参照し、影響の有無の調査や必要な対処の実施を検討することも推奨している。
Tukaani Projectをリードするラス・コリン氏は、CVE-2024-3094の問題に関するWebページ「XZ Utils backdoor」で、「Jia Tan」と名乗る開発者が作成、署名したXZ Utils 5.6.0および5.6.1のリリース版tarballにバックドアが含まれていると述べ、自身とJia TanのGitHubアカウントが現在停止中であること、GitHubでホストされていたXZ UtilsのWebページ(xz.tukaani.org)も停止していることを明らかにした。
コリン氏は、XZ UtilsのWebページは数日以内に再開される予定であり、CVE-2024-3094の問題の追加情報が入り次第、XZ Utils backdoorページを更新するとしている。2024年4月第1週に更新される見通しだ。なお、Jia Tanは、xz.tukaani.orgサブドメインにのみアクセスできたという。
DevOps、セキュリティ、MLOpsのためのソフトウェアサプライチェーンプラットフォームを提供するJFrogは3月31日、CVE-2024-3094の問題に関する解説記事を公式ブログで公開した。
この記事は、「CVE-2024-3094の影響を受けたディストリビューション」「影響を受けないディストリビューション」「CVE-2024-3094の検出方法」「CVE-2024-3094の修復方法」「CVE-2024-3094を検出するJFrogのOSS(オープンソースソフトウェア)ツール」「CVE-2024-3094の技術的分析」などの内容で構成されている。
CVE-2024-3094の影響を受けたディストリビューション
JFrogは公開情報を基に、影響を受けたディストリビューション、ブランチ、パッケージ、対処法などを一覧表にまとめている。
悪意あるコードが主要ディストリビューションの安定版でリリースされる前にOSSコミュニティーで発見されたため、ほとんどのLinuxディストリビューションの安定版は影響を受けなかったと、JFrogは述べている。
影響を受けたディストリビューションとしては「Fedora(40, 41, Rawhide〈active development〉)」「Debian(testing, unstable〈sid〉, experimental)」「Alpine(Edge〈active development〉)」「Kali」「OpenSUSE(Tumbleweed)」「Arch Linux」が挙げられている。
影響を受けなかったディストリビューション
影響を受けなかったディストリビューションとしては「Red Hat Enterprise Linux(RHEL)」「Ubuntu」「Amazon Linux」「Wolfi」「Gentoo」が挙げられている。
CVE-2024-3094を検出する方法
使用しているXZ Utilsが影響を受けるバージョン(5.6.0または5.6.1)かどうかを確認するには、以下のコマンドを実行する。
strings `which xz` | grep '5\.6\.[01]'
影響を受けるバージョンがインストールされている場合、以下のように出力される。
$ strings `which xz` | grep '5\.6\.[01]' xz (XZ Utils) 5.6.1
CVE-2024-3094を修復する方法
直ちにXZ Utilsを以前のバージョンにダウングレードする(ほとんどのディストリビューションでは5.4.6が、影響を受けない最も新しいバージョンだ)。
XZ Utilsをダウングレードしたら、マシンを再起動するか、OpenSSHサーバを再起動して、修正されたコードをメモリから削除する。
sudo systemctl restart ssh
アップグレードができない場合、バックドアの“キルスイッチ”を利用する手もある。以下の文字列を/etc/environmentに追加すると、悪意あるバックドア機能が無効になる(SSHとSystemdの再起動後)。
yolAbejyiejuvnup=Evjtgvsh5okmkAvj
CVE-2024-3094を検出するJFrogのOSSツール
JFrog Researchチームは、CVE-2024-3094を検出するオープンソースツールをGitHubで公開した。
このツールは、ローカルマシンがCVE-2024-3094に対して脆弱(ぜいじゃく)(SSHペイロードが実行可能)であり、かつCVE-2024-3094の影響を受けている(悪意あるバージョンのXZ Utilsがインストールされている)かどうかをチェックする。
CVE-2024-3094の技術的分析
Jia Tanと名乗る開発者は、不正なリモートSSHアクセスを可能にするコードをXZ Utilsに挿入した。この巧妙な悪意あるペイロードは、OpenSSHサーバ(SSHD)と同じプロセスで実行され、OpenSSHサーバの復号ルーティンを変更することで、特定のリモート攻撃者(特定の秘密鍵を所有している)が、認証ステップの前に実行される任意のペイロードをSSH経由で送信できるようにし、被害者のマシン全体を乗っ取る。
「XZ Utilsは、信頼され、精査されたプロジェクトと考えられていたため、このサプライチェーン攻撃はOSSコミュニティーに衝撃を与えた」と、JFrogは指摘している。
Jia Tanは2021年にGitHubアカウントを作成し、幾つかのプロジェクトに貢献し始めた。同年のコミット件数は546件。2022年にXZ Utilsリポジトリに最初の正当なコミットをしていた。Jia Tanによるサプライチェーン攻撃で最も注目すべき点は「極めて献身的な行動を取っていたことだ。2年以上かけて正当なメンテナーとしての地位を確立し、さまざまなOSSプロジェクトで作業を買って出て、コードをコミットしていた」と、JFrogは述べている。
Jia Tanはコードレビューによる検出を逃れるために、高度に難読化されたコードを使用していたという。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
Windows OSのシステム管理者も無関係じゃない、これから始めるSBOM
使用していたオープンソースのソフトウェアに使われていたライブラリに脆弱性があったことに気付かないでいたことで、攻撃を受けてしまったという事例が発生しています。これはLinuxだけでなく、Windows OSでも起こり得る事態です。こうしたリスクを軽減する方策として、SBOMと呼ばれるOSSのサプライチェーン管理の手法があります。今回はSBOMとはどういったものなのかについて解説します。「Microsoft Copilot for Security」一般提供開始 日本語のプロンプトにも対応
Microsoftは「Microsoft Copilot for Security」の一般提供を開始した。同社によると、自然言語で応答し、人間が見逃す予兆を自動で検知できるなどの機能を備えているという。「サプライチェーン攻撃」とは何か? 弱点を発見する方法は? どう対策すべきか?
あらゆる業種、あらゆる規模の組織が“自分事”として捉えられるよう「サプライチェーン攻撃」の現状と対策を整理する特集『日本のIT課題の集大成「サプライチェーン攻撃」に立ち向かう術はあるのか』。初回は、日本ハッカー協会 代表理事の杉浦隆幸氏の講演「サプライチェーン攻撃の実態」をレポートする。