FBI, C ve C++ dillerini yasaklamak istiyor

Özel haber: CISA ve FBI, yazılım üreticilerine bellek güvenliği risklerini azaltmak için C ve C++ dillerinden vazgeçerek daha güvenli alternatiflere geçme çağrısında bulundu.Yüksek maliyet ve performans kaybı endişeleri, önerinin uygulanabilirliği üzerinde tartışmalara yol açıyor.

ABD Siber Güvenlik ve Altyapı Güvenliği Ajansı (CISA) ve FBI, yazılım güvenliğini artırmak adına uyarıda bulundu. Ajanslar, bellek güvenliği sağlamayan programlama dillerinin (C ve C++ gibi) güvenlik riskleri oluşturduğunu belirterek, yazılım üreticilerine bu dillerden vazgeçip, bellek güvenliği sağlayan Rust, Java ve Swift gibi alternatif dillere geçmeleri çağrısı yaptı. Bununla birlikte, bu öneri sadece güvenlik alanında değil, yazılım endüstrisinde geniş çaplı tartışmalara yol açtı. 

Ürün Güvenliği Kötü Uygulamaları (Product Security Bad Practices) başlıklı bir raporda, yazılım üreticilerine, bu dillerden vazgeçip, Rust, Java ve Swift gibi bellek güvenliği sağlayan alternatifleri kullanmaları önerildi. Bu öneri, ulusal altyapı ve güvenliği koruma amacı taşıyor.

CISA, şirketlerin 1 Ocak 2026’ya kadar mevcut kod tabanlarını bellek güvenliği sağlayan dillere dönüştürme planlarını oluşturmasını istiyor. Ancak bu öneriye karşı sektörde şüpheler var. Yüksek başlangıç maliyetleri, zaman ve finansal yatırım, şirketlerin değişime yönelmesini zorlaştırıyor. Birçok şirket, hızdan ödün vermek yerine mevcut hızda devam etmeyi tercih edebiliyor.

Bellek güvenliği ve performans endişeleri

C ve C++ gibi dillerde bellek tahsisi geliştiricinin kontrolünde olması sebebiyle, hatalı bellek kullanımı ciddi güvenlik açıklarına yol açabiliyor. CISA’nın raporuna göre, bellek güvenliği hataları, güvenlik açıklarının yüzde 70’ini oluşturuyor. Bu da, siber saldırganların sistemlere sızmak için bu tür açıkları istismar edebileceği anlamına geliyor. Ancak, CISA ve FBI’ın bu tür dillerin kullanımını yasaklama çağrısı, teknoloji dünyasında büyük bir karşıtlıkla yüz yüze.

Yazılım geliştirme topluluğunda, özellikle performansa duyarlı alanlarda, C ve C++’ın hala hız ve verimlilik açısından üstün olduğu görüşü hakim. Yeni dillerin, bu hızdan ödün verdiği düşüncesi de geçişi zorlaştırıyor. Geliştiriciler, yıllardır kullandıkları dillerden vazgeçip, yeni ve öğrenilmesi zaman alacak bir dil olan Rust’a geçmenin gereksiz olduğunu savunuyor.

“Güvenlik açıkları işletim sistemlerinde”

Bellek güvenliği sağlamayan dillerde, hafıza tahsisini yönetme sorumluluğu geliştiricinin üzerine düşüyor. Bu durum, tampon taşmaları (buffer overflow) ve serbest bırakıldıktan sonra kullanma (use-after-free) gibi güvenlik açıklarına yol açabiliyor. Bu açıklar, siber saldırganlar tarafından istismar edilerek sistemlerin ve verilerin ele geçirilmesine olanak tanıyabiliyor.

Performans da başka bir önemli engel olarak öne çıkıyor. C ve C++, hız ve verimlilik açısından tercih edilen diller. Bu diller, sistem düzeyindeki programlamada hala en hızlı sonuçları veren seçenekler olarak yerini koruyor. Bellek güvenliği sağlayan diller ise çoğunlukla performans açısından bu hızdan ödün veriyor. Bu durum, özellikle performansa odaklanmış geliştiriciler için geçişi daha da zorlaştırıyor.

Doç. Dr. Ali Haydar Özer

Bilgisayar yazılımlarının farklı programlama dillerinde yazılabildiğini belirten Marmara Üniversitesi Bilgisayar Mühendisliği Bölümü öğretim üyesi Doç. Dr. Ali Haydar Özer,  bu dillerin özelliklerini şöyle açıklıyor:

“Temel yazılımlar genellikle C ve C++ gibi dillerle yazılır. Bu dillerin en büyük avantajı hız ve esneklik sunmalarıdır. Ancak bu esneklik, bellek kullanımının tamamen programcının kontrolüne bırakılmasıyla birlikte gelir. “

Bellek bölgelerinin yanlış kullanımının güvenlik açıklarına neden olduğunu söyleyen Özer “C ve C++’ta, her program kendine ayrılan belleği kullanacak şekilde yazılır, ancak bellek bölgelerinin yönetimi, programcının tecrübesine bağlıdır. Dikkatsizlik sonucu, bellek bölgelerinin yanlış kullanımı, örneğin bin yerine iki bin sayıyı bellekte yazma gibi hatalar, güvenlik açıklarına yol açabiliyor. İşletim sistemi bu hataları sınırlı bir şekilde engelleyebilir, fakat denetim katı değildir, bu da ciddi güvenlik risklerine neden olabilir.” ifadelerini kullanıyor.

Dayatmak çözüm mü? 

CISA ve FBI, bellek güvenliği sağlamayan dillere karşı daha sıkı bir tutum sergilerken, hükümetlerin bu tür dilleri yasaklamaya yönelik adımlar atması gerektiği vurgulanıyor. Ancak, bazı uzmanlar ve geliştiriciler, bu tür bir zorlamanın teknoloji sektörüne daha fazla zarar verebileceği görüşünde. 

Özer, hükümetin bu konuda daha temkinli olması gerektiğini belirterek “Açık kaynaklı yazılımları teşvik etmek, zorlamak yerine daha sağlıklı bir yaklaşım olabilir. Yasaklar, beklenmedik güvenlik açıklarına ve performans sorunlarına yol açabilir.” ifadelerini kullanıyor.

Yazılım şirketlerinin hükümet tarafından regüle edilmesinin de doğru bir yaklaşım olmayacağını düşünen Özer bu tür zorlamaların, özellikle deneyimli yazılımcılar için ekstra bir yük yaratacağını belirtiyor: 

“Linux ve Windows gibi büyük işletim sistemleri hala C ve C++ kullanıyor. Hükümet, bunları yasaklayacaksa bunun yerine alternatif bir çözüm sunması gerekir”.

Bazı uzmanlar, geçişin doğrudan bir zorlamayla yapılmasının doğru olmayacağına dikkat çekiyor. Yeni bir yazılım diline geçişin, yalnızca öğrenme süresi açısından değil, aynı zamanda mevcut yazılımlarla uyumluluk sağlamak açısından da zorlu bir süreç olduğunu vurguluyorlar. 

Özer, hükümetin bu değişimi teşvik etmesi gerektiğini belirterek  “Güvenlik önlemleri elbette önemlidir, ancak bunu dayatma yoluyla değil, sektördeki mevcut tecrübeleri ve iş yükünü göz önünde bulundurarak teşviklerle sağlamak daha verimli olacaktır.” şeklinde konuştu.

Kaynak: 2N News