Apple'ın A12 ve A13 çiplerinde kritik bir BootROM güvenlik açığı keşfedildi. Paradigm Shift araştırma ekibinin usbliter8 adını verdiği bu açık, fiziksel erişimi olan bir saldırganın cihazın önyükleme zincirini tamamen ele geçirmesine olanak tanıyor. Sorun, USB denetleyicideki bir donanım zafiyeti ile SecureROM'daki bir üretici yazılımı yapılandırma hatasının birleşiminden kaynaklanıyor. BootROM kodunun üretim sonrası değiştirilemez olması nedeniyle bu açık, işletim sistemi güncellemesiyle tamamen kapatılamıyor ve etkilenen cihazların ömrü boyunca kalıcı bir risk oluşturuyor.
Açığın istismarı uzaktan mümkün değil. Paradigm Shift'in paylaştığı kanıt kod (PoC), cihazın Device Firmware Update (DFU) moduna alınmasını ve RP2350 tabanlı bir mikrodenetleyici donanımı kullanılmasını gerektiriyor. Bu durum, saldırının yaygınlaşma riskini sınırlasa da, ele geçirilmiş, çalınmış veya gözetimsiz bırakılmış cihazlar için ciddi bir tehdit oluşturuyor. Özellikle kolluk kuvvetleri veya kötü niyetli kişilerin fiziksel erişim sağladığı durumlarda bu açık, cihazdaki tüm verilere erişim ve kalıcı kontrol anlamına gelebiliyor.
Güvenlik açığının temelinde Synopsys DesignWare USB denetleyicisinin setup verilerini depolama biçimi yatıyor. Denetleyici, üç setup paketi tutabiliyor ve dördüncü bir işlem geldiğinde doğrudan bellek erişim (DMA) işaretçisini sabit bir miktarda sıfırlıyor. Ayrıca denetleyici, eksik boyutlu paketleri kabul ediyor ve bunları 4 baytlık parçalar halinde depoluyor. Bu uyumsuzluk, işaretçinin geriye kaymasına neden olarak bir underflow durumu yaratıyor ve SecureROM tarafından kullanılan statik rastgele erişim belleğinin (SRAM) üzerine yazılmasına olanak tanıyor.
Apple A12 ve A13 SecureROM'larında, Veri Adres Çözümleme Tablosu (DART) yapılandırması bu DMA davranışının uygulama işlemcisi önyükleme zincirini kırmasına izin veriyor. A11 çipi ise aynı şekilde etkilenmiyor çünkü USB sürücüsü her paketten sonra DMA adresini sıfırlıyor. Kod yürütme yolu çipler arasında farklılık gösteriyor: A12 ve S4/S5'te SecureROM, İşaretçi Doğrulama (Pointer Authentication) kullanmadığı için istismar, yığındaki bağlantı kaydını bozarak kod yürütme elde ediyor. Araştırmacılar bu erişimi kullanarak önyükleme sürecini değiştirip özel bir USB istek işleyicisiyle DFU moduna dönüyor.
Apple A13 ise daha karmaşık bir yol gerektiriyor çünkü İşaretçi Doğrulama, yığında saklanan dönüş adreslerini koruyor. Paradigm Shift, bu kısıtlamayı yığın manipülasyonu, görev durumu müdahalesi ve kesme işleyicisinin üzerine yazma yoluyla aştı. Kanıt kod şu an için A12 cihazları, S4/S5 sistemleri ve A13 cihazlarını destekliyor. A14 ve sonraki çiplerde SecureROM'un DART'ı doğru yapılandırdığı görülüyor, bu nedenle aynı yol istismar edilemiyor. Araştırmacılar, usbliter8'in Güvenli Bölge'yi (Secure Enclave) doğrudan tehlikeye atmadığını ancak BootROM seviyesindeki kontrolün daha geniş saldırı yolları açabileceği uyarısında bulunuyor.
Bu açık, etkilenen A12 ve A13 cihazlarında ömür boyu kalacağı için en etkili çözüm, yeni donanıma geçiş yapmak olarak görünüyor. Kullanıcılar, cihazlarının fiziksel güvenliğine ekstra özen göstermeli ve güvenilmeyen ortamlarda cihazı gözetimsiz bırakmamalıdır. Apple'ın bu konuda resmi bir açıklama yapmaması, sorunun ciddiyetini ve çözümün zorluğunu gözler önüne seriyor. BootROM seviyesindeki bu tür açıklar, donanım güvenliğinin yazılım güncellemeleriyle tamir edilemeyecek kırılganlıklarını bir kez daha hatırlatıyor.
Kaynak: infosecurity-magazine.com