Kompania Google ka përfunduar iniciativën për të zbatuar në Android metodat e zhvillimit të sigurt (Safe Coding), si përdorimi i gjuhëve programuese që sigurojnë një punë të sigurt me kujtesën, aplikimin e analizueseve statikë dhe projektimin e API-ve me një fokus në siguri. Këto ndryshime kanë lejuar që përqindja e dobësive të lidhura me kujtesën në Android të ulet nga 76% në vitin 2019 në 24% në vitin 2024, një nivel shumë më i ulët se mesatarja e industrisë prej 70%.
Inxhinierët e Google gjithashtu kanë arritur në përfundimin se burimi kryesor i problemeve me sigurinë është kodi i ri dhe prandaj vëmendja duhet të përqendrohet në modernizimin e metodave të zhvillimit të kodit të ri. Kodi ekzistues, me kalimin e kohës, bëhet më i provuar dhe më i sigurt (vërehet një varësi eksponenciale e sigurisë nga koha), gjë që e bën investimin në projekte për rishkrimin e kodit ekzistues më pak të kthyeshëm. Për shembull, kodi 5-vjeçar mesatarisht ka një densitet të dobësuar të vulnerabiliteteve 3.4 herë më të ulët se kodi i ri. Për projektet Android dhe Chromium, falë zbatimit të metodave të sigurta të menaxhimit të memories, diferenca arrin në 7.4 herë.

Prandaj, nëse parandalohen gabimet në menaxhimin e memories në kodin e ri, në kohë, gabime të ngjashme në kodin e vjetër do të identifikohen gjithnjë e më pak. Në mënyrë të përgjithshme, Google rekomandon të mos rishkruhet kodi i vjetër, por të përqendrohet në shkrimin e kodit të ri në gjuhë që menaxhojnë sigurtë memorjen dhe të sigurohet portabiliteti midis 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ë. Për shembull, riprogramimi në Chromium të kodit për gjenerimin e QR-kodeve në gjuhën Rust ka mundësuar rritjen e performancës me 95% për shkak të eliminimit të shpenzimeve të përfshira nga nevoja për zbatimin e një izolimi të shtesë sandbox.
Shpejtësia dhe cilësia e zhvillimit rriten përmes thjeshtësimit të testimit dhe zhvendosjes së identifikimit të gabimeve në fazat e hershme të zhvillimit, ku gabimet bëhen të dukshme përpara se zhvilluesi të fillojë të kontrollojë kodin. Si një shembull, treguesit e kthimeve të ndryshimeve tregojnë se për kodin në Rust numri i kthimeve të ndryshimeve si rezultat i zbulimit të gabimeve të papritura është dy herë më i ulët se ai për kodin në C++.
Në mënyrë të përgjithshme, përdorimi i metodave të sigurta të programimit paraqitet si paradigmat më efektive për zhvillimin e sotëm, e cila ka zëvendësuar tre qasje që ishin përdorur më parë:
- Korrigimi i dobësive pas zbulimit të tyre. Kostoze, kërkon lëshime të shpeshta të azhurnimeve dhe përcjelljen e shpejtë te përdoruesit.
- Mbrojtje parandaluese, e fokusuar në aplikimin e teknikave që e vështirësojnë shfrytëzimin e dobësive. Kosto e tillë mbrojtjeje ka qenë ulja e performancës dhe një lojë e vazhdueshme me sulmuesit.
- Identifikimi i hershëm i dobësive përmes përdorimit të testeve fuzzing dhe veglave si AddressSanitizer dhe MemorySanitizer. Metoda vetë vetëm eliminonte simptomat, jo shkakun e sëmundjes, dhe kërkonte punë të vazhdueshme.


Burimi: opennet.ru
