Udakara 21% kode kompilasi anyar ing Android 13 ditulis ing Rust

Insinyur saka Google nyimpulake asil pisanan ngenalake dhukungan kanggo pangembangan ing basa Rust menyang platform Android. Ing Android 13, kira-kira 21% saka kode kompilasi anyar sing ditambahake ditulis ing Rust, lan 79% ing C/C ++. Repositori AOSP (Android Open Source Project), sing ngembangake kode sumber platform Android, ngemot kira-kira 1.5 yuta baris kode Rust sing ana gandhengane karo komponen anyar kayata toko kunci kriptografi Keystore2, tumpukan kanggo chip UWB (Ultra-Wideband) , implementasi protokol DNS-over-HTTP3, kerangka virtualisasi AVF (Android Virtualization Framework), tumpukan eksperimen kanggo Bluetooth lan Wi-Fi.

Udakara 21% kode kompilasi anyar ing Android 13 ditulis ing Rust

Sesuai karo strategi sing sadurunge diadopsi kanggo ngurangi risiko kerentanan sing disebabake kesalahan ing nggarap memori, basa Rust saiki digunakake utamane ing pangembangan kode anyar lan kanthi bertahap nguatake keamanan komponen piranti lunak sing paling rawan lan penting. Ora ana tujuan umum kanggo nransfer kabeh platform menyang Rust lan kode lawas tetep ing C / C ++, lan perang nglawan kesalahan kasebut ditindakake kanthi nggunakake tes fuzzing, analisis statis lan panggunaan teknik sing padha karo nggunakake jinis MiraclePtr (ngiket liwat penunjuk mentah, nindakake mriksa tambahan kanggo ngakses wilayah memori dibebaske), sistem alokasi memori Scudo (panggantos aman kanggo malloc / free) lan mekanisme deteksi kesalahan nalika nggarap memori HWAsan (Hardware-dibantu AddressSanitizer), GWP-ASAN lan KFENCE.

Kanggo statistik babagan sifat kerentanan ing platform Android, dicathet yen kode anyar sing bisa digunakake kanthi ora aman karo memori nyuda, ana penurunan jumlah kerentanan sing disebabake kesalahan nalika nggarap memori. Contone, bagean saka kerentanan sing disebabake masalah memori mudhun saka 76% ing 2019 dadi 35% ing 2022. Ing nomer absolut, 2019 kerentanan sing ana gandhengane karo memori diidentifikasi ing 223, 2020 ing 150, 2021 ing 100, lan 2022 ing 85 (kabeh kerentanan sing kacathet ana ing kode C/C++; ing kode Rust, ora ana masalah sing padha nganti saiki. ketemu). 2022 minangka taun pisanan nalika kerentanan sing ana gandhengane karo memori mandheg dominasi.

Udakara 21% kode kompilasi anyar ing Android 13 ditulis ing Rust

Amarga kerentanan sing gegandhengan karo memori biasane paling mbebayani, statistik sakabèhé uga nuduhake penurunan jumlah masalah kritis lan masalah sing bisa dimanfaatake kanthi jarak jauh. Ing wektu sing padha, dinamika ngenali kerentanan sing ora ana hubungane karo nggarap memori tetep ana ing tingkat sing padha sajrone 4 taun pungkasan - kerentanan 20 saben wulan. Babagan masalah mbebayani ing antarane kerentanan sing disebabake kesalahan nalika nggarap memori uga tetep (nanging amarga jumlah kerentanan kasebut suda, jumlah masalah mbebayani uga suda).

Udakara 21% kode kompilasi anyar ing Android 13 ditulis ing Rust

Statistik uga nglacak korΓ©lasi antarane jumlah kode anyar sing bisa digunakake kanthi ora aman karo memori lan jumlah kerentanan sing gegandhengan karo memori (buffer overflows, akses menyang memori sing wis dibebasake, lsp). Observasi iki nandheske asumsi yen fokus nalika ngleksanakake teknik pemrograman aman kudu mbusak kode anyar tinimbang nulis maneh kode sing wis ana, amarga akeh kerentanan sing diidentifikasi ana ing kode anyar.

Udakara 21% kode kompilasi anyar ing Android 13 ditulis ing Rust


Source: opennet.ru

Add a comment