談聯通此次大範圍網絡緩存劫持的危害

2016-01-20 10:56:52 +08:00
 raysonx
聯通近日在全國範圍內大建緩存服務器,並將用戶正常訪問 HTTP 的請求劫持到緩存服務器以達到節省骨幹網帶寬與網間流量的問題。抛開此舉是否違法不談,我們今天討論一下這種劫持行為的危害。

一、可能造成網站和 APP 功能故障。
1. 緩存更新及失效時間對用戶及网站不可控,緩存的舊數據和新數據無法在時間上保持一致性,可能引發一些「奇怪」的問題。比如好多軟件的最新版本下載地址是不變的,如 http://www.example.com/download/latest.exe ,由于緩存的原因會讓你一直下載到舊版本。這可能會影響到部分軟件的自動更新、自動升級功能。還有如網頁中部分資源引用到舊數據導致網頁排版和功能異常,驗證碼被緩存導致驗證碼怎麼都輸不對等問題。另外,由于劫持的方式是使用 HTTP 302 重定向指令,有的應用可能只接受 HTTP 200 為正確的響應,不會識別 302 指令,造成通信故障。
2. 從技術上緩存系統只能通過 URL 來區別不同的資源,不能識別具有相同 URL 的不同資源。這會導致資源加載錯誤,針對某一用戶的資源被所有人共享等問題。比如看視頻時,出現前一段和後一段內容不一致,帶有用戶敏感信息的資源被所有人看見等安全問題。
二. 緩存服務器具備篡改或出售緩存數據的隱患,對信息安全不利。
三. 緩存服務器故障時,會造成大量用戶「部分斷網」。
四. 緩存服務器帶寬和處理性能有限,據網上反映由於緩存服務器經常報 403 、 502 錯誤,導致資源無法加載,或由於緩存服務器超載導致加載速度緩慢。
五. 緩存服務器可能觸發部分網站的反爬蟲(反機器人)、反盜鏈機制,緩存的內容是服務器報錯信息,導致資源無法加載。
六. 破壞了 URL 對用戶的透明性。假設用戶將劫持後的鏈接分享給其他人,而聯通對緩存服務器做了訪問控制,將會導致鏈接無法在外部打開;另外如果緩存失效而又沒有及時更新的話,可能導致用戶無法通過此 URL 訪問被引用的資源。
七. 損害了 IDC 和 CDN 的利益,此種網絡劫持使 IDC 和 CDN 的流量大幅減少,影響 IDC 和 CDN 的流量收入。題外話,話說聯通為何不提供商業 CDN 服務而偏要搞劫持?
八. 目前聯通的劫持依靠 TCP 搶答的方式,但原始數據包還是會到達目標服務器並被正確響應。就我抓包的情況來看,雖然你訪問資源時被 HTTP 302 數據包重定向到了聯通的緩存服務器,但原目標服務器的 HTTP 200 響應還是會被送到用戶端,且由於得不到用戶端的確定不斷觸發超時重傳,極大地浪費了用戶帶寬。

有人說這是聯通為提升用戶體驗而做的好事,不應該去反對。我是持相反意見的。就目前來看,聯通的骨幹網帶寬和國際出口帶寬還算充足,劫持帶來的問題要比好處大得多。聯通要真想向用戶提供一流的用戶體驗,只能靠擴充骨幹網帶寬和國際出口帶寬,像部分小區寬帶運營商一樣搞緩存劫持是沒有出路的。
5021 次点击
所在节点    宽带症候群
37 条回复
965380535
2016-01-20 17:55:06 +08:00
对于联通的行为,我本人表示极为遗憾。
test0x01
2016-01-20 18:39:02 +08:00
写得很不错 表扬
raysonx
2016-01-20 20:46:31 +08:00
@tobyxdd 今晚測試了一下,發現好像不對境內網站劫持了,境外網站依舊劫持。
不過我沒有花時間仔細去確認是不是真的不劫持境內網站了。
cmxz
2016-01-20 20:52:56 +08:00
关于 7 ,有可能劫持就是为了让大家使用联通的 CDN 业务…
至少我见过移动有一点点这样的意思
VmuTargh
2016-01-20 21:04:01 +08:00
嗯……看完我默默地打开了自己的 CloudFlare 页面,把 SSL 和 HSTS 开了再说
tobyxdd
2016-01-20 21:13:16 +08:00
@raysonx 我试了...似乎已经全没了?
raysonx
2016-01-20 21:41:10 +08:00
@tobyxdd 我今晚測試時只打開了 imgur.com 的首頁,依然會發現一大堆 302.
Kisesy
2016-01-20 21:45:23 +08:00
山东 联通,没发现这种问题
aivier
2016-01-20 21:48:28 +08:00
@raysonx 不是早就墙了?
raysonx
2016-01-20 21:56:05 +08:00
@aivier 北京聯通,一直都能打開啊
linjuyx
2016-01-20 22:10:07 +08:00
@raysonx 只劫持境外还能接受,反正都需要扶墙
raysonx
2016-01-20 22:19:08 +08:00
@linjuyx 我還不能確定,我投訴的時候是通通劫持的,連自家聯通機房也劫持。最近劫持頻率低了,我也沒仔細去測試。
aprikyblue
2016-01-20 22:27:22 +08:00
山东联通没有发现此问题
a656088752
2016-01-21 02:16:26 +08:00
广东联通已经全没了电脑手机都试了
billytv
2016-01-21 08:19:21 +08:00
劫持不是一直存在吗? 广东联通在更新 directX runtime 时会被劫持到缓存, 下载速度很快, 然而缓存服务器上的文件有损毁, 签名跟 Mircrosoft 的对不上, 不管重新下载多少次安装时都会出错. 这状况已经半年多, 每次重装都要扶墙
leavic
2016-01-21 11:03:37 +08:00
缓存本身没有错,但缓存没有合适的更新机制和管理机制就错了。
raysonx
2016-01-21 14:47:17 +08:00
@leavic 個人感覺維護好一套緩存系統太難了,需要很高的技術、運維和管理成本。這次聯通搞這麼大規模的緩存,不知道是為了搞什麼大動作。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/252028

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX