有研究團隊發現 1998 年由 Daniel Bleichenbacher 所批露的 RSA 加密演算法實作漏洞至今仍可能遭到攻擊。根據報導,日前又出現一個利用此漏洞的新攻擊,命名為「ROBOT」(其名為「Return of Bleichenbacher’s Oracle Threat」的縮寫),影響所及包括 Alexa Top 100 百大網站中的 27 個網站,如 PayPal、Facebook 等知名網站皆受影響。這個由 Hanno Böck、Juraj Somorovsky 和 Craig Young 三名研究人員所組成的團隊指出,駭客在某些條件下有可能取得可以解開 HTTPS 流量的私密金鑰。只不過,至今尚未出現駭客利用 ROBOT 漏洞發動攻擊的案例。
ROBOT 漏洞攻擊手法是藉由 Bleichenbacher 所發現的漏洞,此漏洞可讓駭客利用暴力破解的方式成功猜出連線階段金鑰 (session key),進而解開 TLS (HTTPS) 伺服器與用戶端瀏覽器之間的 HTTPS 通訊。此情況發生的條件是:連線階段金鑰採用 RSA 演算法加密,並且使用 PKCS #1 V1.5 padding 系統。駭客可以發送連線階段金鑰給 TLS 伺服器去查詢該金鑰是否有效,伺服器會回覆「是」或「否」,駭客可以如此反覆嘗試,直到試出正確金鑰為止。儘管這項漏洞存在已將近 20 年,但 ROBOT 漏洞攻擊至今依然可行,因為該漏洞的解決方法非常複雜,而且在實作上也未徹底解決。
研究人員表示:「對於含有此漏洞且只支援 RSA 加密金鑰交換機制的主機來說,情況不妙。因為駭客只需被動地記錄網路流量,然後再慢慢解密就好。對於具備『前向安全性』(Forward Secrecy) 但卻仍繼續使用不安全的 RSA 加密金鑰交換機制的主機來說,其風險將取決於駭客執行此攻擊的速度有多快。我們認為可能發生的問題包括:冒充某台伺服器或是中間人攻擊,但卻更具挑戰性。」
為了示範 ROBOT 漏洞攻擊的可行性,研究團隊利用 Facebook 網站的 HTTPS 憑證私密金鑰簽署了一個訊息,這意味著他們成功冒充了該網站。Facebook 在今年 10 月已修正此問題,並且頒發漏洞懸賞獎金給該團隊。而該團隊也通知了其他同樣有此問題的網站和廠商。ROBOT 的網站上提供了一份隨時更新的網站名單,顯示各網站的修正進度。
根據其他報導,這項漏洞並不只侷限於 TLS 安全機制,包括 XML Encryption、PKCS#11 Interface、Javascript Object Signing and Encryption (JOSE) 以及 Cryptographic Message Syntax / S/MIME 皆有類似問題。為此,研究團隊也在 ROBOT 網站首頁上新增了一個 ROBOT 漏洞檢查工具來協助其他網站進行自我檢查。
話說回來,駭客首先必須要能從中攔截往返目標網站的流量才能攻擊這項漏洞,因此稍微舒緩了該漏洞的危險性。但既然這項漏洞能夠用來解開加密的資料,而且可以使用某個網站的私密金鑰來簽署通訊流量,網站經營者就應該檢查自己的網站是否存也在著同樣的漏洞,進而採取適當步驟來修補或修正此問題。
原文出處:Facebook, PayPal and Other Prominent Sites Affected by the “the ROBOT Attack”