Xcode幽靈:速度的代價
研究發(fā)現(xiàn),迅雷下載加速機制存在嚴重設(shè)計缺陷,惡意攻擊者可輕松偽造或劫持下載鏈接以偷偷傳播惡意程序或非法內(nèi)容,且都是先天性已知缺陷,5年前迅雷已收到相關(guān)安全報告。鑒于迅雷擁有近8成下載市場份額,是時候公開討論這個懸而未決的問題了。
速度的代價
近日,一個被命名為XcodeGhost(Xcode幽靈)的惡意程序觸動了所有人的神經(jīng)。Xcode,蘋果提供給應(yīng)用軟件開發(fā)者的生產(chǎn)工具,當(dāng)這個生產(chǎn)工具被XcodeGhost污染后,其生產(chǎn)的軟件產(chǎn)品即被自動植入惡意程序,通過App Store更新通道,XcodeGhost迅速而合法地侵入數(shù)千萬臺iOS設(shè)備,竊取設(shè)備和用戶信息、伺機實施遠程控制,安全威脅極大。根據(jù)最新報告,跨平臺的主流移動游戲引擎Unity等也發(fā)現(xiàn)了被以相同手段污染的版本,這意味著iOS、Android和Windows平臺全線淪陷,開發(fā)者集體淪為不法分子大規(guī)模攻擊普通用戶的跳板。
幸運地是,騰訊公司安全團隊及時發(fā)現(xiàn)并通過國家互聯(lián)網(wǎng)應(yīng)急中心通報全國,同時報告蘋果公司,給XcodeGhost的瘋狂蔓延勢頭踩了一腳急剎車。據(jù)報道,蘋果公司及絕大部分相關(guān)軟件廠商已經(jīng)或正在采取積極行動掃除幽靈,以遏制這場重大災(zāi)難性事故。網(wǎng)警也已立案調(diào)查,并已控制犯罪團伙主要成員之一、畢業(yè)于山東科技大學(xué)的青年科技創(chuàng)業(yè)者余某。根據(jù)其攻擊手段、反偵查手段以及高運營成本判斷,這是一起精心策劃和實施的惡意攻擊事件,絕非肇事者聲稱的所謂技術(shù)“實驗”,也絕非個人行為。
然而,問題遠未根本性解決。域名控制者隨時可以令其復(fù)活,同時第三人亦可能劫持域名以接管在部分區(qū)域的控制權(quán),部分受影響應(yīng)用軟件開發(fā)者或使用者至今尚未更新版本,因此安全警報沒有解除。
除積極停損外,社會各界應(yīng)立即開始總結(jié)經(jīng)驗教訓(xùn),預(yù)防同類事件再次發(fā)生。大量開發(fā)者未從蘋果官方來源直接獲取Xcode安裝包,導(dǎo)致開發(fā)環(huán)境被污染,首要原因是中國互聯(lián)網(wǎng)國際出口速度慢如蝸牛,有時甚至不可用(“金盾工程”所致),大家習(xí)慣于從國內(nèi)下載站點下載,或從開放分享平臺(例如云盤)下載。對于超大文件,無論從官方網(wǎng)站還是第三方網(wǎng)站下載,往往還會使用下載加速工具,例如迅雷。
我們應(yīng)汲取速度的代價,呼吁有關(guān)部門改進,而作為國內(nèi)主要下載工具提供商,迅雷公司則應(yīng)捫心自問,真如日前聲明所言未被惡意攻擊者濫用或沒有濫用空間嗎?
迅雷頑疾
以迅雷最新版7.9.40.5006為例,其下載加速設(shè)置及相關(guān)說明見下圖(黑框內(nèi))。要進入下載加速設(shè)置,必須依次點擊系統(tǒng)設(shè)置、高級設(shè)置、更多設(shè)置,再拖動鼠標(biāo)到最下方,一般用戶很難發(fā)現(xiàn),但迅雷的核心價值都在這里,很不幸地是其命門也在這里。
鏡像加速、P2P加速和智能解決死鏈等加速手段的共同基礎(chǔ)是文件一致性匹配和校驗,但迅雷只是下載工具和通道,文件都在第三方服務(wù)器(收費的離線下載服務(wù)除外),沒有權(quán)威依據(jù)以校驗全文一致性。技術(shù)分析和驗證表明,迅雷的解決方案是僅校驗文件頭20KB、文件尾20KB和文件開始1/3處20KB等共計60KB內(nèi)容,以及文件大小,其它內(nèi)容概不校驗,允許惡意攻擊者隨意篡改。
那么問題來了。惡意攻擊者可能首先以合法文件提供下載,以便被迅雷服務(wù)器自動匹配為某文件的下載鏡像,在取得鏡像資格后,精心篡改文件(規(guī)避上述60KB區(qū)即可)以植入惡意程序,即使用戶以其官方鏈接下載,也可能獲得已被植入惡意程序的非官方版本,攻擊者無需投入推廣成本。
智能解決死鏈問題更加嚴重。惡意攻擊者可能通過本地DNS劫持手段偽造具有高可信度的官方鏈接到本地計算機(該鏈接實際并不存在,在公網(wǎng)無法訪問,是一個死鏈),并在本地計算機使用迅雷下載該鏈接,以告知迅雷服務(wù)器:相關(guān)機構(gòu)官方網(wǎng)站存在這個文件。同時,惡意攻擊者在若干公網(wǎng)服務(wù)器(例如網(wǎng)盤)上傳相同文件,并挨個下載。待完全下載一輪后,迅雷服務(wù)器將自動把仿冒鏈接和若干公網(wǎng)鏈接視為一組鏡像。至此,一個仿冒官方鏈接準(zhǔn)備好了,任何人使用該鏈接均可下載到惡意攻擊者提供的惡意程序或發(fā)布虛假信息。例如偽造一個不存在的微軟Office安裝包下載鏈接(?.microsoft.com)傳播惡意程序,或偽造一個政府政令文檔下載鏈接(?.gov.cn)造謠滋事。最后,惡意攻擊者花點時間,在各社區(qū)網(wǎng)站張貼該仿冒鏈接,并誘導(dǎo)使用迅雷下載,即可守株待兔——無人懷疑該鏈接是相關(guān)機構(gòu)官方鏈接,無人知道它是惡意攻擊者濫用迅雷智能解決死鏈機制和鏡像加速機制偽造的。
給個例子:http://dl.microsoft.com/office/office2016setup.exe,該鏈接系本人偽造死鏈(微軟服務(wù)器不存在該鏈接,使用瀏覽器無法下載),僅適用于迅雷下載測試,非惡意程序,請勿效仿。通過上述方法,建立該微軟官方鏈接與第三方網(wǎng)站(sockets.news和百度云盤)的等價關(guān)系,成功欺騙了迅雷服務(wù)器,其他用戶使用迅雷下載該微軟官方鏈接,就可以獲取到本人希望迅雷推送的文件。如下圖所示,所下載數(shù)據(jù)均來自“鏡像加速”(如果有他人也已下載該文件并保持開啟迅雷,P2P加速可能就是部分數(shù)據(jù)來源)。
測試表明,Xcode兩個最新版本(7.0正式版http://adcdownload.apple.com/Developer_Tools/Xcode_7/Xcode_7.dmg和7.1beta測試版http://adcdownload.apple.com/Developer_Tools/Xcode_7.1_beta/Xcode_7.1_beta.dmg)也無法使用瀏覽器直接下載,需要驗證Apple ID,否則將自動重定向到無權(quán)訪問警告頁http://developer.apple.com/unauthorized/。按理說使用迅雷應(yīng)僅能下載到這個警告頁面文件,僅2KB,但使用迅雷竟然可以直接下載到安裝包,分別是3.58GB、4.25GB,檢查下載日志可發(fā)現(xiàn)“原始資源得到的文件長度太小,拋棄”字樣。這兩個鏈接已被強制鏡像,并因原始資源文件長度太?。▽崬闊o法獲取)而放棄一致性校驗,換句話說,真正的蘋果官方下載源已被架空,那么誰來保證用戶獲得的文件與官方原始版本一致性?
眾所周知,迅雷提供智能解決死鏈機制和鏡像加速機制的商業(yè)邏輯是協(xié)助用戶下載非合法授權(quán)的軟件或視聽產(chǎn)品,即協(xié)助盜版。它嚴重抵消了相關(guān)廠商反盜版行動的成效(刪了A,還有B、C、D……無窮盡也),更嚴重地是嫁接權(quán)威信任傳遞鏈:用戶輸入權(quán)威機構(gòu)官方網(wǎng)站的可信鏈接,輸出可能是惡意程序或非法內(nèi)容,而用戶渾然不覺。以為是迅雷在提供下載加速服務(wù),實際上迅雷通過技術(shù)手段把服務(wù)“眾包”出去了,無條件授信給所有不確定身份和動機的“分包者”,并把這種極度脆弱的信任傳遞給所有用戶。
在XcodeGhost事件爆發(fā)后很多人反映其明明使用蘋果官網(wǎng)鏈接,卻下載到感染了XcodeGhost的版本,表示無法理解。其實,以上就是答案。
安全第一
請求迅雷同仁,基于重大社會責(zé)任,檢討上述以安全性為代價的加速手段,該關(guān)停的關(guān)停,該取消默認啟用的取消,并向用戶發(fā)出必要安全警示。信任已然顛覆,請積極參與災(zāi)后重建,切勿推卸應(yīng)有責(zé)任。
建議廣大用戶暫停使用迅雷,或禁用其智能解決死鏈、鏡像服務(wù)器加速、P2P加速等三項加速能力,或強制從原始地址下載重要文件,并在下載后校驗文件與源文件一致性。相應(yīng)地,建議廣大軟件提供者在下載頁面提供安裝包指紋(MD5或SHA1校驗碼)。
互聯(lián)網(wǎng)的基石是安全,安全的關(guān)鍵在入口。革命尚未成功,同志仍需努力。期待各界同仁在不斷追求創(chuàng)新和卓越的道路上,繃緊安全這根弦,當(dāng)好用戶看門狗。
信息首發(fā):Xcode幽靈:速度的代價