Rooste on juba Androidi arendamise lemmik

Google avalikustas hiljuti kallutus programmeerimiskeel Rooste lubatud keelte seas Androidi arendamiseks.

Kuna Rust kompilaator lisati Androidi lähtekohale 2019. aastal, jäi keeletoetus siiski eksperimentaalseks. Mõned esimesed Rust'i komponendid, mis Androidile tarnitakse, on Binderi protsessidevahelise suhtlusmehhanismi ja Bluetooth-virna uued rakendused.

Rooste rakendamine viidi läbi turvalisuse tugevdamise projekti raames, reklaamige turvalisi kodeerimistehnikaid ja parandage Androidi mäluga töötamisel probleemide tuvastamise tõhusust. On täheldatud, et umbes 70% kõigist Androidis tuvastatud ohtlikest haavatavustest on põhjustatud mäluga töötamisel tekkinud vigadest.

Rooste keele kasutamine, et keskendub turvalisele mäluhaldusele ja pakub automaatset mäluhaldust, see vähendab vigade tekkimise ohtu, mis on põhjustatud mälu käitlemisel tekkivatest vigadest, näiteks juurdepääs mälupiirkonnale pärast selle vabastamist ja puhvri piiride ületamine.

Turvaline mälukäsitlus on Rustis ehitamise ajal tagatud, kontrollides viiteid, jälgides objekti omandiõigust ja objekti eluiga (ulatust) ning hinnates käitusajal mälule juurdepääsu õigsust.

Rust pakub ka vahendeid ülevoolu eest kaitsmiseks täisarv, nõuab enne kasutamist muutujate väärtuste kohustuslikku initsialiseerimist, haldab paremini standardteeki vigu, võtab vaikimisi kasutusele viidete ja muutumatute muutujate kontseptsiooni ning pakub loogiliste vigade minimeerimiseks tugevat staatilist kirjutamist.

Androidis pakutakse turvalist mäluhaldust Kotlini ja Java keeles juba toetatud, kuid ei sobi süsteemi komponentide väljatöötamiseks suure üldkulude tõttu.

Rooste võimaldab saavutada jõudlust, mis on lähedane C- ja C ++ -keeltele, võimaldades seda kasutada platvormi madalate osade ja riistvaraga liidetavate komponentide väljatöötamiseks.

C ja C ++ koodi turvalisuse tagamiseks kasutab Android liivakasti eraldamist, staatilist analüüsi ja fuzzing-teste. Liivakasti isoleerimisvõimalused on piiratud ja jõudnud oma võimete piirini (protsesside edasine killustamine pole ressursitarbimise seisukohast otstarbekas).

Liivakasti kasutamise piirangutest nimetavad nad suurt üldkulusid ja suuremat mälutarbimist, mis on tingitud vajadusest luua uusi protsesse, samuti IPC kasutamisega seotud täiendavat latentsust.

Samal ajal ei kõrvalda liivakast koodi nõrku kohti, vaid vähendab ainult riske ja raskendab rünnakut, kuna ärakasutamine nõuab mitte ühe, vaid mitme haavatavuse tuvastamist.

Koodide testimise meetodid on piiratud, kuna vigade avastamiseks peate looma tingimused probleemi ilmnemiseks. Kõiki võimalikke valikuid pole võimalik katta, nii et paljud vead jäävad märkamata.

Androidi süsteemiprotsesside jaoks Google peab kinni „reeglist kaks“Vastavalt millele lisatud kood ei tohi vastata rohkem kui kahele kolmest tingimusest- Töötage kontrollimata sisendandmetega, kasutage ebaturvalist programmeerimiskeelt (C / C ++) ja töötage ilma tugeva liivakasti isoleerimiseta (kõrgendatud õigustega).

Sellest reeglist tuleneb, et väliste andmete töötlemiseks vajalik kood peab olema vähendatud vähemate õigustega (isoleeritud) või kirjutatud turvalises programmeerimiskeeles.

Google'i eesmärk pole koodi ümber kirjutada C / C ++ olemas Rustis, kuid ta kavatseb seda keelt uue koodi väljatöötamiseks kasutada.

Rust on otstarbekas kasutada uue koodi jaoks, kuna statistiliselt ilmub enamik vigu uues või hiljuti muudetud koodis. Eelkõige avastatakse umbes 50% Androidis tuvastatud mäluvigadest vähem kui aasta tagasi kirjutatud koodis.

allikas: https://security.googleblog.com


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   miguel rodriguez DIJO

    Iroonia, kui teie suurim konkurent võtab omaks midagi, mida aitasite oma eesmärkidel arendada ... Rooste on tõusuteel.