2015年9月24日 星期四

蘋果遇到鬼:談XcodeGhost背後的中國幽靈現象

[圖片來源:維基共享資源

言論自由和軟體開發有什麼關係?你想太多了吧!

在XcodeGhost事件發生之前或許很難去描繪這兩者間的關聯,但現在答案再清楚不過。言論自由箝制的不只是人民的思想,還有科技的取得與創新。
這次XcodeGhost造成大量有毒app入侵蘋果App Store的終極原因,就是言論審查使得中國網民取得國外網路資源不便,造就了開發人員不得不的不良習慣,然後發生在非官方網站下載有毒開發套件的離譜事件。

事件始末
Xcode是蘋果Mac OS X以及iOS平台app的開發工具套件,有人在Xcode中放入了病毒,然後放到雲端硬碟散播。凡是以這個非官方Xcode所打造的app,都會藏有惡意程式。

9月12日有人發現此問題,除了在騰訊微博上反應之外,也通報了CNCERT,然後9月17日阿里巴巴安全研究團隊發布報告證實,並將其命名為XcodeGhost,意思是蘋果Xcode中有鬼。

緊接著,因為美國安全公司Palo Alto Networks的一連串部落文章受到國外各大媒體引用,而受到全球媒體的關注,終於在全世界引爆開來。

該事件讓蘋果App Store的安全神話完全破滅,染毒的app數量也不斷的在增加,從一開始揭露的39個,到數百個,最新數字是上千個apps,國外行動資安業者Fireeye則說有超過4000個apps。而影響的範圍也不僅止於中國市場,由於中國的app也在其他市場上架。

這些染毒的app中包括了很多重量級的官方app,例如用戶數以億計的微信。

這個資安事件還在餘波盪漾的同時,現在又傳出中國有更多的開發工具或資源被以同樣的手法注入病毒。目前被點名的有遊戲引擎如Unity和cocos2dx。

問題出在那裡?
關於XcodeGhost的報導與討論目前已是汗牛充棟,多不勝數,這裡就不再多說。

在這個資安事件上蘋果還有Google等大公司當然要引以為鑑,設法發展出未來的防護措施,避免類似事件重演。但這不是本文要討論的問題。

近日一直參不透的是,為何中國有這麼多開發者不在官網下載Xcode呢?而且還不乏重量級大公司的開發者,顯示出這不是一個特例個案。似乎在中國,開發者在官網之外下載開發資源是很平常的事,沒什麼好大驚小怪的。

在科技世界裡中國是一個相當特殊的市場,眾所皆知的,最特殊的是它有網路審查機制。由於有審查機制,因此Google和Facebook在中國的使用者必需翻牆才能夠使用,這早就不是新聞。

Android手機的使用者都知道,安裝app就直接到官方網站也就是Google Play下載就好,雖然偶有病毒軟體出現,但至少有Google的把關,相較之下安全多了。而如果所下載的只是一些知名的軟體,那麼要中毒的機會並不大。

但在中國並非如此,由於沒有Google Play官方市集,因此第三方的程式市集相當發達。這也使得Android病毒傳播在中國特別猖獗。

事實上在許多軟體領域,中國網民在第三方市集或論壇下載是非常普通的一件事,甚至像iOS平台的越獄,還有Android的刷機等行為,在中國也都特別流行。

似乎,在中國,什麼軟體如果中國沒有官網,那麼到官網之外的第三方網站去找都是再正常不過的事。但專業而理當有極高安全意識與要求的蘋果開發者也像一般消費者一樣嗎?

要知道,Xcode的使用者,也就是蘋果平台的軟體開發者,他們和一般的消費者並不一樣,他們都是具有很高的技術知識與能力的一群人,開發資源原本就是應該到官網下載,官網之外下載是很危險的,這不用此事的發生也都該知道的。

因此他們怎麼會跑到非官網的地方下載開發資源,是相當奇怪的。當中甚至還有很多是重量級科技公司的開發者。而且,據了解,蘋果Xcode並沒有被牆啊。


就是言論審查造成的!
或許這個原因是有些迂迴,不是那麼直接,但絕對是這個事件可歸咎的終極原因。

根據趨勢科技中國的研究團隊說法
由於中國連外頻寬較低,下載國外大容量資料如4GB的Xcode需要花費相當的時間,因此中國開發者習慣從網路論壇或雲端硬碟等管道下載,要比從蘋果官方取得快許多。

中國連外頻寬較低只是一個比較概括性的說法,更精確來說應該是網路言論審查下所造成的總體網路使用不友善問題

如果你沒有在中國上網連到國外網站很慢的經驗,那麼可以想像一下,中國搭個地鐵,火車,都要通過安檢的排隊畫面,想像安檢門就是對外的流量出入口,有沒有檢查差別在那裡?

原本進出候車廳只需一分鐘的時間,可能因為安檢而變成十分鐘或更久--如果沒有狀況的話。

若沒有安檢,就算出入口小一些,人多一些,可能進出時間也只是一分鐘和一分半或兩分鐘的差別。

前些日子,有個中國讀者來信告訴我,我的網站在中國連線相當的慢,慢到讓人等不下去。這位網友還好心的在中國幫忙做一些檢測,然後向我詳細說明,以做為網站改進的建議,他認為原因是我的網站有Google和Facebook的一些功能模組所造成,並建議我將那些功能移除。

我完全贊同那位朋友的技術分析,但無法接受他的建議,因為我原本就無法討好那套制度,所以只能和中國的讀者說隨緣了。

為了證實這個說法,我利用網速檢測工具做簡單的測試。我的網站是架在Linode的日本東京機房,首頁載入速度美國德州為2.1秒,香港為3.4秒,上海卻要43秒。東京可沒離德州比較近啊!這十倍落差的速度到底是怎麼來的?我不相信是因為海纜的關係。




我們再來看蘋果Xcode的官方頁面,美國德州1.7秒,但上海卻要27.6秒,一樣是十倍速落差,如果說只是海纜頻寬問題,恐怕無法解釋。

.

再來看看Google.com。它在全球許多地方載入速度連一秒都不到,以毫秒計,但在上海為42.1秒,和我的網站差不多,這已經是五十倍落差了!而如果是搜尋結果,恐怕要更慢之外,能不能載入或者順利出現搜尋結果也是個大問題。這個也是無法單單以海纜頻寬來解釋的。



從這些數字來看,我想網路連線慢並不是單純一個基礎設施,也就是對外海纜建設或者是CDN(內容遞送網路)等問題,網路審查所造成的影響應該是最為巨大的。


「內需」型的網際網路
從另一個面向看,這也使得中國自成一個全世界最大的「企業內網」(intranet),並形塑了很多中國網民的特殊使用行為模式:包括專業的開發者行為。

這裡有一篇文章對這個情況與所產生的現象做了很詳細的闡述,不過該文談的GFW有人可能會誤會,認為蘋果及Xcode並沒有被牆,所以此事根本與GFW無關。如果你對於GFW的想法認為只是阻檔機制問題,而不包含審查機制,那麼只要把文章中的GFW換成是網路審查來理解,就不會有這樣的誤解了。

>> XcodeGhost:牆、感染、信任和欺騙

不過,中國與網路審查有關的措施還不只GFW,先前媒體還揭露了更可怕的新武器「大砲」,大砲技術可以把從國外連到中國的流量變成DDoS攻擊武器,去修理國外那些讓中國看不順眼的網站,例如Github、GreatFire.org。DDoS簡單說就是以湧入的龐大流量來癱瘓網路服務,讓正常的使用者無法存取網站。

雖然使用國外的各式網路服務相當不方便,但中國網民數量夠龐大,因此一些在全世界流行的網路服務都在中國境內都很容易發展出夠大的替代服務,也讓中國成為一個有點自外於國際的,自給自足的一個內網系統市場。

例如,盡管搜尋效能與公正性百度不如Google,但百度就是中國最大的搜尋引擎,在網路審查環境下Google是連跟百度競爭的參賽資格都沒有的。其他諸如社交網站、微博、防毒、App市集……幾乎每個科技領域,中國都自成了一個生態體系,在這個生態體系裡中國的本土業者蓬勃發展,獨領風騷,唯我獨尊。國外的許多服務不是像Google一樣的下場,至少也是處於一個極度不公平競爭的條件下。

所以當你在中國時,你在使用網際網路服務的情況是:就算你聽說Google是全世界最好的搜尋引擎,但在那裡除非你翻強,不然很難用Google,所以百度就變得相形之下很方便,很好用。

其他各式大大小小的服務也都大致如此。

結果是,在存取國外網路服務,取得資源不方便,甚至障礙重重之下,什麼都是使用國內既有的服務與資源就變成一種理所當然的事:也就是養成習慣,習慣成自然了。

一般使用者如此,開發者也是如此。

或許有人會說什麼有VPN和翻牆軟體等等的鬼話來批評我的觀點。

我的回答是:是的,這或許是一個解決方案,但這不但是一個玩「貓抓老鼠」遊戲的解決方案,而且VPN和翻牆的盛行不就是網路使用不友善、不方便的最大明證。可參考:

>> 中國防火牆升級,導致眾多VPN服務無法翻牆

>> 中國黑心VPN業者大量綁架企業伺服器當自己的節點


至於抄襲也就是「創新」能力問題,那又是另一個故事了。



沒有留言: