Përmes një postimi në blog, inxhinierët e Google publikoi përmbledhjen e rezultateve të para të hyrjes Mbështetje për zhvillimin e Rust në Android.
Një Android 13, rreth 21% e kodit të ri të përpiluar Agregati është shkruar në Rust dhe 79% në C/C++, duke qenë depoja e AOSP (Android Open Source Project), e cila zhvillon kodin burimor për platformën Android, e cila ka afërsisht 1,5 milionë rreshta kodi Rust.
Kodi ofruar nga AOSP është i lidhur me komponentë të rinj si ruajtja e çelësave kriptografikë Keystore2, steka për çipat UWB (Ultra-Wideband), zbatimi i protokollit DNS mbi HTTP3, kuadri i virtualizimit AVF (Korniza e Virtualizimit të Android), rafte eksperimentale për Bluetooth dhe Wi-Fi.
Në rresht me strategjinë e miratuar më sipër për të reduktuar rrezikun e dobësive të gabimeve të kujtesës, Deri më tani Rust është përdorur kryesisht për zhvillimin e kodit të ri dhe për të forcuar gradualisht sigurinë e komponentëve më të cenueshëm dhe jetik të softuerit.
Ndërsa numri i kodeve të reja të pasigurta për memorie që hyjnë në Android është zvogëluar, numri i dobësive të sigurisë së kujtesës është ulur gjithashtu. Nga viti 2019 në 2022, ai ra nga 76% në 35% të dobësive totale të Android. 2022 shënon vitin e parë që dobësitë e sigurisë së kujtesës nuk përbëjnë shumicën e dobësive të Android.
Qëllimi i përgjithshëm i transferimit të të gjithë platformës në Rust nuk është vendosur dhe kodi i vjetër mbetet në C/C++, dhe lufta kundër gabimeve në të bëhet duke përdorur teste fuzzing, analiza statike dhe përdorimin e teknikave të ngjashme. përdorimi i tipit MiraclePtr (lidhja mbi treguesit e papërpunuar, i cili kryen kontrolle shtesë për të hyrë në zonat e liruara të memories), sistemin e shpërndarjes së memories Scudo (një zëvendësim i sigurt për malloc/falas) dhe mekanizmat e zbulimit të gabimeve kur punoni me memorien HWAsan (Hardware Assisted AddressSanitizer) , GWP-ASAN dhe KFENCE.
Lidhur me statistikat mbi natyrën e dobësitë në platformën Android vërehet se si zvogëlon sasinë e kodit të ri që punon me kujtesën në mënyra të pasigurta, gjithashtu zvogëlon numrin e dobësive të shkaktuara nga gabimet kur punoni me kujtesën.
Për shembull, përqindja e dobësive të shkaktuara nga problemet e kujtesës u ul nga 76% në 2019 në 35% në 2022. Në shifra absolute, 223 dobësi të lidhura me kujtesën u identifikuan në 2019, 150 në 2020, 100 në 2021 dhe 85 në 2022 nuk u gjetën). 2022 ishte viti i parë që dobësitë e lidhura me kujtesën pushuan së dominuari.
Deri më sot, asnjë dobësi e sigurisë së kujtesës nuk është zbuluar në kodin Android Rust.
Ne nuk presim që ky numër të qëndrojë në zero përgjithmonë, por duke pasur parasysh vëllimin e kodit të ri Rust në dy versione të Android dhe komponentët e ndjeshëm ndaj sigurisë ku përdoret, është një rezultat domethënës. Kjo tregon se Rust po i shërben qëllimit të synuar për të parandaluar burimin më të zakonshëm të dobësive të Android.
duke ditur që dobësitë e lidhura me kujtesën janë shpesh më të rrezikshmet, statistikat e përgjithshme tregojnë gjithashtu një ulje të numrit të çështjeve kritike dhe çështjeve që mund të shfrytëzohen nga distanca. Në të njëjtën kohë, dinamika e zbulimit të dobësive që nuk lidhen me punën me kujtesën ka qenë afërsisht në të njëjtin nivel për 4 vitet e fundit - 20 dobësi në muaj.
Raporti i çështjeve të rrezikshme me dobësitë e shkaktuara nga gabimet e kujtesës është gjithashtu i njëjtë (por me zvogëlimin e numrit të dobësive, zvogëlohet edhe numri i problemeve të rrezikshme).
Statistikat gjurmojnë gjithashtu lidhjen midis sasisë së kodit të ri që punon me memorien në mënyrë të pasigurt dhe numrit të dobësive të lidhura me kujtesën (mbushjet e tamponit, aksesi në memorien tashmë të çliruar, etj.).
Ky vëzhgim konfirmojnë supozimin e se vëmendja kryesore në zbatimin e teknikave të sigurta të programimit ai duhet t'i jepet kodit të ri dhe jo të rishkruhet ai ekzistues, pasi shumica e dobësive të identifikuara janë në kodin e ri.
Fuente: https://security.googleblog.com/