セキュリティで保護されていないネットワークと通じてコンピューターに安全にコマンドを送信する「Secure Shell(SSH)」プロトコルにおいてハンドシェイクプロセス中にシーケンス番号を操作してSSHプロトコルの整合性を破る「Terrapin Attack」という攻撃が発見されました。この操作で、攻撃者は通信チャネルを通じて交換されるメッセージを削除あるいは変更できるようになり、さまざまな攻撃が可能になります。

Terrapin Attack

https://terrapin-attack.com/



Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation

(PDFファイル)https://terrapin-attack.com/TerrapinAttack.pdf



Terrapin attacks can downgrade security of OpenSSH connections

https://www.bleepingcomputer.com/news/security/terrapin-attacks-can-downgrade-security-of-openssh-connections/

Terrapin Attackを発見したのはドイツのルール大学ボーフムのセキュリティ研究者であるファビアン・バウマー氏、マーカス・ブリンクマン氏、ヨーク・シュヴェンク氏です。このTerrapin Attackに関連する脆弱(ぜいじゃく)性はCVE-2023-48795、CVE-2023-46445、CVE-2023-46446として報告されています。

Terrapin Attackはリモートで接続しているネットワーク状で、攻撃者が敵対する中間者として存在する時に機能します。Terrapin Attackを実行するためには、攻撃者が干渉する接続が「ChaCha20-Poly1305」あるいは「CBC with Encrypt-then-MAC」という暗号化アルゴリズムで保護されている必要があります。どちらもSSHプロトコルに2010年代に追加された暗号化アルゴリズムで、研究者によればインターネット上に公開されているSSHサーバーの77%がこのどちらかをサポートしており、そのうちの57%が問題の暗号化アルゴリズムを優先的に選択しているとのこと。

以下はTerrapin攻撃の概要を図式したもの。クライアント(Client)とサーバー(Server)の間で通信のやり取り(ハンドシェイク)をしているのですが、攻撃者はそのハンドシェイクが終了する前に「IGNORE」というメッセージを挿入します。これによってシーケンス番号が変更され、攻撃者はサーバーからの「EXT_INFO」というメッセージを削除できるようになります。



バウマー氏らの研究チームは「Terrapin Attackは10年以上前にOpenSSHによって導入された新しい暗号アルゴリズムと暗号化モードを組み合わせて、SSHトランスポート層プロトコルの弱点を悪用しています。これらは幅広いSSH実装で採用されているため、大部分に影響を与えます」とコメントしています。

研究チームはTerrapin Attackの脆弱性の影響を受けるかをチェックできるスキャナーツールを以下のGitHubリポジトリで公開しています。

GitHub - RUB-NDS/Terrapin-Scanner: This repository contains a simple vulnerability scanner for the Terrapin attack present in the paper "Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation".

https://github.com/RUB-NDS/Terrapin-Scanner

研究チームによれば、OpenSSHやAsyncSSH、LibSSH、PuTTY、Transmit 5、SUSEなどがTerrapin Attackの影響を受けるとのこと。ただし、研究チームはTerrapin Attackの詳細を公開する前に修正できるように、SSHを実装するプロバイダー約30社に連絡し、研究結果を共有したと報告しています。

Windows向けのリモートログオンクライアントであるTera Termは、このTerrapin Attackに対処したセキュリティアップデートであるバージョン5.1を2023年12月19日に公開しています。