Prosjekt for å implementere sudo- og su-verktøyene på Rust-språket

ISRG-organisasjonen (Internet Security Research Group), som er grunnleggeren av Let's Encrypt-prosjektet og fremmer HTTPS og utvikling av teknologier for å øke sikkerheten til Internett, presenterte Sudo-rs-prosjektet for å lage implementeringer av sudo- og su-verktøyene skrevet på Rust-språket, slik at du kan utføre kommandoer på vegne av andre brukere. En foreløpig versjon av Sudo-rs er allerede publisert under Apache 2.0- og MIT-lisensene, men er ennå ikke klar for utbredt bruk. Prosjektet, som startet i desember 2022, skal etter planen fullføres i september 2023.

For tiden er arbeidet fokusert på å implementere funksjoner i Sudo-rs som gjør at den kan brukes som en transparent erstatning for sudo i vanlige brukstilfeller (standard sudoers-konfigurasjoner på Ubuntu, Fedora og Debian). I fremtiden er det planer om å lage et bibliotek som lar sudo-funksjonalitet bygges inn i andre programmer, og å tilby en alternativ konfigurasjonsmetode som eliminerer behovet for å analysere syntaksen til sudoers-konfigurasjonsfilen. Basert på den implementerte sudo-funksjonaliteten vil det også utarbeides en versjon av su-verktøyet. I tillegg nevner planene støtte for SELinux, AppArmor, LDAP, revisjonsverktøy, muligheten til å autentisere uten å bruke PAM og implementering av alle sudo-kommandolinjealternativer.

Ifølge Microsoft og Google er omtrent 70 % av sårbarhetene forårsaket av usikker minnehåndtering. Det forventes at bruk av Rust-språket for å utvikle su og sudo vil redusere risikoen for sårbarheter forårsaket av usikkert arbeid med minne, og eliminere forekomsten av feil som å få tilgang til et minneområde etter at det har blitt frigjort og overkjørt bufferen. Utviklingen av Sudo-rs utføres av ingeniører fra Ferrous Systems og Tweede Golf med midler levert av selskaper som Google, Cisco, Amazon Web Services.

Rust håndhever minnesikkerhet ved kompilering gjennom referansesjekking, objekteierskap og objektlevetidssporing (scopes), og ved å evaluere riktigheten av minnetilganger under kjøring. Rust gir også beskyttelse mot heltallsoverløp, krever at variabelverdier initialiseres før bruk, har bedre feilhåndtering i standardbiblioteket, bruker konseptet med uforanderlige referanser og variabler som standard, og tilbyr sterk statisk skriving for å minimere logiske feil.

Kilde: opennet.ru

Legg til en kommentar