O fẹrẹ to 21% ti koodu akojọpọ tuntun ni Android 13 ni a kọ sinu Rust

Awọn onimọ-ẹrọ lati Google ṣe akopọ awọn abajade akọkọ ti iṣafihan atilẹyin fun idagbasoke ni ede Rust sinu pẹpẹ Android. Ninu Android 13, isunmọ 21% ti koodu tuntun ti a ṣajọpọ ni a kọ sinu Rust, ati 79% ni C/C++. Ibi ipamọ AOSP (Android Open Source Project), eyiti o ṣe agbekalẹ koodu orisun ti iru ẹrọ Android, ni awọn laini miliọnu 1.5 ti koodu Rust ti o ni nkan ṣe pẹlu iru awọn paati tuntun bii ile itaja bọtini cryptographic Keyystore2, akopọ fun awọn eerun UWB (Ultra-Wideband) , imuse ti DNS-over-HTTP3 bèèrè, AVF (Android Virtualization Framework) ilana agbara, awọn akopọ esiperimenta fun Bluetooth ati Wi-Fi.

O fẹrẹ to 21% ti koodu akojọpọ tuntun ni Android 13 ni a kọ sinu Rust

Ni ibamu pẹlu ilana ti a gba tẹlẹ ti idinku eewu ti awọn ailagbara ti o fa nipasẹ awọn aṣiṣe ni ṣiṣẹ pẹlu iranti, ede Rust ti wa ni lilo lọwọlọwọ ni pataki ni idagbasoke koodu tuntun ati lati ni aabo diẹdiẹ aabo ti ipalara julọ ati awọn paati sọfitiwia pataki. Ko si ibi-afẹde gbogbogbo ti gbigbe gbogbo pẹpẹ si ipata ati koodu atijọ wa ni C / C ++, ati pe ija lodi si awọn aṣiṣe ninu rẹ ni a ṣe nipasẹ lilo awọn idanwo fuzzing, itupalẹ aimi ati lilo ninu idagbasoke awọn ilana ti o jọra si lilo iru MiraclePtr (sisopọ lori awọn itọka aise, ṣiṣe awọn sọwedowo afikun fun iraye si awọn agbegbe iranti ominira), eto ipin iranti Scudo (irọpo ailewu fun malloc / ọfẹ) ati awọn ọna wiwa aṣiṣe nigbati o n ṣiṣẹ pẹlu iranti HWAsan (Adirẹsi Iranlọwọ Hardware), GWP-ASAN og KFENCE.

Bi fun awọn iṣiro lori iru awọn ailagbara ninu pẹpẹ Android, o ṣe akiyesi pe bi koodu tuntun ti o ṣiṣẹ lailewu pẹlu iranti dinku, idinku ninu nọmba awọn ailagbara ti o ṣẹlẹ nipasẹ awọn aṣiṣe nigba ṣiṣẹ pẹlu iranti. Fun apẹẹrẹ, ipin awọn ailagbara ti o fa nipasẹ awọn iṣoro iranti dinku lati 76% ni ọdun 2019 si 35% ni ọdun 2022. Ni awọn nọmba pipe, awọn ailagbara ti o ni ibatan si iranti 2019 ni a ṣe idanimọ ni ọdun 223, 2020 ni ọdun 150, 2021 ni ọdun 100, ati 2022 ni ọdun 85 (gbogbo awọn ailagbara ti a ṣe akiyesi wa ni koodu C / C ++; ni koodu Rust, ko si awọn iṣoro iru bẹ bẹ ko si ri). Ọdun 2022 jẹ ọdun akọkọ ninu eyiti awọn ailagbara ti o ni ibatan si iranti ti dẹkun lati jẹ gaba lori.

O fẹrẹ to 21% ti koodu akojọpọ tuntun ni Android 13 ni a kọ sinu Rust

Niwọn igba ti awọn ailagbara ti o ni ibatan si iranti jẹ igbagbogbo ti o lewu julọ, awọn iṣiro gbogbogbo tun ṣafihan idinku ninu nọmba awọn ọran pataki ati awọn ọran ti o le ṣe ilokulo latọna jijin. Ni akoko kanna, awọn agbara ti idamo awọn ailagbara ti ko ni ibatan si ṣiṣẹ pẹlu iranti ti wa ni isunmọ ipele kanna fun awọn ọdun 4 sẹhin - awọn ailagbara 20 fun oṣu kan. Pipin ti awọn iṣoro ti o lewu laarin awọn ailagbara ti o ṣẹlẹ nipasẹ awọn aṣiṣe nigba ṣiṣẹ pẹlu iranti tun wa (ṣugbọn niwọn bi nọmba iru awọn ailagbara naa dinku, nọmba awọn iṣoro ti o lewu tun dinku).

O fẹrẹ to 21% ti koodu akojọpọ tuntun ni Android 13 ni a kọ sinu Rust

Awọn iṣiro naa tun tọpa ibamu laarin iye koodu tuntun ti o ṣiṣẹ lailewu pẹlu iranti ati nọmba awọn ailagbara ti o ni ibatan si iranti (ṣiṣan ṣiṣan, iraye si iranti ominira tẹlẹ, ati bẹbẹ lọ). Akiyesi yii jẹrisi arosinu pe idojukọ nigba imuse awọn ilana siseto to ni aabo yẹ ki o wa lori yiyọ koodu tuntun kuku ju atunkọ koodu ti o wa tẹlẹ, nitori ọpọlọpọ awọn ailagbara ti a mọ wa ni koodu tuntun.

O fẹrẹ to 21% ti koodu akojọpọ tuntun ni Android 13 ni a kọ sinu Rust


orisun: opennet.ru

Fi ọrọìwòye kun