ISRG (Internet Security Research Group), ki je ustanovitelj projekta Let's Encrypt in promovira HTTPS ter razvoj tehnologij za povečanje varnosti interneta, je predstavil projekt Sudo-rs za ustvarjanje implementacij pripomočkov sudo in su, napisanih v Rust, ki vam omogoča izvajanje ukazov v imenu drugih uporabnikov. Pod licencama Apache 2.0 in MIT je že bila objavljena predizdajna različica Sudo-rs, ki še ni pripravljena za splošno uporabo. Projekt, ki se je začel delati decembra 2022, bo predvidoma zaključen septembra 2023.
Trenutno se delo osredotoča na implementacijo funkcij v Sudo-rs, ki omogočajo uporabo pripomočka kot pregledne zamenjave za sudo v tipičnih scenarijih uporabe (privzete konfiguracije sudoers v Ubuntu, Fedora in Debian). V prihodnosti načrtujemo izdelavo knjižnice, ki bo omogočila vgradnjo funkcionalnosti sudo v druge programe in zagotovila alternativno metodo konfiguracije, ki bo odpravila potrebo po razčlenjevanju sintakse konfiguracijske datoteke sudoers. Na podlagi implementirane funkcionalnosti sudo bo razvita tudi različica pripomočka su. V načrtih je omenjena tudi podpora za SE.Linux, AppArmor, LDAP, orodja za revizijo, možnost preverjanja pristnosti brez uporabe PAM in implementacija vseh možnosti ukazne vrstice sudo.
Po podatkih Microsofta in Googla je približno 70 % ranljivosti posledica nevarnega upravljanja pomnilnika. Pričakuje se, da bo uporaba jezika Rust za razvoj su in sudo zmanjšala tveganje ranljivosti, ki jih povzroča nevarno ravnanje s pomnilnikom, in odpravila pojav napak, kot je dostop do območja pomnilnika po tem, ko je bilo osvobojeno, in prekoračitev medpomnilnika. Sudo-rs razvijajo inženirji iz Ferrous Systems in Tweede Golf s sredstvi podjetij, kot so Google, Cisco, Amazon Web Services.
Varno ravnanje s pomnilnikom je v Rustu zagotovljeno v času prevajanja s preverjanjem sklicevanj, spremljanjem lastništva objekta in življenjske dobe (obsega) objekta ter z vrednotenjem pravilnosti dostopa do pomnilnika med izvajanjem kode. Rust zagotavlja tudi zaščito pred celoštevilskimi prelivi, zahteva obvezno inicializacijo vrednosti spremenljivk pred uporabo, bolje obravnava napake v standardni knjižnici, privzeto uporablja koncept nespremenljivih referenc in spremenljivk, ponuja močno statično tipkanje za zmanjšanje logičnih napak.
Vir: opennet.ru
