Google güvenlik açıkları için hamle yaptı
Google, bellek açıklarındaki büyük düşüş için Rust'a geçiyor. Google, bellek güvenli bir programlama dili olan Rust'ı, Güvenli Kodlama girişiminin bir parçası olarak güvenlik açıklarını azaltma becerisinde önemli bir faktör olarak görüyor.
Bellek erişimi güvenlik açıkları genellikle bellek güvenliği olmayan programlama dillerinde ortaya çıkar. 2019'da bellek güvenliği sorunları tüm Android güvenlik açıklarının %76'sını oluşturuyordu.
Buna karşılık, birçok geliştirici ve teknoloji devi, tasarım gereği güvenli yazılım ve teknoloji üretmelerine yardımcı olan bellek güvenli dilleri kullanmaya doğru ilerliyor.
Paslanan güvenlik açıkları
Google blogunda, beş yıllık bir süre boyunca yeni projelerde ve geliştirmelerde bellek güvenli kodun kademeli olarak kullanılması yoluyla bellek güvenli dillere geçişin bir simülasyonunu sundu.
Sonuçlar, bellek güvenli olmayan dillerde yazılan kodun kademeli olarak artmasına rağmen, bellek güvenliği güvenlik açıklarının önemli ölçüde azaldığını göstermişti.
Google bunun nedeninin güvenlik açıklarının katlanarak azalması olduğunu söylüyor. Bellek açısından güvenli olmayan dillerde yazılan yeni kodlar genellikle hatalar ve güvenlik açıkları içerir, ancak kod gözden geçirilip yenilendikçe güvenlik açıkları kademeli olarak giderilir ve kod zamanla daha güvenli hale gelir.
Dolayısıyla, güvenlik açıklarının ana kaynağı yeni koddur ve yeni projelere ve geliştirmelere başlarken bellek güvenli programlama dillerinin kullanımına öncelik verildiğinde, güvenlik açıklarının sayısı önemli ölçüde azalır.
Google'ın bellek güvenli programlama dillerini kullanmaya yönelik kendi değişiminde, bellekle ilgili güvenlik açıklarının sayısında önemli bir düşüş olmuştu. 2024'te bellek güvenli güvenlik açıkları %24'e düşmüştü.
Bununla birlikte, bellek güvenli dilleri kullanmak sihirli bir değnek değildir ve Google “geriye dönüp baktığımızda, kabul edilebilir bir risk düzeyine ulaşan gerçekten ölçeklenebilir ve sürdürülebilir bir çözüme henüz ulaşamadığımız açıktır” demektedir.
Bellek güvenliği açıklarına yaklaşım stratejileri, bellek güvenliği açıklarının yazılım üreticileri tarafından önceliklendirildiği ve diğer sorunların daha hızlı bir şekilde istismar edilmesine izin veren reaktif yama ile başladı.
İkinci yaklaşım, geliştiricilerin yürütme hızı, pil ömrü, kuyruk gecikmeleri ve bellek kullanımı pahasına yığın kanaryaları ve kontrol akışı bütünlüğü gibi hafifletmeleri dahil etmeye teşvik edildiği proaktif hafifletmeden oluşuyordu. Geliştiriciler ayrıca saldırganların güvenlik açıklarını yeni ve yaratıcı yollarla istismar etme becerilerine ayak uyduramadılar.
Üçüncü olarak, güvenlik açıklarının güvenli olmayan bellek belirtileri yoluyla takip edildiği 'fuzzing' yoluyla güvenlik açıklarının tespit edilmesine odaklanılan proaktif güvenlik açığı keşfi geldi. Ancak Google'ın da belirttiği gibi bu araçların kullanımı ekipler için verimsiz ve zaman alıcıdır ve genellikle birden fazla geçişte bile tüm güvenlik açıklarını tespit edemezler.
Bu nedenle Google'ın dördüncü taktiği, yüksek güvenceli önleme ve tasarımla güvenli geliştirme yapmaktır. Geliştiriciler, Rust gibi programlama dillerini kullanarak yazdıkları kodun özelliklerini bilir ve anlar ve bu özelliklere dayanarak güvenlik açıklarını çıkarabilir. Bu, bellek güvenliği sorunları dışındaki güvenlik açıkları da dahil olmak üzere güvenlik açıklarının sayısını en baştan azaltarak geliştiricilerin üzerindeki maliyeti azaltır. Bu kümülatif maliyet azaltımı, geliştiricileri daha üretken hale getirme gibi ek bir faydaya da sahiptir.
Güzel bir Pazar günü diliyorum.