Araştırmacılar Linux çekirdeğinde bir güvenlik açığı keşfettiler dmam_free_coherent()
DMA (Doğrudan Bellek Erişimi) tahsislerini serbest bırakırken ve ilişkili kaynakları yönetirken işlemlerin yanlış sırasının neden olduğu bir yarış durumundan kaynaklanan işlev.
Bu güvenlik açığı, donanım aygıtlarının CPU müdahalesi olmadan doğrudan sistem belleğine veri aktarmasına olanak sağlaması açısından DMA’nın hayati öneme sahip olması nedeniyle sistem kararsızlıklarına ve arızalara yol açabilir.
Aşağıdaki gibi bir güvenlik açığından yararlanmak: dmam_free_coherent()
Linux çekirdeğindeki bir fonksiyon genellikle yarış koşulundan faydalanmayı içerir; saldırganlar yarış koşulunun tetiklenebileceği bir senaryo yaratırlar.
DMA, donanım aygıtlarının CPU’yu dahil etmeden doğrudan sistem belleğine veri aktarmasını ve sistem belleğinden veri almasını sağlayan kritik bir mekanizmadır, böylece performansı artırır. Bu işlemdeki bir hata, yanlış bellek erişimine, veri bozulmasına, beklenmeyen davranışlara veya çökmelere yol açabilir.
The dmam_free_coherent
Bu fonksiyon, bir DMA tahsisini serbest bırakmaktan ve tahsisi izlemek için kullanılan ilişkili veri yapısını kaldırmaktan sorumludur.
Bir saldırgan, DMA belleğinin serbest bırakılması ve yeniden tahsis edilmesiyle aynı zamana denk gelecek şekilde işlemlerini dikkatlice zamanlayarak yarış koşulundan yararlanmaya çalışabilir.
Bu senaryo gerçekleşirse, devres_destroy
işlev yanlış girişi serbest bırakabilir ve bu da bir WARN_ON
iddiada bulunmak dmam_match
işlev.
The dmam_match
fonksiyonu genellikle Linux çekirdeğindeki Doğrudan Bellek Erişimi (DMA) yönetim alt sisteminin bir parçasıdır.
“Eğer bu gerçekleşirse, devres listesinde aynı vaddr’ye sahip iki giriş olacak ve devres_destroy() yanlış girişi serbest bırakarak dmam_match’te WARN_ON()’u tetikleyebilir.”
Bu işlem sırası, eşzamanlı bir görevin aynı sanal adrese sahip belleği tahsis edip, orijinal giriş kaldırılmadan önce izleme listesine eklediği bir yarış durumuna yol açabilir.
Rapora göre, “dmam_free_coherent() bir DMA tahsisini serbest bırakır, bu da serbest bırakılan vaddr’yi yeniden kullanıma hazır hale getirir, ardından devres_destroy()’u çağırarak DMA tahsisini izlemek için kullanılan veri yapısını kaldırır ve serbest bırakır. İki çağrı arasında, eşzamanlı bir görevin aynı vaddr ile bir tahsis yapması ve bunu devres listesine eklemesi mümkündür.”
Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Access
Yama – CVE-2024-43856
Greg Kroah-Hartman, Linux çekirdek güvenlik açığı için yeni bir yama yayınladı (CVE-2024-43856), DMA (Doğrudan Bellek Erişimi) tahsislerinin işlenmesinde olası bir hatayı gidermeyi amaçlamaktadır.
Google’dan Lance Richardson tarafından yazılan yama, dmam_free_coherent
DMA belleğini serbest bırakırken ve yeniden tahsis ederken olası sorunları önleme işlevi.
Richardson’ın yaması, fonksiyon çağrılarının sırasını değiştirerek bu sorunu çözer. Yama, izleme veri yapısının şu şekilde yok edilmesini sağlar: devres_destroy
DMA tahsisi serbest bırakılmadan önce dma_free_coherent
Bu değişiklik, eş zamanlı bir görevin temizleme sürecine müdahale etme olasılığını ortadan kaldırır.
Yama, Google’ın dahili “kokonut” ağ şifreleme projesinde test edildi ve Christoph Hellwig ile Sasha Levin tarafından onaylandı; bu da yamanın ana Linux çekirdeğine dahil edilmeye hazır olduğunu gösteriyor.
Bu arada dmam_free_coherent()
zafiyet kaynak yönetiminde bir yarış koşulunu içerir, bunu CPU belleğine keyfi veriler yazmak için kullanmak karmaşık olur ve belirli sistem yapılandırmalarına ve ek zafiyetlere oldukça bağımlı olur. Saldırganların bunu diğer zafiyetlerle birleştirmeleri veya böyle bir sonuca ulaşmak için sistem üzerinde kesin kontrole sahip olmaları gerekir.
Linux çekirdeği gelişmeye ve çok sayıda cihaza güç vermeye devam ederken, bunun gibi yamalar, geliştirici topluluğunun potansiyel hataları belirleyip düzeltme konusundaki devam eden çabalarını göstererek, dünya çapındaki kullanıcılar için daha istikrarlı ve güvenilir bir işletim sistemi sağlıyor.
Free Webinar on Detecting & Blocking Supply Chain Attack -> Book your Spot