Mae tua 21% o'r cod newydd a luniwyd yn Android 13 wedi'i ysgrifennu yn Rust

Crynhodd peirianwyr o Google ganlyniadau cyntaf cyflwyno cefnogaeth ar gyfer datblygu yn yr iaith Rust i'r platfform Android. Yn Android 13, mae tua 21% o'r cod casglu newydd a ychwanegwyd wedi'i ysgrifennu yn Rust, a 79% yn C / C ++. Mae ystorfa AOSP (Prosiect Ffynhonnell Agored Android), sy'n datblygu cod ffynhonnell platfform Android, yn cynnwys tua 1.5 miliwn o linellau o god Rust sy'n gysylltiedig Γ’ chydrannau newydd fel storfa allweddi cryptograffig Keystore2, pentwr ar gyfer sglodion PCB (Ultra-Wideband) , gweithredu'r protocol DNS-dros-HTTP3, fframwaith rhithwiroli AVF (Fframwaith Rhithwiroli Android), staciau arbrofol ar gyfer Bluetooth a Wi-Fi.

Mae tua 21% o'r cod newydd a luniwyd yn Android 13 wedi'i ysgrifennu yn Rust

Yn unol Γ’'r strategaeth a fabwysiadwyd yn flaenorol o leihau'r risg o wendidau a achosir gan wallau wrth weithio gyda chof, defnyddir yr iaith Rust ar hyn o bryd yn bennaf wrth ddatblygu cod newydd ac i gryfhau diogelwch y cydrannau meddalwedd mwyaf agored i niwed a hanfodol yn raddol. Nid oes unrhyw nod cyffredinol o drosglwyddo'r platfform cyfan i Rust ac mae'r hen god yn parhau i fod yn C/C++, ac mae'r frwydr yn erbyn gwallau ynddo yn cael ei wneud trwy ddefnyddio profion niwlog, dadansoddiad statig a'r defnydd o dechnegau tebyg i ddatblygu. defnyddio'r math MiraclePtr (rhwymo dros awgrymiadau amrwd, cynnal gwiriadau ychwanegol ar gyfer cyrchu ardaloedd cof wedi'u rhyddhau), y system dyrannu cof Scudo (yn lle diogel yn lle malloc / di-dΓ’l) a mecanweithiau canfod gwallau wrth weithio gyda chof HWAsan (Sanitizer AddressSanitizer Γ’ chymorth Caledwedd), GWP-ASAN a KFENCE.

O ran ystadegau ar natur gwendidau yn y platfform Android, nodir wrth i god newydd sy'n gweithio'n anniogel gyda'r cof leihau, mae gostyngiad yn nifer y gwendidau a achosir gan wallau wrth weithio gyda'r cof. Er enghraifft, gostyngodd cyfran y gwendidau a achosir gan broblemau cof o 76% yn 2019 i 35% yn 2022. Mewn niferoedd absoliwt, nodwyd 2019 o wendidau sy'n gysylltiedig Γ’'r cof yn 223, 2020 yn 150, 2021 yn 100, ac 2022 yn 85 (roedd yr holl wendidau a nodwyd yn y cod C / C ++; yng nghod Rust, nid oes unrhyw broblemau tebyg hyd yn hyn nid oedd dod o hyd). 2022 oedd y flwyddyn gyntaf i wendidau sy'n gysylltiedig Γ’'r cof beidio Γ’ dominyddu.

Mae tua 21% o'r cod newydd a luniwyd yn Android 13 wedi'i ysgrifennu yn Rust

Gan mai gwendidau sy'n gysylltiedig Γ’ chof yw'r rhai mwyaf peryglus fel arfer, mae'r ystadegau cyffredinol hefyd yn dangos gostyngiad yn nifer y materion a'r materion critigol y gellir eu hecsbloetio o bell. Ar yr un pryd, mae dynameg adnabod gwendidau nad ydynt yn gysylltiedig Γ’ gweithio gyda'r cof wedi aros tua'r un lefel am y 4 blynedd diwethaf - 20 bregusrwydd y mis. Mae'r gyfran o broblemau peryglus ymhlith gwendidau a achosir gan wallau wrth weithio gyda'r cof hefyd yn parhau (ond ers i nifer y gwendidau o'r fath leihau, mae nifer y problemau peryglus hefyd yn lleihau).

Mae tua 21% o'r cod newydd a luniwyd yn Android 13 wedi'i ysgrifennu yn Rust

Mae'r ystadegau hefyd yn olrhain y gydberthynas rhwng faint o god newydd sy'n gweithio'n anniogel gyda'r cof a nifer y gwendidau sy'n gysylltiedig Γ’'r cof (gorlif byffer, mynediad at gof sydd eisoes wedi'i ryddhau, ac ati). Mae'r sylw hwn yn cadarnhau'r rhagdybiaeth y dylai'r ffocws wrth weithredu technegau rhaglennu diogel fod ar ddileu cod newydd yn hytrach nag ailysgrifennu'r cod presennol, gan fod y rhan fwyaf o'r gwendidau a nodwyd mewn cod newydd.

Mae tua 21% o'r cod newydd a luniwyd yn Android 13 wedi'i ysgrifennu yn Rust


Ffynhonnell: opennet.ru

Ychwanegu sylw