A Google, a Microsoft menedéket keres a Rust Language jobb biztonságában

A Google, a Microsoft menedéket keres a Rust Language jobb biztonságában

Amikor a Fortanix 2016-ban elindult, a vállalat döntést hozott: elkötelezi magát az egyéves Rust programozási nyelv mellett, hogy kihasználja annak biztonsági erősségeit és teljesítményét.

Hét évvel később a Fortanix Rust iránti elkötelezettsége sikeresnek bizonyult. A vállalat kiépítette az Intel Software Guard Extensions (SGX) támogatását, amely lehetővé teszi a felhasználói adatok biztonságos enklávéinak használatát, és kihasználja a Rust fordító azon képességét, hogy elkerüli a biztonsági rések bizonyos osztályait, különösen a memóriabiztonsági problémákat – mondja Jethro Beekman, alelnök. a technológia és a CISO adatbiztonsági cég.

„Volt néhány korai alkalmazó, aki valóban meglátta ezt a lehetőséget, és miután alapos kutatást végeztünk, és gyakorlati tapasztalatokat szereztünk vele, úgy döntöttünk, hogy alapvetően mindent beleadunk” – mondja. "A szerszámok és a fordítóprogram valóban segít elkerülni a hibákat."

Nyolc évvel az 1.0 megjelenése után a Rust nyelv és fejlesztői platformok továbbra is egyre népszerűbbek a fejlesztők és a vállalatok körében a biztonságos kódra összpontosít. Míg a Rustnak jóval alacsonyabb TIOBE minősítés, mint C vagy C++, a nyelvnek évről évre jelentős több felhasználója van. A Rustnak van egy elkötelezettsége is: Míg a programozók mindössze 12%-a használta ezt a technológiát az elmúlt évben, a fejlesztők közel 85%-a szeretné továbbra is használni a nyelvet, így ez a „legcsodáltabb” programozási nyelv. a Stack Overflow „2023 Developer Survey”.

A Rust programozási nyelv növekedését bemutató diagramok

A rozsda alkalmazása továbbra is exponenciálisan növekszik. Forrás: Lib.rs (https://lib.rs/stats)

A hibaosztályok kiküszöbölésére tett erőfeszítések részeként például a Microsoft Rust segítségével átírja a kernel egyes részeit – mondta David Weston, a Microsoft vállalati és operációs rendszer-biztonsági alelnöke a BlueHat Israel rendezvényen márciusban. A vállalat létrehozta a DWriteCore-t Rustban, hogy a betűkészlet-elemzést memóriabiztonsági funkcióvá alakítsa, és jelenleg azon dolgozik, hogy kísérletezzen a grafikus illesztőprogram-felület (GDI) részeinek Rust nyelven történő írásával. A vállalat teljesítménye 5-15%-kal nőtt a kód korai verzióiban.

„Azt mondanám, hogy a feltérképezés szakaszában vagyunk… a Rust in Windows esetében” – mondta Weston bemutatójának videófelvétele. „Eszközlánccal kísérletezünk; a kódgenerációt vizsgáljuk, és megpróbáljuk kitalálni, hogy megéri-e annyit, amennyibe kerül a Rust megtanulása.”

A Microsoft, a Rust Foundation szponzora azonban elkötelezte magát a nyelv mellett. „Valójában a Windows rendszermagban fog elindulni Rusttel” – mondja Weston.

Google, 1Password és egyebek a fedélzeten

A Google is a Rust fő támogatója. A vállalat a Rust, a Kotlin (egy funkcionális programozási nyelv), valamint a Java C-ről és C++-ról való átállásának tulajdonítja az Android memóriabiztonsági sebezhetőségeinek arányának csökkenését. 2022-ben a memória biztonsági rései, például a puffertúllépések, az Android összes sebezhetőségének kevesebb mint felét tette ki.

„Általában javasoljuk a Rust használatát mindenhol, ahol új C [vagy] C++ kód létrehozását fontolgatja” – mondja Lars Bergstrom, a Google Android programozási nyelvekért felelős mérnöki igazgatója és a Rust Foundation igazgatótanácsának elnöke. "Tehát a Rust gyakran jó választás ott, ahol szigorú ellenőrzésre van szükség a mögöttes rendszer és erőforrásai, például a memória felett."

A Nemzetbiztonsági Ügynökség is ajánlja hogy a fejlesztők a C és a C++ alternatíváit keresik a biztonság szempontjából kritikus kódokhoz, mivel azok a nyelvek túlságosan bízzon abban, hogy a fejlesztő nem hibázik.

Míg a Fortanix elkötelezte magát a Rust széles körű használata mellett, más cégek taktikusabbak azzal kapcsolatban, hogy hogyan vezetik be a nyelvet a kódbázisukba. A jelszó- és személyazonosság-kezelő cég, az 1Password, amely szilárd biztonságot igényel a felhasználók jelszótárolóinak védelme érdekében, a Rust-ot fogadta el fejlesztői platformként az alapvető adatbiztonsági összetevőihez, más nyelveket használva a különböző operációs rendszerek front-end felületéhez, – közölte a cég egy blogbejegyzésében.

A Microsoft hasonló helyzetben van, és nem fogja átírni a Rust-i kódbázisának nagy részét, mondta Weston.

„Utálom elmondani – ismerem a Rust-rajongókat –, hogy a Windows átírása Rust nyelven valószínűleg nem fog megtörténni egyhamar” – mondta a BlueHat Israel konferencia résztvevőinek. „Bár szeretjük a Rustot, olyan stratégiára van szükségünk, amely magában foglalja a natív kódunk nagyobb részének biztosítását is.”

A tanulási görbe nem olyan meredek

A Rust Foundationt nagymértékben elfogadták a beágyazott és csatlakoztatott eszközökkel foglalkozó cégek – különösen az autóipari, ipari és repülőgépipari alkalmazásokban –, valamint webes és felhőalkalmazások létrehozásában egy másik új platformon, a WebAssembly-n – mondja Rebecca Rambul, A Rust Foundation vezérigazgatója.

„Az ilyen típusú szervezetek a nagy technológiai szervezeteken kívül az elsők között voltak, amelyek valóban meglátták a Rustban rejlő lehetőségeket, nem csak a biztonság, hanem a sebesség és a teljesítmény miatt is," ő mondja. "A memória biztonsága miatt ilyen szintű biztonságot kap, de a teljesítmény szempontjából nem veszít semmit."

Amikor a Fortanix elindult, minden programozónak meg kellett tanulnia a Rust-ot. Míg az általános bölcsesség az, hogy a nyelvet nehéz megtanulni, a Rust nyelvet tanuló programozók több mint kétharmada azt mondta, hogy magabiztosnak érzi magát abban, hogy két hónapon belül hozzájáruljon egy projekthez. a Google belső programozóinak felmérése.

Míg az új programozók gyorsan átvették a Rustot, a fordító továbbra is lassabb, mint sokan szeretnék – derült ki a felmérésből is.

A nyelv némi módosítást igényel, ismeri el Michael Erquitt, a Security Journey biztonságos kódolási oktatócég vezető biztonsági mérnöke. Ezen túlmenően a programozóknak ki kell alakítaniuk saját érzésüket arról, hogy mely funkciók és alkalmazások számára hasznosak a nyelv.

„A programozási nyelvek és eszközök kiválasztásakor mindig vannak kompromisszumok” Erquitt mondja. „A Rust mint modern programozási nyelv a projektek széles skálájához használható, de a választás végső soron azon múlik, hogy mi felel meg a legjobban a projekt funkcionális/ügyfélkövetelményeinek.”

Időbélyeg:

Még több Sötét olvasmány