
Bir Google Project Zero araştırmacısı, Apple’ın macOS ve iOS’unda uzaktan sızan hafıza adresleri için yeni bir teknik ayrıntılı.
Bu yöntem, geleneksel bellek bozulması güvenlik açıklarına veya zamanlama tabanlı yan kanal saldırılarına dayanmadan önemli bir güvenlik özelliği olan, yer düzeni randomizasyonunu (ASLR) adresle atlayabilir.
Araştırma, Project Zero ekibindeki 2024 tarihli bir tartışmadan, Apple cihazlarında uzak ASLR sızıntılarını elde etmenin yeni yollarını bulma konusunda ortaya çıktı.
Araştırmacı, saldırgan tarafından sağlanan verileri sazipleştiren, ortaya çıkan nesneleri yeniden serileştiren ve ardından verileri geri gönderen hizmetler için geçerli bir hile keşfetti.
Spesifik, gerçek dünyadaki savunmasız saldırı yüzeyi tanımlanmamış olsa da, Apple’ın yer aldığı yapay bir test vakası kullanılarak bir kavram kanıtı oluşturuldu. NSKeyedArchiver
MacOS’ta serileştirme çerçevesi.
Araştırmacı, 31 Mart 2025’teki güvenlik güncellemelerinde altında yatan konuyu ele alan Apple’a karşı sorumlu bir şekilde açıkladı.
Saldırı Mekanizması
Teknik, veri serileştirmenin öngörülebilir davranışına ve Apple’ın iç işleyişine bağlı NSDictionary
esasen karma tablolar olan nesneler.
Saldırının amacı, NSNull
Bellek adresi karma değeri olarak kullanılan benzersiz, sistem çapında bir nesne olan Singleton.
Bu karma değeri sızdırmak, nesnenin adresini sızdırmaya eşdeğerdir, bu da bulunduğu paylaşılan önbellek için ASLR’yi zayıflatır.
Saldırı birkaç adımda ortaya çıkıyor:
- Bir saldırgan önce serileştirilmiş bir
NSDictionary
nesne. Bu sözlük bir karışımı içerir:NSNumber
Karma değerleri kontrol edilebilen anahtarlar ve tek birNSNull
anahtar. - .
NSNumber
Anahtarlar, hash tablosunun içinde belirli bir “kovalar” işgal etmek için dikkatli bir şekilde seçilir ve bilinen bir doldurulmuş ve boş yuvalar paterni oluşturur. - Mağdur uygulaması bu nesneyi düzenliyor ve bellekte sözlüğü oluşturuyor. Uygulama nesneyi geri göndermek için yeniden serileştirdiğinde, hash masa kovalarından öngörülebilir bir sırayla tekrarlanır.
- Konumu
NSNull
Geri döndürülen verilerdeki anahtar, hangi kovaya yerleştirildiğini ortaya koymaktadır. Bu, adresi hakkında kısmi bilgileri, özellikle de tablonun boyutunu modülle adresinin sonucu.
64 bit adresi yeniden yapılandırmak için, teknik Çin kalan teoremini kullanır. Bir saldırgan, değişen boyutlarda bir dizi sözlük göndererek (her biri farklı birincil kova sayısına sahip), adres hakkında birden fazla bilgi toplayabilir.
Bu sonuçları birleştirmek, tam bellek adresini hesaplamayı mümkün kılar. NSNull
Singleton, o bellek bölgesi için ASLR’yi etkili bir şekilde kırıyor.
Bu araştırma, ham nesne işaretçilerinin veri yapılarında karma anahtarlar olarak kullanılmasının, serileştirilmiş çıktı ortaya çıkarsa doğrudan bilgi sızıntılarına yol açabileceğini göstermektedir.
Zamanlama farklılıklarını ölçen klasik yan kanal saldırılarının aksine, bu yöntem serileştirme sürecinin deterministik çıktısına dayanır.
Araştırmacı, en sağlam hafifletmenin nesne adreslerini arama anahtarları olarak kullanmaktan kaçınmak veya adresin maruz kalmasını önlemek için bunları anahtarlı bir karma işlevi ile karma olmak olduğunu öne sürüyor.
Günlük siber güvenlik güncellemeleri için bizi Google News, LinkedIn ve X’te takip edin. Hikayelerinizi öne çıkarmak için bizimle iletişime geçin.