Linux çekirdeği stabil sürüm bakımcısı Greg Kroah‑Hartman, Rust Week konferansında yaptığı konuşmada, “Güvenilmeyen veriler ve Linux üzerine konuşmak için buradayım; Rust bizi kurtaracak” ifadelerini kullandı. AI temelli hata tespit araçlarının ortaya çıkardığı ciddi güvenlik açıkları (Dirty Frag, Copy Fail, Fragnesia gibi) nedeniyle Linux çekirdeği her gün ortalama 13 CVE’ye sahne oluyor.
Kroac‑Hartman, C dilinin klasik hata‑yönetimi ve kaynak‑paylaşımı tuzaklarının büyük bir kısmını Rust ile ortadan kaldırabileceğimizi belirtti. Örneğin, kernel içinde 15 yıllık bir Bluetooth hatası, bir işaretçiyi kontrol etmeden kullanıyordu; Xen sürücüsünde ise hata yolunda kilit açmayı unuttuğumuz bir durum vardı. Bu tip ufak ama birikerek kernel çöküşlerine yol açan hatalar C’nin doğasında var ve Rust, bu hataları yapı‑zamanı (compile‑time) yakalıyor.
Rust’un kilit (lock) soyutlamaları sayesinde, bir yapının iç işaretçilerine yalnızca kilit alındığında erişim sağlanıyor ve kilit otomatik olarak serbest bırakılıyor. Derleyici bu kurala uymayan kodu derlemez, bu da kernel’deki hataların %60’ını ortadan kaldırıyor.
Kroac‑Hartman, Rust’un varlığı sayesinde C kodunda da “scoped lock” ve “guard” gibi yeni koruma mekanizmaları geliştirildiğini vurguladı. 5 000’den fazla geliştirici ve sadece 700 bakımcı arasında kod inceleme zamanı kritik bir kaynak; Rust‑temelli kalıplar kodun doğru olduğunu hemen gösteriyor, böylece inceleme süreci kısalıyor.
Rust‑for‑Linux ekibi, sürücü arayüzlerini yeniden tasarlayarak C‑Rust sınırını sadeleştirdi. Çift taraflı bir değişiklikle, iki satır C kodunu yönetmek için yüzlerce satır Rust kodu yazmak yerine, C kodunu Rust’a uygun hâle getirerek geliştirme sürecini hızlandırıyorlar.
Güvenilmeyen veri konusuna gelince, Kroac‑Hartman “tüm girişler kötüdür, doğrulanmalıdır” prensibini benimsiyor. Rust’da “untrusted” tip sarmalayıcısı ve explicit validation metodu sayesinde, veri güvenilir hâle gelene kadar derleyici uyarı veriyor; bu da inceleme noktasını tek bir yerde topluyor.
Donanımda da güven sorunları artıyor; kötü amaçlı donanım saldırılarına karşı veri akışını tip sistemiyle izlemek, mevcut CVE’lerin %80’ini ortadan kaldırabilir. Rust sihirli bir çözüm olmasa da, özellikle bellek hatalarını önlemede C’ye kıyasla çok daha sağlam bir çerçeve sunuyor.
Sonuç olarak, Rust hâlâ hatalı kod yazılabilen bir dil, ancak yapı‑zamanı denetimleri ve yeni C‑koruma mekanizmaları sayesinde Linux çekirdeğinin güvenliğini büyük ölçüde artıracak.
Yorum Yap