Rūsas jau ir iecienītas Android izstrādē

Google atklāja nesen nosliece programmēšanas valoda Rūsa starp atļautajām valodām Android izstrādei.

Tā kā Rust kompilators tika iekļauts Android avotu kokā 2019. gadā, taču valodas atbalsts palika eksperimentāls. Daži no pirmajiem Rust komponentiem, kas tiek piegādāti Android ierīcē, ir Binder starpprocesu komunikācijas mehānisma un Bluetooth kaudzes jauni ieviešanas varianti.

Rust ieviešana tika veikts kā daļa no drošības stiprināšanas projekta, veicinātu drošas kodēšanas metodes un uzlabotu problēmu identificēšanas efektivitāti, strādājot ar atmiņu operētājsistēmā Android. Tiek novērots, ka aptuveni 70% no visām Android identificētajām bīstamajām ievainojamībām rodas kļūdu dēļ, strādājot ar atmiņu.

Rust valodas lietošana, ka koncentrējas uz drošu atmiņas pārvaldību un nodrošina automātisku atmiņas pārvaldību, tas samazinās ievainojamības risku, ko rada kļūdas atmiņas apstrādes laikā, piemēram, piekļuve atmiņas zonai pēc tās atbrīvošanas un bufera ierobežojumu pārsniegšana.

Droša atmiņas apstrāde tiek nodrošināta Rust kompilēšanas laikā, pārbaudot atsauces, izsekojot objekta īpašumtiesības un objekta dzīvi (darbības jomu), kā arī novērtējot atmiņas piekļuves pareizību izpildlaika laikā.

Rūsa nodrošina arī līdzekļus aizsardzībai pret pārplūdēm vesels skaitlis, pirms lietošanas ir nepieciešama obligāta mainīgo vērtību inicializēšana, labāk apstrādā kļūdas standarta bibliotēkā, pēc noklusējuma pieņem atsauču un nemainīgo mainīgo jēdzienu un piedāvā spēcīgu statisku rakstīšanu, lai mazinātu loģiskās kļūdas.

Operētājsistēmā Android droša atmiņas pārvaldība tiek nodrošināta Kotlin un Java valodās jau ir atbalstīts, bet nav piemērots sistēmas sastāvdaļu izstrādei smagās pieskaitāmās izmaksas dēļ.

Rūsa ļauj sasniegt sniegumu, kas tuvu C un C ++ valodām, ļaujot to izmantot, lai izstrādātu zema līmeņa platformas daļas un komponentus, lai tie saskartos ar aparatūru.

Lai nodrošinātu C un C ++ kodu drošību, Android izmanto smilškastes izolāciju, statisko analīzi un fuzzēšanas testus. Smilškastes izolācijas iespējas ir ierobežotas un ir sasniegušas savu iespēju robežu (turpmāka procesu sadrumstalotība nav praktiska no resursu patēriņa viedokļa).

Starp smilškastes izmantošanas ierobežojumiem viņi min lielo pieskaitāmo daļu un lielāku atmiņas patēriņu, ko rada nepieciešamība ģenerēt jaunus procesus, kā arī papildu latentumu, kas saistīts ar IPC izmantošanu.

Tajā pašā laikā smilšu kaste nenovērš koda ievainojamības, bet tikai samazina riskus un sarežģī uzbrukumu, jo izmantošanai ir jāidentificē ne viena, bet vairākas ievainojamības.

Kodu testēšanas metodes ir ierobežotas, jo, lai atklātu kļūdas, jums ir jāizveido apstākļi problēmas izpausmei. Nav iespējams aptvert visas iespējamās iespējas, tāpēc daudzas kļūdas netiek pamanītas.

Sistēmas procesiem Android ierīcēs Google ievēro “divu likumu”Atbilstoši kuru pievienotais kods nedrīkst pārsniegt divus no trim nosacījumiem- Strādājiet ar nepārbaudītiem ievades datiem, izmantojiet nedrošu programmēšanas valodu (C / C ++) un palaidiet bez cietas smilškastes izolācijas (ar paaugstinātām privilēģijām).

No šī noteikuma izriet, ka kods ārējo datu apstrādei jāsamazina līdz vismazākai privilēģijai (izolēts) vai jāraksta drošā programmēšanas valodā.

Google mērķis nav pārrakstīt kodu C / C ++ pastāv Rust, bet viņš plāno izmantot šo valodu, lai izstrādātu jaunu kodu.

Ir lietderīgi izmantot Rust jaunam kodam, jo ​​statistiski lielākā daļa kļūdu parādās jaunajā vai nesen pārveidotajā kodā. Jo īpaši aptuveni 50% no operētājsistēmā Android atklātajām kļūdām tiek atklātas kodā, kas rakstīts mazāk nekā pirms gada.

Fuente: https://security.googleblog.com


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Migels Rodrigess teica

    Ironiski, kad tavs lielākais konkurents nonāk pie tā, ko tu palīdzēji attīstīt saviem mērķiem ... Rūsas pieaug.