4 puan yazan GN⁺ 2025-09-11 | 1 yorum | WhatsApp'ta paylaş
  • Apple, Memory Integrity Enforcement (MIE) sistemini devreye alarak kendi silikon donanımı ile gelişmiş işletim sistemi güvenliğini birleştiren yenilikçi bir bellek güvenliği çerçevesini tamamladı
  • MIE, sürekli etkin durumda temel saldırı yüzeylerini koruyor ve performans kaybı olmadan tüm iPhone 17 ve iPhone Air cihazlarına uygulanıyor
  • Enhanced Memory Tagging Extension (EMTE), güvenli bellek ayırıcısı ve etiket gizliliği politikasının birleşimi, kötü niyetli saldırılara karşı dayanıklılığı belirgin biçimde artırıyor
  • Eşzamanlı etiket denetimi ve işletim sistemi-donanımın gelişmiş entegrasyonu sayesinde, buffer overflow ve use-after-free açıklarının engellenmesi en üst düzeye çıkarılıyor
  • Yıllara yayılan agresif araştırma ve iç değerlendirmelerle saldırganın hareket alanı kısıtlanıyor ve güncel ölçütlere göre en güçlü bellek güvenliği düzeyine ulaşılıyor

Giriş

  • Apple’ın Memory Integrity Enforcement (MIE) sistemi, Apple Silicon donanımı ile gelişmiş işletim sistemi güvenliğini bütünleştirerek her zaman etkin kalan bir bellek güvenliği koruma teknolojisi sunuyor
  • Ek bir performans kaybı olmadan çeşitli Apple cihazlarında sektörün ilk geniş kapsamlı bellek güvenliği çerçevesini sunma hedefiyle geliştirildi
  • Apple bunu, tüketici işletim sistemlerinde bellek güvenliği tarihinde en önemli ilerleme olarak değerlendiriyor

Güvenlik tehditlerinin arka planı ve bellek güvenliğinin evrimi

  • iPhone’un geniş çaplı kötü amaçlı yazılım saldırılarında bilinen başarılı örneklerinin olmamasının nedeni, pratikte yalnızca mercenary spyware odaklı karmaşık saldırı zincirlerinin gerçek tehdit olarak gözlemlenmesi
  • Bu tür gelişmiş saldırılar (maliyeti milyonlarca doları bulan, az sayıdaki hedefe yönelik operasyonlar) ortak olarak bellek güvenliği açıklarını istismar ediyor
  • Apple, Swift gibi güvenli dillerin geliştirilmesi, güvenli bellek ayırıcılarının kullanıma alınması ve sistem genelindeki geniş ölçekli azaltım önlemleriyle bellek güvenliğini sürekli iyileştirdi
  • Pointer Authentication Code (PAC) teknolojisini dünyada ilk kez A12 Bionic ile sunarak donanım-yazılım birleşik güvenliğinin ana akım olacağını gösterdi

Donanım tabanlı bellek etiketleme teknolojisi (MTE/EMTE) ve sınırlamaların aşılması

  • Arm’ın sunduğu Memory Tagging Extension (MTE), her bellek tahsisine gizli bir etiket verip yalnızca doğru etiketle erişime izin veren bir yaklaşım
  • Apple, MTE’nin özgün tasarımındaki zayıflıkları (asenkron çalışma gibi) tespit etti ve Arm ile iş birliği içinde bunu Enhanced Memory Tagging Extension (EMTE) olarak geliştirdi
  • Etiket denetiminin her zaman eşzamanlı çalışacak şekilde tasarlanması, kesintisiz korumanın temelini oluşturuyor

MIE’nin katmanlı yapısı ve başlıca koruma mekanizmaları

  • MIE; kalloc_type, xzone malloc, WebKit’in libpas’i gibi tip farkındalıklı güvenli ayırıcılar, EMTE ve Tag Confidentiality Enforcement (etiket gizliliği koruması) politikasından oluşan üç bileşenli bir yapı
  • Ayırıcılar, farklı tipler arasında bellek sayfası düzeyinde koruma sağlarken EMTE, aynı tip kovası içindeki küçük bellek tahsislerindeki zafiyetlere kadar müdahale ediyor
  • Buffer overflow, use-after-free gibi yaygın bellek bozulması saldırılarında etiketleme ve yeniden etiketleme kullanılarak donanım ve işletim sistemi tarafından anında tespit ve engelleme sağlanıyor
Reklam

Etiket gizliliği ve yan kanal saldırılarına karşı strateji

  • Saldırganların ayırıcı depolamasını ve etiket sızıntısını hedeflemesini önlemek için Secure Page Table Monitor gibi güçlü koruma mekanizmaları devreye alındı
  • Spekülatif yürütmeyi kullanan yan kanal saldırılarına karşı Apple Silicon, etiket bilgisinin spekülatif yürütmeye etkisini temelden engelleyecek şekilde tasarlandı
  • Spectre V1 açığı da verimli bir yöntemle engellenerek çoğu durumda pratik saldırı zincirleri etkisiz hale getirildi

Yazılım ve donanımın bütünleşik savunması ile genel kullanım

  • Yeni A19/A19 Pro çipleri tasarlanırken etiket depolama ve doğrulama için önemli miktarda ek donanım kaynağı ayrıldı
  • MIE, yazılım tarafında korunabilen alanları önce güvenli ayırıcılarla kapsarken EMTE’yi yazılımla savunulması mümkün olmayan bölgelerde hassas biçimde uyguluyor
  • Daha eski iPhone modellerinin de mümkün olduğunca fazla bellek güvenliği iyileştirmesinden yararlanabilmesi için dağıtım yöntemi dikkatle tasarlandı

Gerçek dünya güvenlik değerlendirmesi ve etkinlik analizi

  • Apple’ın saldırı araştırma ekibi, 2020-2025 arasında MIE planlama aşamasından başlayarak çeşitli saldırı senaryoları oluşturdu ve donanım prototiplerine kadar gerçek sızma girişimlerini tekrarladı
  • Hem yeni hem eski exploit zincirlerinde, MIE uygulandığında saldırı adımlarının büyük çoğunluğunun temelden engellendiği doğrulandı
  • Geriye kalan az sayıdaki zafiyette bile kararlı saldırı mümkün olmadığından gerçek zarar olasılığı keskin biçimde düştü

Sonuç

  • iPhone’un sektör lideri güvenliği, kullanıcıların büyük çoğunluğu için sistem düzeyi saldırılara maruz kalma ihtimalini baştan sınırlıyor
  • MIE, gerçek mercenary spyware operasyonlarının en karmaşık ve en pahalı saldırı stratejilerini etkisizleştirirken çekirdek dahil 70’ten fazla kritik kullanıcı alanı sürecini sürekli koruyor
  • Değerlendirme sonuçları, bellek bozulması açıklarının istismar maliyetini ve zorluğunu büyük ölçüde yükselterek son 25 yılın başlıca saldırı tekniklerine karşı güçlü bir engel oluşturduğunu gösteriyor
  • MIE, iOS ve Apple cihazlarında tüketici işletim sistemi bellek güvenliği tarihinde en büyük değişimlerden biri olarak konumlanıyor

1 yorum

 
GN⁺ 2025-09-11
Hacker News yorumu
  • Her iki yaklaşım da aynı sonuca vardı. Memory Integrity Enforcement (MIE), saldırganların kullanabileceği exploit stratejilerinin çoğunu temelden engelliyor. Bellek bozulması hataları aslında birbiri yerine kullanılabilirken, MIE en temel aşamada çok fazla exploit yolunu kapattığı için bunları yeni hatalarla değiştirmek bile zinciri yeniden kurmaya yetmedi. Ne kadar uğraşılsa da baypas eden bir zincir yeniden oluşturulamadı. Geriye kalan birkaç etki de güvenilir değildi; yani saldırganın başarıyla istismar etmesi için yeterli değildi. Bu çok iyi bir haber ve gözden kaçabilecek olsa da önemli bir nokta. Paralı casus yazılım ekonomisinin bir kısmı birbirinin yerine geçebilen zincirlere dayanıyor; bu özelliği doğrudan hedef alan savunmalar özellikle ilginç
    • Apple’ın stratejisinin CHERI’ye (bkz: Capability Hardware Enhanced RISC Instructions) benzer tam capability-based bellek güvenliğine giden bir adım mı olduğu, yoksa Apple’ın böyle bir sistem olmadan da bunun yeterli olduğuna karar verdiğinin bir işareti mi sayılması gerektiği merak uyandırıyor
    • Apple örneğine karşılık Google’ın bellek güvenliği yaklaşımını da tanıtmak isterim. Google, Chrome/Android’in ilk günlerinden beri bellek güvenliği konusunu ciddiye alıyordu; ASAN, syzkaller ve Hardware MTE’nin benimsenmesine de öncülük etti. Bu tür ekipleri yöneten kişi olduğum için çeşitli artı ve eksileri bizzat yaşadım. Google’ın yapmaya çalıştığı şey, ASAN düzeyinde doğrulamayı ihtiyaç halinde açıp kapatabilmekti. Bunu bir güvenlik önlemi olarak sürekli açık tutmanın, bellek ek yükünün yanı sıra başka sorunları da var. Örneğin, tüm cihazlarda tutarsız biçimde kullanıcıya görünür çok sayıda çökme yaşanabiliyor. Geliştiriciler açısından da, yalnızca yaklaşık 1 milyon adet MTE destekli cihazda düzgün test yapmak zorunda kalmak doğal olarak rahatsızlık yaratıyor. MTE, güvenlik exploit’lerini de yakalıyor, zararsız birçok hatayı da ortaya çıkarıyor. Ancak runtime mitigation amacıyla her zaman en iyi seçenek olup olmadığı net değil. Google Security, Project Zero vb. ekiplerde CSV’lere karşı çok ciddi çaba var, fakat şirketin MTE’yi ürünleştirme konusunda yetersiz kaldığını düşünüyorum (bağlantı)
    • Vigilant Labs için iyi haber olmayabilir ama pratikte ne kadar büyük etki yarattığı kesin değil
  • Apple’ın “bellek güvenliği korumaları mutlaka her zaman eşzamanlı, varsayılan olarak açık ve sürekli çalışır durumda olmalı” iddiasının ideolojik bir tutumdan çok deneyimden geldiğini düşünüyorum. Bu, ilk dönem çekirdek korumalarından farklıydı. 2015’te iOS 9 ile gelen Kernel Patch Protection (KPP), çekirdeğin değiştirilip değiştirilmediğini birkaç dakikada bir, cihaz boştayken asenkron olarak kontrol ediyordu. Bu yaklaşım güvenlik açısından pek güvenilir değildi ve tasarım kusurları nedeniyle tamamen baypas eden hack’ler yayımlanmıştı. KPP, kernel patching’i kökten engellemiyor; yalnızca tespit edilirse panic yaratıyordu. Yani saldırgan işini yeterince hızlı bitirip geri alabilirse KPP bunu algılayamıyordu (writeup’a bakın)
    • İç bilgileri temel alarak söylemek gerekirse, KPP A11’in KTRR’si gelirken <A11 SoCs üzerinde eşdeğer güvenlik düzeyini kasıtlı olarak sağlamak için aceleyle geliştirilmişti. Bu kadar kısa bir zaman çizelgesinde mümkün olan en iyi şekilde uygulanmıştı ve sonrasında bu yaklaşım tekrarlanmadı
    • Bunun en baştan ilkesel olarak hazırlandığından çok, MTE’yi devreye alma sürecinde ilk tasarım aşamasında bu sonuca varıldığı anlaşılıyor. Apple’ın güvenlik seviyesi istikrarlı biçimde yükseliyor ve bunda jailbreak gibi şeylerden zorla edinilen derslerin payı büyük
    • Böyle sistemleri ilk seferde kusursuz uygulamanın zor olduğu konusunda katılıyorum
  • Apple, “iPhone’a karşı başarılı ve yaygın kötü amaçlı yazılım saldırıları olmadı” dedi ama mevcut casus yazılım kodu biraz değiştirilse bile hemen büyük ölçekli saldırılarda kullanılabilir diye düşünüyorum. Gerçekte bu ayrım o kadar net değil
    • Gerçek şu ki ne Apple ne Google saldırıların gerçek ölçeğini tam olarak bilebilir. GrapheneOS’un yayımladığı sızdırılmış materyallere göre exploit geliştiricileri, insanların düşündüğünden çok daha fazla cihaz saldırısı ve güncelleme takibi yapabiliyor. Buna ek olarak yayımlanmayan materyaller de var; birden fazla bağımsız kaynakla doğrulanmadıkça, sızıntı kanalını açığa çıkarmamak için yalnızca bir kısmı paylaşılıyor. Bu exploit araçları yaygın biçimde kullanılabiliyor ve sıradan veri çıkarımı mı yoksa uzaktan istismar mı olduğunu ayırt etmek bile kolay değil. Gerçek dünyada exploit’lerin tespit edilmesi nadirdir ve çoğu zaman tespit edilmeden geniş ölçekte kullanılabildikleri için tek bir zincir bile uzun süre değerini korur. Dünyanın dört bir yanındaki kolluk kuvvetleri, Cellebrite Premium gibi araçları sınır geçişlerinde, protesto alanlarında vb. pek çok kişiye karşı kullanıyor. Bu zaten büyük ölçekli kullanım demek. Uzaktan exploit durumunda ise geniş ölçekte kullanılsa bile geniş ölçekte dağıtılması bile gerekmeyebilir
    • XcodeGhost, iPhone’a yönelik büyük ölçekli kötü amaçlı yazılım saldırılarının en bilinen örneklerinden biriydi. O dönemde WeChat vb. etkilenmişti. Kaynak: XcodeGhost Vikipedi
    • Gerçekten büyük ölçekli saldırılarda kullanılıp kullanılamayacağı kesin değil ama Windows kadar görünür olsaydı daha fazla örnek görürdük
    • Bu ifade muhtemelen esas olarak Android’le kıyaslayıp kendi kontrol modelinin avantajlarını vurgulama amacı taşıyor
    • Hukuki dille kurulmuş bir ifade olsa da, Apple’ın bu MIE gibi yeni teknolojiler için çok ayrıntılı materyal ve özgüvenli mesajlar yayımlamış olması hepimiz için olumlu
  • Bu sistem kesinlikle etkileyici. Yine de saldırganın birden çok kez yeniden deneyebildiği durumlarda savunma yeterli olmayabilir. Örneğin, bitişik olmayan nesnelere taşan erişim mümkünse ya da çok sayıda bellek tahsisi manipülasyonundan sonra etiket tesadüfen eşleşirse baypas edilebilir. Etiketin eşleşme olasılığı 1/16. Ancak ana metinde ayrıntılı açıklama olmadığı için tahminimin doğru olduğundan emin değilim. Eğer başarıyla uygulanırsa geriye kalan exploit’lerin mantık hatalarına dayanması gerekecek ve bu da saldırgan açısından çok daha zor olacak
    • Android MTE’de de benzer şekilde, küçük etiket boyutunu hedef alan olasılıksal saldırılarla (çoklu yeniden deneme) ilerlemek mümkündü. Ancak buradaki kritik fark, tutarlı ve eşzamanlı enforcement olması. Yani bağlam değişimi sırasında değil, doğrudan her bellek yazma manipülasyonunda anında trap oluşuyor
    • 1/16 ihtimal dışındaki 15/16 denemenin tamamı çökme yaratır. Bu kadar kararsız hatalar kullanıcıya veya tanılama sistemlerine kolayca görünür hale gelir ve başarı için birden çok aşamanın arka arkaya tutması gerekiyorsa olasılık gereği gerçek istismar neredeyse imkânsız hale gelir
    • Tedarik zinciri saldırıları gibi uzun süreli sızmaya dayalı devlet düzeyindeki saldırılarda bu tür savunmalar geçerli olmayabilir
  • Apple/ARM modeli çok daha sofistike olacaktır ama Burroughs large system’in bellek etiketleme mimarisini hatırlatıyor (bkz.)
  • “Saldırgan, sistemin seçtiği etiket değerini tahmin edememelidir. Bunun için yeni etiketler üretmek üzere PRNG sık sık yeniden tohumlanır” açıklamasında, temel sorun etiketin düşük entropisi (yalnızca 4 bit olması). Saldırgan rastgele tahmin ederse başarı olasılığı 1/16 ve PRNG’yi yeniden tohumlamak bu olasılığı değiştirmiyor. Daha fazla açıklama gerekiyor gibi görünüyor
    • Saldırganın yalnızca tek bir tahmin hakkı var. Yanlış olursa süreç sonlandırılıyor ya da kernel panic yaşanıyor. Bir dahaki denemede yeni bir etiket olacağı için yeniden tahmin etmek zorunda; dolayısıyla art arda denemek mümkün değil
    • 4 bit, olası değer sayısı açısından çok küçük. Bellek tahsisi saniyede milyonlarca kez oluyor ve yeniden tohumlama sık olsa bile çakışma olasılığı çok hızlı yükseliyor
  • Bu cihaz serisinin en büyük gücü tam olarak bu yeni özellik
  • AB’nin chat control benzeri politikaları uygulanırsa devlet cihazımdaki istediği her şeye erişebilir ve Google WEI’yi zorunlu kılarsa tüm web kilitlenebilir. Secure boot ve MIE devreye girince kullanıcıların eski özgürlüklerini yeniden kazanması zorlaşabilir
    • Yani bu özgürlükleri korumak için sistemleri ve hizmetleri biraz daha ayırmak/balkanlaştırmak gerekebilir
    • Buradaki MIE güçlendirmesinin jailbreak vb. yoluyla kullanıcı özgürlüğünü sınırladığı yönünde bir şikâyet de içerip içermediğini merak ediyorum
    • WEI’nin ne olduğunu merak ettim
  • Google’ın geçen yıl MTE’yi opt-in olarak sunması iyi bir ilk adımdı ama tam entegrasyon eksik olduğu için Apple’ın öne çıkardığı EMTE tabanlı MIE ile aynı değil. Apple’ın iPhone 17 ve Air çıkışıyla, sektörde ilk kapsamlı ve her zaman açık bellek güvenliği sistemini sunması etkileyici. GrapheneOS’un öncü çabalarının (sürüm örneği, farkındalık çalışması) yeterince öne çıkmaması üzücü olsa da, Apple’ın ciddi girişiminin Google’a, Pixel OS’ye ve çeşitli güvenlik odaklı işletim sistemlerine hızla yayılmasını umuyorum. Bu aynı zamanda GrapheneOS’un bilinmeyen tehditlere karşı savunmada sistem düzeyinde bir öncü olduğunu yeniden doğruluyor
    • Apple bu alana uzun zamandır hazırlanıyordu. Başlangıç noktası GrapheneOS’un bunu etkinleştirdiği zaman değildi
  • “2018’de A12 Bionic çipte Pointer Authentication Codes (PAC) ile sektörün ilk kod akışı bütünlüğü korumasını uygulamaya koydu” deniyor ama PAC’in gelmesinden sonra da tam zincir saldırılar birçok kez görüldü. PAC anlamlı bir saldırı engelleyici değildi. Saldırganlar sürekli PAC baypas yöntemleri buluyor. MIE’nin gerçek etkisini değerlendirirken bunu hesaba katmak gerekir
    • Aslında Apple, PAC’i bir saldırı önleme yöntemi olarak sunmadı; “exploit karmaşıklığını artırmak” başarı olarak anlatıldı. Cümle biraz muğlak ama ben bunu, PAC’in tek başına yeterli olmadığını ve yazılım/donanım birleşik yaklaşımının gerekli olduğunu kabul etme şeklinde okuyorum. PAC de yazılım değişikliği gerektiren bir donanım özelliği, fakat EMTE çok daha geniş kapsam ve koordinasyon gerektiren bir teknoloji
    • PAC’in anlamsız olduğu söylenemez; tersine saldırganları mutlaka bir PAC baypası bulmaya zorlayan bir katalizör işlevi görüyor. PAC baypaslarının sayısı sonsuz değil
    • PAC’in birkaç kez baypas edilmiş olması, işe yaramadığı anlamına gelmez; aksine bu da onun etkili biçimde çalıştığını gösterir