Generatiivinen tiedustelu

Kriittinen ruostevirhe aiheuttaa hyväksikäyttöuhan tietyissä Windows-käyttötapauksissa

Treffi:

Rust Project on julkaissut päivityksen standardikirjastoonsa sen jälkeen, kun haavoittuvuustutkija havaitsi, että tiettyä toimintoa, jota käytetään erätiedostojen suorittamiseen Windows-järjestelmissä, voitaisiin hyödyntää injektiovirheen avulla.

Rust-ohjelmointikieleen sisältyvät yleiset toiminnot, jotka tunnetaan nimellä standardikirjasto, tarjoavat monien muiden ominaisuuksiensa ohella mahdollisuuden suorittaa Windowsin erätiedostoja Command API:n kautta. Toiminto ei kuitenkaan käsitellyt API-syötteitä riittävän tiukasti estääkseen koodin syöttämisen suoritukseen. Rust Security Response Working Groupin neuvonantaja julkaistu 9. huhtikuuta.

Vaikka Rust tunnetaan hyvin muistisuojausominaisuuksistaan, tapaus korostaa, että ohjelmointikieli ei ole todiste logiikkavirheitä vastaan, sanoo Yair Mizrahi, vanhempi haavoittuvuustutkija sovellussuojausyrityksestä JFrogista.

"Kaiken kaikkiaan Rustin muistin turvallisuus on huomattava etu, mutta kehittäjien on myös kiinnitettävä erityistä huomiota mahdollisiin loogisiin virheisiin varmistaakseen Rust-pohjaisten sovellustensa yleisen turvallisuuden ja luotettavuuden", hän sanoo. "Tällaisten loogisten ongelmien ratkaisemiseksi Rust rohkaisee tiukkaa testaus- ja koodintarkistusprosessia sekä staattisten analyysityökalujen käyttöä loogisten virheiden tunnistamiseen ja vähentämiseen."

Rust on saavuttanut mainetta erittäin turvallisena ohjelmointikielenä, koska se ei jätä sovelluksia avoimeksi usein vakaville virheluokille, jotka tunnetaan muistin turvallisuuden haavoittuvuuksina. Google on syyttänyt muistin kannalta vaarallisen koodin pudotus siirtymiseen muistia turvaaviin kieliin, kuten Rust ja Kotlin, kun taas Microsoft havaitsi, että vuoteen 2018 asti, jolloin se siirtyi muistia turvaaviin kieliin, tällaisia ​​haavoittuvuuksia esiintyi säännöllisesti. 70 % kaikista turvallisuusongelmista.

Windows aiheuttaa joukon ongelmia

Uusin ongelma ei ole muistin turvallisuuden haavoittuvuus, vaan ongelma logiikassa, jota käytetään käsittelemään epäluotettavaa syötettä. Osa Rustin vakiokirjastosta antaa kehittäjälle mahdollisuuden kutsua toimintoa, joka lähettää erätiedoston Windows-koneeseen käsittelyä varten. On syitä lähettää koodi isännälle erätiedostona, sanoo Joel Marcey, Rust Foundationin teknologiajohtaja, joka tukee ohjelmointikielen ylläpitäjiä ja Rust-ekosysteemiä.

"Järjestötiedostoja ajetaan monista syistä järjestelmissä, ja Rust tarjoaa API:n, jonka avulla voit suorittaa ne melko helposti", hän sanoo. "Joten vaikka tämä ei välttämättä ole Rustin yleisin käyttötapaus, API salli ennen korjauksen käyttöönottoa haitallisten toimijoiden teoriassa ottaa järjestelmän haltuunsa suorittamalla mielivaltaisia ​​komentoja, ja tämä on ehdottomasti kriittinen haavoittuvuus."

Tyypillisesti kehittäjä voi välittää työkuorman Windows-isännälle suoritettavaksi eräprosessina Command Application Programming Interface (API) -liittymän kautta, joka on osa vakiokirjastoa. Tyypillisesti Rust takaa kaikkien Command API:n kutsujen turvallisuuden, mutta tässä tapauksessa Rust Project ei löytänyt tapaa estää kaikkien argumenttien suorittamista, pääasiassa siksi, että Windows ei noudata minkäänlaista standardia ja että API voi antaa hyökkääjän lähettää koodin, joka sitten suoritetaan.

"Valitettavasti kerrottiin, että pakologiikkamme ei ollut riittävän perusteellinen, ja oli mahdollista välittää haitallisia argumentteja, jotka johtaisivat mielivaltaiseen komentotulkin suorittamiseen", Rust Security Response WG:n mukaan.

Rust Project osoittautuu reagoivaksi

Vaikka minkä tahansa haavoittuvuuden käsitteleminen voi olla päänsärkyä, Rust Project on osoittanut, että ryhmä ratkaisee ongelmat nopeasti, sanovat asiantuntijat. Tavallinen kirjaston haavoittuvuus, CVE-2024-24576, on viime kädessä ongelma Windowsin eräkäsittelyongelmassa ja vaikuttaa muihin ohjelmointikieliin, jos ne eivät jäsennä riittävästi Windowsin eräprosessiin lähetettyjä argumentteja. Rust Project näyttää olevan ensimmäinen, joka on korjannut argumenttien siirtämisen Windows CMD.exe -prosessiin, sanoo JFrogin Mizrahi.

Ryhmät eivät pystyneet poistamaan ongelmaa kokonaan, mutta Command API ei palauta virhettä, kun toiminnolle siirretyt lisäykset voivat olla vaarallisia, Rust Project sanoi. 

JFrogin Mizrahi kehottaa Rustia laajentamaan staattisen sovellusten tietoturvatestauksen käyttöä ja laajentamaan sumean ja dynaamisen testauksen käyttöä.

"Kaiken kaikkiaan Rust on oikealla tiellä korostamalla muistin turvallisuutta ja rohkaisemalla tiukkoja testauskäytäntöjä", hän sanoo. "Näiden ponnistelujen yhdistäminen staattisen analyysin ja fuzzingin jatkuvaan edistymiseen voi auttaa Rust-yhteisöä ja laajempaa ohjelmistoteollisuutta ottamaan merkittäviä harppauksia loogisten virheiden ja syötteiden validointivirheiden korjaamisessa tulevina vuosina."

spot_img

Uusin älykkyys

spot_img