2024年3月29日、Openwall OSS-securityメーリングリストにて、Linuxの圧縮ユーティリティXZに悪意のあるバックドアが発見されたことが報告された。XZは多くのLinuxディストリビューションで使用されており、特にOpenSSHサーバープロセスsshdで利用されている。このバックドアは、リモートコード実行機能をsshdに導入することを目的としていた。バックドアは、XZのリポジトリに対するマルチステージの操作を通じて、SSHサーバーへの攻撃をほぼ成功させる能力を持っていた。
バックドアの感染経路については、XZのリリース時に悪意のあるテストファイルが含まれていたが、これが実行されることはなかった。悪意のあるコードは、リリースがhttps://xz[.]tukaani.orgから行われた場合にのみ追加された。バックドアはビルドプロセス中に.m4ファイルによってトリガーされ、シェルスクリプトとバイナリオブジェクトを抽出し、特定の関数をフックして感染したマシンへのすべての接続を監視する。
バックドアのバイナリ解析では、IFUNCと呼ばれる特殊な関数を使用して特定の関数をフックし、トライ構造を用いて文字列操作を行い、ELFシンボル構造体を検索して関数ポインタを解決する。また、動的リンカの機能を利用して関数をフックし、シンボルの解決を監視する。
このバックドアはSSHサーバーに対する攻撃を可能にする重要なセキュリティ上の問題である。Kasperskyの製品は、このバックドアに関連する悪意のあるオブジェクトを検出することができる。ユーザーは最新のセキュリティパッチやアップデートを適用することで、バックドアの影響を最小限に抑えることができる。
【ニュース解説】
2024年3月29日にOpenwall OSS-securityメーリングリストを通じて、Linuxの圧縮ユーティリティであるXZに悪意のあるバックドアが発見されたことが報告されました。このバックドアは、特にOpenSSHサーバープロセスsshdで使用されるライブラリに組み込まれており、攻撃者がリモートからコードを実行できるようにすることを目的としていました。この発見は、情報セキュリティ、オープンソース、Linuxコミュニティにとって重要な意味を持ちます。
バックドアの感染経路は複雑で、XZのビルドプロセス中に特定のスクリプトとバイナリオブジェクトが悪意のある方法で抽出されるマルチステージの操作によって成り立っています。このプロセスは、特定の関数をフックし、感染したマシンへのすべての接続を監視することを可能にします。
バックドアのバイナリ解析では、IFUNCというGNU Cライブラリ(GLIBC)が提供する特殊な関数を使用して特定の関数をフックすることが明らかにされました。この機能を利用することで、攻撃者はプロセスの動的リンカが共有ライブラリをロードする際に特定の関数を選択することができます。また、トライ構造を用いた文字列操作やELFシンボル構造体の検索など、高度な技術が使用されています。
このバックドアによる攻撃は、SSHサーバーを対象としており、グローバルな規模でのSSHサーバーのセキュリティを脅かす可能性があります。Kasperskyの製品は、この攻撃に関連する悪意のあるオブジェクトを検出する能力を持っており、ユーザーは最新のセキュリティパッチやアップデートを適用することで、このバックドアの影響を最小限に抑えることができます。
この事件は、オープンソースソフトウェアのセキュリティに対する新たな課題を提示しています。ソフトウェアのサプライチェーン攻撃は、開発者やユーザーが信頼しているコンポーネントを標的とするため、特に危険です。このような攻撃を防ぐためには、ソフトウェアの開発と配布プロセス全体でセキュリティ対策を強化する必要があります。また、開発者とユーザーは、使用しているソフトウェアのソースとその変更履歴に注意を払うことが重要です。
from XZ backdoor story – Initial analysis.