Google kinnitas oma Androidis rakendatud turvalise arenduse (Safe Coding) algatuse tulemused, sealhulgas mĂ€luohutust tagavate programmeerimiskeelte kasutamine, staatiliste analĂŒsaatorite rakendamine ja API-de projekteerimine turvalisuse kaalumisel. Muudatused on vĂ€hendanud mĂ€luga seotud haavatavuste osakaalu Androidis 76%-lt 2019. aastal 24%-le 2024. aastaks, mis on oluliselt madalam kui tööstuse keskmine nĂ€itaja â 70%.
Googleâi insenerid jĂ€reldasid ka, et peamine turvaprobleemide allikas on uus kood, seetĂ”ttu tuleks tĂ€helepanu suunata uue koodi arendamise meetodite moderniseerimisele. Olemasolev kood muutub ajaga usaldusvÀÀrsemaks ja ohutumaks (turvalisuse eksponentsiaalne sĂ”ltuvus ajast), mistĂ”ttu pole juba kirjutatud koodi ĂŒmberkirjutamine nii kasumlik. NĂ€iteks viis aastat vana koodil on keskmiselt 3,4 korda madalam haavatavuste tihedus kui uuel koodil. Androidi ja Chromiumi projektides on mĂ€luga töötamise meetodite rakendamise tĂ”ttu erinevus 7,4 korda.

Seega, kui uus koodis tekkivad mĂ€luvead Ă€ra hoitakse, siis vanas koodis tuvastatakse selliseid vigu ajaga jĂ€rjest harvem. Ăldiselt soovitab Google mitte vana koodi ĂŒmber kirjutada, vaid keskenduda uue koodi kirjutamisele mĂ€lu ohutult kasutatavates keeltes ning tagada ĂŒhilduvus uue ja vana koodi vahel.
Lisaks haavatavuste arvu vĂ€henemisele suurendab turvaliste programmeerimismeetodite kasutamine arenduse tootlikkust, aitab saavutada kĂ”rgemat koodi kvaliteeti ja avaldab positiivset mĂ”ju jĂ”udlusele. NĂ€iteks andis Chromiumi QR-koodide genereerimise koodi ĂŒmberkirjutamine Rusti keeles vĂ”imaluse saavutada 95% jĂ”udluse tĂ”us tĂ€nu kulude vĂ€henemisele, mis on tingitud tĂ€iendava sandbox-isolatsiooni nĂ”udest.
Arenduse kiirus ja kvaliteet suurenevad testimise lihtsustamise ja vigade tuvastamise varajastele etappidele ĂŒleviimise kaudu, kus vead muutuvad mĂ€rgatavaks juba enne, kui arendaja koodikontrollile asub. NĂ€iteks nĂ€itavad muudatuste tagasivĂ”tmise nĂ€itajad â Rusti koodi puhul on ootamatu vea tĂ”ttu tagasivĂ”tmiste arv kaks korda madalam kui C++ koodi puhul.
Ăldiselt peetakse ohutute programmeerimismeetodite kasutamist tĂ€napĂ€eval kĂ”ige tĂ”husamaks arendusparadigmaks, mis on asendanud varasemad kolm lĂ€henemist:
- Haavatavuste parandamine pÀrast nende avastamist. AeganÔudev, nÔuab sagedast vÀrskenduste vÀljaandmist ja nende kiiret jÔudmist kasutajateni.
- Ennetav kaitse, keskendudes tehnikate rakendamisele, mis raskendavad haavatavuste ekspluateerimist. Sellise kaitse hind oli jĂ”udluse vĂ€henemine ja pidev mĂ€ng jahimeestega, kes ĂŒritavad rĂŒnnata.
- Haavatavuste varajane tuvastamine fuzzing-teste ja sarnaste tööriistade, nagu AddressSanitizer ja MemorySanitizer, kasutamise kaudu. Meetod ravis ainult sĂŒmptomeid, mitte haiguse pĂ”hjust, ja nĂ”udis pidevat tööd.


Allikas: opennet.ru
