為什麼三大運營商至今沒有修復十幾年以來的計費漏洞?
最近小極白客在烏雲上把這個漏洞爆出來了,這樣公開不知道會砸了多少人的飯碗。我記得高中的時候我就曾接觸過這個漏洞,沒想到到現在還在,還被媒體報道了。那麼問題來了,運營商不修復的原因是什麼,是技術問題,還是故意為之?
烏雲鏈接http://www.wooyun.org/bugs/wooyun-2015-0165733令,關於小極白客同學的行為大家怎麼看呢?在v2ex論壇上明顯分成兩派https://www.v2ex.com/t/247421#reply88
補充一下,可能有些同學還不清楚漏洞的內容,簡單說,就是可以上網不費流量。之後很多人就拿這個漏洞做成產品賣給消費者,比如5元一個g,在淘寶一搜就知道了。
同學們,你們可能並不能直觀感受到這個漏洞。
我現在來給你們演示一下。為了方便操作,我通過手機熱點用電腦來演示。首先,打開手機 4G 熱點。
我們用的測試地址是:http://122.72.28.14/w/7158b007bba868ff84548ac91be8bce9.mp4?type=phone.androidplatform=android3k=e8444fe5a2ce8bb8919e0e1120bed165-66f8-1451937475key=fa7d6a751154a64c4c64d376e724b524
這是一個 3.64 G 的視頻文件。ps: 你點擊這個視頻鏈接的時候可能已經失效了,因為這實際上是從 PPTV 解析出的一個高碼 1080p 的視頻文件(號稱藍光,其實遠不及一般意義上的藍光畫質),視頻網站有防盜鏈機制,我現在下載能用,你點開的時候可能已經過期失效了。我們將請求頭中的 Host 由 122.72.28.14 修改為 http://rd.go.10086.cn(這是移動的提示頁面地址,也是移動劫持你錯誤頁面的一部分。ps: 運營商劫持真噁心),下載完這個文件。
根據此漏洞特性,這個請求過程會被判定為移動自己的頁面,從而免流量。等待過程有點漫長,我開始方了。萬一真扣我流量怎麼辦。好了,大家也看到了,這漏洞還是比較靠譜的。
回到題目,那麼運營商為什麼不修復呢?我覺得,有些原因。1.運營商如果要把這個簡單的判斷用戶傳遞的 Host 改成判斷伺服器的話,那涉及的伺服器就太多了。
想要準確判斷,就只能判斷這個伺服器 IP 是不是可以免流量的,如果判斷其它條件的話,這些條件基本都是可以在客戶端自己改的。。。而運營商的伺服器 …… 三大運營商,各省各地區還都有了很大的許可權獨立運營……每個運營商下面又有 N 多二級運營商,這些運營商,也基本都是獨立運營……還不只是運營商,還有那些合作方的免流量的頁面。你說運營商到哪裡去把這些自己的、二級運營商的、合作方的、彩信伺服器的等等等等這些伺服器都記錄完全了呢?所以還不就偷懶咯……2. 避免各種潛在的糾紛吧,這個不細說了,可以自己體會。
3. 上線一個這樣的改動,帶來多少 bug 可想而知……
4. kpi … 你看我省提前實現了畝流量 xx TB
聯通前僱員,參與過聯通4G計費系統開發,覺得有必要分享一點人生的經驗。(強答
這種情況一般是有內鬼。
電信行業的計費系統是業務繁雜的一套東西,特別是我國的。三家運營商的2G,3G,4G計費系統,一般都不是自主研發的。聯通的4G時代(2014)以前,各家運營商都是按省來計費的,每月上繳集團。各省公司自主,每個省有自己的一套計費系統。廠商一般是外包,外包廠商一般是亞信聯創,東方國信,電訊盈科,華為,中興。據我了解其他兩家(移動和電信)也是這樣。三家運營商與外包廠商簽訂外包合同,然後根據省內業務特點進行系統定製。
外包廠商的從業者,了解核心系統,了解代碼特性,了解計費延遲(話單從基站傳到交換機再到計費系統,大概5-20min延遲,節假日月末更甚)和批價漏洞(定向流量不計費,題主提到的漏洞原因就在這裡),辭職之後搞點副業不是特別難。由於運營商內部技術能力匱乏,技術水平不高,有心無力是普遍情況。聯通一直在做集中化管理,從3G時代的北方六省融合,南方21省融合,到4G時代的全國計費融合,耗時3年之久。不只是技術問題,各種地方業務(通信台彩鈴小秘書什麼的)和從電話局時代就積累的壞賬,融合起來費時費力。4G時代的計費系統,原型是亞信聯創的BSS4.2,聯通大概花了xxx萬買下了源代碼版權,進行了4G業務適應改造。
內鬼一部分是各種抓不到的外包廠商技術人員(已離職或現役),另一部分是內部倒賣流量卡發家的銷售人員。
*************************
關於免流量是怎麼產生的,再科普下,有人說回答不切題。大家都聽說過定向流量包,比如最常見的qq音樂,9元一個月隨便聽什麼的,還有微信定向流量,問題就出在這裡。(看到有其他人已經解釋了這個問題)把你的普通上網流量請求都偽裝成定向流量,偽裝http請求,欺騙運營商的計費系統。定向流量在內部是不計費的,批價規則會忽略這部分話單。done。參見 @賀勝 的回答我說的內鬼是指知道技術漏洞在哪。因為這套計費規則也在不斷調整,所以只有內部技術人員才知道實現方法和躲避方法,並與時俱進的進行更新。
//////////////////////////////////
都說了這麼多了,不介意再搞一個大新聞。給你們講講國際長途盜打的漏洞問題。不是個人用戶的盜打,是犯罪團伙: )(這裡說的國際長途盜打不針對任何一家運營商和個人,只是讓大家了解下這個行業過去出現的一個棘手的問題。各家都是在非常積極的解決和防治這個問題,畢竟涉事金額特別大,損失比較多。有多大我不方便透露,下面只說問題產生的原因,和我們嘗試過的解決方案)
電信業漏洞:國際長途盜打
起因:國際長途話費的分成這裡大家要了解一個事實,國內運營商收那麼高的國際長途費,不全是進自己腰包的,是和國外運營商共同收入的(這裡我只說國際長途主叫的情況)。舉例:你能給遠在非洲的索馬利亞打國際長途,前提是我國電信運營商已經和索馬利亞的電信運營商簽訂國際長途合約,這裡面包含租賃海底電纜等的費用。比如話費是8元/分鐘,那麼其中4元是國內運營商所得,剩下的4元由國內運營商代收,然後結算給索馬利亞運營商。
那麼問題來了:如果你打國際長途欠費了,也不願意去營業廳交話費,那麼每欠一分鐘,那4元錢便由我國運營商支付給索馬利亞運營商。因為大公司是無法欠帳的,有合同,不願背國際債務。那麼這樣來說,索馬利亞運營商賺了我國運營商4元,而我國運營商沒有從用戶身上獲得一分收入,我國運營商白交4元,也就是損失4元。
再想一下,(問題在這裡)如果你跟索馬利亞運營商認識呢,你們倆可以分,每人2元,相當於從我國偷了4元。
總的來說國際盜打就是一種聯合國外無良運營商進行話費掠奪的犯罪行為。
(這都是專業團伙的作為,普通人就別想了。首先你要有一個能跟你分成的國外運營商,其次你要有足夠專業的設備同時發起幾百甚至上千路國際長途通話,才能有大收益)問題的關鍵就在於計費延遲,就是我們打一個電話,話單不可能做到實時。比如60min的通話,可以切分成60份,1min進行一次話單輸出和結算,也可以切分成2份,30min一次。60和2,這對系統的吞吐量的影響差別很大。
再加上從基站(2進位編碼,還有多個基站的排重), 到交換機,再到計費系統,再到用戶信用控制系統,再觸發停機,這需要一個5-20min的時間周期。最短5min的話,5*8元= 40元就沒了。解決方案:我們嘗試了各種用戶行為分析,以及位置基站追蹤,小區定位,但專業團伙畢竟是專業團伙。損失只能降低,不可能杜絕,因為普通用戶也有這樣的時候。
升級方案:以前的4G架構是IBM小型機的,變為x86分散式集群之後,吞吐量和處理能力大幅度提升。觸發信用控制停機的時間也變的很短,如果以後能短到無利可圖,國際長途盜打才會徹底消失。
====================很慚愧,就做了一點微小的知識普及工作已經有計費防欺詐解決,只是他們不敢輕易上新版本而已。
很好奇,是通過改referrer?還是agent?如果是這兩種,還真是不好修復的,我能想到的所有方案都能被自己破解。問題出在「某些方式訪問時免費」這個需求上,http協議留給運營商的時間不多了
你是程序員。
你進了一家公司,這公司整了個玩意出來,湊活能用。
老大沒說話,客戶沒反饋的時候,你愛不愛修BUG?
什麼?你愛?這坨不知道是哪位先人整出來操蛋玩意你確定你願意去理?這麼大盤生意捅出簍子你扛啊?
你閑的啊?
你是產品經理。
你手頭有個東西。
不太好用。
能用。
如果發現出問題,你頂缸。
你會不會發現問題?
你是boss。
你們公司的有個產品,不斷地來錢。
好不好用都來錢。
拚命來錢。
你管不管?運營商的技術人員不敢提漏洞,提了要得罪自己的領導,大領導,大大領導,他們都得背鍋負責,然後自己在利益集團內被看扁,永世無法升遷。
內部無人提issue,自然就沒有經費去修,哪個技術人員會傻乎乎的自己改配置參數?萬一改錯了又是自己葬送一輩子。
躺著賺錢的運營商真不在乎那些小漏洞,對於這些漏洞造成的損失以及國企自己的運營成本,大動干戈改bug對於他們來說也許成本實在太高,還不如不改。
三大運營商的頂級kpi是新增用戶數,你這麼一封漏洞,明顯是跟自己的獎金過不去,跟同事的獎金過不去。其實這就是免流呀。比如窮學生沒有Wi-Fi 又不想付高額的流量費 所以就有人去研究免流了 能賣錢 有的還收費 主要是Android 用戶 有fmns, smnp hap之類的
其實運營商要封掉免流並不難 估計部分用戶又得大量欠費了 睜一隻眼閉一隻眼 想封還不容易?曾經傻傻地給移動打電話報過這個問題,還把我的流量單子(半個月上網看視頻沒有計流量)列印出來去移動公司報告,然後我移工作人員連單子都懶的瞧一眼:我們的計費系統沒有任何問題!
Windows有個更大的漏洞幾十年了沒見微軟修過。
我就是說的那個不花錢就可以用的漏洞。。。以前問過領導,這問題為毛一直不解決,領導說集團不考核這個,而且修補漏洞除了計費主機和話單網元都要大面積改動之外,部分比較老舊的話單網元和計費主機中間鏈路還需要升級汰換,這全都需要錢,然而各種因為計費漏洞帶來的直接金錢損失算不到業支頭上,另外咱們業支的預算也很緊張啊,所以大家還是無視這個存在好了。
正確的做法是把這個事情捅到工信部。這個漏洞說的很清楚了,就是偽造http請求,例如移動手機報等網站是免流的,可以偽造向這些地址發送請求,應該是根據host或者referer的域名判斷的。我個人認為的幾種利用思路:本地寫host,向自己的中轉伺服器發送請求;自己包裝瀏覽器內核,偽造請求信息。
一直沒有修,最大的原因是這個漏洞牽扯範圍過廣,改動的地方太多,知道的人少的話,沒有大的損失,多一事不如少一事這可能真是個feature……
看了評論,三觀已被震碎。真有那麼窮嗎?
我沒有烏雲號,只能V2EX和知乎說一說:
是不是哪天國家把牆推了,那些做VPN生意的就能有理有據的罵國家不幹正事兒斷他們財路?對 張一環 的答案進行一下補充。
首先,在哈爾濱的朋友們已經可以不用測試了,親測不好用,目測是和各地伺服器運營商有關,畢竟我大砍省,連程序員都比較厲害…修復的這麼快。
其次,因為有幸和 張一環 通過qq進行了一些測試,發現HOSTS文件修改的時候要修改server hosts。
第三,hosts文件修改後, 開始運行輸入 ipconfig /flushdns,確保你使用的是移動網路。
第四,記得測試一下hosts文件是否修改正確。
第五,確保自己在實驗過程中手機有充足的流量。由於我的大量試驗並且沒有成功的結局,還好手快,不然真要賠錢賠到死。
第六,如果沒有注意第五點,請注意自己的人身安全,防止被摘腎。題主問的題干是這個漏洞為什麼三大運營商沒有修復,感覺自己對這個不大了解所以只想看看,
但是下面題主又自己作答希望討論下極客小白的行為,我想說說我對想法。首先說到底烏雲從根本上來說是一個漏洞報告平台,這個是寫在烏雲首頁的title的。
沒有烏雲這類報告平台的時候,白帽子向廠商報告漏洞,有的不知道和誰聯繫,還有的報告了對方堅決否認背後偷偷修了,或者乾脆放那不管,更甚者把好心好意的白帽子當成上門的勒索客報警的。那麼烏雲出現後,解決了白帽子和廠商的溝通問題,解決了漏洞處理的透明度問題、讓漏洞的報告、修復、反饋、披露的流程有了一定的規範流程和審核機制。同時給網路安全的從業者、愛好者、廠商提供了一個交流的平台,甚至廣大的程序員、pm、領導、老闆、各種總等相關人員們提供了負面案例集大成的網路安全教育平台。
白帽子提交漏洞之後不再是白忙活,廠商給白帽子提供了一些禮物,烏雲的id後面的rank值漏洞數多少也能滿足些白帽子們不大的虛榮心。
從最後的意義上來講,烏雲敦促了廠商修復漏洞,很多重大漏洞的披露也給給廣大互聯網用戶提了醒,也給白帽子提交漏洞提供了物質和精神上的動力。
寫這些想說明的是烏雲所做的,是為了能鼓勵更多的人把漏洞拿出來曬一曬,尤其是陰影角落裡的,曬的多了就有更多的人關心,就有更多的機會得到解決,能修復的是漏洞,不能修復的也是漏洞;影響大的是漏洞,影響小的也是漏洞,所以無論任何一個漏洞無論能不能修復,都有報告的意義,即使真的是影響特別大、敏感特別高的,還有烏雲、cnvd相關的披露審核機制控制著。
然而,就在漏洞的評論里,有一幫子舔著臉自稱白帽子的傢伙這麼噴極客小白:
這些「白帽子」,呵呵。題主貼的v2ex的評論有一樓說的就很好:
從這點上來說,所有向烏雲在內各大漏洞報告平台提交漏洞的白帽子都應該予以肯定。猜測完提交者的動機,然後批駁一番,這是在拔高道德標準。今天能噴極客小白嘩眾取寵,明天就能噴用烏雲幣換獎品是貪圖物質,後天就能噴所有提交漏洞沒寫個路人甲的是貪圖虛名。混知乎後,知道了孔子的一句話:「賜失之矣。自今以往,魯人不贖人矣。取其金則無損於行,不取其金則不復贖人矣。」
聖人就是聖人,說的極是。我才不會告訴你廣東某運營商在15年某季度丟失2/3流量的問題,導致該月全省用戶的流量只計算了1/3,其餘都沒有計費
也可能在養魚。。。魚小了不夠塞牙縫
乙方只為甲方領導負責,甲方領導沒有幾個好好懂技術的,然後么,就沒有然後了。損失的錢?掙得錢都數不過來呢。
稍微牽扯下別的。
XX吧裏玩免流的人不要太多。我當年在電話卡沒實名的時候也玩過,出於以下幾點原因:
1 當然是窮2 增長技術水平3 運營商是流氓4 流量貴,就是三後來查的很嚴,據說嚴重的要坐牢,再加上電話卡實名,就再也不敢玩了。現在壹個月包移動2G+聯通2G勉強夠用。
當然免流難度和風險雖然大,但是利用偽造http請求用低價刷流量還是很方便的(具體原理上面答主有寫我就不贅述了),這也滋生了壹大批非法生意。
那麽三大運營商為什麽不封呢?
1 國企,都懂的2 封了這個這群人馬上會發現新的。就和iOS越獄的道理差不多3 畢竟現在人人用手機 三大運營商根本不在乎這麽點人(主不在乎)4 動這東西的成本很大 而且還有未知後果要封是很容易的,單純不想罷了。推薦閱讀:
※檢測到目標URL存在http host頭攻擊漏洞怎麼修復?
※OpenSSL 漏洞對普通網民有什麼影響,應該做些什麼?
※在烏雲審核漏洞是一種怎樣的體驗?
※如何高效挖掘Web漏洞?
※如何評價 FreeBuf 最近的新產品「漏洞盒子」?