Akademik araştırmacılar, iLeakage adını verdikleri, tüm yeni Apple cihazlarında çalışan ve Safari web tarayıcısından hassas bilgileri çıkarabilen yeni bir spekülatif yan kanal saldırısı oluşturdu.
iLeakage, Apple Silicon CPU’larına ve Safari tarayıcısına yönelik spekülatif yürütme saldırısının ilk gösterimidir. Safari’nin yanı sıra iOS’taki Firefox, Tor ve Edge’den “mükemmele yakın doğrulukla” veri almak için kullanılabilir.
Özünde, tüm tarayıcı satıcıları tarafından uygulanan standart yan kanal korumalarını aşan zamansız bir Spectre saldırısıdır.
Safari’den sırları çalmak
iLeakage, Safari’nin yan kanal esnekliğini inceleyen ve yarış koşullarına dayalı zamanlayıcısız ve mimariden bağımsız bir yöntem uygulayarak mevcut karşı önlemleri atlatmayı başaran Georgia Tech, Michigan Üniversitesi ve Ruhr Üniversitesi Bochum’dan bir akademisyen ekibi tarafından geliştirildi.
Araştırmacılar, Safari’den hassas bilgileri okumaya odaklandılar ve Apple’ın tarayıcısının oluşturma işlemi için kullandığı adres alanındaki herhangi bir 64 bit işaretçiyi spekülatif olarak okuyabilen ve sızdırabilen bir ilkel oluşturarak verileri çalmayı başardılar.
Bunu, Apple’ın tarayıcısında uyguladığı düşük çözünürlüklü zamanlayıcı, sıkıştırılmış 35 bit adresleme ve değer zehirlenmesi gibi yan kanal korumalarını yenerek başardılar.
Araştırmacılar ayrıca, web sitelerini etkili üst düzey alan adlarına (eTLD) ve bir alt alan adına göre farklı adres alanlarına ayıran Safari’deki site izolasyon politikasını da atladı.
JavaScript’i kullanan yeni bir teknik kullandılar pencere.açık API, bir saldırganın sayfasının rastgele kurban sayfalarıyla aynı adres alanını paylaşmasına olanak tanır.
Araştırmacılar, Apple’ın sıkıştırılmış 35 bit adresleme ve değer zehirlenmesine karşı önlemlerini atlamak için spekülatif tür kafa karışıklığını kullanarak, şifreler ve e-postalar gibi hassas verileri hedef sayfadan sızdırabilirler.
Saldırının kavram kanıtı kodu, dinamik web içeriği sunmaya yönelik iki programlama dili olan JavaScript ve WebAssembly’dedir.
Aşağıdaki video, iPad çalıştıran Safari’deki Gmail iletilerinin iLeakage saldırısı kullanılarak nasıl alındığını göstermektedir. Saldırının işe yaraması için temel gereksinim, mağdur kullanıcının saldırganın sayfasıyla etkileşime girmesidir.
https://www.youtube.com/watch?v=2uH9slLKTjw
Araştırmacılar, LastPass şifre yönetimi hizmetini kullanarak Safari web tarayıcısında otomatik olarak doldurulan bir Instagram test hesabının şifresini almak için aynı yöntemi kullandılar.
https://www.youtube.com/watch?v=Z2RtpN77H8o
Başka bir deneyde araştırmacılar, iLeakage saldırılarının iOS için Chrome’da da nasıl çalıştığını gösterdiler ve YouTube izleme geçmişini almayı başardılar.
Apple’ın politikasının tüm üçüncü taraf iOS tarayıcılarını Safari’nin üzerine yer paylaşımlı olmaya ve Apple tarayıcısının JavaScript motorunu kullanmaya zorladığını açıklıyorlar.
https://www.youtube.com/watch?v=sNdyrCtajP4
iLeakage, Apple Silicon çiplerindeki (M1, M2) spekülatif yürütmenin istismarına dayanır; burada CPU’nun tahmine dayalı yürütmesi, ihtiyaç duyulması en muhtemel görevleri, ancak gerekli olup olmadıklarını bilmeden gerçekleştirir.
Tüm modern CPU’larda bulunan bu mekanizma performansı önemli ölçüde artırır; ancak tasarım kusurları, neredeyse altı yıl önce açıklanan Meltdown ve Spectre saldırılarının da kanıtladığı gibi veri sızıntılarına neden olabilir.
Saldırıyla ilgili daha fazla ayrıntı ve Apple’ın hafifletici önlemlerini atlatmak için kullanılan bireysel yöntemler araştırmacıların yayınladığı teknik makalede mevcut.
Etki ve savunma ipuçları
iLeakage, 2020’den itibaren piyasaya sürülen ve Apple’ın A serisi ve M serisi ARM işlemcileri tarafından desteklenen tüm Apple cihazlarını etkiler.
Saldırı büyük oranda tespit edilemez ve kurbanın sisteminde, saldırganın web sayfasının tarayıcı önbelleğine girişi dışında, günlük şeklinde hiçbir iz bırakmaz.
Ancak araştırmacılar, saldırının gerçekleştirilmesinin zor olduğunu ve “tarayıcı tabanlı yan kanal saldırıları ve Safari uygulaması konusunda ileri düzeyde bilgi gerektirdiğinin” altını çiziyor.
iLeakage, 12 Eylül 2022’de Apple’a özel olarak bildirildi ve şirket, macOS için aşağıdaki azaltıcı önlemleri geliştirdi:
- Terminal’i açın ve Safari’nin gizli hata ayıklama menüsünü etkinleştirmek için varsayılan olarak com.apple.Safari IncludeInternalDebugMenu 1′ yazın.
- Safari’yi açın ve yeni görünen Hata Ayıklama menüsüne gidin.
- ‘WebKit Dahili Özellikleri’ni seçin
- ‘Siteler Arası Pencere Açıkken Takas İşlemleri’ni kaydırıp etkinleştirin
Azaltma, bazı istikrarsızlıklara yol açabileceği uyarısını da beraberinde getiriyor. Kullanıcılar bunu devre dışı bırakmak isterse, terminalde şu komutu çalıştırarak hata ayıklama menüsünden bunu yapabilirler: varsayılanlar com.apple.Safari IncludeInternalDebugMenu 0 yazar.
Bu araştırma, iLeakage’in gerçek sonuçlarının yanı sıra, x86 mimarileri kadar yoğun bir şekilde incelenmemiş, yeni ortaya çıkan ARM tabanlı platformlardaki potansiyel spekülatif uygulama risklerini de vurgulamaktadır.