sudo başka kullanıcı adına kok yetkisi alınmasını, su ise doğrudan kok erişimi icin kullanılan komutlardır. Cok yaygın olarak kullanılmaktadırlar ancak ciddi sorunları bulunmaktadır.

İlk olarak sudo, Xorg veya Pulseaudio gibi yamalana yamalana, uzerine eklene eklene şişmiş bir kod obeğidir. Uygulamalara ozellik eklendikce kod sayısı artar. Kod sayısı coğaldıkca kodu yonetmek, kontrol etmek, guncellemek ve hatalarından ayıklamak zorlaşır. Google, Microsoft veya Adobe gibi şirketlerde yazılımlara karşı farklı bakış akışları ve fikirler olabilir ancak acık durumlarda acık kaynak yazılım dunyasında coğunlukla yapılan şey aynı işlevi yapan ve eskisinin eksiklerini kapatan sıfırdan yeni bir kod yazmaktır. Ornek olarak ekran sunucu protokolu olan Xorg'un cok eski bir yazılım olması, geliştirilmesinin zor olması, gunumuzun ihtiyaclarını karşılamaması ve guvenlik acıkları sebebiyle 10 sene once sıfırdan Wayland yazılmaya başlandı.

sudo'nun asıl yazıldığı dil olan C'nin kendi kusuru olan bellek sızıntıları nedeniyle daha savunmasız kalıyor. Bellek sızıntılarından korunmak icin fazladan caba gerekiyor ve bunu da uzun kod obeklerinde yapmak zorlaşıyor. Bellek sızıntılarını engellemek icin kullanılan yontemler de kodun daha yavaş calışmasına neden oluyor ve soruna tam cozum olamıyor. Bu durumlarda gene kodu en baştan yazmak veya hataları goz gore gore bırakmak kalıyor.

Bundan dolayı da sudo ve su kodları Prossimo isimli bir grup tarafından Rust ile en baştan yazılıyor. Bu grup kendini internet guvenliği araştırma grubu olarak tanımlıyor. Rust, dili duşuk seviye programlamayı, yuksek seviyeli dillerin avantajlarıyla buluşturan bir programlama dilidir. İcerisindeki ozellikler ve yetenekler sayesinde performans kaybı olmadan C'in doğasından oluşan guvenlik sorunlarını elemine edebiliyor.

Oncelikle kodun alpha aşamasında yani kullanıma uygun olmadığını soylemek isterim. Bunun haricinde asıl sudo geliştirici ekibi altında da geliştirilmiyor, başka bir geliştirici grubu ustleniyor. Bu sebeplerle de C tabanlı sudo'nun yerini alıp almayacağı veya ne kadar hızlı adapte olabileceği ise mechul. Ancak sudo ve su gibi direkt sistem yetkisi aldığımız, root yetkisi olan komutların daha guvenli calışmasını isterim.

Surprizbozan: Kaynak: https://www.phoronix.com/news/sudo-su-rewrite-rust




Surprizbozan: Yardımcı Linkler:
sudo and su The Story The sudo and su utilities mediate a critical privilege boundary on just about every open source operating system that powers the Internet. Unfortunately, these utilities have a long history of memory safety issues. By rewriting sudo and su in Rust we can make sure they don't suffer...
www.memorysafety.org




GitHub - memorysafety/sudo-rs: A memory safe implementation of sudo and su. A memory safe implementation of sudo and su. Contribute to memorysafety/sudo-rs development by creating an account on GitHub.
github.com