2016年iOS公開可利用漏洞總結

0x00 序

码报开奖结果本期 www.iwqgw.icu iOS的安全性遠比大家的想象中脆弱,除了沒有公開的漏洞以外,還有很多已經公開并且可被利用的漏洞,本報告總結了2016年比較嚴重的iOS漏洞(可用于遠程代碼執行或越獄),希望能夠對大家移動安全方面的工作和研究帶來一些幫助。

 

0x01 iOS 10.1.1 公開的可利用漏洞

1. mach_portal攻擊鏈:該攻擊鏈是由Google Project Zero的Ian Beer公布的。整個攻擊鏈由三個漏洞組成:損壞的內核port的uref可導致任意進程的port被越權替換(CVE-2016-7637),powerd任意port替換可導致DoS(CVE-2016-7661),因為set_dp_control_port沒有上鎖導致的XNU內核UaF(CVE-2016-7644)。


攻擊者先使用CVE-2016-7637將launchd與”com.apple.iohideventsystem”系統服務具有發送權限的port替換成自己控制的進程的port,并攻擊者還具有該port的接收權限。然后,攻擊者利用CVE-2016-7661對powerd這個進程進行DoS,使其重啟。在啟動過程中,因為powerd的啟動需要用到”com.apple.iohideventsystem”系統服務,于是將task port發送給了這個系統服務。但因為攻擊者利用之前的CVE-2016-7637漏洞獲取了”com.apple.iohideventsystem”系統服務port的接收權限,因此攻擊者獲得了powerd的task port,從而控制了具有root權限并且在沙盒外的powerd進程。攻擊者隨后利用powerd進程的task port獲取到了host_priv port,然后利用host_priv port觸發因set_dp_control_port沒有上鎖而導致的XNU內核UaF(CVE-2016-7644)漏洞,從而控制了kernel task port。攻擊者在獲取了kernel task以后,就可以利用系統提供的mach_vm_read()和mach_vm_write()去進行任意內核讀寫了。



2016年12月22日,qwertyoruiop在Ian Beer公布的mach_portal攻擊鏈的基礎上,加入了KPP的繞過、內核patch和cydia的安裝,并在自己的twitter上發布了iOS 10.1.*的越獄。


0x02 iOS 9.3.4 公開的可利用漏洞

1. PEGASUS 三叉戟攻擊鏈:該攻擊鏈是在對阿聯酋的一位人權活動家進行apt攻擊的時候被發現。整個攻擊鏈由三個漏洞組成:JSC遠程代碼執行(CVE-2016-4657),內核信息泄露(CVE-2016-4655),內核UAF代碼執行(CVE-2016-4656)。



在瀏覽器漏洞方面,由于iOS系統的JavaScriptCore庫的MarkedArgumentBuffer類在垃圾回收的時候可能會造成內存堆破壞,導致黑客可以使用該漏洞泄露對象地址以及執行任意指令。在內核漏洞方面,由于XNU內核的OSUnserializeBinary()函數在反序列化用戶態傳入的數據時沒有對OSNumber的長度進行校驗,導致可以泄露內核的棧信息。利用精心構造的OSString對象,還可以觸發UAF漏洞并導致內核代碼執行(具體的分析可以參考我們之前的文章:基于PEGASUS的OS X 10.11.6本地提權:https://jaq.alibaba.com/community/art/show?articleid=531)。利用該攻擊鏈可以做到iOS上的遠程完美越獄,可以說是近幾年來影響最大的iOS漏洞之一了。并且在未來,極有可能出現利用該漏洞的iOS大面積掛馬事件。

 

0x03 iOS 9.3.3 公開的可利用漏洞

1. IOMobileFramebuffer Heapoverflow 內核漏洞: 該漏洞存在于IOMobileFramebuffer這個內核服務中。在IOMobileFramebuffer::swap_submit(IOMFBSwap *)這個函數中,因為沒有對用戶態傳入的IOMFBSwap數據進行校驗,從而導致內核堆溢出。利用該漏洞可以在沙盒內(不需要沙盒逃逸)直接對內核進行攻擊,并完成非完美越獄。該漏洞在iOS 9.3.3盤古越獄(女媧石)中被使用。


0x04 iOS 9.3.2 公開的可利用漏洞

1. WebKit RCE heapPopMin 遠程代碼執行漏洞: 因為Webkit??櫓械腤ebCore ::TimerBase::heapPopMin()存在內存破壞漏洞,利用該漏洞可以對iOS設備進行遠程攻擊。當用mobile safari瀏覽有惡意攻擊代碼的網頁的時候,safari將會被黑客控制。但要注意的事,被控制的僅僅是safari,想要獲取用戶數據還需要進行沙盒逃逸,想要控制手機還需要對內核進行攻擊。另外,因為webkit不光存在于iOS中,因此該漏洞還被用于PS4,Kindle等設備的越獄。


2. GasGauge 條件競爭內核漏洞: 該漏洞存在于GasGauge這個內核服務中,因為在free內存的時候沒有進行加鎖操作,黑客可以開多個線程進行free操作,當競爭成功的時候可以造成double free的漏洞,隨后可以轉化為任意zone的UAF并控制內核,并完成非完美越獄。需要注意的是,該內核服務并不能在沙盒內直接訪問,所以想要利用該漏洞,需要先做到沙盒逃逸。


0x05 iOS 9.3.1 公開的可利用漏洞



1. inpuTbag Heapoverflow 內核漏洞: 該漏洞是阿里移動安全的OverSky團隊發現并公布的,該漏洞存在于IOHIDDevice這個內核服務中,因為沒有對Input report的szie做檢測從而造成內核堆溢出。利用該漏洞可以對內核進行攻擊,并完成非完美越獄。需要注意的是,該內核服務需要在沙盒外并擁有"com.apple.hid.manager.user-access-device"這個entilement才能訪問,所以想要利用該漏洞,需要先做到沙盒逃逸,然后繞過entilement的檢測才能利用。


0x06 iOS 9.1 公開的可利用漏洞

1. CVE-2015-7037 Photos 沙盒逃逸漏洞: 該漏洞存在于com.apple.PersistentURLTranslator.Gatekeeper這個系統服務中,在盤古越獄中被使用,通過利用改漏洞,一個在沙盒內的app可以做到mobile權限的沙盒外任意文件讀寫,配合dyld的漏洞可以做到沙盒外的任意代碼執行。


2. CVE-2015-7084 IORegistryIterator 內核漏洞: 該內核漏洞存在于IOKit中,因為IORegistryIterator對象沒有線程互斥的?;?,導致對成員進行操作的時候可能出現錯誤。該漏洞可以在沙盒內直接通過race condition觸發, 隨后轉化為內核信息泄露以及內核的代碼執行,并做到非完美越獄。


0x07 iOS 9.0 公開的可利用漏洞


1. CVE-2015-6974 IOHIDFamily 內核漏洞:該漏洞存在于IOHIDResource這個內核服務中,在terminateDevice后,系統沒有將device設置為NULL, 從而造成UAF漏洞。該漏洞在盤古iOS 9.0越獄中被使用,利用該漏洞可以做到內核的任意讀寫,并完成非完美越獄。需要注意的是,該內核服務并不能在沙盒內直接訪問,所以想要利用該漏洞,需要先做到沙盒逃逸。


0x08 總結

可以看到2016年的公開可利用的漏洞數量是非常巨大的,相對2015年可以說是有了一個指數級的增長。雖然蘋果更新系統的速度非??觳⑶椅薹ń導?,但隨著老設備(iPhone 4s及以下已無法升級iOS 10)越來越多,并且用戶對新系統期望越來越低,iOS設備的更新率已經變得非?;郝?。



根據某專業移動分析平臺2016年12月的數據可以看到,僅有3.28%的設備更新了最新版的iOS 10.2。這意味著96.72%的設備都有被最近剛發布的mach_portal漏洞攻擊的風險。我們相信,在新的一年,iOS的漏洞數量還會持續增加,并且隨著漏洞利用技術的公開,黑灰產也極有可能利用漏洞對用戶進行攻擊,希望廣大用戶一定要注意自己iOS設備的安全。

來源:開發者頭條

上一篇: 釋放空間神器插件iCleaner升級支持 iOS 10

下一篇: iOS碼農的微信小程序開發總結

分享到: 更多
欢乐生肖人工计划网站 后三组选包胆啥意思 雪缘园比分直播 球探网即时比分手机 新疆时时的官网 体彩11选5技巧规律 后三包胆技巧 老时时彩开奖结果 pk10免费永久计划 七乐彩怎么算中奖 功夫时时彩计划软件 二八杠棋牌游戏平台 重庆时时彩APP安卓系统 双色球预测号码 河内分分彩精准计划 抢庄牌九app下载