1 puan yazan GN⁺ 2025-03-10 | 1 yorum | WhatsApp'ta paylaş

Monolitik işletim sistemi çekirdeklerinin sorunları

  • Modern işletim sistemleri genel olarak iki ana koruma alanına ayrılır:
    • Ayrıcalıksız alan (kullanıcı modu): Programlar dosya erişimi, ağ iletişimi gibi güçlü işlemleri doğrudan gerçekleştiremez
    • Ayrıcalıklı alan (çekirdek modu): Programlar sistem çağrıları yoluyla çekirdekten iş yapmasını ister; çekirdek kodu işlemi yürütür ve sonucu kullanıcı moduna döndürür
  • Çoğu işletim sistemi monolitik çekirdek tasarımını kullanır:
    • Çekirdek, sistemdeki tüm donanıma, belleğe ve kullanıcı verilerine sınırsız erişim yetkisine sahiptir
    • Yazılım kusursuz olsa ve güvenlik ihlali girişimleri olmasa sorun olmazdı; ancak pratikte hatalar ve güvenlik açıkları vardır
    • Monolitik çekirdeğin büyük boyutu güvenlik açığı oluşma olasılığını artırır ve tek bir açık tüm sistemin tehlikeye girmesine yol açabilir
  • Mikroçekirdek tasarımı güvenliği artırmak için işlevlerin çoğunu çekirdekten çıkarıp ayrı ayrıcalıksız süreçlere taşır:
    • Güvenliği artırabilir
    • Performans düşüşü ve uygulama yazılımında karmaşıklık artışı gibi sorunlar doğurabilir
    • Buna rağmen performans avantajları nedeniyle monolitik çekirdekler hâlâ yaygın biçimde kullanılmaktadır
  • Apple'ın XNU çekirdeği:
    • iOS, macOS, tvOS, visionOS ve watchOS'ta ortak kullanılan çekirdektir
    • Mach tabanlı bir mikroçekirdek olsa da, sistem işlevlerinin çoğu aynı ayrıcalık kapsamı içinde çalıştığı için fiilen monolitik çekirdek gibi davranır
    • Bu nedenle monolitik çekirdeklerle aynı tür güvenlik zafiyetleri ortaya çıkabilir

Yalıtım çabaları

  • Yazılım ve donanım tabanlı yalıtım tekniklerinin uygulanması çeşitli şekillerde denendi:
    • Microsoft Virtualisation-based Security (VBS) – Windows Credential Guard'da kullanılır
    • Intel Software Guard Extension (SGX) ve VT-X2
    • ARM TrustZone – Samsung Knox, Samsung Pay, Android Verified Boot, Android güvenli PIN girişi vb. yerlerde kullanılır

Apple da verileri çekirdekten ayırma yönündeki girişimlerini kademeli olarak genişletti

  • 2013 — Apple Secure Enclave

    • İlk olarak 2013'te iPhone 5s ile tanıtıldı
    • Secure Enclave, bağımsız ve güçlendirilmiş bir CPU çekirdeğinde çalışır ve mikroçekirdek tabanlı SepOS üzerinde işler
      • SepOS'un çekirdeği, Apple'ın özel L4 gömülü mikroçekirdeği cL4'ü kullanır
      • Kriptografik anahtarlar ve biyometrik veriler (ör. Face ID) gibi hassas verileri saklar ve korur
      • iOS çekirdeğinden bağımsız çalışır ve yalnızca güvenli etkileşimler üzerinden iOS'a hizmet sunar
      • iOS çekirdeği ele geçirilse bile ek bir exploit gerçekleşmediği sürece Secure Enclave etkilenmez
    • Secure Enclave ile Secure Exclave'in farklı kavramlar olduğuna dikkat edilmelidir
  • 2017 — Sayfa Koruma Katmanı (Page Protection Layer, PPL)

    • iPhone 8 ve iPhone X'in A11 işlemcisi ile sunulan bir güvenlik özelliği
    • Donanım + yazılım tabanlı bir özellik olarak, yalnızca çekirdeğin belirli bölümlerine bellek sayfa tablolarını değiştirme yetkisi verir
      • Çekirdeğin geri kalanında sayfa tablosu değiştirme yetkisi sınırlandırılır
      • Saldırı yüzeyi küçülür, bu da atlatma girişimlerini daha nadir hâle getirir
    • PPL ek bir koruma katmanı getirse de, çekirdeğin büyük bölümündeki yetkiler korunduğu için tam güvenlik güçlendirmesinde sınırlı kaldı
  • 2021–2023 — Güvenli Sayfa Tablosu İzleyicisi (Secure Page Table Monitor, SPTM)

    • iPhone 13'ün A15 işlemcisi ve iOS 17 ile gelen yeni bir özellik
    • PPL'nin yerini alır, ek bellek işlevlerini korur ve bunları birden çok alt sisteme ayırır
    • Kod imzası doğrulamasını ve yalnızca Apple tarafından imzalanmış kodun çalışmasını sağlayarak güvenliği artırır
    • Bu dönemde XNU kaynak kodunda exclave ile ilgili dolaylı referanslar görünmeye başladı
      • SPTM'nin yönettiği alt sistemlerin exclave olabileceği öne sürüldü
  • 2024 — Exclave: XNU'nun güvenlik modelinde büyük yeniden yapılanma

    • M4 ve A18 işlemcilerini destekleyen XNU kaynak kodunda exclave kavramı ortaya çıktı
    • Önceki işlemcilerde exclave etkinleştirilmiyor
    • Exclave'in, XNU'nun güvenlik modelinin kapsamlı biçimde yeniden tasarlanmasının sonucu olduğu netleşti
  • XNU Exclave'leri

    Sorumluluk reddi: Exclave'lerin iç yapısı tamamen açık kaynak olmadığı için bazı kısımlar tahmin veya yorum olabilir

    • Exclave'ler, XNU'nun mevcut monolitik çekirdek güvenlik modelini ciddi biçimde güçlendiren yeni bir özellikler kümesidir
    • Exclave'ler XNU'dan yalıtılmış kaynaklardır ve çekirdek ele geçirilse bile korunur
    • Exclave'lerin özellikleri:
      • İşletim sistemi derleme aşamasında önceden tanımlanırlar
      • İsim veya kimlikle tanımlanırlar
      • Çeşitli türlerden oluşurlar
      • Önyükleme sırasında başlatılırlar
      • Bağımsız alanlar olarak düzenlenirler
      • SPTM, exclave belleğini exclave'e özel yeni bir sayfa türüyle korur
    • Exclave kaynak türleri
      • Paylaşımlı bellek tamponu – hem çekirdek hem de exclave tarafından erişilebilir
        • XNU içinde salt okunur veya okuma/yazma olarak ayarlanabilir
      • Ses tamponları ve sensörler – kamera ve mikrofon erişim göstergelerinin güvenliğini güçlendirir
      • Conclave – birden çok kaynağı kendi güvenlik alanı altında gruplar; bunu yöneten bir Conclave Manager bulunur
      • Hizmetler – XNU iş parçacıkları çağırdığında exclave içinde kod çalıştırır
  • Güvenli çekirdek — seL4 tabanlı mı?

    • Exclave hizmetlerinin XNU'dan bağımsız çalışabilmesi için yeni bir çekirdek olan Secure Kernel (SK) tanıtıldı
    • SK imaj dosyasında "cL4" sürüm dizesi görüldü
    • SK'nin, Apple'ın mevcut cL4 (L4 tabanlı) çekirdeğinden ziyade seL4 tabanlı olma olasılığı daha yüksek
      • XNU'nun SK ile iletişim kurarken kullandığı IPC yapısı seL4'ün yapısına benziyor
      • SK içinde kullanılan dizelerde seL4'te geçen kavramların (ör. capabilities, frames, untyped memory vb.) birçoğu bulunuyor
    • Apple'ın Nisan 2024'te seL4 Foundation'a katılması tesadüf olmayabilir
      • C1 işlemcisinin (Apple'ın yeni baseband yongası) çekirdeği de L4 tabanlı görünüyor
  • Güvenli dünya — ARM TrustZone?

    • SepOS ayrı bir işlemcide çalışırken SK yüksek hızlı uygulama işlemcisinde çalışır
    • Bunun için ek işlemci ayrıcalık seviyeleri gerekir → aşağıdakilerden biriyle gerçekleştirilmiş olabilir:
      • Sanallaştırma uzantısı desteği
      • Apple'ın SPTM uzantıları
      • En olası seçenek ARM TrustZone teknolojisinin kullanılmasıdır
    • TrustZone yapısı
      • Sistemi iki dünyaya ayırır:
        • Secure World – güvenli kod çalıştırır
        • Insecure World – normal kod çalıştırır (XNU ve iOS burada çalışır)
      • XNU kaynak kodunda TrustZone'un Secure World ve Insecure World'ü arasında geçişe dair çok sayıda referans bulundu
        • Apple, TrustZone'un önerdiği Trusted Application modeli yerine exclave hizmet modelini uyguluyor
      • SK, yalıtılmış bir ortamda exclave hizmetleri ve kaynakları sunarak güvenliği artırır
        • Secure World'den Insecure World'e kaçıp XNU'yu tehlikeye sokmak son derece zor görünüyor
    • RINGGATE
      • Apple'ın SPTM kullanarak Secure World ↔ Insecure World geçişini yönetiyor olması mümkün
      • Kod içinde bu geçiş "RINGGATE" olarak anılıyor

Sonuç

  • Exclave'lerin getirdiği anlam
    • İleri düzey tehdit aktörlerinin süregelen saldırılarına karşı Apple, işletim sisteminin güvenlik seviyesini artırmak için exclave'leri devreye aldı
    • Hassas kaynakların yalıtılmasıyla şu etkiler bekleniyor:
      • Saldırı yüzeyinin küçülmesi
      • Tek bir çekirdek açığının etkisinin azalması
  • Monolitik çekirdek savunması bitmeyen bir mücadeledir ve exclave'ler bunu çözmeye yönelik bir yaklaşımı temsil eder
    • Bunun uzun vadede doğru yön mü yoksa geçici bir çözüm mü olduğu belirsiz
    • Kişisel bir temenni → gelecekte CHERI ve ARM Morello tabanlı bir yeniden tasarım görmek 😊
    • Ancak şu an için bu, tüketici cihaz üreticileri arasında en büyük savunma girişimi
  • Bu yazı, hangi bileşenlerin somut olarak exclave'lere taşındığını net biçimde ele almıyor
    • Derleme imajlarına bakıldığında şu unsurların exclave içinde çalıştığı görülüyor:
      • Güvenli kamera/mikrofon göstergeleri
      • Apple Neural Engine (ANE) işlevlerinin bir kısmı
      • Bazı aygıt sürücüleri
      • Secure Enclave ile iletişim bileşenleri
  • Gelecekte daha fazla bileşenin exclave'lere taşınması mümkün görünüyor
    • Exclave'lerin güvenlik etkisi, bu taşıma çalışmalarının optimizasyon düzeyine bağlı olacak
  • Exclave'lerin Apple Private Cloud Compute altyapısında kullanılması mümkün olabilir
    • Bulut tabanlı yapay zekada yüksek düzeyde güvenlik ve gizlilik sağlayabilir

1 yorum

 
GN⁺ 2025-03-10
Hacker News görüşleri
  • Apple’ın en yeni SoC’leri iç içe sanallaştırmayı destekliyor ve M4 iPad Pro’da kamera LED’i için bir exclave kullanılıyor
    • Apple Platform Security kılavuzunun bir sonraki revizyonunda SK exclave ve Wi‑Fi radar algılama için baseband azaltımı konularının ele alınması umuluyor
  • Apple’ın SPTM için yaptığı bazı özel eklemeler var
    • XNU, mikro çekirdekten ilham alan bir mimariye doğru yeniden düzenleniyor; amaç kod tabanını küçültmek ve güvenliğe duyarlı işleri ayırmak
    • Bellek alanı yalıtımı, Secure Page Table Monitor (SPTM) yardımıyla gerçekleştiriliyor
    • Kod imzalama, yetki doğrulama, geliştirici modu, kısıtlı yürütme modu gibi güvenliğe duyarlı işler Trusted eXecution Monitor (TXM) tarafından ele alınıyor
  • Bunun büyük olasılıkla ARM’in TrustZone teknolojisi üzerinden yapıldığı düşünülüyor
    • XNU kaynak kodunda TrustZone’un secure world kavramına geçişle ilgili çeşitli referanslar bulunuyor
    • 150’den fazla TrustZone CVE’si mevcut
  • Google birkaç yıl önce Pixel’de donanım destekli iç içe sanallaştırma kullanarak pKVM’i uyguladı ve kodu Linux mainline’a upstream etti
    • Ancak Debian "Linux Terminal" VM dışında pKVM/AVF kullanan herhangi bir savunma özelliği duyurulmadı
  • Steve, dizüstü bilgisayarların bir günlük olduğuna inanıyordu ve bunun sorumluluğunu taşıdığını düşünüyordu
    • Tim, Steve’in bu inancını paylaşmasaydı CEO olmazdı
    • Steve’i özleyenler olduğu ifade ediliyor
  • Apple, XNU çekirdeğini exclave olarak yeniden yapılandırıyor
    • Bu yazının yazarı son derece incelikli ve iyi yazılmış bir metin ortaya koymuş
    • Exclave’i takip eden biri olarak bunun iyi yazıldığını düşünüyor
  • Bu düzeyde bilgiye aşina değilim, ancak enclave’in kendisine saldırarak çekirdekten daha yüksek ayrıcalık elde etmenin mümkün olup olmadığını merak ediyorum
    • Bu donanımın bir yardımcı işlemci gibi bir şey olup olmadığını merak ediyorum
  • Bunun macOS güvenliği üzerindeki etkisinin ne olacağı merak ediliyor
    • Apple belgelerine göre SPTM kullanılmıyor
    • Şu anda kamera göstergesini gösteren exclave macOS için geçerli değil, ancak gelecekte olabilir
  • Apple kendi "plantation"ını korumakta çok iyi
    • Ama kullanıcıyı Apple’dan koruyan şeyin ne olduğu merak ediliyor
    • "son geohot" ihtimali üzerine hiç düşünülüp düşünülmediği soruluyor
  • Apple, güvenli dünya ile güvenli olmayan dünya arasındaki geçişleri yönetmek için SPTM kullanıyor olabilir
    • Çünkü TrustZone yok