Rust je že priljubljen pri razvoju Androida

Google je predstavil pred kratkim vključitev programski jezik Rja med dovoljenimi jeziki za razvoj Androida.

Ker je bil prevajalnik Rust leta 2019 vključen v izvorno drevo Androida, je pa jezikovna podpora ostala eksperimentalna. Nekatere od prvih komponent Rusta, ki se pošiljajo v Android, so nove izvedbe medprocesnega komunikacijskega mehanizma Binder in sklada Bluetooth.

Izvedba rje je bil izveden v okviru projekta za krepitev varnosti, spodbujajo tehnike varnega kodiranja in izboljšujejo učinkovitost prepoznavanja težav pri delu s pomnilnikom v Androidu. Opaziti je, da približno 70% vseh nevarnih ranljivosti, ugotovljenih v Androidu, povzročijo napake pri delu s pomnilnikom.

Uporaba jezika Rust, da se osredotoča na varno upravljanje pomnilnika in omogoča samodejno upravljanje pomnilnika, bo zmanjšalo tveganje za ranljivosti, ki jih povzročajo napake med ravnanjem s pomnilnikom, na primer dostop do pomnilniškega območja po sprostitvi in ​​preseganje omejitev medpomnilnika.

Varno ravnanje s pomnilnikom je zagotovljeno v Rustu v času prevajanja s preverjanjem referenc, sledenjem lastništva in življenjske dobe objekta (obsega) ter ocenjevanjem pravilnosti dostopa do pomnilnika med izvajanjem.

Rust zagotavlja tudi sredstva za zaščito pred prelivanjem celo število, zahteva obvezno inicializacijo vrednosti spremenljivk pred uporabo, bolje obravnava napake v standardni knjižnici, privzeto sprejme koncept referenc in nespremenljivih spremenljivk in ponuja močno statično pisanje, da zmanjša logične napake.

V Androidu je na voljo varno upravljanje pomnilnika v jezikih Kotlin in Java že podprt, vendar ni primeren za razvoj sistemskih komponent zaradi velikih stroškov.

Rust omogoča doseganje zmogljivosti blizu jezikov C in C ++, ki omogoča, da se uporablja za razvoj nizkorazrednih delov platforme in komponent za vmesnik s strojno opremo.

Da bi zagotovil varnost kode C in C ++, Android uporablja izolacijo peskovnika, statično analizo in nejasne teste. Zmogljivosti izolacije peskovnika so omejene in so dosegle mejo svojih zmožnosti (nadaljnja razdrobljenost procesov z vidika porabe virov ni praktična).

Med omejitvami uporabe peskovnika omenjajo velike režijske stroške in večjo porabo pomnilnika, ki jo povzroča potreba po ustvarjanju novih procesov, pa tudi dodatno zakasnitev, povezano z uporabo IPC.

Hkrati peskovnik ne odpravlja ranljivosti v kodi, temveč le zmanjšuje tveganja in otežuje napad, saj izkoriščanje zahteva identifikacijo ne ene, temveč več ranljivosti.

Metode testiranja kode so omejene, ker morate za odkrivanje napak ustvariti pogoje za pojav težave. Vseh možnosti ni mogoče zajeti, zato številne napake ostanejo neopažene.

Za sistemske procese v Androidu Google se drži "pravila dveh"glede na katere dodana koda ne sme izpolnjevati več kot dva od treh pogojev- Delo z nepreverjenimi vhodnimi podatki, uporaba negotovega programskega jezika (C / C ++) in zagon brez trde izolacije peskovnika (z visokimi privilegiji).

Iz tega pravila izhaja, da je treba kodo za obdelavo zunanjih podatkov zmanjšati na najmanjši privilegij (izolirati) ali napisati v varnem programskem jeziku.

Google ne želi prepisovati kode C / C ++, ki obstaja v Rustu, vendar namerava uporabiti ta jezik za razvoj nove kode.

Rust je smiselno uporabiti za novo kodo, saj se statistično največ napak pojavi v novi ali nedavno spremenjeni kodi. Zlasti približno 50% pomnilniških napak, zaznanih v Androidu, je zaznanih v kodi, napisani pred manj kot enim letom.

vir: https://security.googleblog.com


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   miguel rodriguez je dejal

    Ironija, ko tvoj največji tekmec na koncu sprejme nekaj, kar si pomagal razviti za svoje namene ... Rja je v porastu.