Rust on kaasatud peamiste keelte hulka Android platvormi arendamiseks.

Google teatas, et programmeerimiskeel Rust on nĂŒĂŒd lubatud Androidi arendamiseks. Rusti kompilaator lisati Androidi lĂ€htekoodide puusse juba 2019. aastal, kuid keele tugi jĂ€i eksperimentaalseks. Üks esimesi Rustis kirjutatud komponente, mida plaanitakse Androidis tarnida, on uued rakendused vaheprotsesside suhtlemise mehhanismi Binder ja Bluetoothi virna jaoks.

Rusti rakendamine toimub raames projektist, mille eesmĂ€rk on tugevdada turvalisust, edendada turvalise programmeerimise praktikaid ja parandada mĂ€lu probleemide tuvastamise efektiivsust Androidis. MĂ€rgitakse, et umbes 70% Androidis avastatud ohtlikest haavatavustest on pĂ”hjustatud mĂ€lu kasutamise vigadest. Rusti kasutamine, mis keskendub ohutule mĂ€lu haldamisele ja tagab automaatse mĂ€lu juhtimise, vĂ€hendab haavatavuste tekkimise riski, mis on pĂ”hjustatud mĂ€lu kasutamise vigadest, nagu mĂ€lust vabastatud ala kasutamine ja puhverpiiride ĂŒletamine.

Rust tagab mĂ€lu ohutu kasutamise kompileerimise ajal viidete kontrollimise, objektide omandiĂ”iguse jĂ€lgimise ja objektide eluea (nĂ€htavuse) arvestamise kaudu, samuti hindab koodi tĂ€itmise ajal mĂ€lu juurdepÀÀsu Ă”igsust. Rust pakub ka vahendeid tĂ€isarvude ĂŒletamise kaitseks, nĂ”uab muutuja vÀÀrtuste kohustuslikku initsialiseerimist enne kasutamist, kĂ€sitleb vigu tĂ”husamalt standardraamatukogus, rakendab immutable (muudatamatut) viidete ja muutuja vaikimisi kontseptsiooni ning pakub tugevat staatilist tĂŒpiseerimist loogiliste vigade minimeerimiseks.

Androidis tagatakse mĂ€lu ohutu kasutamine juba toetatud keeltes Kotlin ja Java, kuid need ei sobi sĂŒsteemikomponentide arendamiseks suure kulu tĂ”ttu. Rust vĂ”imaldab saavutada C ja C++ keelte lĂ€hedast jĂ”udlust, mis vĂ”imaldab seda kasutada madala taseme osade ja seadme suhtlemis komponentide arendamiseks.

Koodi turvalisuse tagamiseks C ja C++ Androidis rakendatakse sandbox-isolatsiooni, staatilist analĂŒĂŒsi ja fuzzing-teste. Sandbox-isolatsiooni vĂ”imalused on piiratud ja on saavutanud oma vĂ”imaluste piiri (edasi jagamine protsessideks ei ole ressursikasutuse seisukohalt mĂ”istlik). Sandboxi rakendamise piiranguteks on suured kulud ja suurenenud mĂ€lu tarbimine, mis tulenevad vajadusest luua uusi protsesse, samuti tĂ€iendavad viivitused, mis on seotud IPC kasutamisega.

Kuid sandbox ei kĂ”rvalda koodi haavatavusi, vaid ainult vĂ€hendab riske ja keerustab rĂŒnnaku elluviimist, kuna rĂŒndamiseks on vajalik tuvastada mitte ĂŒks, vaid mitu haavatavust. Koodikatsemeetodid on piiratud sellega, et vigade tuvastamiseks tuleb luua tingimused probleemi ilmnemiseks. KĂ”iki vĂ”imalikke variante ei ole vĂ”imalik katab, seetĂ”ttu jÀÀb palju vigu tĂ€helepanuta.

Androidi sĂŒsteemiprotsesside puhul jĂ€rgib Google ''kahe reeglit'', mille kohaselt peab iga lisatava koodi uuendama mitte rohkem kui kahe tingimuse jĂ€rgi kolmest: töötamine kontrollimata sisenditega, kasutamine ebaturvalise programmeerimiskeelega (C/C++) ja kĂ€itamine ilma range sandbox-isolatsioonita (kĂ”rged Ă”igused). Sellest reeglist jĂ€reldub, et vĂ€liste andmete töötlemiseks mĂ”eldud kood peab olema kas kĂ€rbitud miinimumtasemele (isoleeritud) vĂ”i kirjutatud turvalises programmeerimiskeeles.

Google ei pĂŒĂŒa ĂŒmber kirjutada olemasolevat C/C++ koodi Rustis, vaid plaanib kasutada seda keelt uue koodi vĂ€ljatöötamiseks. Rusti kasutamine uue koodi jaoks on mĂ”istlik, kuna statistika kohaselt ilmnevad enamus vigu uues vĂ”i hiljuti muudetud koodis. Eriti tuleneb umbes 50% Androidi mĂ€lu vigadest koodist, mis on kirjutatud vĂ€hem kui aasta tagasi.

Rust on kaasatud peamiste keelte hulka Android platvormi arendamiseks.


Allikas: opennet.ru
Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster