SSH接続への中間者攻撃を可能にするエクスプロイト「Terrapin Attack」が発見される
セキュリティで保護されていないネットワークと通じてコンピューターに安全にコマンドを送信する「Secure Shell(SSH)」プロトコルにおいてハンドシェイクプロセス中にシーケンス番号を操作してSSHプロトコルの整合性を破る「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日に公開しています。
Tera Term 5.1 をリリースしました。https://t.co/wCwtavl7jr
SSH の "strict key exchange" に対応しています。— TeraTerm Project (@Tera_Term) December 18, 2023