SHSH blobu - SHSH blob

Bir SHSH blobu (kısaltmalarına göre imzalı karma ve ikili büyük nesne; olarak da adlandırılır ECID SHSH, donanımına gömülü benzersiz bir kimlik numarası olan cihazın ECID'sine atıfta bulunarak[1]) resmi olmayan bir terimdir. dijital imzalar Apple'ın kişiselleştirmek için ürettiği ve kullandığı iOS her biri için aygıt yazılımı (IPSW) dosyaları iOS cihazı; cihaza güvenilir yazılımın yüklenmesini sağlamak için tasarlanmış Apple protokolünün bir parçasıdır[2], genellikle yalnızca en yeni iOS sürümünün kurulmasına izin verir. Apple'ın bu işlem için genel adı Sistem Yazılımını Kişiselleştirme veya iOS 7+ itibariyle Sistem Yazılım Yetkilendirmesi.[3]

Bu işlem TATSU ("TSS") İmzalama Sunucusu (gs.apple.com) tarafından kontrol edilir; burada güncelleme ve geri yüklemeler, yalnızca iOS sürümü imzalanmışsa iTunes tarafından tamamlanabilir. İlgilenen geliştiriciler iOS jailbreaking artık Apple tarafından imzalanmayan jailbreak yapılabilir eski iOS sürümlerini yüklemek için bu imza sisteminde çalışmak üzere araçlar geliştirdik.[4][5]

Teknik detaylar

SHSH blobları, bir karma formül cihaz türü, imzalanan iOS sürümü ve cihazın ECID'si dahil olmak üzere birden çok anahtarı olan.[6] Apple, kullanıcıların aygıtlarını belirli bir iOS sürümüne geri yükleme becerisini kısıtlamak istediğinde, Apple geri yükleme denemesi sırasında bu karmayı oluşturmayı reddedebilir ve geri yükleme başarılı olmaz (veya en azından sistemin amaçlanan işlevini atlamayı gerektirecektir. ).[7][8]

Bu protokol, iPhone 3GS ve sonraki cihazların bir parçasıdır.[9]

İTunes doğrulaması için TATSU Kod İmzalama

İTunes, bir iOS aygıt yazılımını geri yüklediğinde veya güncellediğinde, Apple, iOS sürümü yüklenmeden ve aygıt üzerinde konsolidasyon başlamadan önce birçok denetim noktası eklemiştir. İlk "iPhone yazılımını doğrulama" sırasında iTunes, sağlanan IPSW dosyasının hala imzalandığını doğrulamak için "gs.apple.com" ile iletişim kurar. TATSU sunucusu, imzalanan sürümlerin bir listesini geri verecektir. Sürüm imzalanmamışsa, iBEC ve iBoot görüntüyü reddederek "3194 hatası" veya "görüntüyü yetkilendirmeyi reddetti" hatası verir.

iTunes, bir güncelleme veya geri yükleme işlemi boyunca iBoot ile iletişim kurarak bellenimin Özel Donanım Yazılımına ("CFW") değiştirilmediğinden emin olur. iTunes, dosyanın değiştirildiğinden şüphelenirse bir cihazı güncellemeyecek veya geri yüklemeyecektir.

Bu zincirleme bir işlemdir, aygıt yazılımı yüklenmeden önce iBoot'un iBoot'u doğrulaması, iBoot'un önyükleyiciyi doğrulaması gerekir, vb. İmzalanmamış iOS sürümlerini, 1) SHSH2 blob'unuz olmadığı ve açıklardan yararlanılmadığı sürece veya 2) zincir sürecinden yararlanmadığınız sürece yükleyemezsiniz.

Suistimaller ve karşı önlemler

İmzasız iOS sürümlerine yükleme yapmak için SHSH Bloblarının gerekliliği, bir tekrar saldırı, bir iOS üretici yazılımı imzalıyken blob'ları kaydederek ve daha sonra bunları ürün yazılımını yüklerken kullanarak. Daha yeni iOS sürümleri, SHSH bloblarını kaydederken geçerli bir nonce gibi daha fazla öğe gerektirir. Kullanan cihazlar için blobları kaydetme A12 SoC veya daha yenisi, daha sonra bir geri yüklemede kullanılabilecek geçerli blobları kaydetmek için bir cihazdan bir jeneratör için eşleşen bir nonce almayı da gerektirir. SHSH blob'ları doğru şekilde kaydedilmiş olsa bile, SEP'nin (Secure Enclave) sürümler arasındaki uyumsuzluğu nedeniyle bazı iOS sürümlerine atlamak hala mümkün değildir.

Daha yeni iOS sürümleri için SHSH bloblarını kaydetmeye yönelik araçlar, uygulamayı içerir blobsaver ve komut satırı aracı tsschecker.

İmzalanmamış bir iOS sürümünü bir cihaza yüklemek için SHSH bloblarını kullanmak için, futurerestore (idevicerestore'a göre) veya onun GUI'leri kullanılabilir, bu da iOS aygıt yazılımı dosyalarının ve SHSH blob'larının geri yüklemede kullanılmasına izin verir.

Önceki baypas yöntemleri

İOS 3 ve 4 için, SHSH blob'ları statik anahtarlardan (aygıt türü, iOS sürümü ve ECID gibi) yapılmıştır; bu, belirli bir iOS sürümü ve aygıtı için SHSH blob'larının her geri yüklemede aynı olacağı anlamına gelir. Bu sistemi bir kullanarak yıkmak için ortadaki adam saldırısı, sunucu jailbreak'li aygıt için Apple'dan benzersiz SHSH blob'larını ister ve bu SHSH blob'larını sunucularda önbelleğe alır, böylece bir kullanıcı değiştirirse ana bilgisayar dosyası bir bilgisayarda SHSH blob kontrolünü Apple'ın sunucuları yerine önbelleğe yönlendirmek için, iTunes önbelleğe alınan SHSH blob'larını kontrol etmek ve cihazın bu sürüme geri yüklenmesine izin vermek için kandırılır.[9][10]

iOS 5 ve sonraki iOS sürümleri bu sisteme rastgele bir sayı (bir kriptografik nonce ) "APTicket" içinde,[11] bunu basitleştirmek tekrar saldırı artık etkili değil.[12][13]

İlk olarak 2009'da piyasaya sürüldü,[14][15][şüpheli ] TinyUmbrella, üçüncü taraf sunuculara kaydedilen SHSH blobları hakkında bilgi bulmak için bir araçtır ve SHSH bloblarını yerel olarak kaydeder,[16] ve iTunes'u eski cihazları iOS 3 ve 4'e geri yüklemesi için kandırmak üzere SHSH blob'larını yeniden oynatmak için yerel bir sunucu çalıştırmak.[17][18] Haziran 2011'de iH8sn0w, halihazırda yüklü olan iOS sürümü (iPhone 4 ve daha eski cihazlarla sınırlıdır) için bir cihazdan kısmi SHSH blobları alabilen bir araç olan iFaith'i piyasaya sürdü.[19][20] 2011'in sonlarında iPhone Dev Ekibi, redsn0w APTickets ile SHSH bloblarını kaydetme ve bir cihazı iOS 5 veya sonraki bir sürümüne geri yüklemek için bunları özel bellenime ekleme yeteneğini içerir.[21]

Daha yeni aygıtlar (iPad 2 ve sonrası) için SHSH blob'larını yeniden oynatmak her zaman mümkün değildir, çünkü önyükleme ROM'u (donanım düzeyi) bu aygıtlar için kullanılabilir istismarlar. Ekim 2012 itibarıyla redsn0w, iOS 5'in farklı sürümleri arasında daha yeni cihazları geri yüklemek için özellikler içerir.[22] ancak daha yeni cihazları iOS 6'dan iOS 5'e düşüremez.[23][24]

Ayrıca bakınız

Referanslar

  1. ^ Stern, Zack (5 Temmuz 2010). "İPad'inizi nasıl jailbreak yaparsınız ve birden çok göreve nasıl hemen başlayabilirsiniz?". ITBusiness.ca. Alındı 30 Aralık 2012.
  2. ^ Asad, Taimur (30 Nisan 2010). "İPhone 3.1.3 ve iPad 3.2'nin SHSH Bloblarını (ECID SHSH) Kaydet". Redmond Pastası. Alındı 30 Aralık 2012.
  3. ^ Apple Inc. (Mayıs 2012). "iOS Güvenliği" (PDF). Apple Inc. Arşivlenen orijinal (PDF) 21 Ekim 2012 tarihinde. Alındı 3 Aralık 2012.
  4. ^ Nat Futterman (25 Mayıs 2010). "İPad'i Jailbreak Yapmak: Bilmeniz Gerekenler". Geek Tech. Bilgisayar Dünyası. Alındı 2 Ağustos 2011.
  5. ^ Kumparak, Greg (27 Haziran 2011). "Apple iOS 5 ile Oyunlarını Hızlandırıyor, Jailbreak İşlemlerini Daha Zor Hale Getiriyor". TechCrunch. Alındı 30 Aralık 2012.
  6. ^ Stefan Esser (Mart 2012). "iOS 5: Bir Sömürü Kabusu mu?" (PDF). CanSecWest Vancouver. Alındı 3 Aralık 2012.[birincil olmayan kaynak gerekli ]
  7. ^ Adam Dachis (25 Nisan 2011). "Jailbreak Yeteneğini Kaybetmemek için iDevice'inizin SHSH'sini Kaydedin". Cankurtaran. Alındı 2 Ağustos 2011.
  8. ^ Smith, Gina (27 Eylül 2012). "Apple iOS 6 sorunları: Eski sürüme geçmeniz gerekiyorsa blobları kaydedin". Kurumsal Apple. TechRepublic. Alındı 30 Aralık 2012.
  9. ^ a b Jay Freeman (Saurik) (Eylül 2009). "Apple'ın İmza Sunucusunu Önbelleğe Alma". Saurik.com. Alındı 3 Aralık 2012.
  10. ^ Hoog, Andrew; Strzempka Katie (2011). iPhone ve iOS Forensics: Apple iPhone, iPad ve iOS Cihazları için Araştırma, Analiz ve Mobil Güvenlik. Elsevier. sayfa 47–50. ISBN  9781597496599. Alındı 3 Aralık 2012.
  11. ^ Cheng, Jacqui (27 Haziran 2011). "iOS 5 beta, işletim sistemi sürüm düşürmelerini ve bağlantısız jailbreak'leri engeller". Sonsuz döngü. Ars Technica. Alındı 30 Aralık 2012.
  12. ^ Oliver Haslam (27 Haziran 2011). "iOS 5, iPhone, iPad, iPod touch'ta SHSH Firmware Sürüm Düşürmelerini Durduracak". Redmond Pastası. Alındı 12 Kasım 2011.
  13. ^ Levin Jonathan (2012). Mac OS X ve iOS Dahili Bileşenleri: Apple'ın Çekirdeğine. John Wiley & Sons. s. 214. ISBN  9781118222256. Alındı 29 Aralık 2012.
  14. ^ notcom (19 Eylül 2009). "TinyTSS - Tüm iPhone geri yüklemeleriniz size ait". Firmware Şemsiyesi. Alındı 3 Aralık 2012.[kendi yayınladığı kaynak? ]
  15. ^ notcom (20 Mayıs 2010). "TinyUmbrella - Bir Arada Birleştirilmiş TinyTSS ve Firmware Şemsiyesi!". Firmware Şemsiyesi. Alındı 1 Ocak 2013.
  16. ^ Brownlee, John (15 Kasım 2011). "TinyUmbrella, iPhone 4S ve iOS 5.0.1 SHSH Bloblarını Yedeklemeyi Destekleyecek Şekilde Güncellendi". Mac Kültü. Alındı 30 Aralık 2012.
  17. ^ Sayam Aggarwal (26 Temmuz 2010). "Jailbreak Yapmadan Önce iPhone'unuzun SHSH Lekelerini Şemsiye ile Çıkarın". Mac Kültü. Alındı 3 Aralık 2012.[güvenilmez kaynak? ]
  18. ^ Landau, Ted (22 Nisan 2011). "TinyUmbrella ve ITunes 1013 Hata Grevi Tekrar". MacWorld. Bilgisayar Dünyası. Alındı 30 Aralık 2012.
  19. ^ Goncalo Ribeiro (3 Haziran 2011). "İPhone, iPad, iPod touch'ınızda iFaith Kullanarak Çalışan Eski Bellenimlerin SHSH Bloblarını Nasıl Kaydedersiniz?". Redmond Pastası. Alındı 3 Aralık 2012.
  20. ^ Morris, Paul (24 Aralık 2011). "Cydia, iOS 5.0.1 Firmware İçin SHSH Bloblarını Kurtarıyor". Redmond Pastası. Alındı 30 Aralık 2012.
  21. ^ Jeff Benjamin (27 Eylül 2011). "Her Zaman Düşürülebilecek Bir Bellenim Oluşturmak İçin RedSn0w Kullanarak SHSH Bloblarınızı Nasıl Dikebilirsiniz. iDownloadBlog. Alındı 3 Aralık 2012.
  22. ^ iPhone Dev Team (Ekim 2012). "Restorasyonun yeniden canlandırılması". Geliştirici Ekibi Blogu. Alındı 3 Aralık 2012.
  23. ^ iPhone Dev Team (Eylül 2012). "Blob-o-riffic". Geliştirici Ekibi Blogu. Alındı 3 Aralık 2012.
  24. ^ Morris, Paul (14 Ekim 2012). "Redsn0w Kullanarak iPhone 4S, iPad 3, iPad 2, iPod touch iOS 5.x'den iOS 5.x'e Nasıl Yeniden Geri Yüklenir". Redmond Pastası. Alındı 30 Aralık 2012.