Projekti sudo- ja su-apuohjelmien toteuttamiseksi Rustissa

Let's Encrypt -projektin perustaja ja HTTPS:ää sekä Internetin turvallisuutta lisäävien teknologioiden kehittämistä edistävä ISRG (Internet Security Research Group) -organisaatio esitteli Sudo-rs-projektin sudo- ja su-apuohjelmien toteutusten luomiseksi. kirjoitettu Rust-kielellä, jolloin voit suorittaa komentoja muiden käyttäjien puolesta. Sudo-rs:n alustava versio on jo julkaistu Apache 2.0- ja MIT-lisenssien alla, mutta se ei ole vielä valmis laajaan käyttöön. Joulukuussa 2022 alkaneen projektin on määrä valmistua syyskuussa 2023.

Tällä hetkellä työ keskittyy Sudo-rs:n ominaisuuksien toteuttamiseen, joiden avulla sitä voidaan käyttää läpinäkyvänä sudon korvikkeena yleisissä käyttötapauksissa (Sudoers-oletuskokoonpanot Ubuntussa, Fedorassa ja Debianissa). Tulevaisuudessa on suunnitteilla kirjasto, joka mahdollistaa sudo-toimintojen sisällyttämisen muihin ohjelmiin, sekä vaihtoehtoinen konfigurointimenetelmä, joka eliminoi tarpeen jäsentää sudoers-määritystiedoston syntaksia. Toteutetun sudo-toiminnallisuuden pohjalta valmistetaan myös versio su-apuohjelmasta. Lisäksi suunnitelmissa mainitaan tuki SELinuxille, AppArmorille, LDAP:lle, auditointityökaluille, mahdollisuus todentaa ilman PAM:ia sekä kaikkien sudo-komentorivivaihtoehtojen käyttöönotto.

Microsoftin ja Googlen mukaan noin 70 % haavoittuvuuksista johtuu muistin vaarallisesta käsittelystä. On odotettavissa, että Rust-kielen käyttäminen su- ja sudon kehittämiseen vähentää haavoittuvuuksien riskiä, ​​jotka johtuvat vaarallisesta muistityöstä, ja eliminoi virheiden esiintymisen, kuten muistialueen käytön sen jälkeen, kun se on vapautettu ja puskurin ylittäminen. Sudo-rs:n kehittämisestä vastaavat Ferrous Systemsin ja Tweede Golfin insinöörit Googlen, Ciscon ja Amazon Web Servicesin kaltaisten yritysten rahoilla.

Muistiturvallista käsittelyä tarjotaan Rustissa käännöshetkellä referenssitarkistuksen, objektin omistajuuden ja objektin käyttöiän (laajuus) seurantaan sekä muistin käytön oikeellisuuden arviointiin koodin suorittamisen aikana. Ruoste tarjoaa myös suojan kokonaislukujen ylivuodoilta, vaatii muuttujien arvojen pakollisen alustamisen ennen käyttöä, käsittelee virheet paremmin standardikirjastossa, soveltaa oletusarvoisesti muuttumattomien viitteiden ja muuttujien käsitettä, tarjoaa vahvan staattisen kirjoittamisen loogisten virheiden minimoimiseksi.

Lähde: opennet.ru

Lisää kommentti