Google, Microsoft tar tilflukt i rustspråkets bedre sikkerhet

Google, Microsoft tar tilflukt i rustspråkets bedre sikkerhet

Da Fortanix ble lansert i 2016, tok selskapet en beslutning: Det ville forplikte seg til det ett år gamle Rusts programmeringsspråk for å dra nytte av sikkerhetsstyrkene og ytelsen.

Syv år senere har Fortanix sitt engasjement for Rust vist seg å være en suksess. Selskapet har bygget støtte for Intel Software Guard Extensions (SGX), som tillater bruk av sikre enklaver for brukerdata, og drar nytte av Rust-kompilatorens evne til å unngå noen klasser av sårbarheter, spesielt minnesikkerhetsproblemer, sier Jethro Beekman, visepresident. av teknologi og CISO ved datasikkerhetsselskap.

"Det var noen tidlige brukere som virkelig så det potensialet, og etter å ha gjort noen grundige undersøkelser og fått litt praktisk erfaring med det, bestemte vi oss for å gå all in," sier han. "Verktøyet og kompilatoren hjelper deg virkelig med å unngå feil."

Åtte år etter 1.0-utgivelsen fortsetter Rust-språk- og utviklingsplattformene å få popularitet blant utviklere og selskaper fokusert på sikker kode. Mens Rust har en langt lavere TIOBE-vurdering enn C eller C++, får språket betydelige flere brukere år over år. Rust har også en engasjert følge: Mens bare 12 % av programmererne brukte teknologien det siste året, ønsker nesten 85 % av disse utviklerne å fortsette å bruke språket, noe som gjør det til det "mest beundrede" programmeringsspråket, ifølge Stack Overflow "2023 Developer Survey."

Diagrammer som viser veksten av Rust-programmeringsspråket

Rustadopsjon fortsetter å vokse eksponentielt. Kilde: Lib.rs (https://lib.rs/stats)

Som en del av et forsøk på å eliminere klasser av feil, for eksempel, skriver Microsoft om deler av kjernen ved å bruke Rust, sa David Weston, visepresident for bedrifts- og OS-sikkerhet hos Microsoft, under BlueHat Israel i mars. Selskapet har laget DWriteCore i Rust for å gjøre fontparsing til en minnesikkerhetsfunksjon og jobber for tiden med å eksperimentere med å skrive deler av grafikkdrivergrensesnittet (GDI) i Rust. Selskapet har sett ytelsesøkning med 5 % til 15 % i tidlige versjoner av koden.

"Jeg vil si at vi er på gjennomgangsstadiet ... for Rust in Windows," sa Weston et videoopptak av presentasjonen hans. «Vi eksperimenterer med en verktøykjede; vi ser på kodegenerasjonen og prøver å finne ut om dette er verdt det det koster å lære Rust.»

Microsoft, en sponsor av Rust Foundation, har imidlertid forpliktet seg til språket. "Du vil faktisk ha Windows som starter opp med Rust i kjernen," sier Weston.

Google, 1Password og andre ombord

Google er også en stor tilhenger av Rust. Selskapet tilskriver en nedgang i andelen minnesikkerhetssårbarheter i Android til overgangen til Rust, Kotlin (et funksjonelt programmeringsspråk) og Java fra C og C++. I 2022 ble minnesikkerhetssårbarheter, som bufferoverskridelser, sto for mindre enn halvparten av alle sårbarheter i Android.

"Vi anbefaler generelt bruk av Rust hvor som helst der du vurderer å skrive ny C [eller] C++-kode," sier Lars Bergstrom, direktør for ingeniørfag for programmeringsspråk for Android hos Google og styreleder for Rust Foundations styre. "Så Rust er ofte et godt valg der du trenger tett kontroll over det underliggende systemet og dets ressurser, for eksempel minne."

Nasjonalt sikkerhetsbyrå anbefaler også at utviklere søker alternativer til C og C++ for sikkerhetskritisk kode fordi disse språkene stole for mye på at utvikleren ikke gjør feil.

Mens Fortanix har forpliktet seg til å bruke Rust mye, er andre selskaper mer taktiske når det gjelder hvordan de introduserer språket i kodebasene sine. Passord- og identitetsadministrasjonsfirmaet 1Password, som krever solid sikkerhet for å beskytte brukernes passordlagre, har tatt i bruk Rust som sin utviklingsplattform for sine kjernedatasikkerhetskomponenter, ved å bruke andre språk for front-end-grensesnittet på forskjellige operativsystemer, opplyser selskapet i et blogginnlegg.

Microsoft er i en lignende situasjon og vil ikke skrive om store deler av sin kodebase i Rust, sa Weston.

"Jeg hater å fortelle dere - jeg kjenner Rust-fans der ute - omskriving av Windows i Rust kommer sannsynligvis ikke til å skje med det første," sa han til deltakerne på BlueHat Israel-konferansen. "Selv om vi elsker Rust, trenger vi en strategi som også inkluderer å sikre mer av vår opprinnelige kode."

Læringskurve ikke så bratt

Rust Foundation har sett en god del bruk av innebygde og tilkoblede enhetsfirmaer - spesielt innen bil-, industri- og romfartsapplikasjoner - så vel som i å lage nett- og skyapplikasjoner i en annen ny plattform, WebAssembly, sier Rebecca Rambul, administrerende direktør og administrerende direktør i Ruststiftelsen.

"Denne typen organisasjoner har vært blant de ... første utenfor de store teknologiorganisasjonene som virkelig ser potensialet til Rust, ikke bare på grunn av sikkerheten, men på grunn av hastigheten og ytelsen," hun sier. "Du får det sikkerhetsnivået på grunn av minnesikkerheten, men du mister ikke noe fra ytelsesperspektivet."

Da Fortanix startet, måtte hver programmerer lære Rust. Mens den vanlige visdommen er at språket er vanskelig å lære, sa mer enn to tredjedeler av programmerere som lærer Rust at de føler seg trygge på å bidra til et prosjekt innen to måneder, ifølge en undersøkelse av interne programmerere fra Google.

Mens nye programmerere plukket opp Rust raskt, fortsetter kompilatoren å være tregere enn mange ønsker, fant undersøkelsen også.

Språket krever litt justering, erkjenner Michael Erquitt, senior sikkerhetsingeniør ved opplæringsfirmaet Security Journey for sikker koding. I tillegg må programmerere utvikle sin egen følelse av hvilke funksjoner og applikasjoner som vil ha nytte av språket.

"Det er alltid iboende avveininger når du velger programmeringsspråk og verktøy," Erquitt sier. "Rust som et moderne programmeringsspråk kan brukes til et bredt spekter av prosjekter, men valget kommer til syvende og sist ned på hva som best tilfredsstiller prosjektets funksjonelle/kundekrav."

Tidstempel:

Mer fra Mørk lesning