美國計算機應急響應小組(US-CERT)警告:很多攔截HTTPS流量的安全產品都沒有很好地驗證證書。
使用安全產品檢測HTTPS流量的公司,可能無法避免地弱化了其用戶加密連接的安全性,將用戶暴露給中間人攻擊。
US-CERT是美國國土安全部(DHS)下屬機構,在最近的一次調查過后發布了一份咨詢公告,稱HTTPS檢測產品并不能完全反映出客戶端和服務器間原始連接的安全屬性。
HTTPS檢測會核對來自HTTPS站點的加密流量,確保不含有威脅或惡意軟件。該過程通過攔截客戶端到HTTPS服務器的連接來實現,會以客戶端的名義創建連接,然后用本地產生的證書對發送給客戶端的流量再次加密。做這項工作的產品基本上都相當于中間人代理。
典型企業環境中,HTTPS連接甚至能被攔截并重加密多次:在網絡邊界被網關安全產品或數據泄露預防系統攔截加密,在終端系統上被需要檢測此類流量中惡意軟件的反病毒程序攔截加密。
問題在于:由于任務落到了攔截代理身上,用戶瀏覽器便不再能夠驗證真正的服務器證書了。而實際上,安全產品在驗證服務器證書上表現特別糟糕。
最近,多家機構的研究人員對HTTPS檢測實踐進行了調查。這些機構包括谷歌、Mozilla、CloudFlare、密歇根大學、伊利諾伊大學香檳分校、加州大學、伯克利和國際計算機科學研究所。
他們發現,從美國連至CloudFlare內容分發網絡的HTTPS流量中,超過10%都被攔截了;而去往電商網站的連接有6%被攔截。
分析發現,被攔截的HTTPS連接中,32%的電商流量和54%的CloudFlare流量,這比用戶直接連接服務器更不安全。
值得注意的是,被攔截連接不僅僅使用更弱的加密算法,其中10-40%支持的還是那些已知被攻破的密碼。這些會導致中間人攻擊之后的攔截、降級、甚至解密該連接。
原因在于,瀏覽器制造商具備長期且恰當的專業知識理解TLS連接和證書驗證的潛在怪癖。可以說,再沒有比現代瀏覽器實現得更好的客戶端TLS(HTTPS采用的加密協議)了。
安全產品廠商使用過時的TLS庫,定制這些庫,甚至嘗試重新實現該協議的一些功能特性,造成了嚴重的漏洞。
US-CERT指出的另一個普遍問題是,很多HTTPS攔截產品沒能恰當地驗證服務器提供的證書鏈。
“證書鏈驗證錯誤很少發送給客戶端,致使客戶端認為各項操作都是按照預期與正確的服務器進行的。”
BadSSL網站上,公司企業可以檢驗其HTTPS檢測產品是否不恰當地驗證證書,或者允許了不安全密碼通行。來自 Qualys SSL Labs 的客戶端測試,同樣可以對某些已知TLS漏洞和缺陷進行檢測。
卡內基梅隆大學CERT協調中心發表了博客文章,披露了HTTPS攔截常見陷阱的更多信息,以及可能有漏洞的產品名單。