シーケンス番号操作によるSSH通信の完全性への攻撃

公開日: 2023-12-19
最終更新日: 2023-12-20

概要

SSHプロトコルに、中間者がメッセージを操作し、SSH通信路の完全性 (Integrity) を破る攻撃が発見されました。

影響を受ける Tera Term バージョン

Tera Term バージョン 5.0 (TTSSH 3.0)、Tera Term バージョン 4.107 (TTSSH 2.93) およびそれ以前のバージョン。

影響

中間者がメッセージを挟むことでシーケンス番号を操作し、SSH通信路の完全性 (Integrity) を破ることが可能です。この問題を利用すると、中間者はサーバまたはクライアントが送信したEXT_INFOメッセージを削除し、安全性を高める拡張機能を無効にすることができます。
この中間者攻撃は暗号方式に chacha20-poly1305@openssh.com を使っている場合、または CBC 暗号方式と EtM (Encrypt-then-MAC) MAC (Message Authentication Code) 方式を組み合わせて使っている場合に成立し得ます。
この問題は従来の SSH の鍵交換手順では防ぐことができません。

対応方法

Tera Term バージョン 5.1 (TTSSH 3.1) を利用してください。
Tera Term 5.x へアップデートできない場合は Tera Term 4.108 (TTSSH 2.94) を利用してください。

この攻撃を回避するために "strict key exchange" (厳密な鍵交換) 拡張機能が考案されました。"strict key exchange" を使用するには、サーバ・クライアント両者が対応している必要があります。
Tera Term 5.1 と Tera Term 4.108 は "strict key exchange" をサポートしています。
接続先のサーバが "strict key exchange" をサポートしているかどうかは、サーバ管理者に確認してください。

回避方法

やむを得ず旧バージョンを利用する場合や、接続先サーバが "strict key exchange" に対応していない場合は、暗号方式 chacha20-poly1305@openssh.com と MAC 方式 *-etm@openssh.com を無効にすることで影響を軽減できます。
一方これらを無効にすることで、ほかに有効になっている方式によっては、使われる方式の強度が低くなります。影響を勘案して設定を検討してください。

関連情報

謝辞

この脆弱性を発見した Fabian Bäumer, Marcus Brinkmann, Jörg Schwenk 氏に感謝します。

更新履歴