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

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 響應還是會被送到用戶端,且由於得不到用戶端的確定不斷觸發超時重傳,極大地浪費了用戶帶寬。

有人說這是聯通為提升用戶體驗而做的好事,不應該去反對。我是持相反意見的。就目前來看,聯通的骨幹網帶寬和國際出口帶寬還算充足,劫持帶來的問題要比好處大得多。聯通要真想向用戶提供一流的用戶體驗,只能靠擴充骨幹網帶寬和國際出口帶寬,像部分小區寬帶運營商一樣搞緩存劫持是沒有出路的。
5020 次点击
所在节点    宽带症候群
37 条回复
gaoxt1983
2016-01-20 11:01:36 +08:00
工信部不作为!
Andy1999
2016-01-20 11:02:37 +08:00
能打简体字吗
a84945345
2016-01-20 11:03:51 +08:00
。。。。这繁体字我真看不过来
raysonx
2016-01-20 11:10:30 +08:00
@Andy1999
@a84945345
我現在用的電腦上面沒有簡化字輸入法,抱歉。
我用工具轉換了一份簡化字版本。

*************

谈联通此次大范围网络缓存劫持的危害
=====================

联通近日在全国范围内大建缓存服务器,并将用户正常访问 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 响应还是会被送到用户端,且由于得不到用户端的确认不断触发超时重传,极大地浪费了用户带宽。 

有人说这是联通为提升用户体验而做的好事,不应该去反对。我是持相反意见的。就目前来看,联通的骨干网带宽和国际出口带宽还算充足,劫持带来的问题要比好处大得多。联通要真想向用户提供一流的用户体验,只能靠扩充骨干网带宽和国际出口带宽,像部分小区宽带运营商一样搞缓存劫持是没有出路的。
Andy1999
2016-01-20 11:12:30 +08:00
其实劫持这事吧。。。怎么说呢 如果直接像香港一些运营商会后端自动匹配 md5 那也就算了,但是我们这边劫持还带改内容的。。。
a84945345
2016-01-20 11:13:35 +08:00
劫持得不要不要的,天天给我打广告
zaqxsw123nm
2016-01-20 11:27:22 +08:00
又一个大坑
dreamcountry
2016-01-20 11:42:01 +08:00
这是违法行为,谁去举报
tobyxdd
2016-01-20 11:45:42 +08:00
现在似乎停止了?
aivier
2016-01-20 11:50:37 +08:00
/t/252039

扒皮向,劫持任意网站到携程代码解密
oott123
2016-01-20 11:55:51 +08:00
TCP 也能抢答?
不是说是 HTTP 劫持么…
raysonx
2016-01-20 11:57:28 +08:00
@oott123 HTTP 是應用層協議, TCP 是傳送層協議。 HTTP 運行於 TCP 之上的。
oott123
2016-01-20 11:59:42 +08:00
@raysonx 哦哦,好像确实如此,暴露了我基础知识不扎实…
那再请教一下,为何联通作为 ISP 是否可以直接拦截 TCP 然后伪造响应(而不用抢答)呢?
raysonx
2016-01-20 12:06:49 +08:00
@oott123 當然可以,但搶答可以用旁路設備實現,直接攔截需要在骨幹路由器上做,後者會嚴重影響性能
Khlieb
2016-01-20 12:10:17 +08:00
@zaqxsw123nm 耍流氓
br00k
2016-01-20 14:04:36 +08:00
国内带宽互通问题太严重了。
hggg
2016-01-20 14:11:31 +08:00
之前我们遇到过用户反馈下载 app 为老版本的问题,后来发现用户使用的是艾普,长城这种宽带,宽带运营商做了缓存。后来修改下载链接,带上版本号才解决问题。
没想到了联通也这么干!
buddha
2016-01-20 15:54:58 +08:00
个人怎么做能规避这种缓存呢, 是只有 http 的会吗 还是说 https 的也会?
raysonx
2016-01-20 15:57:44 +08:00
@buddha 屬於中間人都攻擊( Man-in-the-middle attack, MITM )的一種, HTTPS 可以防劫持,因為網站證書不可偽造,否則會報證書錯誤。
macdino
2016-01-20 17:46:27 +08:00
有些运营商现在已经拒绝 HTTPS 的服务了。。

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

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

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

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

© 2021 V2EX