Inxhinierët nga kompania Google përfunduan përmbledhjen e parë të integrimit të mbështetjes për zhvillimin në gjuhën Rust në platformën Android. Në Android 13, rreth 21% e kodit të ri të kompilueshëm është shkruar në Rust, dhe 79% në C/C++. Në depozitat AOSP (Android Open Source Project), ku zhvillohen kodet burimor të platformës Android, ka rreth 1.5 milion rreshta kodi në Rust, të lidhur me komponentë të rinj si ruajtja e çelësave kriptografikë Keystore2, staku për çipat UWB (Ultra-Wideband), implementimi i protokollit DNS-over-HTTP3, framework-u i virtualizimit AVF (Android Virtualization Framework), dhe stek eksperimentale për Bluetooth dhe Wi-Fi.

Në përputhje me strategjinë e miratuar më parë për të reduktuar rrezikun e shfaqjes së vulnerabiliteteve të shkaktuar nga gabime në menaxhimin e memories, gjuhën Rust deri tani e përdorin kryesisht për zhvillimin e kodit të ri dhe për forcimin gradual të sigurisë së komponenteve më të pambrojtura dhe thelbësore të software-it. Nuk ka një qëllim të përgjithshëm për të transferuar tërë platformën në Rust, dhe kodi i vjetër mbetet në C/C++, ndërsa lufta me gabimet në të realizohet përmes testeve fuzzing, analizës statike dhe përdorimit të teknikave të tilla si përdorimi i tipit MiraclePtr (mbështetje mbi treguesit raw, e cila kryen kontrollime shtesë të qasjes në zonat e memories së lira), sistemit të shpërndarjes së memories Scudo (zëvendësim të sigurt për malloc/free) dhe mekanizmave për identifikimin e gabimeve në punën me memories HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN dhe KFENCE.
Sa i pĂ«rket statistikave mbi natyrĂ«n e vulnerabiliteteve nĂ« platformĂ«n Android, vihet re se me reduktimin e kodit tĂ« ri qĂ« punon nĂ« mĂ«nyrĂ« tĂ« pasigurt me memories, ka njĂ« ulje tĂ« numrit tĂ« vulnerabiliteteve tĂ« shkaktuara nga gabimet nĂ« menaxhimin e memories. PĂ«r shembull, pjesa e vulnerabiliteteve tĂ« shkaktuara nga problemet me memories ra nga 76% nĂ« vitin 2019 nĂ« 35% nĂ« vitin 2022. NĂ« numra absolutĂ«, nĂ« vitin 2019 u zbuluan 223 vulnerabilitete tĂ« lidhura me punĂ«n me memories, nĂ« vitin 2020 â 150, nĂ« vitin 2021 â 100, dhe nĂ« vitin 2022 â 85 (tĂ« gjitha vulnerabilitetet e pĂ«rmendura nĂ« kodin C/C++, nĂ« kodin Rust nuk janĂ« gjetur probleme tĂ« ngjashme). Viti 2022 shĂ«noi vitin e parĂ« nĂ« tĂ« cilin vulnerabilitetet e lidhura me memories ndaluan sĂ« dominuari.

Duke qĂ«nĂ« se vulnerabilitetet e lidhura me menaxhimin e memories zakonisht janĂ« mĂ« tĂ« rrezikshmet, nĂ« statistikĂ«n e pĂ«rgjithshme gjithashtu vihet re njĂ« rĂ«nie e numrit tĂ« problemeve kritike dhe atyre qĂ« mund tĂ« shfrytĂ«zohen nga distanca. MegjithatĂ«, dinamika e zbulimit tĂ« vulnerabiliteteve qĂ« nuk janĂ« tĂ« lidhura me menaxhimin e memories, gjatĂ« katĂ«r viteve tĂ« fundit ka mbetur nĂ« njĂ« nivel tĂ« ngjashĂ«m â 20 vulnerabilitete nĂ« muaj. Po ashtu, mbetet e pandryshuar dhe pjesa e problemeve tĂ« rrezikshme mes vulnerabiliteteve tĂ« shkaktuara nga gabimet nĂ« menaxhimin e memories (por duke pasur parasysh se numri i kĂ«tyre vulnerabiliteteve po zvogĂ«lohet, zvogĂ«lohet edhe numri i problemeve tĂ« rrezikshme).

NĂ« statistikĂ« gjithashtu monitorohet korelacioni midis volumit tĂ« kodit tĂ« ri qĂ« punon nĂ« mĂ«nyrĂ« tĂ« pasigurt me memories, dhe numrit tĂ« vulnerabiliteteve tĂ« lidhura me memories (overflows, qasjen nĂ« memories e lira etj.). Ky vĂ«zhgim konfirmon supozimin se vĂ«mendja kryesore gjatĂ« zbatimit tĂ« teknikave tĂ« programimit tĂ« sigurt duhet tâi kushtohet kodit tĂ« ri, dhe jo rikodimit tĂ« asaj qĂ« ekziston, pasi pjesa mĂ« e madhe e vulnerabiliteteve tĂ« identifikuara binĂ« nĂ« kodin e ri.

Burimi: opennet.ru
