Haberler

ABD, Yazılımcılara Bellek Güvenliği Sağlayan Programlama Dillerini Tavsiye Etti

Amerika Birleşik Devletleri Siber Güvenlik ve Altyapı Güvenliği Ajansı (CISA) ile Ulusal Güvenlik Ajansı (NSA), yazılım geliştiricilere yönelik yeni bir rehber yayınlayarak bellek güvenliği sunan programlama dillerinin tercih edilmesi gerektiğini duyurdu. Kurumlar, yazılımlarda güvenlik açıklarının önemli bir kısmının bellek yönetimindeki hatalardan kaynaklandığını vurguladı.

C ve C++ Gibi Geleneksel Diller Tehlike Yaratıyor

İki kurumun ortak hazırladığı raporda, Rust, Go, Java, Swift, Python ve benzeri modern dillerin bellek güvenliğini desteklediği, bu nedenle kritik altyapılar ve güvenlik odaklı projelerde tercih edilmeleri gerektiği ifade edildi.

Rapor, C ve C++ gibi yaygın kullanılan ancak bellek güvenliği sağlamayan dillerin ciddi risk oluşturduğuna dikkat çekiyor. Bu dillerle yazılmış kodlarda geliştiricilerin statik analiz araçları kullanarak ya da en iyi uygulamaları izleyerek güvenlik sağlamaya çalıştığı belirtiliyor. Ancak birçok yazılım projesinde bu önlemler ihmal ediliyor. Ayrıca, bellek güvenliği sunan dillerle yazılmış projelere C/C++ kütüphanelerinin entegre edilmesi, dış fonksiyon arayüzleri (FFI) aracılığıyla bu güvenliği ortadan kaldırabiliyor.

Google ve Microsoft gibi büyük teknoloji şirketleri, son yıllarda ciddi güvenlik açıklarının çoğunun bellek güvenliği eksikliğinden kaynaklandığını açıkladı. Örneğin, 2018 yılında Android’deki yüksek önemdeki açıkların yüzde 90’ının, 2021’de Chromium’daki sorunların yüzde 70’inin bu nedene dayandığı tespit edildi.

OpenSSL’deki ünlü Heartbleed açığı da C dilinde yapılan bir bellek okuma hatasının sonucuydu. Haziran 2024’te yaşanan Google Cloud kesintisinin nedeni de boş bir değere yönelik yeterli hata denetimi yapılmaması olarak açıklandı.

Yazılım Dünyası Güvenli Dillere Yöneliyor

Son yıllarda teknoloji sektöründe bellek güvenliği sağlayan dillere yönelim hız kazandı. Microsoft 2022’de, yeni projelerin Rust gibi dillerle yazılması gerektiğini belirtti. 2023 yılında Consumer Reports bu konuda kapsamlı bir rapor yayınladı. CISA’nın eski direktörü Jen Easterly de kamuya açık konuşmalarında güvenli dillere geçişin önemine değindi.

Ancak geçiş süreci sancılı ilerliyor. Linux çekirdeğinde Rust tabanlı sürücülere geçiş denemeleri topluluk içinde tartışmalara yol açtı. C ve C++ geliştiricileri ise Safe C++ ve TrapC gibi projelerle kendi dillerine bellek güvenliği kazandırma çabası içinde.

Raporda, kurumların mevcut büyük kod tabanlarını kısa sürede dönüştürmesinin kolay olmadığı belirtiliyor. Özellikle kritik görevleri yerine getiren sistemlerin yeniden yazılması zaman ve kaynak gerektiriyor. Buna rağmen, bellek güvenliği sunan dillere geçişin uzun vadeli faydalarının ağır bastığı vurgulanıyor. Google, Android projesinde bu geçişin faydasını somut olarak gösterdi. 2024 yılı itibarıyla bellek güvenliği kaynaklı açıkların oranı yüzde 24’e kadar düştü.

CISA ve NSA, mevcut geçiş sürecini hızlandırmak için çeşitli devlet projelerinin sürdüğünü de duyurdu. Bu projeler arasında en dikkat çekeni DARPA’nın TRACTOR programı. Program, C diliyle yazılmış kodların Rust diline otomatik olarak çevrilmesini amaçlıyor. Princeton, UC Berkeley ve UC San Diego’dan araştırmacılar ise “Omniglot” adlı yeni bir sistem önerdi. Bu sistem, Rust kodlarının bellek güvenliği bozulmadan güvensiz kütüphanelerle iletişim kurmasına imkân tanıyor.

Rapor, güvenli yazılım geliştirme süreçlerinin ulusal güvenlik açısından taşıdığı öneme dikkat çekiyor. CISA ve NSA, yazılım sektöründen daha fazla iş ilanında bellek güvenliği sağlayan diller konusunda uzmanlık aramasını da talep ediyor. Ancak kurumlar, tüm sistemlerde bu dillere geçilmesinin mümkün olmadığını kabul ediyor. Mevcut sistemleri koruma zorunluluğu ve bazı özel kullanım alanlarının gereklilikleri bu geçişin önünde engel oluşturabiliyor.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu