xzバックドア分析
- フィリッポ・ヴァルソルダは、何人かがxzバックドアをリバースエンジニアリングしているのを観察し、初期分析の結果を共有した。
RSA_public_decrypt フックは、サーバーのホスト鍵に対する固定Ed448鍵の署名を検証し、システムにペイロードを渡す。
- これは認証バイパスではなくリモートコード実行(RCE)であり、一度しか使えず、リプレイできない。
サプライチェーン攻撃
- この攻撃は、公に説明されたものとしては最も巧妙に実行されたサプライチェーン攻撃かもしれず、悪意があり有能で広く使われているライブラリの公式な上流で発生した。
- この攻撃は偶然発見されたようで、そうでなければ発見までどれほど時間がかかったのか気になる。
ペイロード抽出と検証
- ペイロードは
RSA_public_decrypt に渡されたN値(公開鍵)から抽出され、簡単なフィンガープリントで検査され、Ed448署名の検証前に固定ChaCha20鍵で復号される。
RSA_public_decrypt 関数
RSA_public_decrypt は署名検証の機能を実行しており、名前は奇妙に聞こえるかもしれない。
- RSA署名検証はRSA暗号化と同じ演算を行う。
OpenSSH証明書と攻撃者の制御
RSA_public_decrypt の公開鍵は、OpenSSH証明書を使うことで認証前に攻撃者が制御できる。
- OpenSSH証明書は署名者の公開鍵を含んでおり、OpenSSHはパース時に署名を検査する。
バックドアシステムへのカスタム公開鍵送信スクリプト
- キーガン・ライアンが作成したスクリプトにより、カスタム公開鍵を証明書に入れてバックドアシステムに到達させるフック関数を利用できる。
バックドアの安全装置
- バックドアは、ペイロードが不正だったり攻撃者の鍵署名の検証に失敗した場合、通常動作に戻る。
- これは、バグが見つからない限り、ネットワーク経由で信頼性があり再利用可能なスキャナーを書けないことを意味する。
GN⁺の意見
- このようなバックドアはシステムセキュリティに深刻な脅威を与え、特に広く使われるライブラリに挿入された場合、その影響はさらに大きくなりうる。
- 攻撃が偶然発見されたという点は、セキュリティシステムの脆弱性を示しており、継続的な監視と監査がどれほど重要かを強調している。
- この記事はソフトウェアサプライチェーンの安全性に対する認識を高めるのに役立ち、開発者やシステム管理者に警鐘を鳴らす。
- バックドアのようなセキュリティ脅威に対応するため、オープンソースのセキュリティツールや脆弱性スキャナーを使用するのが望ましい。たとえば、OWASP ZAPやNessusのようなツールが有用かもしれない。
- 新しい技術やオープンソースを導入する際には、セキュリティ面を徹底的に検討し、このような攻撃からシステムを保護するための適切な対策を講じる必要がある。
まだコメントはありません。