你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 2016年iOS地下可應用破綻總結

2016年iOS地下可應用破綻總結

編輯:IOS開發綜合

0x00 序

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破綻並招致內核代碼執行。應用該攻擊鏈可以做到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模塊中的WebCore ::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設備的平安。

以上就是本文的全部內容,希望本文的內容對大家的學習或許任務能帶來一定的協助,同時也希望多多支持本站!

【2016年iOS地下可應用破綻總結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved