野獸/犯罪/海灘攻擊並阻止它
我已經閱讀了很多關於這一切的內容,但並不完全確定我理解發生了什麼。
另外,這是一個、兩個還是三個問題?
在我看來它像三個,但這一切都非常令人困惑:
Beast CRIME Beach
似乎解決方案可能是簡單地不對 HTTPS 流量使用壓縮(或者只是在其中一個流量上?)
我使用 GZIP 壓縮。沒關係,還是那是問題的一部分?
我也使用 Ubuntu 12.04 LTS
另外,非 HTTPS 流量可以嗎?
因此,在閱讀了所有理論之後,我只想要解決方案。我認為這可能是解決方案,但有人可以確認我已經理解了一切,所以我不太可能遭受這種攻擊:
SOLUTION: Use GZIP compression on HTTP traffic, but don't use any compression on HTTPS traffic
CRIME 和 BREACH(注意那裡有一個“R”)使用 TLS 級別壓縮來“洩露”有關加密數據的資訊。很快:如果您可以控制部分數據流並發送不同的數據,那麼當您發送與您無法控制的部分流相同的數據時,輸出會更小(因為壓縮會刪除重複數據)和你會知道你無法控制的部分的內容。
BEAST 利用了 TLS 1.0 中 CBC 加密的缺陷。這主要是不切實際的,但是已經創建了一個展示漏洞並且絕對有效。有兩個潛在的修復方法,禁用 CBC 加密(基本上包括所有“良好”的 TLS 加密,讓您使用 RC4,它有自己的漏洞,包括洩漏明文)或禁用 TLS 1.0 並僅使用 TLS 1.1(或更新版本) ,即 1.2)。
這些攻擊大多不切實際,但如果您處於高安全環境(如 PCIDSS 或 EHR)中,則需要禁用 TLS 壓縮和 TLS 1.0 CBC 加密。TLS 壓縮與內容壓縮(即 Deflate 和 GZip)完全分開。根據最新統計,大約 2/3 的 HTTPS 伺服器對 BEAST“脆弱”,大約 1/6 對 CRIME “脆弱”。從長遠來看,1/3 很容易受到攻擊,因為他們執行的是一個愚蠢的配置,幾乎無法在任何級別正確保護數據。
編輯:
回應您的評論:通常被稱為“SSL 證書”的實際上是 x509 證書,除了被協議使用之外,與 SSL 無關。當您獲得證書時,請確保它是 2048 位或 4096 位(前者非常常見)RSA 或 384+ 位 ECDSA。證書使用非對稱加密,速度非常慢——因此它們不用於加密通過 SSL/TLS 傳輸的數據。它們僅用於就流密碼使用的密鑰達成一致。
常見的流密碼是 RSA、RC4、Camellia 和 DES/3DES。這是您遇到 64 位、128 位、256 位加密的地方 - 這是這些流密碼的密鑰大小。從系統管理員的角度來看,RSA 是廣泛支持的密碼中“最好的”——但它在上述 BEAST 攻擊中存在 CBC 問題。RC4“洩漏”明文。Camellia 非常棒,但並未得到普遍支持,因此您不能在公共環境中依賴它。DES/3DES 已損壞,永遠不應再使用。
您基本上與數百萬其他人遇到了同樣的問題:普遍支持和功能安全之間的選擇。你現在不能同時擁有兩者。在我看來,禁用 TLS 壓縮有點簡單,因為內容壓縮彌補了大部分差異——因此“修復”問題的成本很低。但是流密碼的選擇非常多:使用 RC4 或 AES 實現有缺陷的安全性,或者需要 TLS 1.1+ 並將您的網站破壞一半的網際網路。
腳註:別擔心,當量子處理器達到 128+ 位並使破解“SSL 證書”變得輕而易舉時,這一切看起來就像潑了牛奶。我們可能距離那個目標不到 10 年,目前是 4 位。