
サイバーセキュリティの世界では、LinuxやUnix系システムで広く使用されているデータ圧縮ツール「xz Utils」にバックドアが組み込まれそうになっていたという最近の暴露が、テクノロジーコミュニティに衝撃を与えました。このニアミス事件がもたらす壊滅的な結果は、オープンソースソフトウェア開発における警戒と透明性の重要性を改めて浮き彫りにしています。
xz Utilsは、Unix系オペレーティングシステム、特にLinux向けに設計されたオープンソースのデータ圧縮ユーティリティのセットです。ロスレス圧縮を提供し、情報の損失なくデータを圧縮・解凍できます。
xz Utils は、高い圧縮率とシステムリソースの効率的な利用で知られる xz 形式を主に扱っています。大容量ファイルやアーカイブの圧縮に広く使用されており、ソフトウェア配布、システムバックアップ、データストレージに欠かせないツールとなっています。
xz Utils は、xz 形式に加えて、その前身である従来の .lzma 形式もサポートしています。この後方互換性により、古いシステムやソフトウェアでも xz Utils を使用して圧縮されたファイルを操作できます。
全体として、xz Utils は Unix 系システムの重要なコンポーネントであり、SSH (Secure Shell) サービスなどのさまざまなコンピューティング タスクに不可欠な、効率的で信頼性の高いデータ圧縮機能を提供します。
SSH(Secure Shell)は、安全でないネットワーク上で安全な通信を行うために使用される暗号化ネットワークプロトコルです。SSHを使用すると、ユーザーはインターネットなどのネットワークを介してリモートシステムやデバイスに安全にアクセスし、管理することができます。SSHは、データを平文で送信するため傍受や不正アクセスの危険性が高いTelnetなどの従来のプロトコルに代わる安全な代替手段を提供します。
SSH の主な特徴と機能は次のとおりです。
安全なリモートアクセスSSHを使用すると、ユーザーはリモートシステムに安全にログインし、リモートでコマンドを実行できます。これは、システム管理者がサーバーやネットワークデバイスを管理する際によく使用されます。
データ暗号化SSHは、ユーザー名、パスワード、コマンドなど、クライアントとサーバー間で送信されるすべてのデータを暗号化アルゴリズムを使用して暗号化します。これにより、機密情報が機密性を維持し、攻撃者による傍受を防止できます。
認証SSHは、パスワードベースの認証、公開鍵認証、キーボードインタラクティブ認証など、様々な認証方式をサポートしています。公開鍵認証はより安全であると考えられており、自動化されたプロセスやパスワードを必要としない安全なアクセスによく使用されます。
ポートフォワーディングSSHはポートフォワーディングをサポートしており、ユーザーはローカルシステムとリモートシステム間のネットワーク接続を安全にトンネリングできます。この機能は、リモートシステムで実行されているサービスに安全にアクセスしたり、ファイアウォールの制限を回避したりするのに役立ちます。
安全なファイル転送SSHには、システム間で安全にファイルを転送するためのSCP(Secure Copy)やSFTP(SSH File Transfer Protocol)などのユーティリティが含まれています。これらのユーティリティは、ファイル転送を暗号化し、認証を提供することで、データの整合性と機密性を確保します。
SSH は、リモート システムに安全にアクセスして管理するための重要なツールであり、暗号化、認証、その他のセキュリティ機能を提供して機密情報を保護し、ネットワーク上で安全な通信を確保します。
このバックドアの発見は、まさに幸運と言えるもので、MicrosoftのPostgreSQL製品の開発に携わるAndres Freund氏によって明らかにされました。Debianシステムのパフォーマンス問題のトラブルシューティング中に、Freund氏はSSH(セキュアシェル)ログインにおける異常な動作に気づき、最終的にxz Utils内の悪意のあるアップデートが原因であると突き止めました。
さらに詳しく調べたところ、xz Utils のバージョン 5.6.0 および 5.6.1 には、SSH 実行ファイルを改ざんするバックドアが含まれていて、悪意のある攻撃者が侵害されたシステム上で任意のコードを実行できる可能性があることが判明しました。
この暴露に至るまでの一連の出来事は、オープンソースプロジェクトへの意図的な侵入という不穏な状況を浮き彫りにしている。 JiaT75 オープンソースプロジェクトに微妙な変更を加え、コミュニティ内で徐々に信頼を獲得していきました。これらの変更は、オープンソース開発に内在する信頼と協力関係を悪用し、xz Utilsにバックドアを挿入することに繋がりました。
2021:
JiaT75の初期活動。2021年、ユーザー名JiaT75のユーザーがオープンソースプロジェクトに初めてコミットしました。注目すべき変更点のXNUMXつは、libarchiveプロジェクトに追加されたことです。 セーフプリント 安全性の低い亜種と関数を統合しました。この変更は当時は気づかれませんでした。
2022:
xz Utils の紹介。JiaT75 が xz Utils メーリングリストにパッチを提出し、xz Utils の開発に関わっていると表明しました。その後まもなく、これまで姿を見せていなかった Jigar Kumar という参加者が議論に加わり、プロジェクトのメンテナンス状況に不満を表明しました。
変化を求める圧力。クマールは、デニス・エンスをはじめとする支持者やメーリングリストに新しく参加した他のメンバーと共に、xz Utilsの長年のメンテナーであるラッセ・コリンに対し、プロジェクトの維持管理のために新たな開発者を招き入れるよう圧力をかけた。この圧力は、さらなる侵入の道を開いた可能性があった。
1月2023:
積極的な関与:JiaT75(現在はJia Tanという名前を使用)は、xz Utilsへの最初のコミットを行いました。その後数か月間、Tanはxz Utilsの活動にますます深く関与するようになり、オープンソースソフトウェアの脆弱性をスキャンするプロジェクトであるoss-fuzzで、Collinの連絡先情報を自身の情報に置き換えるなどの活動を行いました。
2月2024:
バックドアの実装:Tan氏はxz Utilsのバージョン5.6.0と5.6.1のコミットを発行しましたが、これらのバージョンにはバックドアの実装が含まれていました。バックドアはソフトウェア内で目立たないように動作していたため、当初これらのアップデートはほとんど注目されませんでした。
統合の呼びかけ:バックドアの実装後、Tan氏らはUbuntu、Red Hat、Debianなどの主要なLinuxディストリビューションの開発者に対し、アップデートを各OSに統合するよう呼びかけました。最終的に、アップデートの1つがDebianとRed Hatのディストリビューションのリリースに統合されました。
Andres Freund氏の調査:このバックドアは、MicrosoftのPostgreSQL製品の開発に携わるAndres Freund氏によって発見されました。Freund氏はDebianシステムにおけるSSHログインの異常な動作に気づき、原因をxz Utilsの更新にまで遡りました。
オープンソース セキュリティ リストでの暴露: 金曜日、Freund はオープンソース セキュリティ リストでバックドアの存在を明らかにし、xz Utils にバックドアが意図的に埋め込まれていたことを暴露しました。
分析と緩和策:セキュリティ研究者と開発者は、悪意のあるアップデートを分析し、バックドアの潜在的なインスタンスを検出・緩和するためのツールの開発に尽力しました。脅威に対処するために、行動分析やリバースエンジニアリングなど、様々なツールと手法が活用されました。
このタイムラインは、オープンソース プロジェクトへの段階的な侵入と操作が明らかになり、広く使用されているソフトウェア ユーティリティへのバックドアの実装がほぼ成功するに至った経緯を示しており、ソフトウェアの開発および保守プロセスにおける警戒と監視の重要性を強調しています。
このバックドアの巧妙さは、検出を回避し、悪意のあるペイロードを正確に実行できることにあります。攻撃者はxz Utilsを介してSSH実行ファイルを操作することで、機密システムに侵入し、重要なデータを盗み出す可能性があります。
この発見を受けて、サイバーセキュリティコミュニティは、バックドアがもたらす脅威を評価し、軽減するために結集しました。 隔年 and xzbot バックドアの潜在的なインスタンスの検出と分析を支援するために登場しました。
コンピュータメモリを監視するユーティリティであるValgrindは、xz Utils内の悪意のあるアップデートを発見する上で重要な役割を果たしました。CPU使用率とメモリ操作における異常を特定することで、開発者は問題の原因を特定し、広範な悪用を防ぐことができました。Valgrindは、アプリケーションのデバッグとプロファイリング用に設計されたオープンソースのプログラミングツールスイートです。メモリリークの特定、メモリエラーの検出、メモリ使用状況のプロファイリング、プログラム実行の分析に役立つさまざまなツールを提供しています。Valgrindの主な機能とコンポーネントは以下のとおりです。
メモリエラー検出Valgrind には、メモリ リーク、無効なメモリ アクセス (初期化されていないメモリの読み取りや書き込みなど)、動的メモリ割り当ての不適切な管理 (すでに解放されているメモリの解放など) など、プログラム内のさまざまなメモリ関連エラーを検出する Memcheck などのツールが含まれています。
スレッドエラー検出ValgrindのThreadSanitizer(TSan)ツールは、マルチスレッドプログラムにおけるデータ競合やその他のスレッドエラーを検出します。予測不可能な動作やデバッグが困難な問題につながる可能性のある同時実行バグを特定するのに役立ちます。
プロファイリングValgrindは、CallgrindやCachegrindといったプロファイリングツールを提供しています。これらのツールは、関数呼び出し頻度、キャッシュ使用量、実行時間を測定することでプログラムのパフォーマンスを分析するのに役立ちます。これらのツールは、開発者がボトルネックを特定し、アプリケーションのパフォーマンスを最適化するのに役立ちます。
プログラム実行分析Valgrindのツールは、プログラムの実行を命令レベルで追跡できるため、開発者はプログラムの挙動を詳細に分析できます。これは、プログラムフローの理解、パフォーマンスのボトルネックの特定、そして発見が困難なバグの診断に役立ちます。
プラットフォームサポートValgrindは主にLinux、macOS、BSD系を含むUnix系オペレーティングシステムで使用されます。C、C++、Fortranを含む幅広いプログラミング言語とコンパイラをサポートし、様々な開発環境やビルドシステムに統合できます。
xz Utils におけるバックドアの発見は、ベンダー業界全体に波紋を広げ、ソフトウェアベンダーの間で深刻な懸念と積極的な対策が求められています。xz Utils は様々な Linux ディストリビューションに広く統合されているため、バックドアの侵入が及ぼす潜在的な影響は広範囲に及ぶ可能性があります。ベンダーは、ソフトウェアサプライチェーンの再評価、依存関係の精査、そして同様の脅威に対する開発・配布パイプラインの強化を迫られています。このインシデントは、オープンソースソフトウェア開発における透明性、コードレビュープロセス、そしてセキュリティ監査の重要性を改めて浮き彫りにしています。さらに、広く使用されているソフトウェアコンポーネントの脆弱性を悪用しようとする悪意のある攻撃者から身を守るために、ソフトウェアコミュニティ内で継続的な警戒と協力体制を維持する必要性を改めて認識させています。ベンダーは今、ユーザーからの信頼を回復し、厳格なセキュリティプロトコルを実装し、将来的にこのような脆弱性がもたらすリスクを軽減するための説明責任を重視する文化を醸成するという課題に直面しています。
RELIANOID ロードバランサ アップデートが提供されており、当社のソリューションではバックドアは影響を受けませんでした。 専門家にお問い合わせください をご覧ください。
サイトの信頼性エクスペリエンスをお楽しみください!
