0
本文作者: 李勤 | 2017-06-22 20:31 |
自 6 月 7 日蘋果 App Store 審核團(tuán)隊近日向廠商發(fā)出“最后通牒”,要求開發(fā)者在 6 月 12 日之前去除軟件熱更新功能,不然有可能下架后,今日(6 月 22 日),有媒體報道,一周內(nèi)蘋果 App Store 下架了近 4 萬款中國 App 。一種流行觀點認(rèn)為,蘋果不是說著玩,而是真對熱更新動刀子了。
熱更新是一種各大手游等眾多 App 常用的更新方式,即用戶通過 App Store下載App之后,打開 App 時遇到的即時更新。
2017年6月,AppStore 審核團(tuán)隊確實針對 AppStore 中“熱更新”的 App 開發(fā)者發(fā)送郵件,要求移除所有相關(guān)的代碼、框架或 SDK,并重新提交審核,否則就會在 AppStore 中下架該軟件。
究竟怎么回事?“熱更新”到底有什么安全隱患?
以下為雷鋒網(wǎng)編輯與360涅槃團(tuán)隊(Nirvan Team)安全研究員王緯問答實錄:
王緯:早期的 AppStore 審核比較慢,開發(fā)者遇到線上的 Bug,會因為審核周期的問題造成 Bug 修復(fù)不及時。
很多公司尤其是個人開發(fā)者追求產(chǎn)品發(fā)版的速度,造成產(chǎn)品上線前沒有經(jīng)過非常全面的測試,他們希望通過“熱更新”的方式來彌補(bǔ)產(chǎn)品上線前測試不充分的問題。
隨著“熱更新”的使用,也有很多產(chǎn)品開始通過“熱更新”的方式來開發(fā)功能,這樣產(chǎn)品發(fā)版就不需要 AppStore 審核,從而達(dá)到快速發(fā)版的目的。
王緯:目前沒有發(fā)現(xiàn)黑客利用“熱更新”發(fā)起對 iOS App 的攻擊。但是我們(Nirvan Team)早在 2015 年 3 月份就關(guān)注到“熱更新”可能引起安全問題,并在國內(nèi)的一些知名互聯(lián)網(wǎng)應(yīng)用中發(fā)現(xiàn)了“熱更新”相關(guān)漏洞,可以實現(xiàn)遠(yuǎn)程的任意代碼執(zhí)行。
“熱更新”的利用方式主要是下發(fā)惡意的“熱更新”代碼。由于“熱更新”框架的不同,具體的惡意代碼可能是 Lua、JavaScript、Lisp 方言等。
大部分“熱更新”框架都沒有實現(xiàn)沙盒,因此惡意代碼幾乎可以完全控制 App,我們曾經(jīng)為某個知名的 App 編寫了演示性質(zhì)的惡意代碼,可以控制 App 的啟動頁面,可以獲取用戶的登錄密碼,并傳遞到遠(yuǎn)程服務(wù)器中。
這里還需要說明的是,利用“熱更新”做惡意攻擊,一般需要結(jié)合其他的攻擊技術(shù),比如:DNS 投毒、惡意 WiFi、首先攻陷代碼下發(fā)服務(wù)器等。
王緯:蘋果這次下架一批 App 不只是因為“熱更新”問題,還包括:山寨克隆應(yīng)用、傳播盜版音樂內(nèi)容、多年無人下載的應(yīng)用、不兼容64應(yīng)用系統(tǒng)。
我個人認(rèn)為蘋果這次處理“熱更新”,一方面是由于“熱更新”會引起一些安全問題,主要原因是因為“熱更新”會削弱蘋果對 AppStore 中應(yīng)用的控制力,這應(yīng)該是蘋果更在乎的。
王緯:從 AppStore 審核的策略來看,開發(fā)者只是把“熱更新”相關(guān)的代碼刪除了,可能無法完全滿足 App 的審核的要求。除了“熱更新”框架,蘋果還要求開發(fā)者不使用可在運行時改變程序行為的 API,包括:NSClassFromString、NSSelectorFromString、dlopen 等。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。