Rust enkli nan mitan lang prensipal yo pou devlopman platfòm android

Google te anonse enklizyon langaj pwogram Rust la pami lang ki pèmèt pou devlope platfòm Android la. Konpilatè lang Rust la te enkli nan pye bwa sous Android an 2019, men sipò pou lang sa a te rete eksperimantal. Gen kèk nan premye konpozan Rust ki te planifye pou voye sou android yo se nouvo enplemantasyon mekanis kominikasyon Binder interprocess ak pile Bluetooth la.

Entwodiksyon Rust te pote soti nan kad yon pwojè pou ranfòse sekirite, ankouraje teknik pwogramasyon ki an sekirite ak ogmante efikasite nan idantifye pwoblèm lè w ap travay ak memwa nan android. Li te note ke apeprè 70% nan tout frajilite danjere idantifye nan android yo ki te koze pa erè lè w ap travay ak memwa. Sèvi ak Rust, ki konsantre sou sekirite memwa ak jesyon otomatik memwa, ap diminye risk pou frajilite ki te koze pa erè memwa tankou aksè apre gratis ak depase tanpon.

Rust ranfòse sekirite memwa nan moman konpile atravè tcheke referans, pwopriyetè objè ak swiv objè pou tout lavi (dimansyon), epi pa evalye kòrèkteman nan aksè memwa nan ègzekutabl. Rust tou bay pwoteksyon kont debòde nonb antye relatif, mande pou valè varyab yo dwe inisyalize anvan yo itilize, gen pi bon manyen erè nan bibliyotèk estanda a, sèvi ak konsèp nan referans imuiabl ak varyab pa default, epi li ofri fò sezisman estatik pou minimize erè lojik.

Nan Android, sekirite memwa yo bay nan lang yo deja sipòte Kotlin ak Java, men yo pa apwopriye pou devlope eleman sistèm akòz gwo tèt. Rust fè li posib reyalize pèfòmans tou pre lang C ak C++, ki pèmèt li itilize pou devlope pati ki ba nivo platfòm la ak konpozan pou kominike avèk pyès ki nan konpitè.

Pou asire sekirite kòd C ak C++, Android itilize izolasyon sandbox, analiz estatik, ak tès fuzzing. Kapasite yo nan izolasyon sandbox yo limite epi yo te rive nan limit la nan kapasite yo (plis fwagmantasyon nan pwosesis se Inposibl soti nan pwen de vi nan konsomasyon resous). Limit nan itilize sandbox gen ladan gwo depans anlè ak konsomasyon memwa ogmante ki te koze pa bezwen anjandre nouvo pwosesis, osi byen ke reta adisyonèl ki asosye ak itilizasyon IPC.

An menm tan an, sandbox pa elimine vilnerabilite nan kòd la, men sèlman diminye risk ak konplike atak la, depi eksplwatasyon mande pou idantifikasyon pa youn, men plizyè frajilite. Metòd ki baze sou tès kòd yo limite nan ke yo nan lòd yo idantifye erè, li nesesè yo kreye kondisyon pou pwoblèm nan manifeste tèt li. Li pa posib pou kouvri tout opsyon posib, se konsa anpil erè pase inapèsi.

Pou pwosesis sistèm nan Android, Google respekte "règ de de", dapre ki nenpòt kòd ajoute pa dwe ranpli pa plis pase de nan twa kondisyon: travay ak done antre ki pa valide, lè l sèvi avèk yon langaj pwogramasyon ki pa an sekirite (C/C++), ak kouri san izolasyon sandbox strik (ki gen privilèj ki wo). Règ sa a vle di ke kòd pou trete done ekstèn yo dwe swa redwi a privilèj minim (izole) oswa ekri nan yon langaj pwogramasyon an sekirite.

Google pa vize pou reekri kòd C/C++ ki deja egziste nan Rust, men li planifye pou itilize lang sa a pou devlope nouvo kòd. Li fè sans pou itilize Rust pou nouvo kòd paske, estatistik, pifò pinèz parèt nan nouvo kòd oswa ki fèk chanje. An patikilye, apeprè 50% erè memwa detekte nan android yo detekte nan kòd ki ekri mwens pase yon ane de sa.

Rust enkli nan mitan lang prensipal yo pou devlopman platfòm android


Sous: opennet.ru

Add nouvo kòmantè