25C3:在他們的Yellowsnow演示,[Pytey],[Musclenerd]和[Planetbeing]中致敬的iPhone
,從25c3播放的iPhone-Dev團隊在他們的工作中攻擊iPhone。該團隊最初在2007年形成,這是最詳細的iPhone如何妥協迄今為止的演示。您可以找到上面的完整談話。
他們用一些關於他們的軟件是多麼受歡迎的統計數據。我們最喜歡的是,至少180人和Apple公司IPS定期使用Dev-Team的軟件更新他們的手機。從那裡,談話分為兩部分:越獄S5L應用程序處理器並解鎖S-Gold基帶處理器。
電話依賴於依賴的鏈條,以保證只能在其上運行Apple的代碼。所有Userland都是內核檢查的簽名。由iboot加載時檢查內核。由LLB加載時檢查IBoot圖像。 LLB從最低代碼,Bootrom加載。這就是事情分開的地方; BootROM不會檢查LLB的簽名。為了利用此,該團隊在DFU模式下發現了它們描述為經典堆棧緩衝區溢出的內容。 DFU是設備固件升級模式,是手機可以被強製到Bootrom負載之後的狀態。他們的利用迫使證書檢查返回“真實”。然後,它們能夠在手機系統中修補所有後續簽名檢查。
基帶處理器簡單地驗證了很多,因為它沒有任何類型的恢復模式;磚塊手機始終是一種可能性。 S-Gold是一個完整的片上系統,每部手機都有特殊的ID。每款手機上也有一個特殊的ID。這兩個ID用於簽署SECPACK,這反過來強制執行SIM載波鎖定。這些特殊的ID是為什麼你不能只採取正式解鎖的手機並將Secpack複製到它以解鎖另一個電話。其他一切都是相同的:固件,基帶,鞋面都是一樣的。在第二代iPhone上,Bootrom檢查引導加載程序。然後,引導加載程序在檢查之前驗證BootRom,然後驗證加載固件。固件強制執行載波鎖定。該團隊決定不值得打破信任鏈。他們開發的SIM解鎖代碼分為兩部分。第一部分是實際的軟件解鎖。它們在RAM中運行時修補固件。他們的修補程序修改固件的決策樹是關於是否強制執行載波鎖定。下半場是允許它們注入代碼的漏洞利用。該團隊知道蘋果可以且可能會修補漏洞漏洞,但他們的RAM補丁代碼將始終起作用,所以這只是找到另一個洞來應用它的問題。購買要做一個永久解鎖選項(就像第一代iPhone),他們需要檢查實際的Bootrom代碼。
該團隊指出了蘋果所做的幾件事實際上幫助了他們的努力。安全逐漸推出,所以他們能夠看待最終隱藏的東西。固件最初是未加密的。早期版本可信iTunes,他們可以輕鬆修改的東西。所有userland應用程序最初是作為root ran,指示任何應用程序利用都提供了根級訪問。
iPhone-Dev團隊真正以令人難以置信的努力,我們期待著新年前夜的Yellowsn0w發布。