Google, Microsoft sta se zatekla k boljši varnosti jezika Rust

Google, Microsoft sta se zatekla k boljši varnosti jezika Rust

Ko je Fortanix lansiran leta 2016, se je podjetje odločilo: zavezalo se bo eno leto staremu programskemu jeziku Rust, da bi izkoristilo njegove varnostne prednosti in zmogljivost.

Sedem let kasneje se je Fortanixova predanost Rustu izkazala za uspešno. Podjetje je zgradilo podporo za Intel Software Guard Extensions (SGX), ki omogoča uporabo varnih enklav za uporabniške podatke in ima koristi od zmožnosti prevajalnika Rust, da se izogne ​​nekaterim razredom ranljivosti, zlasti težavam z varnostjo pomnilnika, pravi Jethro Beekman, podpredsednik tehnologije in CISO na podjetje za varovanje podatkov.

"Bilo je nekaj zgodnjih uporabnikov, ki so resnično videli ta potencial, in po temeljiti raziskavi in ​​pridobitvi praktičnih izkušenj s tem smo se odločili, da gremo v celoti," pravi. "Orodje in prevajalnik vam resnično pomagata preprečiti napake."

Osem let po izdaji 1.0 jezik Rust in razvojne platforme še naprej pridobivajo na priljubljenosti med razvijalci in podjetji osredotočen na varno kodo. Medtem ko ima Rust precej nižje Ocena TIOBE kot C ali C++, jezik iz leta v leto beleži precejšnje dodatne uporabnike. Rust ima tudi zavezano naslednje: medtem ko je le 12 % programerjev uporabljalo tehnologijo v zadnjem letu, skoraj 85 % teh razvijalcev želi še naprej uporabljati jezik, zaradi česar je "najbolj občudovan" programski jezik, glede na Stack Overflow »2023 Developer Survey«.

Grafi, ki prikazujejo rast programskega jezika Rust

Sprejetje Rust še naprej eksponentno raste. Vir: Lib.rs (https://lib.rs/stats)

Kot del prizadevanj za odpravo vrst hroščev, na primer, Microsoft prepisuje dele jedra z uporabo Rusta, je dejal David Weston, podpredsednik za varnost podjetij in OS pri Microsoftu, med BlueHat Israel marca. Podjetje je ustvarilo DWriteCore v Rustu, da bi razčlenjevanje pisave spremenilo v funkcijo varnosti pomnilnika, in trenutno dela na eksperimentiranju s pisanjem delov vmesnika grafičnega gonilnika (GDI) v Rust. Podjetje je opazilo povečanje zmogljivosti za 5 % do 15 % v zgodnjih različicah kode.

"Rekel bi, da smo na stopnji pajkanja … za Rust v sistemu Windows," je dejal Weston videoposnetek njegove predstavitve. »Eksperimentiramo z verigo orodja; preučujemo generiranje kode in poskušamo ugotoviti, ali je to vredno, kolikor stane učenje Rust.«

Vendar se je Microsoft, sponzor fundacije Rust, zavezal temu jeziku. »Dejansko se bo Windows zagnal z Rustom v jedru,« pravi Weston.

Google, 1Password in drugi na krovu

Google je tudi velik zagovornik Rusta. Podjetje pripisuje padec deleža varnostnih ranljivosti pomnilnika v Androidu prehodu na Rust, Kotlin (funkcionalni programski jezik) in Javo iz C in C++. Leta 2022 so varnostne ranljivosti pomnilnika, kot so prekoračitve medpomnilnika, predstavlja manj kot polovico vseh ranljivosti v Androidu.

»Na splošno priporočamo uporabo Rusta povsod, kjer razmišljate o ustvarjanju nove kode C [ali] C++,« pravi Lars Bergstrom, direktor inženiringa za programske jezike Android pri Googlu in predsednik upravnega odbora Fundacije Rust. "Zato je Rust pogosto dobra izbira, kjer potrebujete strog nadzor nad osnovnim sistemom in njegovimi viri, kot je pomnilnik."

Agencija za nacionalno varnost tudi priporoča da razvijalci iščejo alternative za C in C++ za varnostno kritično kodo, ker ti jeziki preveč se zanašajte na to, da razvijalec ne dela napak.

Medtem ko se je Fortanix zavezal, da bo obsežno uporabljal Rust, so druga podjetja bolj taktična glede uvedbe jezika v svoje baze kod. Podjetje 1Password za upravljanje gesel in identitet, ki zahteva trdno varnost za zaščito shramb gesel uporabnikov, je sprejelo Rust kot svojo razvojno platformo za svoje osnovne varnostne komponente podatkov, pri čemer uporablja druge jezike za sprednji vmesnik v različnih operacijskih sistemih, je podjetje navedlo v objavi na blogu.

Microsoft je v podobni situaciji in ne bo prepisal velikih delov svoje kodne baze v Rust, je dejal Weston.

»Ne želim vam povedati – poznam oboževalce Rust tam zunaj – prepisovanje Windows v Rust se verjetno ne bo zgodilo kmalu,« je povedal udeležencem na konferenci BlueHat Israel. "Čeprav imamo radi Rust, potrebujemo strategijo, ki vključuje tudi zaščito več naše izvorne kode."

Krivulja učenja ni tako strma

Podjetja za vdelane in povezane naprave so Rust Foundation zelo sprejela – zlasti v avtomobilskih, industrijskih in vesoljskih aplikacijah – kot tudi pri ustvarjanju spletnih in oblačnih aplikacij na drugi novi platformi, WebAssembly, pravi Rebecca Rambul, izvršna direktorica in Generalni direktor fundacije Rust.

»Tovrstne organizacije so bile med ... prvimi zunaj velikih tehnoloških organizacij, ki so resnično videle potencial Rusta, ne samo zaradi varnosti, ampak zaradi hitrosti in zmogljivosti,« pravi. "To stopnjo varnosti dobite zaradi varnosti pomnilnika, vendar ne izgubite ničesar z vidika zmogljivosti."

Ko se je začel Fortanix, se je moral vsak programer naučiti Rusta. Medtem ko je splošno znano, da se je jezika težko naučiti, je več kot dve tretjini programerjev, ki se učijo Rust, dejalo, da so prepričani, da bodo prispevali k projektu v dveh mesecih, glede na Googlova anketa internih programerjev.

Medtem ko so novi programerji hitro prevzeli Rust, je prevajalnik še vedno počasnejši, kot bi si mnogi želeli, je tudi ugotovila raziskava.

Jezik res zahteva nekaj prilagoditev, priznava Michael Erquitt, višji varnostni inženir pri izobraževalnem podjetju za varno kodiranje Security Journey. Poleg tega morajo programerji razviti lasten občutek, katerim funkcijam in aplikacijam bi jezik koristil.

"Pri izbiri programskih jezikov in orodij vedno obstajajo neločljivi kompromisi," Erquitt pravi. "Rust kot sodoben programski jezik je mogoče uporabiti za široko paleto projektov, vendar je izbira na koncu odvisna od tega, kaj najbolje izpolnjuje funkcionalne zahteve/zahteve stranke."

Časovni žig:

Več od Temno branje