Takriban 21% ya nambari mpya iliyokusanywa katika Android 13 imeandikwa kwa Rust

Wahandisi kutoka Google walifanya muhtasari wa matokeo ya kwanza ya kuanzisha usaidizi wa maendeleo katika lugha ya Rust kwenye mfumo wa Android. Katika Android 13, takriban 21% ya msimbo mpya uliokusanywa umeandikwa kwa Rust, na 79% kwa C/C++. Hazina ya AOSP (Android Open Source Project), ambayo hutengeneza msimbo wa chanzo wa jukwaa la Android, ina takriban mistari milioni 1.5 ya msimbo wa Rust unaohusishwa na vipengele vipya kama vile hifadhi ya vitufe vya Keystore2, rundo la chips za UWB (Ultra-Wideband) , utekelezaji wa itifaki ya DNS-over-HTTP3, mfumo wa uboreshaji wa AVF (Android Virtualization Framework), rundo la majaribio la Bluetooth na Wi-Fi.

Takriban 21% ya nambari mpya iliyokusanywa katika Android 13 imeandikwa kwa Rust

Kwa mujibu wa mkakati uliopitishwa hapo awali wa kupunguza hatari ya udhaifu unaosababishwa na makosa katika kufanya kazi na kumbukumbu, lugha ya Rust kwa sasa inatumiwa hasa katika maendeleo ya kanuni mpya na kuimarisha hatua kwa hatua usalama wa vipengele vya hatari zaidi na muhimu vya programu. Hakuna lengo la jumla la kuhamisha jukwaa zima kwa Rust na kanuni ya zamani inabakia katika C / C ++, na mapambano dhidi ya makosa ndani yake hufanywa kupitia matumizi ya kupima fuzzing, uchambuzi wa tuli na matumizi katika maendeleo ya mbinu zinazofanana. kutumia aina ya MiraclePtr (kufunga juu ya viashiria mbichi, kufanya ukaguzi wa ziada wa kufikia maeneo ya kumbukumbu iliyoachiliwa), mfumo wa ugawaji wa kumbukumbu wa Scudo (mbadala salama ya malloc/isiyolipishwa) na njia za kugundua makosa wakati wa kufanya kazi na kumbukumbu HWAsan (Anwani ya kusaidiwa na vifaa), GWP-ASAN na KFENCE.

Kuhusu takwimu juu ya asili ya udhaifu kwenye jukwaa la Android, inabainika kuwa kadiri nambari mpya ambayo inafanya kazi kwa usalama na kumbukumbu inavyopungua, kuna kupungua kwa idadi ya udhaifu unaosababishwa na makosa wakati wa kufanya kazi na kumbukumbu. Kwa mfano, sehemu ya udhaifu unaosababishwa na shida za kumbukumbu ilipungua kutoka 76% mnamo 2019 hadi 35% mnamo 2022. Kwa idadi kamili, udhaifu 2019 unaohusiana na kumbukumbu ulitambuliwa mnamo 223, 2020 mnamo 150, 2021 mnamo 100, na 2022 mnamo 85 (udhaifu wote uliobainika ulikuwa katika nambari ya C/C++; katika nambari ya Kutu, hakuna shida kama hizo hadi sasa hazikuwepo. kupatikana). 2022 ulikuwa mwaka wa kwanza ambapo udhaifu unaohusiana na kumbukumbu ulikoma kutawala.

Takriban 21% ya nambari mpya iliyokusanywa katika Android 13 imeandikwa kwa Rust

Kwa kuwa udhaifu unaohusiana na kumbukumbu kwa kawaida ndio hatari zaidi, takwimu za jumla pia zinaonyesha kupungua kwa idadi ya masuala muhimu na masuala ambayo yanaweza kutumiwa kwa mbali. Wakati huo huo, mienendo ya kutambua udhaifu usiohusiana na kufanya kazi na kumbukumbu imesalia katika takriban kiwango sawa kwa miaka 4 iliyopita - udhaifu 20 kwa mwezi. Sehemu ya shida hatari kati ya udhaifu unaosababishwa na makosa wakati wa kufanya kazi na kumbukumbu pia inabaki (lakini kwa kuwa idadi ya udhaifu kama huo hupungua, idadi ya shida hatari pia hupungua).

Takriban 21% ya nambari mpya iliyokusanywa katika Android 13 imeandikwa kwa Rust

Takwimu pia hufuatilia uwiano kati ya kiasi cha msimbo mpya unaofanya kazi kwa njia isiyo salama na kumbukumbu na idadi ya udhaifu unaohusiana na kumbukumbu (bafa kufurika, ufikiaji wa kumbukumbu iliyoachiliwa, n.k.). Uchunguzi huu unathibitisha dhana kwamba lengo wakati wa kutekeleza mbinu salama za upangaji linapaswa kuwa katika kuondoa msimbo mpya badala ya kuandika upya msimbo uliopo, kwa kuwa sehemu kubwa ya udhaifu uliotambuliwa uko katika msimbo mpya.

Takriban 21% ya nambari mpya iliyokusanywa katika Android 13 imeandikwa kwa Rust


Chanzo: opennet.ru

Kuongeza maoni