Herkese merhaba ve ZDNet’in günlük editoryal podcast’i ZD Tech’e hoş geldiniz. ben Guillaume Serisi ve bugün sana açıklıyorum NSA neden kodunuzun güvenliğini artırmak için programlama dilinizi değiştirmenizi istiyor?.
Bu, ana Amerikan istihbarat teşkilatı olan NSA’nın geliştiricilere iletmek istediği bir mesajdır. C ve C++ dillerine bir son vermeliyiz. Neden o zaman ? Çünkü bu diller, bilgisayar belleğini kullanan bilgisayar saldırılarına izin verme olasılığı yüksektir.
C veya C++ olmadan gitmek, C#, Go, Java, Ruby, Rust ve hatta Swift’e yeniden yönelmek anlamına gelebilir. Ve bu diller zaten kendilerini kanıtlamıştır.
Java ve Swift şimdiden kendilerini kanıtladılar
Bir örnek ? Java, iş dünyasında ve Android uygulama geliştirme için en yaygın kullanılan dildir. Başka bir örnek ? Swift, özellikle iOS altında geliştirilen uygulamalar sayesinde en çok kullanılan programlama dilleri arasında ilk 10’da yer alıyor.
ABD casus teşkilatı, Google ve Microsoft tarafından yapılan son araştırmalara göre Chrome tarayıcı ve Windows işletim sistemindeki güvenlik sorunlarının %70’inin C programlama dilleri ve C++ ile zayıf bellek yönetimiyle ilgili olduğunu belirtiyor.
Geriye C ve C++’ın neden bellek sorunları olduğu sorusu kalır. NSA, “Bellek referansları üzerinde gerekli kontrolleri yapmak için programcıya büyük ölçüde güvenirken, bellek yönetiminde çok fazla özgürlük ve esneklik sunuyorlar” diyor. Bu nedenle ajans, mümkün olduğunda güvenli bir bellek dili kullanılmasını önerir.
Ama Rust’ın tercihi var gibi görünüyor.
Ve Rust dili, C ve C++’ın “değiştirilmesi” için ana aday gibi görünüyor.
Linux çekirdeği de yakın zamanda Rust’ı C’den sonra ikinci dil olarak tanıttı. Rust’ta geliştirilen bu projeler eski C veya C++ kodunun yerini almayacak. Evet, bunlar bu yeni dilin tercih edeceği yeni projeler.
Microsoft’ta aynı hikaye. Microsoft Azure CTO’su Mark Russinovich kısa süre önce tüm geliştiricileri tüm yeni projeler için Rust over C ve C++ kullanmaya çağırdı.
Ya C++’ı daha iyi kullansaydınız?
Bununla birlikte, bellek için güvenli bir dilin kullanılmasının, yazılıma bellek hatalarının eklenmesini varsayılan olarak engellemediği anlaşılmalıdır. Ek olarak, diller genellikle bellek için güvenli dillerde yazılmamış kitaplıklara izin verir.
Son olarak NSA, önerilen bazı dillerin bir performans maliyeti olabileceğini belirtiyor. Dolayısıyla bu durumda geliştiriciler, bellek açısından güvenli olmayan dillerin güvenliğini artırmak için adımlar atabilir.
Örneğin Google’ın Chrome ekibi, C++ dilini sağlamlaştırmak için çeşitli yöntemler araştırıyor. Görünüşe göre C++, yakın gelecekte Chrome’un kod tabanında kalacak.