HTTPS 的潛在攻擊以及如何防禦

一半的網站 使用 HTTPS,並且其數量正在穩步增加。 該協議降低了流量攔截的風險,但並沒有消除此類攻擊企圖。 我們將討論其中的一些 - 貴賓犬、野獸、溺水等 - 以及我們材料中的保護方法。

HTTPS 的潛在攻擊以及如何防禦
/flickr/ 斯文·格雷姆 / CC BY-SA

獅子狗

第一次關於襲擊事件 獅子狗 2014年成名。 SSL 3.0 協定中的一個漏洞是由資訊安全專家 Bodo Möller 和 Google 的同事發現的。

其本質是:駭客強制客戶端通過SSL 3.0連接,模擬連接中斷。 然後它在加密後搜索 CBC- 流量模式特殊標籤訊息。 使用一系列偽造的請求,攻擊者能夠重建感興趣的資料內容,例如 cookie。

SSL 3.0 是一個過時的協定。 但他的安全問題仍然很重要。 客戶端使用它來避免與伺服器的兼容性問題。 根據一些數據顯示,7 萬個最受歡迎的網站中近 100% 仍然支援SSL 3.0。 也 那裡 針對更現代的 TLS 1.0 和 TLS 1.1 對 POODLE 進行的修改。 今年 出現 新的 Zombie POODLE 和 GOLDENDOODLE 攻擊繞過 TLS 1.2 保護(它們仍然與 CBC 加密相關)。

如何保護自己。 對於原始 POODLE,您需要停用 SSL 3.0 支援。 但是,在這種情況下存在相容性問題的風險。 另一種解決方案可能是 TLS_FALLBACK_SCSV 機制 - 它確保透過 SSL 3.0 的資料交換只能在舊系統上進行。 攻擊者將無法再發動協定降級。 防範 Zombie POODLE 和 GOLDENDOODLE 的一種方法是在基於 TLS 1.2 的應用程式中停用 CBC 支援。 主要解決方案將是過渡到 TLS 1.3 - 新版本的協定不使用 CBC 加密。 相反,使用更耐用的 AES 和 ChaCha20。

1.0 年發現的首批針對 SSL 和 TLS 2011 的攻擊之一。 像貴賓犬、野獸 用途 CBC加密的特點攻擊者在客戶端電腦上安裝 JavaScript 代理程式或 Java 小程序,在透過 TLS 或 SSL 傳輸資料時取代訊息。 由於攻擊者知道「虛擬」封包的內容,因此他們可以使用它們來解密初始化向量並向伺服器讀取其他訊息,例如身份驗證 cookie。

截至目前,BEAST 漏洞依然存在 許多網路工具都容易受到影響:用於保護本機 Internet 網關的代理伺服器和應用程式。

如何保護自己。 攻擊者需要定期發送請求來解密資料。 在VMware中 推薦 將 SSLSessionCacheTimeout 的持續時間從 30 分鐘(預設建議)減少到 2020 秒。 這種方法將使攻擊者更難實施他們的計劃,儘管它會對表現產生一些負面影響。 此外,您需要了解 BEAST 漏洞可能很快就會成為過去式 - 自 XNUMX 年以來,最大的瀏覽器 停止 支援 TLS 1.0 和 1.1。 無論如何,只有不到 1,5% 的瀏覽器用戶使用這些協定。

這是一種跨協定攻擊,利用 2 位元 RSA 金鑰實作 SSLv40 時的錯誤。 攻擊者監聽目標的數百個 TLS 連接,並使用相同的私鑰將特殊資料包傳送到 SSLv2 伺服器。 使用 布萊辛巴赫攻擊,駭客可以解密大約一千個客戶端 TLS 會話中的一個。

DROWN 於 2016 年首次為人所知 - 後來事實證明 三分之一的伺服器受到影響 在世界上。 今天,它並沒有失去其相關性。 在 150 萬個最受歡迎的網站中,2% 仍然是 支持 SSLv2 和易受攻擊的加密機制。

如何保護自己。 有必要安裝加密庫開發人員提出的禁用 SSLv2 支援的補丁。 例如,針對 OpenSSL 提供了兩個此類補丁(2016 年) 這些是更新 1.0.1 秒和 1.0.2 克)。 此外,禁用易受攻擊協定的更新和說明已發佈於 紅帽, 阿帕奇, Debian.

「如果資源的金鑰被具有 SSLv2 的第三方伺服器(例如郵件伺服器)使用,則該資源可能容易​​受到 DROWN 的影響,」開發部門負責人指出 IaaS 提供者 1cloud.ru 謝爾蓋·貝爾金。 — 如果多個伺服器使用通用 SSL 證書,則會發生這種情況。 在這種情況下,您需要在所有電腦上停用 SSLv2 支援。”

您可以使用特殊的方法檢查您的系統是否需要更新 公用事業 — 它是由發現 DROWN 的資訊安全專家開發的。 您可以在以下位置閱讀更多有關防範此類攻擊的建議: 在 OpenSSL 網站上發布.

心臟出血漏洞

軟體中最大的漏洞之一是 心臟出血漏洞。 它於 2014 年在 OpenSSL 庫中被發現。 在錯誤公告時,易受攻擊的網站數量 估計有五十萬 - 這大約佔網路上受保護資源的 17%。

該攻擊是透過小型 Heartbeat TLS 擴充模組實現的。 TLS 協定要求資料連續傳輸。 如果長時間停機,就會發生中斷,必須重新建立連線。 為了解決這個問題,伺服器和客戶端人為地「幹擾」通道(RFC 6520,第 5 頁),傳輸隨機長度的資料包。 如果它大於整個資料包,則 OpenSSL 的易受攻擊版本會讀取超出分配緩衝區的記憶體。 該區域可以包含任何數據,包括私有加密金鑰和有關其他連接的資訊。

該漏洞存在於 1.0.1 和 1.0.1f 之間的所有版本的庫中,以及許多作業系統中 - Ubuntu 12.04.4 之前的版本、CentOS 6.5 之前的版本、OpenBSD 5.3 等。 有完整的清單 在專門針對 Heartbleed 的網站上。 儘管針對此漏洞的修補程式幾乎在發現後立即發布,但該問題至今仍然存在。 回到2017年 近 200 萬個網站運行,容易受到心臟出血的影響。

如何保護自己。 這是必要的 更新 OpenSSL 最高版本 1.0.1g 或更高版本。 您也可以使用 DOPENSSL_NO_HEARTBEATS 選項手動停用 Heartbeat 請求。 更新後,資安專家 推薦 重新頒發 SSL 憑證。 如果加密金鑰上的資料最終落入駭客手中,則需要進行更換。

證書替代

在使用者和伺服器之間安裝具有合法SSL憑證的受管節點,主動攔截流量。 該節點透過提供有效憑證來冒充合法伺服器,並且可以執行 MITM 攻擊。

根據 研究 來自 Mozilla、Google 和多所大學的團隊發現,網路上大約 11% 的安全連線被竊聽。 這是在使用者電腦上安裝可疑根憑證的結果。

如何保護自己。 使用可靠的服務 SSL 提供者。 您可以使用該服務檢查證書的“品質” 證書透明度 (CT)。 雲端供應商還可以幫助偵測竊聽;一些大公司已經提供了監控 TLS 連線的專用工具。

另一種保護方法將是一種新的 標準 ACME,自動接收 SSL 憑證。 同時,它將添加額外的機制來驗證網站的所有者。 更多相關資訊 我們在之前的一份資料中寫道.

HTTPS 的潛在攻擊以及如何防禦
/flickr/ 尤里·薩莫伊洛夫 /抄送

HTTPS 的前景

儘管存在許多漏洞,IT巨頭和資訊安全專家對該協議的未來充滿信心。 用於主動實施 HTTPS 行為 WWW 創辦人蒂姆·伯納斯·李。 他表示,隨著時間的推移,TLS 將變得更加安全,這將顯著提高連線的安全性。 伯納斯李甚至建議 將來會出現 用於身份認證的用戶端憑證。 它們將有助於改善伺服器免受攻擊者的攻擊。

還計劃利用機器學習開發 SSL/TLS 技術——智慧演算法將負責過濾惡意流量。 透過 HTTPS 連接,管理員無法找出加密訊息的內容,包括偵測來自惡意軟體的請求。 如今,神經網路已經能夠以 90% 的準確率過濾潛在危險的資料包。 (簡報投影片 23).

發現

大多數針對 HTTPS 的攻擊與協定本身的問題無關,而是與支援過時的加密機制有關。 IT產業開始逐漸放棄上一代協議並提供新的漏洞搜尋工具。 未來,這些工具將變得越來越智慧化。

有關該主題的其他連結:

來源: www.habr.com

添加評論