0
本文作者: 郭佳 | 2017-09-09 17:50 |
編者按:你的iOS升級了么?來自百度安全實驗室的這篇研究讓讓雷鋒網(wǎng)的編輯看了驚出一身冷汗!竟然還有近半數(shù)國內(nèi)iOS設(shè)備依然停留在受高危漏洞影響的舊版系統(tǒng),而這些已經(jīng)被公布的漏洞隨時有被黑客利用的危險。經(jīng)常在半夜升級iOS,總是由于電量不足或者沒有接入充電線而升級失敗,看完這篇文章,還是乖乖去升級吧。
本文作者:百度安全實驗室
iOS系統(tǒng)向來以其良好的安全性深得廣大用戶的信賴,特別是其安全升級速度與安卓相比有明顯優(yōu)勢。但是根據(jù)百度安全實驗室對上億臺國內(nèi)iOS設(shè)備系統(tǒng)版本統(tǒng)計發(fā)現(xiàn),iOS 10.3.3于7.19日發(fā)布至今已有50天,僅有54%的用戶升級到了最新的iOS 10.3.3系統(tǒng),剩余的近半數(shù)國內(nèi)iOS設(shè)備依然停留在受高危漏洞影響的舊版系統(tǒng)。即使最新的iPhone7系列機型,也有近32%的設(shè)備沒有及時升級。而這些舊版本的多個高危漏洞的利用方法已經(jīng)被公開,未升級用戶面臨著嚴峻的安全風險。我們呼吁iOS用戶盡快升級,也呼吁手機廠商采用更有效的技術(shù)保護普通用戶,防止他們受到已知高危漏洞的威脅。
安全實驗室對國內(nèi)上億臺iOS設(shè)備的系統(tǒng)版本進行了統(tǒng)計,排除虛假設(shè)備干擾后結(jié)果顯示,目前國內(nèi)升級到最新的iOS 10.3.3系統(tǒng)的設(shè)備僅占54%。依然有近半的iOS設(shè)備分散停留在其余44個不同的舊版iOS系統(tǒng)。這些運行舊版iOS系統(tǒng)的設(shè)備將面臨前文中列舉的各個高危漏洞帶來的安全風險。
詳細的系統(tǒng)版本比例分布如圖1所示,從左半部分開始,逆時針方向按新舊版本次序依次為最新的iOS 10.3.3到4年前的版本iOS 7。其中,最新的iOS 10.3.3系統(tǒng)占比53.6%;iOS 10的舊版本主要以10.3.2 (占比8.2%)和 10.2.1(占比6.2%)為主,10.2與10.1.1各占3%,剩余7個iOS 10舊版本公占比6.9%;仍有超過18%的用戶停留在iOS 10之前的版本,發(fā)布已經(jīng)兩年的iOS 9 占比11.9%,發(fā)布已經(jīng)三年的iOS 8 占比 6%。
此外,我們對主要機型類別的系統(tǒng)版本比例進行了統(tǒng)計,結(jié)果如圖2所示,自左至右分別為iPhone7系列(2016年9月發(fā)布),iPhone6s系列(2015年9月發(fā)布), 更老的iPhone型號,iPad Pro系列和其他iPad系列。5類設(shè)備型號都一定比例的碎片化問題,即便是目前最新的iPhone7系列手機,也有近32%沒有升級到最新的10.3.3系統(tǒng)。
圖1. 國內(nèi)iOS設(shè)備系統(tǒng)版本分布
圖2. 不同機型類別的系統(tǒng)版本分布
每次iOS系統(tǒng)發(fā)布新版本后,新版本已修復(fù)的部分漏洞細節(jié)以及利用方法會被研究者公開,部分漏洞利用的完整代碼也會公開發(fā)布供研究交流。在為安全社區(qū)作出貢獻的同時,也為惡意攻擊者提供了便利的攻擊條件。惡意攻擊者也可以從公開渠道獲取相關(guān)利用代碼,結(jié)合部分Webkit漏洞利用,甚至可以完成從點擊鏈接到獲取Kernel權(quán)限的完整攻擊。如果用戶沒有及時更新到最新版的iOS系統(tǒng),將面臨嚴峻的安全威脅。
表1. 部分已公開完整利用代碼的通用漏洞利用統(tǒng)計
● Triple Fetch漏洞(CVE-2017-7047):影響10.3.2及之前的iOS系統(tǒng),通過攻擊用戶態(tài)XPC通信反序列化機制的缺陷,從而實現(xiàn)在特權(quán)用戶態(tài)進程(如launchd,coreauthd等)中的任意代碼執(zhí)行。完整的漏洞利用代碼已經(jīng)被公開。
● ziVA系列內(nèi)核漏洞:影響10.3.1及之前的iOS系統(tǒng),通過攻擊內(nèi)核AppleAVEDriver的邏輯缺陷進而獲取Kernel權(quán)限。該攻擊可以復(fù)用上面的Triple Fetch漏洞完成前期沙盒逃逸,完整的漏洞利用代碼已經(jīng)在github公開。
● BroadPwn Wi-Fi漏洞(CVE-2017-6975):影響10.3及之前的iOS系統(tǒng),iOS設(shè)備上的Broadcom Wi-Fi芯片固件中含有緩沖區(qū)溢出漏洞。攻擊者可以通過網(wǎng)絡(luò)直接攻擊同一Wi-Fi熱點下的有漏洞的iOS設(shè)備,在受害者無感知的情況下在對方設(shè)備上運行惡意代碼。
● mach_voucher內(nèi)核漏洞(CVE-2017-2370):影響10.2及之前的iOS系統(tǒng),通過攻擊iOS 10新引入的mach trap的缺陷以獲得內(nèi)核空間的任意讀寫能力。完整的利用代碼已經(jīng)公開,該漏洞也被用于 yalu 10.2越獄工具中。
在iOS系統(tǒng)為用戶提供更多的安全防護與隱私保護策略的同時,針對iOS系統(tǒng)的漏洞也呈現(xiàn)逐年上漲的趨勢。由于iOS系統(tǒng)尚無熱修復(fù)的功能,用戶只能通過系統(tǒng)升級的方式來消除漏洞威脅。在過去的一年里,蘋果公司陸續(xù)發(fā)布12個iOS版本(目前版本號為10.3.3)更新,共計修復(fù)338個安全漏洞,包含30個內(nèi)核漏洞,106個Webkit代碼執(zhí)行漏洞,其中多個高危漏洞完整利用代碼已經(jīng)公開,可直接獲取系統(tǒng)最高權(quán)限,嚴重威脅用戶安全。
自2016年9月發(fā)布至今,iOS 10系統(tǒng)每隔2個月會有一次小版本升級,每次升級平均修復(fù)數(shù)十個高危安全漏洞。攻擊者可以通過點擊鏈接、訪問惡意服務(wù)線網(wǎng)絡(luò)、安裝應(yīng)用等方式對系統(tǒng)發(fā)起攻擊,利用這些高危漏洞獲取系統(tǒng)最高權(quán)限,進而達到竊取用戶敏感信息、遠程監(jiān)控、定向攻擊等目的。
蘋果公司開發(fā)者網(wǎng)站顯示,自2016年9月發(fā)布至今,全球范圍內(nèi)87%的iOS用戶已經(jīng)升級到iOS 10,但沒有給出具體的版本分布情況。但如前文所述,小版本的更新不及時依然會造成嚴峻的安全威脅。
表2. iOS 10各版本發(fā)布時間、修復(fù)漏洞數(shù)量統(tǒng)計
表2列舉了含有安全更新的iOS版本、發(fā)布時間、間隔天數(shù)與修復(fù)漏洞總數(shù)的統(tǒng)計情況,統(tǒng)計時去除了iOS10中三個(10.0.2,10.0.3,10.1.1)無安全更新的版本。從表中計算得到,常規(guī)情況下平均每46天iOS系統(tǒng)會進行一次系統(tǒng)更新,每次更新平均修復(fù)漏洞34個。在某些特殊情況下,蘋果公司也會選擇在更短的周期內(nèi)發(fā)布更新,緊急修復(fù)個別高危漏洞。例如,為了修復(fù)部分iPhone 7/7Plus 預(yù)裝iOS 10系統(tǒng)中的高危漏洞,選在在發(fā)布iOS10的同一天發(fā)布iOS 10.0.1,對“三叉戟”iOS APT攻擊中的內(nèi)核信息泄漏漏洞(CVE-2016-4655)進行修復(fù);在Project Zero正式發(fā)表博客公開漏洞細節(jié)的前一天,發(fā)布iOS 10.3.1修復(fù)高通Wi-Fi芯片任意代碼執(zhí)行漏洞(CVE-2017-6975)。
除了統(tǒng)計每個安全更新修復(fù)的漏洞總數(shù)外,我們還對版本升級中修復(fù)的內(nèi)核漏洞數(shù)量(可被利用獲取系統(tǒng)最高權(quán)限)和Webkit代碼執(zhí)行漏洞數(shù)量(可被利用完成遠程攻擊)單獨進行了統(tǒng)計:
● 內(nèi)核漏洞:包含內(nèi)核拒絕服務(wù)、內(nèi)核信息泄漏、內(nèi)核代碼執(zhí)行等多種不同類型的漏洞。一次完整的內(nèi)核攻擊通常是對一個漏洞直接利用或多個內(nèi)核漏洞組合利用完成的。一旦漏洞利用成功,將會直接獲取系統(tǒng)最高權(quán)限執(zhí)行任意代碼,用戶的所有信息也會被攻擊者輕易獲取。如表2所示,常規(guī)版本升級幾乎每次都會修復(fù)內(nèi)核漏洞。
● Webkit中的可執(zhí)行漏洞:Webkit是iOS系統(tǒng)瀏覽器的核心執(zhí)行引擎,其攻擊途徑容易,危害程度高。受害者無需安裝應(yīng)用,點擊鏈接即可被遠程攻擊。如表3所示,Webkit代碼執(zhí)行相關(guān)的漏洞數(shù)量較內(nèi)核更多,通常會修復(fù)數(shù)十個。雖然iOS的安全更新說明中模糊描述了漏洞詳情,很多都可以通過CVE編號在exploit-db等公開渠道獲取PoC。
表3. 各版本修復(fù)內(nèi)核漏洞數(shù)量和Webkit代碼執(zhí)行漏洞數(shù)量統(tǒng)計
由于蘋果公司的封閉策略,硬件方面嚴格控制了運行iOS的機型數(shù)量;軟件方面,只有系統(tǒng)大版本(通常每年一次)發(fā)布才引入API的變動。因此,從開發(fā)的角度看,iOS系統(tǒng)的開發(fā)生態(tài)面臨的碎片化問題不大。
表4. iOS小版本數(shù)量統(tǒng)計
然而,如表4所示,過去四年發(fā)布的四個iOS大版本中共涵蓋了45個小版本的升級。這意味著iOS系統(tǒng)每一次帶有安全更新的小版本升級都將把整個iOS安全生態(tài)的系統(tǒng)分布進行一次切割。每個小版本都會有部分的殘留用戶,只有一直保持升級到最新系統(tǒng)的用戶才可能最大限度的免受安全威脅。因此,從安全的角度看,iOS安全生態(tài)也會面臨碎片化的問題。
值得注意的是,iOS系統(tǒng)升級需要蘋果服務(wù)端驗證,服務(wù)端只允許iOS系統(tǒng)升級至當前的最新版,這種升級策略在一定程度上可以避免用戶在部分中間版本有滯留,緩解安全生態(tài)碎片化的問題。
然而,實際的統(tǒng)計結(jié)果顯示,iOS安全生態(tài)碎片化問題依然存在,用戶選擇不升級的帶來的安全隱患不容忽視。
另外,我們還統(tǒng)計了自7月19日iOS 10.3.3正式發(fā)布以來,國內(nèi)iOS用戶系統(tǒng)的升級趨勢。如圖3所示,iOS 10.3.3主要來自10.3.2的用戶,這部分用戶升級習慣較好,會在接到新版本通知時及時升級系統(tǒng)。升級系統(tǒng)的設(shè)備中,近80%在發(fā)布后新版本的三周之內(nèi)選擇了升級,隨后整個升級趨勢放緩。其他各殘留舊版本均有少量用戶選擇升級,整體占比有微小的下降趨勢,但大多數(shù)用戶仍然選擇停留在舊版系統(tǒng)。
圖3. 國內(nèi)iOS用戶升級趨勢
雖然蘋果強制升級最新版的策略在一定程度上可以緩解安全生態(tài)的碎片化,從實際的統(tǒng)計情況來國內(nèi)近半數(shù)的iOS設(shè)備并不能及時升級,安全生態(tài)的碎片化問題依然存在。近期iOS 11會正式發(fā)布,在提供新功能同時,還會修復(fù)大量安全漏洞,建議廣大用戶在條件允許的情況下及時升級到最新版本,避免受到高危漏洞影響。同時我們也呼吁手機廠商采用更有效的技術(shù)保護普通用戶,防止他們受到已知高危漏洞的威脅。
參考文獻
[1] https://developer.apple.com/support/app-store/
[2] https://www.cvedetails.com/version-list/49/15556/1/Apple-Iphone-Os.html
[3] https://bugs.chromium.org/p/project-zero/issues/detail?id=1247
[4] https://github.com/doadam/ziVA
[5] https://bugs.chromium.org/p/project-zero/issues/detail?id=1004
[6] https://bugs.chromium.org/p/project-zero/issues/detail?id=965
[7] https://en.wikipedia.org/wiki/IOS_version_history
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。