Projekat implementacije sudo i su uslužnih programa u Rustu

Organizacija ISRG (Internet Security Research Group), koja je osnivač projekta Let's Encrypt i promoviše HTTPS i razvoj tehnologija za povećanje sigurnosti interneta, predstavila je Sudo-rs projekat za kreiranje implementacija sudo i su uslužnih programa napisano na Rust jeziku, što vam omogućava da izvršavate komande u ime drugih korisnika. Preliminarna verzija Sudo-rs-a je već objavljena pod licencama Apache 2.0 i MIT, ali još nije spremna za široku upotrebu. Planirano je da projekat, čiji je rad počeo u decembru 2022. godine, bude završen u septembru 2023. godine.

Trenutno je rad fokusiran na implementaciju funkcija u Sudo-rs koje mu omogućavaju da se koristi kao transparentna zamjena za sudo u uobičajenim slučajevima (zadane konfiguracije sudoers-a na Ubuntu, Fedora i Debian). U budućnosti se planira kreiranje biblioteke koja omogućava da se sudo funkcionalnost ugrađuje u druge programe i da se obezbedi alternativni metod konfiguracije koji eliminiše potrebu za raščlanjivanjem sintakse sudoers konfiguracionog fajla. Na osnovu implementirane sudo funkcionalnosti, pripremit će se i verzija su uslužnog programa. Dodatno, planovi spominju podršku za SELinux, AppArmor, LDAP, alate za reviziju, mogućnost autentifikacije bez korištenja PAM-a i implementaciju svih opcija sudo komandne linije.

Prema Microsoft-u i Google-u, oko 70% ranjivosti je uzrokovano nesigurnim rukovanjem memorijom. Očekuje se da će korištenje Rust jezika za razvoj su i sudo smanjiti rizik od ranjivosti uzrokovanih nesigurnim radom s memorijom i eliminirati pojavu grešaka kao što je pristup memorijskom području nakon što se oslobodi i prekoračenje bafera. Razvoj Sudo-rs-a sprovode inženjeri iz kompanija Ferrous Systems i Tweede Golf uz sredstva kompanija kao što su Google, Cisco, Amazon Web Services.

Sigurnost memorije je obezbeđena u Rustu u vreme kompajliranja kroz proveru referenci, praćenje vlasništva nad objektom i životnog veka objekta (opsega), kao i kroz procenu ispravnosti pristupa memoriji tokom izvršavanja koda. Rust također pruža zaštitu od prekoračenja cijelih brojeva, zahtijeva obaveznu inicijalizaciju vrijednosti varijabli prije upotrebe, bolje obrađuje greške u standardnoj biblioteci, primjenjuje koncept nepromjenjivih referenci i varijabli po defaultu, nudi snažno statičko kucanje kako bi se minimizirale logičke greške.

izvor: opennet.ru

Dodajte komentar