ブログ

LinuxにおけるXZ Utilsのバックドア問題は、より広範なサプライチェーンセキュリティの課題を浮き彫りにしました。これを防ぐには、コミュニティの精神だけに頼るのではなく、さらなる対策が必要です。

April 11, 2024
Pieter Danhieux
青いグラデーションの背景に、ピクセル化された矢印の図形と「The XZ Utils backdoor」という白いテキスト

巧妙なソフトウェアサプライチェーン攻撃が発見され、サイバーセキュリティ業界は再び厳戒態勢に置かれました。主要なLinuxディストリビューションに同梱されているデータ圧縮ライブラリ「XZ Utils」に影響を及ぼすこの脆弱性は「CVE-2024-3094」として記録されており、かつて信頼されていたボランティアのシステムメンテナーが意図的に挿入したバックドアであることが判明しました。悪用されればリモートコード実行(RCE)を許す可能性があり、確立されたソフトウェアビルドプロセスに深刻な損害を与える恐れがある重大な問題です。

幸いにも、悪意のあるコードがLinuxの安定版リリースに混入する前に別のメンテナーがこの脅威を発見しましたが、Fedora Rawhideの一部としてXZ Utilsのバージョン5.6.0および5.6.1を使用し始めたユーザーにとっては依然として問題であり、組織は緊急のパッチ適用を強く推奨されています。もし発見が遅れていれば、SolarWinds事件を凌駕するほど壊滅的なサプライチェーン攻撃になっていた可能性があります。

重要なシステムの維持をコミュニティのボランティアに依存している現状は広く知られていますが、今回のような大きな影響が出るまで議論されることは稀です。彼らの献身的な活動はオープンソースソフトウェアの維持に不可欠ですが、本件は開発者レベルでのセキュリティスキルと意識の向上、そしてソフトウェアリポジトリに対するアクセス制御の強化が極めて重要であることを浮き彫りにしました。

XZ Utilsのバックドアとは何か、そしてどのように緩和すべきか?

3月29日、Red Hatは緊急セキュリティアラートを公開し、Fedora Linux 40およびFedora Rawhideのユーザーに対し、最新の「XZ」圧縮ツールおよびライブラリに、第三者による不正アクセスを容易にする目的で作成されたと思われる悪意のあるコードが含まれていることを通知しました。この悪意のあるコードがどのように注入されたのかは今後詳細に調査されるでしょうが、これは「Jia Tan」と名乗る攻撃者による、長年にわたる巧妙で忍耐強いソーシャルエンジニアリングの賜物です。この人物は2年以上にわたり、XZ Utilsプロジェクトやコミュニティに正当な貢献を重ねて他のメンテナーからの信頼を獲得し、複数の偽アカウントを使ってプロジェクトオーナーであるLasse Collin氏への信頼を失墜させた後、最終的に「信頼できるメンテナー」の地位を手に入れました。

プロジェクトの貢献者として入り込むJia Tan。出典:Mail Archive。

‍

過重労働に苦しむ元のメンテナー。コミュニティの信頼を得て引き継ぎを行うJia Tan。出典:Mail Archive。

‍

この異例のシナリオは、高度な技術を持つ人物であっても、本来は知識の浅い層を標的とする戦術の犠牲になり得ることを示す好例であり、役割に基づいた的確なセキュリティ意識向上トレーニングの必要性を物語っています。MicrosoftのソフトウェアエンジニアでありPostgreSQLのメンテナーでもあるAndres Freund氏の好奇心と迅速な判断のおかげでバックドアが発見され、バージョンがロールバックされました。これにより、近年で最も壊滅的なサプライチェーン攻撃になり得た事態が未然に防がれました。

このバックドアは、NISTのレジストリにおいて、最高レベルの深刻度を持つ脆弱性として公式に追跡されています。当初はSSH認証のバイパスを可能にするものと考えられていましたが、その後の調査で、Fedora Rawhide、Fedora 41、Kali Linux、openSUSE MicroOS、openSUSE Tumbleweed、およびDebianの一部のバージョンを含む、脆弱なLinuxシステム上で認証なしのリモートコード実行を可能にすることが判明しました。

Jia Tanは悪意のあるパッケージを隠蔽するために多大な労力を費やしたようです。このパッケージは、ビルドプロセス中に自身を構築するようトリガーされると、systemdを介したSSHdの認証を妨害します。Red Hatが詳述したように、適切な状況下では、この干渉により攻撃者がSSHd認証を突破し、システム全体へのリモート不正アクセス権を取得できる可能性があります。

Code diff showing added fprintf call with archive error and entry path in tar/read.c source file.
libarchiveリポジトリにおけるJia Tanの最初のコミット。safe_fprintf()を関数fprintf()に置き換えています。この段階では悪意はなかったかもしれませんが、この変更が文字エスケープの脆弱性を引き起こす可能性がある点は見過ごせません。出典:GitHub。



Microsoftをはじめとする各社は、エクスプロイトの痕跡をスキャンし、その影響を緩和するための包括的なガイダンスを公開しています。また、CISAが推奨する即時の対応策は、影響を受ける開発者やユーザーがXZ UtilsをXZ Utils 5.4.6 Stableのような安全なバージョンにダウングレードすることです。

特にソフトウェアでオープンソースコンポーネントを利用する場合、サプライチェーンのセキュリティに対する保証や透明性がほとんどないため、この種の攻撃を防ぐことは非常に困難です。これまで私たちはソフトウェアサプライチェーンにおける偶発的な欠陥と戦ってきましたが、このリスクは、オープンソースのセキュリティを侵害するために悪意を持って植え付けられたセキュリティバグにまで拡大しています。

ほとんどの開発者は、強力なセキュリティ意識、健全なセキュリティ知識、そして多少の疑念を持たない限り、このような性質の攻撃を阻止することはできません。これは、攻撃者のマインドセットを持つことが求められるようなケースです。しかし、常に考慮すべき主な点は、内部で管理されている(つまりオープンソースではない)ソースコードリポジトリです。これらには、検証済みの関連セキュリティスキルを持つ人のみがアクセスできるようにすべきです。AppSecの専門家は、ブランチレベルのセキュリティ制御のような設定を検討し、セキュリティスキルを持つ開発者のみが最終的なマスターブランチへの変更をコミットできるようにすることを検討すべきです。です。

ボランティアのメンテナーは英雄ですが、安全なソフトウェアを維持するには(本来)多くの人の協力が必要です

ソフトウェアエンジニアリングの世界の外にいる人々にとって、情熱的なボランティアのコミュニティが自身の時間を割いて重要なシステムを丹念に維持しているという概念は理解しがたいものですが、これがオープンソース開発の本質であり、サプライチェーンを保護するセキュリティ専門家にとって依然として重大なリスク領域となっています。

オープンソースソフトウェアは、事実上すべての企業のデジタルエコシステムにおいて不可欠な要素であり、信頼できるメンテナー(そのほとんどは善意で活動しています)は、技術の進歩と完全性を追求する真の英雄です。しかし、彼らに孤立した状態で成果を出し続けさせるのは滑稽です。DevSecOpsが中心となる現代において、セキュリティは共有の責任であり、すべての開発者は日々の業務で遭遇する可能性のあるセキュリティ問題に対処するための知識と適切なツールを備えていなければなりません。セキュリティ意識と実践的なスキルはソフトウェア開発プロセスにおいて譲れないものであり、企業レベルで変革を推進するのはセキュリティリーダーの役割です。

Secure Code Warriorの充実したコースを活用して、組織内に強固なセキュリティ文化を今すぐ構築しましょう。

タグライン

AI主導の開発をリリース前にガバナンスする

AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。

デモを予約する
リソースライブラリ

他のブログ記事を見る

セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。

すべて表示
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

セキュリティ文化の統一:Sageはいかにしてチャンピオンプログラムを構築したか

Sageがどのようにして柔軟かつ関係性を重視したアプローチでセキュリティを強化し、200名以上のセキュリティチャンピオンを育成して、目に見えるリスク低減を実現したのかをご紹介します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

2026年サイバーセキュリティ意識向上月間:企業防衛に不可欠なAIセキュリティの理解

主要なAI企業の多くが、安全対策が追いつくまでの間、AI開発を世界的に減速させるよう公に呼びかける事態となっています。しかし現実には、深刻なセキュリティ問題はすでに顕在化しています。AI導入に伴う金銭的コストやリスクが増大し続ける中、多くのセキュリティリーダーや経営陣は差し迫った状況に追い込まれています。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

イネーブラー8:プログラムのブランディング

セキュアコーディングプログラムを成功させるには、優れたコンテンツ以上のものが必要です。イネーブラー8では、ブランディングによって参加を「憧れのステータスを得る体験」へと変える方法を解説します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

すべての従業員が今、AIサイバーセキュリティの最前線に立っている

エンタープライズテクノロジーの状況は、手遅れになるまで誰も予測できなかったほどの速さで変化しています。私たちは今、人間が書いたコードと基本的なコパイロット支援の時代から、エージェント型開発ライフサイクル(ADLC)の時代へと正式に足を踏み入れました。自律型AIエージェントは、複数の機能にわたってかつてない効率性をもたらす一方で、全く新しい種類のセキュリティリスクや規制リスクも引き起こしています。

詳細はこちら

AIを活用した開発をリリース前にセキュアに

開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。

デモを予約する
該当する項目が見つかりません。