CISA: Memory Güvenli Kod kullanmayan en kritik açık kaynak projeleri

2 yıl önce

ABD Siber Güvenlik ve Altyapı Güvenlik Ajansı (CISA), 172 önemli açık kaynaklı projeye ve hafıza kusurlarına duyarlı olup olmadıkları araştırmalar yayınladı.

Cisa, Federal Soruşturma Bürosu (FBI) ve Avustralya (ASD, ACSC) ve Kanada organizasyonları (CCC'ler) tarafından yapılan rapor, Aralık 2023'te yayınlanan 'Bellek Güvenli Yol Haritaları Davası' nın bir takibidir. , bellek güvenli kodun önemi hakkında farkındalık yaratmayı amaçlamaktadır.

Bellek güvenli diller, arabellek taşmaları, bundan sonra kullanım ve diğer bellek yolsuzluk türleri gibi yaygın bellekle ilgili hataları önlemek için tasarlanmış dillerdir.

Güvenli bellek tahsisi ve dağıtma mekanizmaları uygulamak için programcıya güvenmek yerine otomatik olarak bellek yöneterek bunu başarırlar.

Güvenli bir dil sisteminin modern bir örneği, veri yarışlarını ortadan kaldıran Rust's Borrow Checker'dır. Golang, Java, C#ve Python gibi diğer diller, sömürüyü önlemek için otomatik olarak serbest belleği geri kazanarak çöp toplama yoluyla hafızayı yönetir.

Hafıza-safin dilleri, geliştiriciyi bu sorumlulukla yükleyen ve hata olasılığını artıran yerleşik bellek yönetimi mekanizmaları sağlamayan dillerdir. Bu tür vakaların örnekleri C, C ++, Objective-C, montaj, Cython ve D.

Raporda, yarısından fazlasının bellek-safe kod içerdiğini tespit eden 172 geniş kapsamlı açık kaynak projesini inceleyen araştırmalar sunuyor.

Raporda sunulan temel bulgular aşağıdaki gibi özetlenmiştir:

İncelenen setten bazı önemli örnekler Linux (güvenli olmayan kod oranı%95), TOR (güvenli olmayan kod oranı%93), krom (güvenli olmayan oranı%51), MySQL Server (güvenli olmayan oranı%84), glibc (oranı%85), REDIS (oranı%85), SystemD (%65) ve elektron (%47).

CISA, yazılım geliştiricilerinin genellikle kaynak kısıtlamaları ve performans gereksinimleri gibi bellek-saf olmayan dilleri kullanmaya zorlayan birçok zorlukla karşılaştığını açıklıyor.

Bu özellikle ağ, kriptografi ve işletim sistemi işlevleri gibi düşük seviyeli işlevleri uygularken doğrudur.

Raporda, "Birçok kritik açık kaynak projesinin kısmen bellek-safe dillerinde yazıldığını gözlemledik ve sınırlı bağımlılık analizi, projelerin bellek-safe dillerinde yazılan kodları bağımlılıklar yoluyla devraldığını gösteriyor."

"Performans ve kaynak kısıtlamalarının kritik faktörler olduğu durumlarda, bellek-saf olmayan dillerin sürekli kullanımını gördük ve bekliyoruz."

Ajans ayrıca, geliştiricilerin bellek güvenliği özelliklerini, hatayla veya bilerek, belirli gereksinimleri karşılamak için devre dışı bırakma sorununu vurgulamaktadır ve bu da teorik olarak daha güvenli yapı taşları kullanırken bile risklere neden olur.

Nihayetinde CISA, yazılım geliştiricilerinin Rust, Java gibi bellek güvenli dillerde yeni kod yazmasını ve mevcut projeleri, özellikle kritik bileşenleri bu dillere geçmesini önerir.

Ek olarak, bellek güvenliği sorunlarını tespit etmek ve ele almak için güvenli kodlama uygulamalarını takip etmeniz, bağımlılıkları dikkatlice yönetmesi ve denetlenmesi ve statik analiz, dinamik analiz ve Fuzz testi dahil sürekli test yapılması önerilir.

CISA, yazılım geliştiricilerini ot yolunu geçiş güvenlik açıklarını ayıklamaya çağırıyor

Kimyasal tesisler CISA CSAT ihlalinde olası veri hırsızlığı konusunda uyarıldı

CISA aktif olarak sömürülen Linux ayrıcalık yükseklik kusuru konusunda uyarıyor

Cisa, hackerların kromdan yararlanması konusunda uyarıyor, EOL D-Link Bugs

Kritik GitLab Hata, saldırganların herhangi bir kullanıcı olarak boru hatlarını çalıştırmasına izin verir

Kaynak: Bleeping Computer

More Posts