Is-sadid huwa inkluż fost il-lingwi ewlenin għall-iżvilupp tal-pjattaforma Android

Google ħabbret l-inklużjoni tal-lingwa ta 'programmar Rust fost il-lingwi permessi għall-iżvilupp tal-pjattaforma Android. Il-kompilatur tal-lingwa Rust ġie inkluż fis-siġra tas-sors ta 'Android lura fl-2019, iżda l-appoġġ għal din il-lingwa baqa' sperimentali. Uħud mill-ewwel komponenti Rust ippjanati għal Android jinkludu implimentazzjonijiet ġodda tal-mekkaniżmu ta 'komunikazzjoni interproċess Binder u l-munzell Bluetooth.

L-introduzzjoni ta 'Rut saret bħala parti minn proġett biex tissaħħaħ is-sigurtà, tippromwovi tekniki ta' programmar sikuri u tiżdied l-effiċjenza ta 'identifikazzjoni ta' problemi meta taħdem bil-memorja f'Android. Huwa nnutat li madwar 70% tal-vulnerabbiltajiet perikolużi kollha identifikati f'Android huma kkawżati minn żbalji meta taħdem bil-memorja. L-użu ta' Rust, li jiffoka fuq is-sikurezza tal-memorja u l-ġestjoni awtomatika tal-memorja, se jnaqqas ir-riskju ta 'vulnerabbiltajiet ikkawżati minn żbalji fil-memorja bħal aċċess bla ħlas ta' wara u qbiż tal-buffer.

Is-sadid jinforza s-sigurtà tal-memorja fil-ħin tal-kompilazzjoni permezz ta 'verifika ta' referenza, sjieda ta 'oġġett u traċċar tal-ħajja tal-oġġett (ambiti), u billi tevalwa l-korrettezza tal-aċċessi għall-memorja waqt ir-runtime. Is-sadid jipprovdi wkoll protezzjoni kontra overflows ta’ numru sħiħ, jeħtieġ li l-valuri varjabbli jiġu inizjalizzati qabel l-użu, għandu ġestjoni aħjar tal-iżbalji fil-librerija standard, juża l-kunċett ta’ referenzi u varjabbli immutabbli b’mod awtomatiku, u joffri tajpjar statiku qawwi biex jimminimizza l-iżbalji loġiċi.

F'Android, is-sigurtà tal-memorja hija pprovduta fil-lingwi Kotlin u Java diġà appoġġjati, iżda mhumiex adattati għall-iżvilupp ta 'komponenti tas-sistema minħabba overhead għoli. Rust jagħmilha possibbli li tinkiseb prestazzjoni qrib il-lingwi C u C++, li tippermetti li tintuża għall-iżvilupp ta 'partijiet ta' livell baxx tal-pjattaforma u komponenti għall-interazzjoni mal-ħardwer.

Biex tiżgura s-sigurtà tal-kodiċi C u C++, Android juża iżolament ta 'sandbox, analiżi statika, u ttestjar fuzzing. Il-kapaċitajiet tal-iżolament tal-kaxxa tar-ramel huma limitati u laħqu l-limitu tal-kapaċitajiet tagħhom (frammentazzjoni ulterjuri fi proċessi mhijiex prattika mil-lat tal-konsum tar-riżorsi). Il-limitazzjonijiet tal-użu ta 'sandbox jinkludu spejjeż ġenerali kbar u żieda fil-konsum tal-memorja kkawżata mill-ħtieġa li jinħolqu proċessi ġodda, kif ukoll dewmien addizzjonali assoċjat mal-użu tal-IPC.

Fl-istess ħin, sandbox ma jeliminax il-vulnerabbiltajiet fil-kodiċi, iżda jnaqqas biss ir-riskji u jikkomplika l-attakk, peress li l-isfruttament jeħtieġ l-identifikazzjoni ta 'mhux waħda, iżda diversi vulnerabbiltajiet. Il-metodi bbażati fuq l-ittestjar tal-kodiċi huma limitati peress li sabiex jiġu identifikati l-iżbalji, huwa meħtieġ li jinħolqu kundizzjonijiet biex il-problema timmanifesta ruħha. Mhux possibbli li jiġu koperti l-għażliet kollha possibbli, għalhekk ħafna żbalji ma jiġux innutati.

Għall-proċessi tas-sistema f'Android, Google jaderixxi mar-"regola ta' tnejn", li skontha kwalunkwe kodiċi miżjuda għandha tissodisfa mhux aktar minn tnejn minn tliet kundizzjonijiet: taħdem b'dejta ta' input mhux validata, tuża lingwa ta' programmar mhux sigura (C/C++), u taħdem mingħajr iżolament strett tal-kaxxa tar-ramel (wara privileġġi elevati). Din ir-regola timplika li l-kodiċi għall-ipproċessar tad-dejta esterna għandu jew jitnaqqas għal privileġġi minimi (iżolati) jew miktub f'lingwa ta' programmar sigura.

Google ma timmirax li tikteb mill-ġdid il-kodiċi eżistenti C/C++ f'Rut, iżda qed tippjana li tuża din il-lingwa biex tiżviluppa kodiċi ġdid. Jagħmel sens li tuża Rust għal kodiċi ġdid għaliex, statistikament, il-biċċa l-kbira tal-bugs jidhru f'kodiċi ġdid jew mibdul reċentement. B'mod partikolari, madwar 50% tal-iżbalji tal-memorja misjuba f'Android jinstabu f'kodiċi miktub inqas minn sena ilu.

Is-sadid huwa inkluż fost il-lingwi ewlenin għall-iżvilupp tal-pjattaforma Android


Sors: opennet.ru

Żid kumment