Circa 21% di u novu codice compilatu in Android 13 hè scrittu in Rust

L'ingegneri di Google anu riassuntu i primi risultati di l'introduzione di supportu per u sviluppu in a lingua Rust in a piattaforma Android. In Android 13, circa 21% di u novu codice compilatu aghjuntu hè scrittu in Rust, è 79% in C/C++. U repository AOSP (Android Open Source Project), chì sviluppa u codice fonte di a piattaforma Android, cuntene circa 1.5 milioni di linee di codice Rust assuciati cù cumpunenti novi cum'è a magazzini di chjave criptografica Keystore2, una pila per chips UWB (Ultra-Wideband) , implementazione di u protocolu DNS-over-HTTP3, u quadru di virtualizazione AVF (Android Virtualization Framework), stacks sperimentali per Bluetooth è Wi-Fi.

Circa 21% di u novu codice compilatu in Android 13 hè scrittu in Rust

In cunfurmità cù a strategia aduttata prima di riduce u risicu di vulnerabilità causati da errori in u travagliu cù a memoria, a lingua Rust hè attualmente usata soprattuttu in u sviluppu di novu codice è per rinfurzà gradualmente a sicurità di i cumpunenti di u software più vulnerabile è vitale. Ùn ci hè micca un scopu generale di trasfiriri tutta a piattaforma à Rust è u vechju codice resta in C / C ++, è a lotta contru l'errori in questu hè realizatu per mezu di l'usu di teste fuzzing, analisi statica è l'usu in u sviluppu di tecniche simili à aduprendu u tipu MiraclePtr (binding over pointers prime, realizà cuntrolli supplementari per accede à l'area di memoria liberata), u sistema di allocazione di memoria Scudo (un sustitutu sicuru per malloc / free) è i meccanismi di rilevazione d'errore quandu travaglia cù memoria HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN è KFENCE.

In quantu à e statistiche nantu à a natura di e vulnerabilità in a piattaforma Android, hè nutatu chì, cum'è u novu codice chì travaglia in modu inseguru cù a memoria diminuite, ci hè una diminuzione di u numeru di vulnerabilità causati da errori quandu u travagliu cù memoria. Per esempiu, a parte di vulnerabilità causate da prublemi di memoria hè diminuita da 76% in 2019 à 35% in 2022. In numeri assoluti, 2019 vulnerabilità di memoria sò state identificate in 223, 2020 in 150, 2021 in 100, è 2022 in 85 (tutte e vulnerabilità nutate eranu in codice C/C++; in u codice Rust, ùn ci sò micca prublemi simili finu à avà ùn era micca trovu). U 2022 hè statu u primu annu in quale e vulnerabilità di memoria anu cessatu di duminà.

Circa 21% di u novu codice compilatu in Android 13 hè scrittu in Rust

Siccomu e vulnerabilità di memoria sò generalmente i più periculosi, e statistiche generale mostranu ancu una diminuzione di u numeru di prublemi critichi è prublemi chì ponu esse sfruttati remotamente. À u listessu tempu, a dinamica di identificà e vulnerabilità micca ligati à travaglià cù a memoria hè stata apprussimatamente à u listessu livellu per l'ultimi 4 anni - 20 vulnerabilità per mese. A parte di prublemi periculosi trà e vulnerabilità causati da errori quandu u travagliu cù a memoria ferma ancu (ma postu chì u numeru di tali vulnerabilità diminuite, u numeru di prublemi periculosi diminuite ancu).

Circa 21% di u novu codice compilatu in Android 13 hè scrittu in Rust

L'statìstichi anu ancu seguitu a correlazione trà a quantità di novu codice chì travaglia in modu inseguru cù a memoria è u numeru di vulnerabilità di memoria (buffer overflows, accessu à memoria digià liberata, etc.). Questa osservazione cunfirma l'assunzione chì l'attenzione à l'implementazione di tecniche di prugrammazione sicura deve esse nantu à a rimozione di u novu codice piuttostu cà di riscrittura di codice esistente, postu chì a maiò parte di e vulnerabilità identificate sò in novu codice.

Circa 21% di u novu codice compilatu in Android 13 hè scrittu in Rust


Source: opennet.ru

Add a comment