歡迎光臨
每天分享高質量文章

淺談網絡劫持的原理及影響

來自:bigsec豈安科技(微信號:bigsec)

擼主:


葉孤城   豈安科技售前顧問


9年互聯網專案支持經驗,涉獵各類體育專案


無處不在的劫持

利用餓了麽2塊錢的補差價就能划走用戶支付寶的2000元、利用訂購的機票信息,就能獲取到用戶信任,騙取財產、總是被跳轉到一些自己不想訪問的頁面上、為什麼總有那麼多自己跳出來的廣告?為什麼一個正常的鏈接點進去之後會出現下載界面?我們的資料信息怎麼就這麼不安全?

對於普通用戶來說,你的請求資料發出去以後,會經過哪裡,最終去到哪裡,怎麼處理響應,這後面的一切都是黑洞。而對於想利用你的信息做壞事的人來說,每一個環節都是他們的機會。

先不說壞人通過爬蟲、撞庫等手段獲取用戶信息。最直接的我們資料接入的運營商都可能會對我們的資料分析監控。比如敏感信息信息的監控、涉黃涉恐信息的過濾,而我們能夠感受到影響的可能就是網絡劫持了。那麼運營商為什麼要做網絡劫持,通過什麼手段來做劫持,網絡劫持的利弊在哪呢?

劫持的產生

近年來隨著網上購物、直播、物聯網、共享經濟、人工智慧等不斷深入我們的生活,互聯網行業取得飛速的發展。根據最新的第40期《中國互聯網發展統計報告》顯示,截止2017年6月,中國互聯網用戶已經達到7.51億,占全球網民的1/5。隨之而來的是網絡流量的不斷增加,目前中國的國際網絡出口的帶寬已經高達8T,而國內用戶產生的網絡流量要遠遠大於這個數字。與之相對應的是中國複雜的網絡環境。除了電信、聯通、移動是比較大的網絡接入廠商,此外包含長城寬帶、鵬博士、教育網、科技網、廣電等等不少於20多家的小運營商。而且各個省市是相互獨立運營。這就會導致網絡出現跨網、跨運營商的情況會特別多,基本上很難避免。而各個運營商之間的出口帶寬不盡相同,這很能是成為網絡高峰的瓶頸。同時這種大量跨網訪問的流量,在運營商之間會產生一筆很大的結算費用。也就是說運營商之間的互通是需要收費的

作為運營商,面對這麼大的帶寬流量。該如何保障用戶體驗,減小自身成本呢。於是,他們找到了網絡劫持的方案。

劫持的原理

運營商劫持大致分為兩種方式:

➤DNS強制解析的方式

➤訪問請求的302跳轉。

DNS強制解析是通過修改運營商的本地DNS記錄,來引導用戶流量到快取服務器。工作的方式如下:

  1. 用戶通過域名發起訪問請求;

  2. 請求通過本地DNS進行解析;

  3. 運營商DNS設置強制解析策略;即所有該域名的請求都解析到事先寫好的服務器上;

  4. 終端用戶到劫持服務器交互訪問;

  5. 劫持服務器如果有需要的訪問內容,則直接傳迴響應給用戶;如果沒有,則去源站同步內容。

302跳轉的方式和DNS強制解析的方式主要在引流的方式上有所區別。內容快取是通過監控網絡出口的流量,分析判斷哪些內容是可以進行劫持處理的。再對劫持的記憶體發起302跳轉的回覆,引導用戶獲取內容。其需要對上行的請求流量進行端口鏡像或者分光處理。可以理解成複製一份上行的流量信息 。工作的方式如下:

  1. 終端用戶發起訪問請求;

  2. 流量通過網絡出口對外發起訪問;

  3. 訪問流量被鏡像一份給劫持系統的DPI設備;

  4. 4.DPI對流量進行分析判斷,比如http get、80端口等資料

  5. 快取系統判斷是否熱點資源,比如連續請求5次的相同內容;

  6. 給用戶發送響應請求,告訴客戶本地即是客戶需要訪問的內容;

  7. 由於本地的快取系統離客戶更近,所以客戶更早收到快取系統的響應;

  8. 用戶和本地的快取系統建立網絡交互,源站的響應回來的晚,會自動斷開;

  9. 如果本地有快取內容,則給用戶響應內容,如果本地沒有,會計算訪問次數。當達到響應的內容時。

劫持的影響

從兩種運營商快取的特點來看,二者都是通過獲取用戶的資料流量,引導用戶訪問內容快取的服務器。區別在於引導用戶的方式,DNS強制解析是通過修改域名解析記錄,強制將域名下的所有請求引導到劫持服務器上。這種方式簡單粗暴,也容易造成很多問題。比如域名下有動態內容,也會被快取下來。這樣會造成登錄的串號的問題。快取的內容更新不及時,訪問的都是老內容。這也是很多用戶所不能接受的地方。一些冷門資源的快取,會造成儲存的浪費。流量劫持的方式需要鏡像用戶流量,進行分析判斷。快取一些系統判斷是可以快取的熱點內容。DNS強制解析主要針對圖片,302跳轉主要針對下載檔案,音視頻等大檔案

運營商應用劫持系統可以帶來的好處是:

  • 減少跨網傳輸的訪問,減少運營商之間的網間費用結算。國內各個地區、運營商都是獨立運營的,日常互聯產生的流量是需要進行費用結算的。而這筆費用其實是一筆龐大的開銷,而且需要持續結算。

  • 大多數運營商之間的網絡出口都在幾十至幾百G不等,內容快取系統可以有效減小網絡高峰時出口帶寬的壓力,這樣既可減少對互通網絡的擴容。減少網絡建設的費用。

  • 由於快取系統可以支持本地化服務,在一定程度上也可以達到加快網絡訪問的目的,提升用戶體驗。

由於運維繫統的人員不可能及時獲取到劫持內容的更新,或者對劫持的內容做其他的,壞處是:

  • 經常訪問到過期的內容,檔案更新緩慢。導致獲取不到自己想要的信息。

  • 跳轉到其他網站頁面,或者被插入牛皮癬廣告。

為了減少運營商快取和劫持帶來的影響,目前很多企業開始使用HTTPS的方式。包括蘋果公司之前要求所有的域名必須是HTTPS的,那麼HTTPS能從根本上解決這類的問題嗎?通過上面的分析,很顯然並不能有效的得到解決。https因為使用了加解密的手段,保證內容被篡改的可能性被降低,但是從運營商劫持的原理上來說,並不能有效的降低被劫持的可能性。


●本文編號549,以後想閱讀這篇文章直接輸入549即可

●輸入m獲取文章目錄

推薦↓↓↓

 

Linux學習

更多推薦18個技術類微信公眾號

涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂