Hükümet, C veya C++ programlama araçlarını durdurmanızı tercih eder. İçinde yeni raporBeyaz Saray Ulusal Siber Direktör Ofisi (ONCD), geliştiricilere, popüler dilleri hariç tutan bir kategori olan “bellek açısından güvenli programlama dilleri” kullanma çağrısında bulundu. Tavsiye, ABD Başkanı Biden’ın Siber Güvenlik stratejisinin bir parçası ve “siber uzayın yapı taşlarını güvence altına almaya” yönelik bir hamledir.
Bellek güvenliği, bellek erişimiyle ilgili hatalara ve güvenlik açıklarına karşı korumayı ifade eder. Arabellek taşmaları ve sarkan işaretçiler bunun örnekleridir. Java, çalışma zamanı hata tespit kontrolleri nedeniyle bellek açısından güvenli bir dil olarak kabul edilir. Bununla birlikte, hem C hem de C++, doğrudan bellek adresleri ve sınır denetimi olmadan keyfi işaretçi aritmetiğine izin verir.
2019’da Microsoft güvenlik mühendisleri, güvenlik açıklarının yaklaşık %70’inin bellek güvenliği sorunlarından kaynaklandığını bildirdi. Google, 2020’de aynı rakamı bu kez Chromium tarayıcısında bulunan hatalar için bildirdi.
Raporda, “Uzmanlar, hem bellek güvenliğiyle ilişkili özelliklere sahip olmayan, hem de C ve C++ gibi kritik sistemlerde yüksek oranda çoğalan birkaç programlama dili belirlediler” deniyor. “Başlangıçta, Siber Güvenlik ve Altyapı Güvenliği Ajansı’nın (CISA) önerdiği şekilde, bellek açısından güvenli programlama dillerini kullanmayı seçmek.
Açık Kaynak Yazılım Güvenliği Yol Haritası, tasarımı gereği güvenli bir şekilde yazılım geliştirmenin bir örneğidir
19 sayfalık raporun amacı, siber güvenlik sorumluluğunun yalnızca bireylerin ve küçük işletmelerin elinde olmamasını sağlamaktır. Bunun yerine sorumluluk daha büyük kuruluşlara, teknoloji şirketlerine ve nihayetinde hükümete aittir.
Raporda, “güvensiz” olarak değerlendirilen programlama dilleri C ve C++ ayrıntılı olarak anlatılıyor. Programlama dillerinin artılarını ve eksilerini tartışmak için burada değiliz, ancak raporun onların yerine belirli bir dil önermediğini görmek ilginç. bize “kullanılabilecek ve kullanılması gereken düzinelerce hafıza korumalı programlama dili” olduğu söylendi.
ONCD, kötü niyetli aktörlerin saldırabileceği saldırı yüzeyini azaltmak için şirketlerden ve sonuçta mühendislerinden yazılımdaki en iyi uygulamaları benimsemelerini ve bellek korumalı donanımları benimsemelerini istedi. Raporun kendisi, bellek açısından güvenli programlama dillerinin ne olduğunu düşündüğü konusunda ayrıntılı bilgi vermedi.
Kasım 2022’de Ulusal Güvenlik Ajansı (NSA) bir yayınladı. siber güvenlik bilgi sayfası bellek açısından güvenli olduğunu düşündüğü programlama dillerini ayrıntılı olarak açıkladı.
NSA’nın Önerilen Bellek Güvenli Programlama Dilleri
- Pas
- Gitmek
- C#
- Java
- Süratli
- JavaScript
- Yakut
Önerilen programlama dilleri ne kadar popüler? Kontrol etmek TIOBE endeksiProgramlama dili popülerliğinin bir göstergesi olan Python’un bir numarada olduğunu görüyoruz. NSA’nın tercih ettiği seçeneklerden beşinci sırada C#, dördüncü sırada Java, altıncı sırada JavaScript ve sekizinci sırada Go yer alıyor. Arkada ise 16 yaşında Swift, 18 yaşında Rust ve 20 yaşında Ruby var. NSA’nın seçtiği diller ilk 20’de yer alıyor ancak yedi dilden yalnızca dördü geliştiriciler arasında “popüler”.
Raporda ayrıca yazılım güvenliğinin daha iyi ölçülmesi çağrısı da yapılıyor. ONCD, daha iyi ölçümlerin teknoloji sağlayıcılarının sorunlar bir soruna dönüşmeden önce daha iyi plan yapma, öngörme ve azaltma olanağı sağladığına inanmaktadır.
Raporun ikinci bölümünde (sayfa 8), NASA’nın “başarılı bir başarısızlık” olarak sınıflandırdığı Apollo 13 misyonu hatırlatılıyor. Misyon, üç astronotun eve güvenli bir şekilde dönmek için doğaçlama onarımlar yapması ve bir dizi sorunu hafifletmesiyle sonuçlanan feci bir başarısızlıkla karşılaştı. Bellek açısından güvenli kod ihtiyacı aynı zamanda uzay programını da etkiliyor ve rapor, gelecekte bir olayla karşılaşmamak için çekirdeğe mümkün olduğunca yakın olan bellek açısından güvenli bir dilin kullanılması gerektiğinin ayrıntılarını veriyor.
Bu rapor, ABD hükümetinin attığı bir dizi adımın sonuncusudur. Mart 2023’te Başkan Biden bir siber güvenlik yönetim emri imzaladı [PDF] Bu, yazılım ve donanımın güvenliğini sağlamaya yönelik süreçleri başlatırken aynı zamanda teknoloji endüstrisindeki ilişkileri de güçlendirdi.
Dünyamızın gittikçe daha fazla kısmı önce dijital hale geldikçe, daha iyi kodlamaya duyulan ihtiyaç daha da önemli hale geliyor. Kötü kod, zayıflıklardan yararlanmak için kötü niyetli olarak kullanılabilir. Raporda, Aralık 2021’deki Log4j güvenlik açığı vurgulanıyor. Açık kaynaklı bir Java günlük kaydı kitaplığı olan Log4j, adı verilen sıfır gün güvenlik açığı aracılığıyla kullanıldı. Log4Shell