最近好幾個客戶服務器被發現Sweet32,經過檢查,都是受DES/3DES影響導致的,解決辦法就是禁用了DES/3DES。
驗證方式:nmap -sV --script ssl-enum-ciphers -p 443 test.com
以下是我從網絡上找到的一些信息:
概述
分組密碼在SSL/TLS協議中的特定配置會遭到碰撞攻擊。
背景
傳統64位塊分組密碼在使用CBC模式時很容易被碰撞攻擊。SSL/TLS協議所有支持使用3DES對稱加密的密碼套件都受影響(例如 ECDHE-RSA-DES-CBC3-SHA)。紅帽企業版Linux6和7自帶的OpenSSL版本中,基於DES的密碼套件的優先級在AES-256和AES-128之下,因此只有顯式禁用 AES-128 和 AES-256,DES密碼才會啟用。紅帽企業版Linux5自帶的OpenSSL版本中,基於DES的密碼套件的優先級在AES-256和AES-128之間,因此只有顯式禁用 AES-256,DES密碼才會啟用。
分組密碼的安全性取決於密鑰長度。因此,對分組密碼最好的攻擊是窮盡搜索密鑰空間,其具有2^k復雜度。然而當分組密碼使用如CBC模式加密大數據時,塊長度對安全性的影響也不可忽視。
當使用CBC模式時,在使用同一密鑰加密2^(n/2)塊數據后將存在生日攻擊,兩密文塊能夠發生碰撞。這意味着存在相同的輸入。結合幾個條件(下面討論)將可用於從加密數據中獲取明文。
攻擊的實用性
1、首先,DES/3DES 是 SSL/TLS 中唯一使用64位塊的密碼。如前所述,包含3DES的密碼套件優先級低於其它密碼套件。
2、要攻擊64位分組密碼,至少需要獲取32GB以上密文。在SSL/TLS的情況,這需要在一個會話中完成(新會話會重商對稱密鑰)。因此HTTPS長連接會受影響。
3、在許多情況下,僅恢復兩明文塊之間的異或是不足以構成有實際影響的攻擊的。但若滿足下面條件,則可實施攻擊:
·同一秘密被重復發送
·已知部分明文
4、研究論文中提到的攻擊的概念證明中,假設了一些認證令牌在整個通信過程中在服務器和客戶端之前傳遞(令牌可以是一個用於基本身份驗證的憑據)。此時攻擊者在被攻擊網站運行一個惡意的 JavaScript 腳本,通過暴力攻擊來獲取憑據。
緩解措施
1、SSL/TLS配置中 AES 優先級應高於 DES。紅帽企業版Linux6和7自帶的OpenSSL版本中已經這樣做了。
2、紅帽企業版Linux5自帶的OpenSSL版本中,3DES的優先級在AES-256和AES-128之間,因此不應禁用基於 AES-256 的密碼套件。
3、使用OpenSSL的服務器,不應禁用AES-128和AES-256密碼套件。紅帽企業版Linux自帶的Apache版本使用默認密碼串,其中AES優先於DES/3DES密碼套件。
解決方案
1、這一缺陷出於DES/3DES密碼的設計,並不是實現問題。
2、這個缺陷不直接影響紅帽企業版Linux5、6、7中的任何密碼庫(OpenSSL,NSS和GnuTLS),因在默認密碼列表配置中有若干優先級高於3DES的更強的密碼套件。
3、對於紅帽企業版Linux5,不要禁用基於 AES-256 的密碼套件。對於紅帽企業版Linux6和7,不要禁用基於 AES-128 或 AES-256 的密碼套件。
上游的安全修復:
OpenSSL:
OpenSSL 已評估為低危級別的安全問題,他們已在1.0.2分支中將3DES密碼套件由類別“高”移至“中”,並將在即將發布的新版本中默認設為禁用。
NSS:
Mozilla正為所有密碼套件做數據限制。
相關問題
上游 OpenVPN 也易受 Sweet32 攻擊(CVE-2016-6329)。紅帽的OpenVPN實現不受該缺陷影響