1. 程式人生 > >什麽是流量劫持,如何防止流量劫持?

什麽是流量劫持,如何防止流量劫持?

傳輸層安全 通信 ssl 缺陷 網上 加密通道 結果 請求 彈出

流量劫持,是利用各種惡意軟件修改瀏覽器、鎖定主頁或不停彈出新窗口,強制用戶訪問某些網站,從而造成用戶流量損失的情形。流量劫持是一種古老的***方式,比如早已見慣的廣告彈窗(如下圖)等,很多人已經對此麻木,並認為流量劫持不會造成什麽損失。而事實上,流量劫持可以通過多種你無法覺察的方式竊取信息!

HTTP協議缺陷,使流量劫持得以實現

流量劫持的方式有很多種,常見的主要有DNS劫持、CDN***、網關劫持、ARP***、Hub嗅探等等。不同的劫持方式,獲得的流量有所差異。DNS 劫持,可以截獲通過域名發起的流量,直接使用 IP 地址的通信則不受影響;CDN ***,只有瀏覽網頁或下載時才有風險,其他場合則毫無問題;而網關被劫持,用戶所有流量都難逃魔掌。

目前互聯網上發生的流量劫持基本是兩種手段來實現的:

域名劫持:通過劫持掉域名的DNS解析結果,將HTTP請求劫持到特定IP上,使得客戶端和***者的服務器建立TCP連接,而不是和目標服務器直接連接,這樣***者可以對內容進行竊取或篡改。在極端的情況下甚至***者可能偽造目標網站頁面進行釣魚***。

直接流量修改:在數據通路上對頁面進行固定的內容插入,比如廣告彈窗等。在這種情況下,雖然客戶端和服務器是直接建立的連接,但是數據內容依然可能遭到野蠻破壞。

能夠實施流量劫持的根本原因,是HTTP協議沒有辦法對通信對方的身份進行校驗以及對數據完整性進行校驗。如果能解決這個問題,則流量劫持將無法輕易發生。

HTTPS加密如何防止流量劫持

HTTPS,是HTTP over SSL的意思,是在HTTP基礎上,增加一層SSL加密通道。SSL協議是用於解決傳輸層安全問題的網絡協議,其核心是基於公鑰密碼學理論實現了對服務器身份認證、對數據的加密保護以及對數據完整性的校驗等功能,確保傳輸數據的機密性和完整性,以及服務器身份的真實性。

因為SSL協議提供了對服務器的身份認證,所以DNS劫持導致連接錯誤服務器的情況將會被發現進而被終止,最終導致DNS挾持***無法實現;而SSL協議提供的數據加密和完整性校驗,也解決了關鍵信息被嗅探以及數據內容被修改的問題。

什麽是流量劫持,如何防止流量劫持?