Kompania Google ka përfunduar iniciativën e saj për implementimin në Android të metodave të zhvillimit të sigurt (Safe Coding), të tilla si përdorimi i gjuhëve të programimit që sigurojnë menaxhim të sigurt të memories, përdorimi i analizatorëve statikë dhe projektimi i API-ve me sekuencën e sigurisë. Ndryshimet kanë lejuar uljen e përqindjes së vulnerabiliteteve të lidhura me memorjen në Android nga 76% në vitin 2019 në 24% në vitin 2024, që është ndjeshëm më e ulët se mesatarja e industrisë - 70%.
Inxhinierët e Google gjithashtu kanë arritur në përfundimin se burimi kryesor i problemeve të sigurisë është kodi i ri, prandaj duhet të përqendrohet vëmendja në modernizimin e metodave për zhvillimin e kodit të ri. Kodi ekzistues me kalimin e kohës bëhet më i verifikuar dhe i sigurt (vërehet një varësi eksponenciale e sigurisë nga koha), e cila e bën investimin në projekte për rivendosjen e kodit të ekzistueshëm më pak të shkëlqyer. Për shembull, kodi pesëvjeçar në mesatarisht ka 3.4 herë më pak dendësi të vulnerabiliteteve se kodi i ri. Për projektet Android dhe Chromium, për shkak të implementimit të metodave të menaxhimit të sigurt të memories, diferenca arrin deri në 7.4 herë.

Pra, nëse parandaloni shfaqjen e gabimeve gjatë menaxhimit të memories në kodin e ri, me kalimin e kohës gabimet e tilla në kodin e vjetër do të identifikohen gjithnjë e më pak. Në mënyrë të përgjithshme, Google rekomandon që të mos rivendosen kodet e vjetra, por të përqendrohet në shkruajtjen e kodit të ri në gjuhët që menaxhojnë memorie në mënyrë të sigurt dhe të sigurohen përshkueshmëri ndërmjet kodit të ri dhe atij të vjetër.
Përveç uljes së numrit të vulnerabiliteteve, përdorimi i metodave të sigurta të programimit rrit produktivitetin e zhvillimit, lejon arritjen e cilësisë më të lartë të kodit dhe ka një ndikim pozitiv në performancën. Për shembull, rivendosja në Chromium e kodit për gjenerimin e QR-kodit në gjuhën Rust ka çuar në një rritje të performancës prej 95% përmes eliminimit të kostos së nevojshme për aplikimin e izolimit të përmbajtur.
Shpejtësia dhe cilësia e zhvillimit rriten falë thjeshtimit të testimit dhe zhvendosjes së identifikimit të gabimeve në fazat e hershme të zhvillimit, kur gabimet bëhen evidente para se zhvilluesi të fillojë verifikimin e kodit. Një shembull është numri i rikthimeve të ndryshimeve - për kodin në Rust, numri i rikthimeve të ndryshimeve për shkak të gabimeve të paparashikuara është dy herë më i ulët se për kodin në C++.
Në një formë të përgjithshme, aplikimi i metodave të sigurta të programimit paraqitet si paradigma më efektive e zhvillimit deri më sot, që zëvendësoi tre qasje të tjera që ishin përdorur më parë:
- Korrigjimi i dobësive pas përmirësimit të tyre. Kostoze, kërkon lëshime të shpeshta të rinovimeve dhe ndihmën e shpejtë te përdoruesit.
- Mbrojtja parazgjedhëse, e përqendruar në aplikimin e teknikave që e vështirësojnë shfrytëzimin e dobësive. Kostoja e një mbrojtjeje të tillë ishte ulja e performancës dhe një lojë e vazhdueshme me sulmuesit.
- Identifikimi i hershëm i dobësive përmes përdorimit të testimit fuzzing dhe mjeteve si AddressSanitizer dhe MemorySanitizer. Metoda thjesht eleminonte simptomat, jo shkakun e sëmundjes, dhe kërkonte punë të vazhdueshme.


Burimi: opennet.ru
