2014年10月,國內曾出現過非常嚴重的中間人攻擊事件,微軟、蘋果iCloud、雅虎等知名企業都遭受了大面積SSL中間人攻擊,其中國地區大部分用戶隱私暴露無遺,用戶在這些網站上輸入及存儲在云端的私房照片、帳號密碼等都能夠被黑客復制。
很多不知情的用戶可能會問,SSL不就是為了保障HTTP的保密性和完整性,提供端到端安全服務的嗎?為什么還會發生SSL中間人攻擊,難道HTTPS都不能保證網絡通信安全?
SSL中間人攻擊的三大場景
事實上,SSL被設計得十分安全,想要攻破并不容易。SSL是為網絡通信提供安全及數據完整性的一種安全協議,它可以驗證參與通訊的一方或雙方使用的證書是否由權威受信任的數字證書認證機構頒發,并且能執行雙向身份認證。
而我們現在常見的SSL中間人攻擊方式都是通過偽造、剝離SSL證書來實現的。換句話說,一旦發生SSL中間人攻擊事件,問題并不出在SSL協議或者SSL證書本身,而是出在SSL證書的驗證環節。中間人攻擊的前提條件是,沒有嚴格對證書進行校驗,或者人為的信任偽造證書,因此以下場景正是最容易被用戶忽視的證書驗證環節:
場景一:網站沒有使用SSL證書,網站處于HTTP明文傳輸的“裸奔”狀態。這種情況黑客可直接通過網絡抓包的方式,明文獲取傳輸數據。
場景二:黑客通過偽造SSL證書的方式進行攻擊,用戶安全意識不強選擇繼續操作。
受SSL證書保護的網站,瀏覽器會自動查驗SSL證書狀態,確認無誤瀏覽器才會正常顯示安全鎖標志。而一旦發現問題,瀏覽器會報各種不同的安全警告。
例如,SSL證書不是由瀏覽器中受信任的根證書頒發機構頒發的,或者此證書已被吊銷,此證書網站的域名與根證書中的域名不一致,瀏覽器都會顯示安全警告,建議用戶關閉此網頁,不要繼續瀏覽該網站。
場景三:黑客偽造SSL證書,網站/APP只做了部分證書校驗,導致假證書蒙混過關。
例如,在證書校驗過程中只做了證書域名是否匹配,或者證書是否過期的驗證,而不是對整個證書鏈進行校驗,那么黑客就可以輕松生成任意域名的偽造證書進行中間人攻擊。
如何防御SSL中間人攻擊?
首先,真正的HTTPS是不存在SSL中間人攻擊的,因此首當其沖的是要確定網站有SSL證書的保護。
那么用戶如何判斷網站有沒有SSL證書保護呢?
1、可使用https:// 正常訪問。
2、瀏覽器顯示醒目安全鎖,點擊安全鎖,可查看網站真實身份。
3、使用了EV SSL證書的網站,顯示綠色地址欄。
如果用戶訪問的網站呈現以上特征,說明該網站已受SSL證書保護。
其次,采用權威CA機構頒發的受信任的SSL證書。
數字證書頒發機構CA是可信任的第三方,在驗證申請者的真實身份后才會頒發SSL證書,可以說是保護用戶信息安全的第一道關口。在國內認證行業中,以天威誠信(iTrusChina)為代表的CA認證機構,占據著SSL證書市場的份額。由天威誠信頒發的數字證書,瀏覽器都能夠正常識別,用戶可以放心使用。
最后,對SSL證書進行完整的證書鏈校驗。
如果是瀏覽器能識別的SSL證書,則需要檢查此SSL證書中的證書吊銷列表,如果此證書已經被證書頒發機構吊銷,則會顯示警告信息:“此組織的證書已被吊銷。安全證書問題可能顯示試圖欺騙您或截獲您向服務器發送的數據。建議關閉此網頁,并且不要繼續瀏覽該網站。”
如果證書已經過了有效期,一樣會顯示警告信息:“此網站出具的安全證書已過期或還未生效。安全證書問題可能顯示試圖欺騙您或截獲您向服務器發送的數據。建議關閉此網頁,并且不要繼續瀏覽該網站。”
如果證書在有效期內,還須檢查部署此SSL證書的網站域名是否與證書中的域名一致。
如果以上都沒有問題,瀏覽器還會查詢此網站是否已經被列入欺詐網站黑名單,如果有問題也會顯示警告信息。
總而言之,企業能夠做到證書部署和校驗環節完整,個人用戶能夠認真觀察HTTPS安全標識,識別證書真實性、有效期等信息,HTTPS幾乎是無法攻破的,所謂的SSL中間人攻擊就是一個偽命題。
在網絡安全事件頻發的時代,部署HTTPS已是大勢所趨,它用復雜的傳輸方式降低網站被攻擊劫持的風險。當然,實現全網HTTPS不是一件立竿見影的事情,而是需要參與互聯網的每一家企業都承擔起網絡安全的責任,我們每一個個體都增強保護自我隱私的意識,從而共同締造一個安全的網絡空間。