Windows Rust Tabanlı Çekirdek GDI Güvenlik Açığı Çökmeye ve Ölüm Hatasının Mavi Ekranına Yol Açıyor


Windows GDI Güvenlik Açığı BSOD Hatası

Microsoft’un Windows’taki Grafik Aygıt Arayüzü (GDI) için yeni uygulamaya koyduğu Rust tabanlı çekirdek bileşenindeki bir güvenlik açığı.

Mavi Ölüm Ekranı (BSOD) yoluyla sistem çapında bir çökmeyi tetikleyebilecek bu kusur, bellek açısından güvenli dilleri kritik işletim sistemi bileşenlerine entegre etmenin zorluklarını vurguluyor.

Her ne kadar Microsoft durumu orta şiddette olarak sınıflandırsa da sorun, saldırganların bunu yaygın bir kesinti için silah haline getirebileceği kurumsal ortamlardaki potansiyel risklerin altını çiziyor.

Güvenlik açığı, Check Point’in Windows grafik alt sisteminin zayıf noktalarını araştırmayı amaçlayan hedefli bir bulanıklaştırma kampanyası sırasında ortaya çıktı. Hataları açığa çıkarmak için yazılımı hatalı biçimlendirilmiş girdilerle bombalayan bir teknik olan fuzzing’in burada etkili olduğu kanıtlandı.

Kontrollü bir test kurulumunda WinAFL ve WinAFL Pet gibi araçları kullanan araştırmacılar, Gelişmiş Meta Dosya Formatı (EMF) ve EMF+ dosyalarının GDI’ya 2D grafikleri oluşturma konusunda talimat veren kompakt yapılarına odaklandı.

Genellikle belgelere veya görsellere gömülü olan bu dosyalar, karmaşıklıkları nedeniyle uzun süredir açıklardan yararlanmaya yönelik bir vektör olmuştur.

google

Yalnızca 16 çekirdek dosyayla başlayan fuzzer’lar, bilgi sızıntılarından kullanıcı alanı bileşenlerindeki kod yürütme risklerine kadar çeşitli çökmeleri hızla ortaya çıkardı.

Ancak asıl gelişme beklenmedik bir şekilde gerçekleşti: BugChecks’in çekirdek düzeyinde bir soruna işaret etmesinden sonra sistemin tekrar tekrar başlatılması. “Bulanıklaştırmanın Reddi” durumu olarak adlandırılan bu durum, testi durdurdu ve çekirdek adli bilişimine geçiş yapmaya zorladı.

Windows Rust Tabanlı Çekirdek GDI Güvenlik Açığı

Suçluyu izole etmek için Check Point, MemProcFS ve Volatilite kullanarak bellek dökümü analiziyle kurulumunu geliştirdi ve mutasyona uğramış dosyaları RAM disklerinden çıkardı.

836 örnekte çoğaltma süresini günlerden 30 dakikaya indirerek derlemi yinelemeli olarak geliştirdiler.

Akıllı bir donanım değişikliği, mutasyonları özel bir C işlevi ve Python dinleyicisi aracılığıyla uzaktaki bir sunucuya aktararak, kazayı tetikleyen 380.000’inci mutasyonu kesin olarak yakaladı.

Derin analiz, Microsoft’un GDI bölgeleri için Rust tarafından yeniden yazılan sürücüsü win32kbase_rs.sys’deki hatayı ortaya çıkardı.

NtGdiSelectClipPath’te yol-bölge dönüşümü sırasında, Region_from_path_mut()’taki sınır dışı dizi erişimi Rust’un panik_bounds_check()’ini çağırarak SYSTEM_SERVICE_EXCEPTION’a neden oldu.

Hizmet İstisnası
Hizmet İstisnası

Tetik mi? Eşleşmeyen nokta sayımlarına (4 olarak bildirilen 17 nokta) ve anormal koordinatlara sahip hatalı biçimlendirilmiş bir EmfPlusDrawBeziers kaydı, EmfPlusObject’in geniş vuruşlu kalemiyle birleştirildi.

Bu hatalı biçimlendirilmiş geometri, tek bağlantılı liste gösterimindeki sınırları atlayarak kenar blok işlemeyi vurguladı.

Basit bir PowerShell kavram kanıtı, istismarın erişilebilirliğini gösterdi: hazırlanmış meta dosyasını System.Drawing aracılığıyla bir Graphics nesnesine yerleştirmek, x86/x64 Windows 11 24H2’deki düşük ayrıcalıklı oturumlarda bile anında bir BSOD’ye yol açtı.

Uzaktan kod yürütmeyi doğrudan etkinleştirmese de, Cuma akşamı bir kuruluşta içeriden öğrenilen bir komut dosyasının çöktüğünü düşünün, güçlü bir hizmet reddi tehdidi oluşturuyordu.

Microsoft, OS Build 26100.4202’deki kusuru 28 Mayıs 2025’te KB5058499 önizlemesi aracılığıyla yayarak sürücüyü güçlendirilmiş mantıkla 16 KB genişletti.

Önemli değişiklikler arasında ikili kenar işleme rutinleri add_edge_original() ve bir özellik bayrağıyla sınırlanan, sınırları kontrol edilen add_edge_new() yer alıyordu. Haziran ayında tam dağıtım gerçekleşti, ancak ilk testler bayrağın devre dışı olduğunu gösterdi.

Check Point sorunu derhal bildirdi ancak Microsoft’un MSRC’si, Rust’un panik mekanizmasının tasarlandığı gibi davrandığını öne sürerek bunun kritik olmayan bir DoS olduğunu değerlendirdi.

Bu, BlueHat IL 2023’te güvenliği artırmak için tanıtıldığı gibi, entegrasyon sonrası ilk halka açık Rust çekirdeği hatalarından birine işaret ediyor. Rust taşmaları azaltırken tasarım kusurlarını veya eksik testleri ortadan kaldırmaz.

Windows bellek güvenliğine önem verdiğinden bu tür olaylar geliştiricilere şunu hatırlatıyor: Dil tek başına her derde deva değildir. “Evi havaya uçuran alarm sistemlerini” önlemek için kapsamlı bir tarama ve doğrulama hayati önem taşıyor.

Günlük siber güvenlik güncellemeleri için bizi Google Haberler, LinkedIn ve X’te takip edin. Hikayelerinizi öne çıkarmak için bizimle iletişime geçin.

googlehaberler



Source link