Raccoon攻擊可以打破特定條件下的TLS 加密

ang010ela
Raccoon 攻擊是TLS規(guī)范中的時(shí)序漏洞,影響HTTPS 和其他基于TLS 和 SSL 的服務(wù)?;?TLS 的這些協(xié)議使得用戶可以在瀏覽web網(wǎng)站、使用郵箱、發(fā)送即時(shí)消息時(shí)沒有第三方可以讀取通信的內(nèi)容。

Raccoon 攻擊是TLS規(guī)范中的時(shí)序漏洞,影響HTTPS 和其他基于TLS 和 SSL 的服務(wù)?;?TLS 的這些協(xié)議使得用戶可以在瀏覽web網(wǎng)站、使用郵箱、發(fā)送即時(shí)消息時(shí)沒有第三方可以讀取通信的內(nèi)容。

Raccoon攻擊使得攻擊者可以在特定情況下打破TLS 加密,讀取敏感通信內(nèi)容。該漏洞是非常難以利用的,需要非常精確的時(shí)序測量和特定的服務(wù)器配置才可以利用。

攻擊概述

Diffie-Hellman (DH)密鑰交換是 TLS 連接中交換密鑰的方法。通過使用DH 交換,TLS 通信的雙方可以隨機(jī)生成密鑰并計(jì)算公鑰:ga mod p 和 gb mod p。這些密鑰會(huì)在TLS KeyExchange(密鑰交換)消息中發(fā)送。一旦雙方接收到密鑰,客戶端和服務(wù)器都會(huì)計(jì)算一個(gè)共享密鑰gab mod p(參數(shù)密鑰),用專門的密鑰派生函數(shù)來派生所有的 TLS 會(huì)話密鑰。

Raccoon攻擊利用了TLS 規(guī)范中的側(cè)信道,TLS 1.2及之前版本規(guī)定premaster 密鑰中的所有零開始的零字節(jié)在進(jìn)一步計(jì)算之前都需要?jiǎng)冸x。這就會(huì)導(dǎo)致premaster 密鑰用作密鑰派生函數(shù)的輸入,而這是基于不同時(shí)序配置的哈希函數(shù),精確的時(shí)序策略可能會(huì)使得攻擊者可以構(gòu)造一個(gè)TLS 服務(wù)器的預(yù)言機(jī)(Oracle)。Oracle可以告訴攻擊者計(jì)算的premaster 密鑰是否以0 開頭。比如,攻擊者可以監(jiān)聽客戶端發(fā)送的ga,重發(fā)給服務(wù)器,確定最終的premaster secret是否是以0 開頭的。

從premaster 密鑰中得到 1個(gè)字節(jié)并不能幫助攻擊者。但是假設(shè)攻擊者攔截了含有值ga 的ClientKeyExchange (密鑰交換)消息,那么攻擊者就可以構(gòu)造與ga 相關(guān)的值,并在TLS 握手中發(fā)送給服務(wù)器。具體來說,攻擊者可以構(gòu)造值gri*ga,可以生成premaster secret gri*b*gab。根據(jù)服務(wù)器的時(shí)序行為,攻擊者可以找出以0 開頭的premaster secret。

FAQ

如果我是管理員,應(yīng)該如何修復(fù)該漏洞?

Raccoon 是一個(gè)復(fù)雜的時(shí)序攻擊,非常難以利用,而且還需要解密現(xiàn)實(shí)世界的TLS 會(huì)話。

攻擊者可以獲得什么?

攻擊者利用Raccoon 攻擊可以解密用戶和服務(wù)器之間的會(huì)話,包括但不限于用戶名、密碼、信用卡號(hào)碼、郵件、即時(shí)消息、敏感文件等等。

攻擊影響

攻擊的目標(biāo)是 TLS 1.2及之前版本的Diffie-Hellman 密鑰交換。成功發(fā)起攻擊需要2個(gè)先決條件:

· 服務(wù)器重用TLS 握手中的公共 DH 密鑰。比如,服務(wù)器篇日志為使用靜態(tài)TLS -DH密文套件,或服務(wù)器使用TLS-DHE 并為多個(gè)連接重用臨時(shí)密鑰。

· 攻擊者需要執(zhí)行精確的時(shí)序測量,這樣才能找出DH 共享密鑰的第一個(gè)字節(jié)是否為0。

Raccoon攻擊可以竊取私鑰嗎?

不可以。必須對(duì)每個(gè)要攻擊的連接單獨(dú)發(fā)起攻擊。

TLS 1.3受影響嗎?

不受影響。在TLS 1.3中,DHE 密鑰套件中以0開頭的字節(jié)和密鑰都是不重用的。但是存在TLS 1.3變種允許密鑰重用,比如ETS和 eTLS。如果這些變種中重用了臨時(shí)密鑰,就會(huì)引發(fā)微架構(gòu)的側(cè)信道,攻擊者就可能成功利用。因此,研究人員建議不要使用這些變種。

廠商回應(yīng)

包括微軟在內(nèi)的多個(gè)廠商都對(duì)該漏洞分配了CVE編號(hào)。

· F5分配的CVE編號(hào)為 CVE-2020-5929,許多F5 產(chǎn)品都允許執(zhí)行該攻擊的特定變種,無需精確的時(shí)序策略。此外,F(xiàn)5 推薦用戶不用重用臨時(shí)密鑰。

· OpenSSL 分配的CVE編號(hào)為 CVE-2020-1968。OpenSSL從1.0.2f 版本開始就默認(rèn)使用新的DH 密鑰了,因此攻擊主要影響OpenSSL 1.0.2 之前版本。

· Mozilla 分配的CVE編號(hào)為 CVE-2020-12413。通過在Firefox中禁用DH 和DHE 密文套件可以解決該問題。

微軟分配的CVE編號(hào)為 CVE-2020-1596。因?yàn)锽earSSL 和 BoringSSL不支持 DH(E) 密文套件因此不受該漏洞的影響。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論