Rūdys jau yra mėgstamiausias „Android“ kūrimo būdas

„Google“ pristatė neseniai polinkis programavimo kalba Rūdis tarp leidžiamų kalbų skirta „Android“ plėtrai.

Kadangi „Rust“ kompiliatorius buvo įtrauktas į „Android“ šaltinių medį 2019 m., Tačiau kalbos palaikymas išliko eksperimentinis. Kai kurie pirmieji „Rust“ komponentai, pristatyti „Android“, yra nauji „Binder“ tarpinio ryšio ryšio mechanizmo ir „Bluetooth“ kamino variantai.

„Rust“ įgyvendinimas buvo vykdoma įgyvendinant saugumo stiprinimo projektą, skatinti saugias kodavimo technikas ir pagerinti problemų nustatymo efektyvumą dirbant su „Android“ atmintimi. Pastebima, kad maždaug 70% visų „Android“ nustatytų pavojingų pažeidžiamumų atsiranda dėl klaidų dirbant su atmintimi.

Rust kalbos vartojimas, kad daugiausia dėmesio skiriama saugiam atminties valdymui ir užtikrina automatinį atminties valdymą, sumažins pažeidimų, atsirandančių dėl klaidų tvarkant atmintį, riziką, pvz., prieigą prie atminties srities ją atlaisvinus ir peržengiant buferio ribas.

Saugus atminties tvarkymas užtikrinamas „Rust“ kompiliavimo metu tikrinant nuorodas, stebint objekto nuosavybę ir objekto gyvenimą (apimtį), taip pat įvertinant prieigos prie atminties teisingumą vykdymo metu.

Rūdys taip pat numatyta priemonė apsisaugoti nuo perpildymo sveikasis skaičius, prieš naudojimą reikalaujama privalomo kintamųjų reikšmių inicializavimo, geriau tvarkomos klaidos standartinėje bibliotekoje, pagal numatytuosius nustatymus pateikiama nuorodų ir nekintamų kintamųjų samprata ir siūlomas stiprus statinis rašymas siekiant sumažinti logines klaidas.

„Android“ saugus atminties valdymas teikiamas „Kotlin“ ir „Java“ kalbomis jau palaikomas, bet netinka sistemos komponentams kurti dėl didelių pridėtinių išlaidų.

Rūdys leidžia pasiekti našumą, artimą C ir C ++ kalboms, leidžiantis jį naudoti kuriant žemo lygio platformos dalis ir komponentus, kurie sąsaja su aparatine įranga.

Siekdamas užtikrinti C ir C ++ kodų saugumą, „Android“ naudoja „sandbox“ izoliaciją, statinę analizę ir fuzzing testus. Smėlio dėžės izoliavimo galimybės yra ribotos ir pasiekė savo galimybių ribą (tolesnis procesų suskaidymas nėra praktiškas išteklių vartojimo požiūriu).

Tarp „smėlio dėžės“ naudojimo apribojimų jie nurodo didelę pridėtinę ir didesnę atminties sąnaudas, kurias sukelia poreikis kurti naujus procesus, taip pat papildomą vėlavimą, susijusį su IPC naudojimu.

Tuo pačiu metu smėlio dėžė nepašalina kodo pažeidžiamumų, o tik sumažina riziką ir apsunkina ataką, nes norint išnaudoti reikia nustatyti ne vieną, o kelias spragas.

Kodo tikrinimo metodai yra riboti, nes norint aptikti klaidas, reikia sukurti sąlygas problemos pasireiškimui. Neįmanoma aprėpti visų galimų variantų, todėl daug klaidų nepastebima.

„Android“ sistemos procesams „Google“ laikosi „dviejų taisyklių“Pagal kurį bet kuris pridėtas kodas turi atitikti ne daugiau kaip dvi iš trijų sąlygų- Dirbkite su nepatikrintais įvesties duomenimis, naudokite nesaugią programavimo kalbą (C / C ++) ir paleiskite be kietos smėlio dėžės izoliacijos (su padidintomis privilegijomis).

Iš šios taisyklės išplaukia, kad išorinių duomenų apdorojimo kodas turi būti sumažintas iki mažiausios privilegijos (izoliuotas) arba parašytas saugia programavimo kalba.

„Google“ nesiekia perrašyti kodo C / C ++ esama Rust, bet jis planuoja naudoti šią kalbą kurdamas naują kodą.

Tikslinga naudoti „Rust“ naujam kodui, nes statistiškai daugiausia klaidų atsiranda naujame arba neseniai modifikuotame kode. Visų pirma, maždaug 50% „Android“ aptiktų atminties klaidų aptinkama kode, parašytame mažiau nei prieš metus.

Fuente: https://security.googleblog.com


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Migelis Rodriguezas sakė

    Ironiška, kai tavo didžiausias konkurentas pasirenka tai, ką padėjai sukurti savo tikslams ... Rūdžių daugėja.