Ongeveer 21% van die nuwe saamgestelde kode in Android 13 is in Rust geskryf

Ingenieurs van Google het die eerste resultate van die bekendstelling van ondersteuning vir ontwikkeling in die Rust-taal in die Android-platform opgesom. In Android 13 is ongeveer 21% van die nuwe saamgestelde kode wat bygevoeg is in Rust geskryf, en 79% in C/C++. Die AOSP (Android Open Source Project)-bewaarplek, wat die bronkode van die Android-platform ontwikkel, bevat ongeveer 1.5 miljoen reëls Rust-kode wat verband hou met nuwe komponente soos die Keystore2 kriptografiese sleutelstoor, 'n stapel vir UWB-skyfies (Ultra-Wideband) , implementering van die DNS-oor-HTTP3-protokol, die AVF (Android Virtualization Framework)-virtualiseringsraamwerk, eksperimentele stapels vir Bluetooth en Wi-Fi.

Ongeveer 21% van die nuwe saamgestelde kode in Android 13 is in Rust geskryf

In ooreenstemming met die voorheen aanvaarde strategie om die risiko van kwesbaarhede wat veroorsaak word deur foute in die werk met geheue te verminder, word die Rust-taal tans hoofsaaklik gebruik in die ontwikkeling van nuwe kode en om geleidelik die sekuriteit van die mees kwesbare en noodsaaklike sagtewarekomponente te versterk. Daar is geen algemene doelwit om die hele platform na Rust oor te dra nie en die ou kode bly in C/C++, en die stryd teen foute daarin word uitgevoer deur die gebruik van fuzzing-toetsing, statiese analise en die gebruik in die ontwikkeling van tegnieke soortgelyk aan gebruik van die MiraclePtr-tipe (binding oor rou wysers, voer bykomende kontrole uit vir toegang tot vrygestelde geheue-areas), die Scudo-geheuetoewysingstelsel ('n veilige plaasvervanger vir malloc/free) en foutopsporingsmeganismes wanneer met geheue HWAsan (Hardware-ondersteunde AddressSanitizer) gewerk word, GWP-ASAN en KFENCE.

Wat statistieke oor die aard van kwesbaarhede in die Android-platform betref, word opgemerk dat namate nuwe kode wat onveilig met geheue werk afneem, daar 'n afname is in die aantal kwesbaarhede wat veroorsaak word deur foute wanneer met geheue gewerk word. Die deel van kwesbaarhede wat deur geheueprobleme veroorsaak word, het byvoorbeeld van 76% in 2019 tot 35% in 2022 afgeneem. In absolute getalle is 2019 geheueverwante kwesbaarhede in 223, 2020 in 150, 2021 in 100 en 2022 in 85 geïdentifiseer (al die genoemde kwesbaarhede was in C/C++-kode; in Rust-kode is daar geen soortgelyke probleme tot dusver nie. gevind). 2022 was die eerste jaar waarin geheueverwante kwesbaarhede nie meer oorheers het nie.

Ongeveer 21% van die nuwe saamgestelde kode in Android 13 is in Rust geskryf

Aangesien geheueverwante kwesbaarhede gewoonlik die gevaarlikste is, toon die algehele statistieke ook 'n afname in die aantal kritieke kwessies en kwessies wat op afstand uitgebuit kan word. Terselfdertyd het die dinamika van die identifisering van kwesbaarhede wat nie verband hou met die werk met geheue nie, die afgelope 4 jaar op ongeveer dieselfde vlak gebly - 20 kwesbaarhede per maand. Die deel van gevaarlike probleme onder kwesbaarhede wat veroorsaak word deur foute wanneer met geheue gewerk word, bly ook (maar aangesien die aantal sulke kwesbaarhede afneem, neem die aantal gevaarlike probleme ook af).

Ongeveer 21% van die nuwe saamgestelde kode in Android 13 is in Rust geskryf

Die statistieke volg ook die korrelasie tussen die hoeveelheid nuwe kode wat onveilig met geheue werk en die aantal geheueverwante kwesbaarhede (bufferoorvloei, toegang tot reeds vrygestelde geheue, ens.). Hierdie waarneming bevestig die aanname dat die fokus by die implementering van veilige programmeringstegnieke op die verwydering van nuwe kode eerder as die herskryf van bestaande kode moet wees, aangesien die grootste deel van geïdentifiseerde kwesbaarhede in nuwe kode is.

Ongeveer 21% van die nuwe saamgestelde kode in Android 13 is in Rust geskryf


Bron: opennet.ru

Voeg 'n opmerking