Rust je už obľúbený pre vývoj Android

Google predstavený nedávno náklonnosť programovací jazyk Hrdza medzi povolenými jazykmi pre vývoj systému Android.

Keďže kompilátor Rust bol v roku 2019 zahrnutý do zdrojového stromu systému Android, jazyková podpora zostala experimentálna. Niektoré z prvých komponentov Rust, ktoré sa dodajú do systému Android, sú nové implementácie medziprocesového komunikačného mechanizmu Binder a Bluetooth stack.

Implementácia Rust sa uskutočnilo v rámci projektu na posilnenie bezpečnosti, propagovať techniky bezpečného kódovania a zvyšovať efektívnosť identifikácie problémov pri práci s pamäťou v systéme Android. Pozorovalo sa, že asi 70% všetkých nebezpečných chýb identifikovaných v Androide je spôsobených chybami pri práci s pamäťou.

Používanie jazyka Rust, že sa zameriava na bezpečnú správu pamäte a poskytuje automatickú správu pamäte, zníži riziko zraniteľností spôsobených chybami pri manipulácii s pamäťou, ako je prístup do oblasti pamäte po jej uvoľnení a prekročenie limitov medzipamäte.

Bezpečné spracovanie pamäte je v Rustu zabezpečené v čase vytvárania kontrolou referencií, sledovaním vlastníctva objektu a životnosti (rozsahu) objektu, ako aj hodnotením správnosti prístupu k pamäti za behu.

Hrdza tiež poskytuje prostriedky na ochranu pred pretečením celé číslo, pred použitím vyžaduje povinnú inicializáciu hodnôt premenných, lepšie spracováva chyby v štandardnej knižnici, štandardne prijíma koncepciu odkazov a nemenných premenných a ponúka silné statické zápisy na minimalizáciu logických chýb.

V systéme Android je zabezpečená správa pamäte zabezpečená v jazykoch Kotlin a Java už je podporovaný, ale nie je vhodný na vývoj komponentov systému kvôli veľkej réžii.

Rust umožňuje dosiahnuť výkon blízky jazykom C a C ++, čo umožňuje jeho použitie na vývoj nízkoúrovňových častí platformy a komponentov na prepojenie s hardvérom.

Na zaistenie bezpečnosti kódu C a C ++ používa Android izoláciu izolovaného priestoru, statickú analýzu a fuzzing testy. Možnosti izolovanosti v karanténe sú obmedzené a dosiahli hranicu svojich schopností (ďalšia fragmentácia procesov nie je z hľadiska spotreby zdrojov praktická).

Medzi obmedzeniami používania karantény spomínajú vysokú réžiu a vyššiu spotrebu pamäte spôsobenú potrebou generovania nových procesov, ako aj ďalšiu latenciu spojenú s používaním IPC.

Sandbox súčasne neodstraňuje zraniteľné miesta v kóde, ale iba znižuje riziká a komplikuje útok, pretože zneužitie vyžaduje identifikáciu nie jednej, ale niekoľkých zraniteľností.

Metódy testovania kódu sú obmedzené, pretože na detekciu chýb je potrebné vytvoriť podmienky pre prejav problému. Nie je možné pokryť všetky možné možnosti, takže veľa chýb zostáva nepovšimnutých.

V prípade systémových procesov v systéme Android Google dodržiava „pravidlo dvoch“podľa ktorý akýkoľvek pridaný kód nesmie spĺňať viac ako dve z troch podmienok- Pracujte s neoverenými vstupnými údajmi, používajte nezabezpečený programovací jazyk (C / C ++) a pracujte bez izolácie karantény (so zvýšenými oprávneniami).

Z tohto pravidla vyplýva, že kód na spracovanie externých údajov musí byť znížený na najmenšie privilégium (izolovaný) alebo musí byť napísaný v bezpečnom programovacom jazyku.

Google nemá za cieľ prepísať kód C / C ++ existujúce v Rust, ale plánuje použiť tento jazyk na vývoj nového kódu.

Je logické používať Rust pre nový kód, pretože štatisticky najviac chýb sa objavuje v novom alebo nedávno upravenom kóde. Najmä asi 50% chýb pamäte zistených v systéme Android sa zistí v kóde napísanom pred menej ako rokom.

Fuente: https://security.googleblog.com


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   miguel rodriguez dijo

    Irónia, keď váš najväčší konkurent nakoniec prijme niečo, čo ste pomohli vyvinúť pre svoje vlastné účely ... Rust je na vzostupe.