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

Sipas strategjisë së miratuar më parë për reduktimin e riskut ndaj dobësive të shkaktuara nga gabimet gjatë punës me memorien, gjuha Rust po përdoret kryesisht për zhvillimin e kodit të ri dhe për forcimin gradual të sigurisë së komponenteve softuerike më të rrezikuara dhe jetësore. Nuk është vendosur një objektiv i përgjithshëm për të transferuar tërë platformën në Rust, ndërsa kodi i vjetër mbetet në C/C++, dhe lufta ndaj gabimeve në të realizohet përmes testimit fuzzing, analizës statike dhe aplikimit të teknikeve të ngjashme me përdorimin e tipit MiraclePtr (një mbështetje mbi treguesit raw që kryen kontrolle të shtesë për qasjen në zonat e memorie të lira), sistemit të shpërndarjes së memorjes Scudo (zëvendësim i sigurt për malloc/free) dhe mekanizmave të identifikimit të gabimeve gjatë punës me memorien HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN dhe KFENCE.
Sa i pĂ«rket statistikave mbi natyrĂ«n e dobĂ«sive nĂ« platformĂ«n Android, vĂ«rehet se me zvogĂ«limin e kodit tĂ« ri qĂ« punon nĂ« mĂ«nyrĂ« tĂ« pa sigurt me memorien, ka njĂ« rĂ«nie tĂ« numrit tĂ« dobĂ«sive tĂ« shkaktuara nga gabimet gjatĂ« punĂ«s me memorien. PĂ«r shembull, pjesa e dobĂ«sive tĂ« shkaktuara nga problemet me memorien u zvogĂ«lua nga 76% nĂ« vitin 2019 nĂ« 35% nĂ« vitin 2022. NĂ« numra absolutĂ«, nĂ« vitin 2019 u identifikuan 223 dobĂ«si tĂ« lidhura me punĂ«n me memorien, nĂ« 2020 â 150, nĂ« 2021 â 100, dhe nĂ« 2022 â 85 (tĂ« gjitha dobĂ«sitĂ« e evidentuara janĂ« nĂ« kodin C/C++, deri tani nuk janĂ« gjetur probleme tĂ« tillĂ« nĂ« kodin Rust). Viti 2022 ishte viti i parĂ« nĂ« tĂ« cilin dobĂ«sitĂ« e lidhura me memorien nuk dominuan mĂ«.

PĂ«r shkak se dobĂ«sitĂ« e lidhura me menaxhimin e memories zakonisht janĂ« mĂ« tĂ« rrezikshmet, statistikisht Ă«shtĂ« vĂ«rejtur gjithashtu njĂ« ulje e numrit tĂ« problemeve kritike dhe atyre qĂ« mund tĂ« shfrytĂ«zohen nga distanca. MegjithatĂ«, dinamika e zbulimit tĂ« dobĂ«sive qĂ« nuk janĂ« tĂ« lidhura me menaxhimin e memories ka mbetur e njĂ«jtĂ« pĂ«r katĂ«r vitet e fundit â rreth 20 dobĂ«si nĂ« muaj. Po ashtu, pjesa e problemeve tĂ« rrezikshme ndĂ«rmjet dobĂ«sive qĂ« shkaktohen nga gabimet nĂ« menaxhimin e memories Ă«shtĂ« gjithashtu e mbajtur (por, pasi numri i tillĂ« ulĂ«t, gjithashtu bie numri i problemeve tĂ« rrezikshme).

Në statistika po ashtu monitorohet një korrelacion ndërmjet volumit të kodit të ri, që nuk është i sigurt në menaxhimin e memories, dhe numrit të dobësive që lidhen me menaxhimin e memories (mbushja e tamponit, referenca në kujtesën që është çliruar e kështu me radhë). Ky vëzhgim konfirmon supozimin se vëmendja kryesore gjatë zbatimit të teknikave të programimit të sigurt duhet të përqendrohet në kodin e ri, përpara se në rishikimin e atij ekzistues, pasi shumica e dobësive të zbuluara përkojnë me kodin e ri.

Burimi: opennet.ru
