1 puan yazan GN⁺ 2024-08-10 | Henüz yorum yok. | WhatsApp'ta paylaş

CVE-2023-2163: eBPF Linux çekirdek açığının keşfi ve düzeltilmesi

Arka plan

  • eBPF, karmaşık çekirdek modülleri yazmadan Linux çekirdeğinin işlevlerini çalışma zamanında genişletmeyi sağlayan bir teknolojidir.
  • eBPF programları belirli olaylar gerçekleştiğinde çalışır ve yüklenmeden önce güvenlik açısından doğrulanmaları gerekir.
  • Doğrulayıcı (verifier) karmaşık koddan oluşur ve içinde birçok açık bulunmuştur.
  • Google, eBPF doğrulayıcısını otomatik olarak denetleyen Buzzer adlı bir fuzzer geliştirdi.

Buzzer işaretçi aritmetiği stratejisi

  • Buzzer, eBPF için mantıksal hataları tetiklemeyi amaçlayan stratejiler kullanan yeni bir fuzzer'dır.
  • İşaretçi aritmetiği stratejisi şu adımlardan oluşur:
    1. Register'ları rastgele değerlerle başlatan bir header oluşturma
    2. Rastgele aritmetik ve atlama komutları üretme
    3. Rastgele bir register seçip eBPF map öğesine ait işaretçiyle toplama işlemi yapma
    4. İlgili öğeye sihirli bir değer yazma

eBPF yol budama

  • eBPF doğrulayıcısı, bir programın güvenli şekilde çalıştırılıp çalıştırılamayacağını kontrol eder.
  • Koşullu ifadeler olduğunda tüm olası durumları simüle eder.
  • Çok sayıda koşullu atlama olduğunda performansı artırmak için yol budama stratejisi kullanılır.

Hata

  • CVE-2023-2163, yol budamayı daha verimli hale getirmek için "kesin izleme" kavramını tanıttı.
  • Hata, r9 register'ının r6'nın kesinliğine katkıda bulunduğunun gözden kaçırılması nedeniyle ortaya çıktı.

Exploit

  • CVE-2023-2163 istismar edilerek keyfi okuma/yazma elde edildi ve LPE ile container escape gerçekleştirildi.
  • Başlıca adımlar:
    1. Keyfi okuma/yazma elde etme
    2. Süreç kimlik bilgilerini bulup yetkileri yükseltme

Düzeltme

  • CVE-2023-2163'ü düzeltmek için, kesin register'ları etkileyen işlemlerde kesin olmayan register'lar da kesin olarak işaretlendi.
  • Performans üzerindeki etkisi net değil, ancak ek bir sorun bulunmadı.

Geleceğe dönük fikirler

  • Doğrulama sürecinin karmaşıklığı nedeniyle eBPF programlarının güvenliğini sağlamak zordur.
  • Google bu sorunu Buzzer ile çözmeye çalışıyor ve açık kaynak topluluğunun katkılarını memnuniyetle karşılıyor.

GN⁺ özeti

  • Bu yazı, eBPF doğrulayıcısındaki bir açığın nasıl keşfedilip düzeltildiğini açıklıyor.
  • eBPF, çekirdek güvenliği araştırmalarında önemli bir teknoloji ve güvenliğini garanti etmek zor.
  • Google, eBPF doğrulayıcısındaki açıkları otomatik olarak denetlemek için Buzzer adlı bir fuzzer geliştirdi.
  • Yazı, güvenlik araştırmacıları ve geliştiriciler için faydalı olup eBPF gibi karmaşık sistemlerin güvenliğini sağlamaya yardımcı oluyor.
  • Benzer işleve sahip projeler arasında eBPF ile ilgili diğer fuzzer araçları da bulunuyor.

Henüz yorum yok.

Henüz yorum yok.