Google, siekdama padidinti savo Pixel telefonų modemų saugumą, nusprendė integruoti Rust programavimo kalbą į Pixel 10 modemą. Tai buvo padaryta reaguojant į tai, kad Project Zero komanda atskleidė galimybę nuotoliniu būdu įvykdyti kodą Pixel telefonų modemuose, dėl ko kompanija peržiūrėjo savo saugumo strategijas.
Modemų saugumo iššūkiai
Mobilieji modemai yra sudėtingi įrenginiai, kurie veikia kaip uždara sistema, dažniausiai naudojantys seną C ir C++ kodą. Tačiau ši technologija yra vis labiau patraukli kibernetiniams nusikaltėliams dėl savo sudėtingumo ir saugumo spragų. Problema ta, kad atminties valdymas tokiuose sistemose yra sudėtingas, o tai gali sukelti rimtų pažeidžiamumų, tokių kaip atsitiktiniai atminties nutekėjimai ir buferių perpildymai, leidžiančius užpuolikams perimti įrenginius.
Rust kaip sprendimas
Rust kalba, žinoma dėl savo saugaus atminties valdymo, yra puikus kandidatas spręsti šias problemas. Skirtingai nuo kitų kalbų, tokių kaip Python ar C#, Rust nenaudoja lėto šiukšlių rinkimo mechanizmo. Vietoj to, ji taiko griežtą atminties valdymo patikrinimą jau kompiliavimo metu, todėl programos, pažeidžiančios atminties taisykles, paprasčiausiai nesukompiliuojamos.
Integracija į Pixel 10 modemą
Tačiau Google negali tiesiog pakeisti visos modemų programinės įrangos, nes tai apima dešimtis megabaitų vykdomojo kodo. Dėl šios priežasties Google nusprendė koncentruotis į DNS analizatorių, kuris tapo itin svarbus, kai mobiliosios funkcijos perėjo į duomenų tinklus. DNS reikalauja analizuoti nesaugias duomenų srautus, todėl tai yra rimtas saugumo iššūkis.
Google pasirinko hickory-proto atvirojo kodo Rust DNS biblioteką, kuri, nors ir nėra optimizuota, turi plačią paramą. Pixel modemai nėra riboti atminties, todėl komanda galėjo pridėti Rust komponentą, kad pagerintų DNS saugumą esamame kode. Rust komponentai užėmė 371KB, kas yra priimtina Pixel modemui.
Rezultatai ir ateities perspektyvos
Naudodama šį sistemą, bet kokia bandymo sukelti pažeidžiamumą ataka, manipuliuojant atmintimi, susiduria su Rust saugos sienele – ji negali būti paveikta piktybiniais DNS paketais. Pixel 10 telefonai tapo pirmieji, turintys šią saugesnę modemų implementaciją. Google tikisi, kad šis darbas leis ir kitoms platformoms atlikti panašius patobulinimus, tačiau jie pripažįsta, kad pasirinktų Rust bibliotekų dydis gali tapti problema paprastesnėms integruotoms sistemoms. Ateityje gali būti galimybė padaryti šią biblioteką modularia.
Ką tai reiškia Lietuvai?
Technologijų pažanga, tokia kaip Google sprendimas integruoti Rust kalbą į modemus, gali turėti teigiamą poveikį Lietuvai, ypač atsižvelgiant į šalies ambicijas tapti technologijų centru Baltijos regione. Saugios programinės įrangos plėtra gali padėti stiprinti kibernetinį saugumą tiek privačiame, tiek viešajame sektoriuose, o tai yra ypač aktualu Lietuvoje, kur kibernetinis saugumas tampa vis svarbesnis. Be to, patobulinimai mobiliose sistemose gali skatinti inovacijas ir pritraukti investicijas į vietos technologijų rinką.


