Google en Microsoft nemen hun toevlucht tot de betere beveiliging van Rust Language

Google en Microsoft zoeken hun toevlucht in de betere beveiliging van Rust Language

Toen Fortanix in 2016 werd gelanceerd, nam het bedrijf een besluit: het zou zich inzetten voor de een jaar oude programmeertaal van Rust om te profiteren van de beveiligingssterkten en prestaties ervan.

Zeven jaar later is de inzet van Fortanix voor Rust een succes gebleken. Het bedrijf heeft ondersteuning gebouwd voor Intel Software Guard Extensions (SGX), die het gebruik van veilige enclaves voor gebruikersgegevens mogelijk maakt, en profiteert van het vermogen van de Rust-compiler om bepaalde soorten kwetsbaarheden te vermijden, met name geheugenveiligheidsproblemen, zegt Jethro Beekman, vice-president van technologie en CISO bij de gegevensbeveiligingsbedrijf.

โ€œEr waren een aantal early adopters die dat potentieel echt zagen, en nadat we grondig onderzoek hadden gedaan en er wat praktijkervaring mee hadden opgedaan, besloten we er feitelijk all-in voor te gaanโ€, zegt hij. โ€œDe tool en de compiler helpen je echt om fouten te voorkomen.โ€

Acht jaar na de release van versie 1.0 blijven de Rust-taal en ontwikkelingsplatforms aan populariteit winnen onder ontwikkelaars en bedrijven gericht op veilige code. Terwijl Rust een veel lagere prijs heeft TIOBE-rating dan C of C++, kent de taal jaar na jaar aanzienlijke extra gebruikers. Rust heeft ook een toegewijde aanhang: hoewel slechts 12% van de programmeurs de technologie het afgelopen jaar heeft gebruikt, wil bijna 85% van die ontwikkelaars de taal blijven gebruiken, waardoor het de โ€œmeest bewonderdeโ€ programmeertaal is, volgens de Stack Overflow โ€œ2023 Developer Survey.โ€

Grafieken die de groei van de Rust-programmeertaal laten zien

De adoptie van roest blijft exponentieel groeien. Bron: Lib.rs (https://lib.rs/stats)

Als onderdeel van een poging om soorten bugs te elimineren, herschrijft Microsoft bijvoorbeeld delen van de kernel met behulp van Rust, zei David Weston, vice-president van enterprise en OS-beveiliging bij Microsoft, tijdens BlueHat Israel in maart. Het bedrijf heeft DWriteCore in Rust gemaakt om het parseren van lettertypen om te zetten in een geheugenveiligheidsfunctie en werkt momenteel aan experimenten met het schrijven van delen van de grafische driverinterface (GDI) in Rust. Het bedrijf heeft de prestaties in vroege versies van de code met 5% tot 15% zien stijgen.

โ€œIk zou zeggen dat we ons in de crawlfase bevinden โ€ฆ voor Rust in Windowsโ€, zei Weston een video-opname van zijn presentatie. โ€œWe experimenteren met een gereedschapsketen; we kijken naar de codegeneratie en proberen erachter te komen of dit de moeite waard is wat het kost om Rust te leren.

Microsoft, een sponsor van de Rust Foundation, heeft zich echter aan de taal verbonden. "Je zult Windows feitelijk opstarten met Rust in de kernel", zegt Weston.

Google, 1Password en anderen aan boord

Google is ook een groot voorstander van Rust. Het bedrijf schrijft een daling van het aandeel geheugenveiligheidsproblemen in Android toe aan de overgang van C en C++ naar Rust, Kotlin (een functionele programmeertaal) en Java. In 2022 zullen kwetsbaarheden in de geheugenveiligheid, zoals bufferoverschrijdingen, verantwoordelijk voor minder dan de helft van alle kwetsbaarheden in Android.

โ€œOver het algemeen raden we het gebruik van Rust aan overal waar je overweegt nieuwe C [of] C++-code te schrijvenโ€, zegt Lars Bergstrom, technisch directeur voor Android-programmeertalen bij Google en voorzitter van de raad van bestuur van de Rust Foundation. โ€œRust is dus vaak een goede keuze als je strakke controle nodig hebt over het onderliggende systeem en de bronnen ervan, zoals geheugen.โ€

De Nationale Veiligheidsdienst beveelt ook aan dat ontwikkelaars alternatieven zoeken voor C en C++ voor veiligheidskritische code omdat deze talen vertrouw er te veel op dat de ontwikkelaar geen fouten maakt.

Hoewel Fortanix zich ertoe heeft verbonden Rust op grote schaal te gebruiken, zijn andere bedrijven tactischer over de manier waarop ze de taal in hun codebases introduceren. Wachtwoord- en identiteitsbeheerbedrijf 1Password, dat solide beveiliging vereist om de wachtwoordopslag van gebruikers te beschermen, heeft Rust geadopteerd als zijn ontwikkelingsplatform voor zijn belangrijkste gegevensbeveiligingscomponenten, waarbij andere talen worden gebruikt voor de front-end interface op verschillende besturingssystemen. schrijft het bedrijf in een blogpost.

Microsoft bevindt zich in een vergelijkbare situatie en zal geen grote delen van zijn codebase in Rust herschrijven, zei Weston.

โ€œIk vind het vervelend om je te vertellen โ€“ ik ken Rust-fans โ€“ het herschrijven van Windows in Rust zal waarschijnlijk niet snel gebeurenโ€, zei hij tegen de aanwezigen op de BlueHat Israel-conferentie. โ€œHoewel we van Rust houden, hebben we een strategie nodig die ook het beveiligen van meer van onze native code omvat.โ€

Leercurve niet zo steil

De Rust Foundation heeft een grote adoptie gezien door fabrikanten van embedded en connected devices โ€“ vooral in toepassingen in de auto-, industriรซle en ruimtevaartsector โ€“ en ook bij het creรซren van web- en cloudapplicaties op een ander nieuw platform, WebAssembly, zegt Rebecca Rambul, uitvoerend directeur en CEO van Stichting Rust.

โ€œDit soort organisaties behoorden tot deโ€ฆ eersten buiten de grote technologieorganisaties die echt het potentieel van Rust zagen, niet alleen vanwege de veiligheid, maar ook vanwege de snelheid en de prestaties," ze zegt. "Je krijgt dat beveiligingsniveau vanwege de geheugenveiligheid, maar je verliest niets vanuit het prestatieperspectief."

Toen Fortanix begon, moest elke programmeur Rust leren. Hoewel de algemene wijsheid is dat de taal moeilijk te leren is, zegt meer dan tweederde van de programmeurs die Rust leren dat ze er vertrouwen in hebben om binnen twee maanden bij te dragen aan een project. een onderzoek onder interne programmeurs door Google.

Terwijl nieuwe programmeurs Rust snel oppikten, blijft de compiler langzamer dan velen zouden willen, zo bleek ook uit het onderzoek.

De taal vergt enige aanpassing, erkent Michael Erquitt, een senior beveiligingsingenieur bij het trainingsbureau Security Journey voor veilige codering. Bovendien moeten programmeurs hun eigen gevoel ontwikkelen voor welke functies en toepassingen baat zouden hebben bij de taal.

โ€œEr zijn altijd inherente afwegingen bij het kiezen van programmeertalen en tools,โ€ Erquit zegt. โ€œRust als moderne programmeertaal kan voor een breed scala aan projecten worden gebruikt, maar de keuze komt uiteindelijk neer op wat het beste voldoet aan de functionele/klantvereisten van uw project.โ€

Tijdstempel:

Meer van Donkere lezing