Terrapin - SSH 協定中的一個漏洞,可讓您降低連線安全性

來自德國波鴻魯爾大學的一組研究人員提出了一種針對 SSH 的新 MITM 攻擊技術 - Terrapin,該技術利用了協議中的漏洞 (CVE-2023-48795)。能夠組織MITM攻擊的攻擊者有能力在連接協商過程中,透過配置協定擴展來阻止訊息的發送,從而降低連接的安全性等級。該攻擊工具包的原型已在 GitHub 上發布。

例如,在OpenSSH 的上下​​文中,該漏洞允許您回滾連接以使用安全性較低的身份驗證演算法,並停用對側通道攻擊的保護,這些攻擊透過分析鍵盤上擊鍵之間的延遲來重新建立輸入。在 Python 函式庫 AsyncSSH 中,結合內部狀態機實作中的漏洞 (CVE-2023-46446),Terrapin 攻擊讓我們可以將自己插入 SSH 工作階段。

此漏洞影響所有支援 ChaCha20-Poly1305 或 CBC 模式密碼與 ETM(Encrypt-then-MAC)模式組合的 SSH 實作。例如,類似的功能在 OpenSSH 中已經提供了 10 多年。該漏洞已在今天發布的 OpenSSH 9.6 以及 PuTTY 0.80、libssh 0.10.6/0.9.8 和 AsyncSSH 2.14.2 的更新中修復。在 Dropbear SSH 中,已修復已新增至程式碼中,但尚未產生新版本。

此漏洞是由於控制連接流量的攻擊者(例如惡意無線點的擁有者)可以在連接協商過程中調整封包序號,從而實現靜默刪除任意數量的 SSH 服務訊息而造成的由客戶端或伺服器發送。除此之外,攻擊者還可以刪除用於配置所用協定擴充功能的 SSH_MSG_EXT_INFO 訊息。為了防止對方偵測到因序號不一致而導致的丟包,攻擊者會主動發送一個與遠端封包序號相同的虛擬封包,對序號進行移位。虛擬資料包包含帶有 SSH_MSG_IGNORE 標誌的訊息,該訊息在處理過程中將被忽略。

Terrapin - SSH 協定中的一個漏洞,可讓您降低連線安全性

無法使用串流密碼和 CTR 進行攻擊,因為完整性違規將在應用程式層級偵測到。實際上,只有 ChaCha20-Poly1305 密碼容易受到攻擊([電子郵件保護]),其中僅透過訊息序號以及 Encrypt-Then-MAC 模式的組合來追蹤狀態(*[電子郵件保護]) 和 CBC 密碼。

在 OpenSSH 9.6 和其他實作中,實作了「嚴格 KEX」協定的擴展來阻止攻擊,如果伺服器和用戶端均支持,該協定會自動啟用。擴充功能在連接協商過程中收到任何異常或不必要的訊息(例如,帶有 SSH_MSG_IGNORE 或 SSH2_MSG_DEBUG 標誌)時終止連接,並在每次金鑰交換完成後重置 MAC(訊息驗證碼)計數器。

來源: opennet.ru

添加評論