Projekt za implementacijo pripomočkov sudo in su v Rust

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.

Delo je trenutno osredotočeno na implementacijo funkcij v Sudo-rs, ki omogočajo, da se uporablja kot pregledna zamenjava za sudo v tipičnih primerih uporabe (privzete konfiguracije sudoers v Ubuntu, Fedora in Debian). V prihodnosti se načrtuje izdelava knjižnice, ki omogoča vdelavo funkcionalnosti sudo v druge programe in zagotavljanje alternativne konfiguracijske metode, ki se izogne ​​razčlenjevanju sintakse konfiguracijske datoteke sudoers. Na podlagi implementirane funkcionalnosti sudo bo pripravljena tudi različica pripomočka su. Poleg tega načrti omenjajo podporo za SELinux, AppArmor, LDAP, revizijska orodja, možnost avtentikacije brez uporabe PAM in implementacijo 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

Dodaj komentar