Mga 21% sa bag-ong naipon nga code sa Android 13 gisulat sa Rust

Ang mga inhenyero gikan sa Google nagsumada sa unang mga resulta sa pagpaila sa suporta alang sa kalamboan sa Rust nga pinulongan ngadto sa Android nga plataporma. Sa Android 13, gibana-bana nga 21% sa bag-ong giipon nga code nga gidugang gisulat sa Rust, ug 79% sa C/C++. Ang repositoryo sa AOSP (Android Open Source Project), nga nagpalambo sa source code sa Android platform, adunay gibana-bana nga 1.5 ka milyon nga linya sa Rust code nga may kalabutan sa bag-ong mga sangkap sama sa Keystore2 cryptographic key store, usa ka stack alang sa UWB chips (Ultra-Wideband) , pagpatuman sa DNS-over-HTTP3 protocol, ang AVF (Android Virtualization Framework) virtualization framework, experimental stacks para sa Bluetooth ug Wi-Fi.

Mga 21% sa bag-ong naipon nga code sa Android 13 gisulat sa Rust

Sumala sa gisagop kaniadto nga estratehiya sa pagpakunhod sa risgo sa mga kahuyang tungod sa mga sayop sa pagtrabaho uban sa panumduman, ang Rust nga pinulongan sa pagkakaron gigamit nag-una sa pagpalambo sa bag-ong code ug sa hinay-hinay nga pagpalig-on sa seguridad sa labing huyang ug importante nga mga sangkap sa software. Walay kinatibuk-ang tumong sa pagbalhin sa tibuok plataporma ngadto sa Rust ug ang daan nga code nagpabilin sa C/C++, ug ang pagpakig-away batok sa mga kasaypanan niini gihimo pinaagi sa paggamit sa fuzzing testing, static analysis ug paggamit sa pagpalambo sa mga teknik nga susama sa gamit ang MiraclePtr type (pagbugkos sa mga hilaw nga pointer, paghimo og dugang nga mga pagsusi alang sa pag-access sa libre nga mga lugar sa panumduman), ang Scudo memory allocation system (usa ka luwas nga kapuli sa malloc/free) ug mga mekanismo sa pag-detect sa sayop kon nagtrabaho uban sa memorya nga HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN ug KFENCE.

Sama sa alang sa mga estadistika sa kinaiya sa mga kahuyangan sa platform sa Android, namatikdan nga samtang ang bag-ong code nga dili luwas nga molihok sa panumduman mikunhod, adunay pagkunhod sa gidaghanon sa mga kahuyangan nga gipahinabo sa mga sayup kung nagtrabaho uban ang memorya. Pananglitan, ang bahin sa mga kahuyangan tungod sa mga problema sa memorya mikunhod gikan sa 76% sa 2019 hangtod sa 35% sa 2022. Sa hingpit nga mga numero, 2019 nga mga kahuyangan nga may kalabotan sa memorya ang giila sa 223, 2020 sa 150, 2021 sa 100, ug 2022 sa 85 (tanan nga natala nga mga kahuyangan naa sa C/C++ code; sa Rust code, wala’y parehas nga mga problema hangtod karon wala pa. nakit-an). Ang 2022 mao ang unang tuig diin ang mga kahuyangan nga may kalabutan sa memorya mihunong sa pagdominar.

Mga 21% sa bag-ong naipon nga code sa Android 13 gisulat sa Rust

Tungod kay ang mga kahuyangan nga may kalabutan sa memorya kasagaran ang labing delikado, ang kinatibuk-ang estadistika nagpakita usab sa pagkunhod sa gidaghanon sa mga kritikal nga isyu ug mga isyu nga mahimong pahimuslan sa layo. Sa parehas nga oras, ang dinamika sa pag-ila sa mga kahuyangan nga wala’y kalabutan sa pagtrabaho sa memorya nagpabilin sa gibana-bana nga parehas nga lebel sa miaging 4 ka tuig - 20 nga mga kahuyangan matag bulan. Ang bahin sa makuyaw nga mga problema taliwala sa mga kahuyangan nga gipahinabo sa mga sayup kung nagtrabaho uban ang panumduman nagpabilin usab (apan tungod kay ang gidaghanon sa ingon nga mga kahuyangan mikunhod, ang gidaghanon sa mga peligro nga mga problema usab mikunhod).

Mga 21% sa bag-ong naipon nga code sa Android 13 gisulat sa Rust

Gisubay usab sa mga estadistika ang correlation tali sa gidaghanon sa bag-ong code nga dili luwas nga nagtrabaho sa memorya ug ang gidaghanon sa mga kahuyangan nga may kalabutan sa memorya (buffer overflows, access sa napagawas na nga memorya, ug uban pa). Kini nga obserbasyon nagpamatuod sa pangagpas nga ang pokus sa pagpatuman sa luwas nga mga pamaagi sa pagprograma kinahanglan nga sa pagtangtang sa bag-ong code imbes sa pagsulat pag-usab sa kasamtangan nga code, tungod kay ang kinabag-an sa giila nga mga kahuyangan anaa sa bag-ong code.

Mga 21% sa bag-ong naipon nga code sa Android 13 gisulat sa Rust


Source: opennet.ru

Idugang sa usa ka comment