Chromiumi 70% turvaprobleemidest on tingitud mÀluhalduse vigadest

Chromiumi projekti arendajad analĂŒĂŒsisid Kuna alates 2015. aastast on Chrome'i stabiilsetes versioonides tuvastatud 912 ohtlikku ja kriitilist haavatavust, on jĂ€reldatud, et 70% neist on pĂ”hjustatud mĂ€luhaldusvigadest (poodiumide vigadest C/C++-s). Pool neist probleemidest (36.1%) on pĂ”hjustatud mĂ€lu vabastamise jĂ€rgsest pĂŒĂŒdest leida seotud mĂ€lukohta (use-after-free).

Chromiumi 70% turvaprobleemidest on tingitud mÀluhalduse vigadest

Chromiumi kavandamisel oli algselt arvestatud, et koodis vÔivad esineda vead, seetÔttu pandi suur rÔhk liivakasti isolatsiooni rakendamisele haavatavuste tagajÀrgede piiramise jaoks. Praegu on selle tehnoloogia rakendamise vÔimalused saavutanud oma potentsiaali piiri ning edasine protsesside jagamine pole ressursside tarbimise mÔttes mÔttekas.

Google rakendab koodibaasi turvalisuse tagamiseks ka "kahe reegelKood peab vastama mitte rohkem kui kahele kolmest tingimusest: töötama kontrollimata sisenditega, kasutama ebaturvalist programmeerimiskeelt (C/C++) ja toimima suurenenud Ôigustega. Sellest reeglist tuleneb, et vÀliste andmete töötlemiseks mÔeldud kood peab kas olema piiratud minimaalsete Ôigustega (isoleeritud) vÔi kirjutatud turvalises programmeerimiskeeles.

Koodibaasi kaitse edendamiseks on kĂ€ivitatud projekt, mille eesmĂ€rk on vĂ€ltida mĂ€luhalduse vigu koodibaasis. TĂ”stetakse esile kolm peamist lĂ€henemist: C++ raamatukogude loomine mĂ€lu turvaliseks haldamiseks, prĂŒgikorjaja kohaldamise laiendamine, riistvara kaitsemehhanismide rakendamine, MTE (Memory Tagging Extension) ja komponentide kirjutamine keeles, mis toetab mĂ€lu turvalist haldamist (Java, Kotlin, JavaScript, Rust, Swift).

Oodata on, et töö keskendub kahele suunale:

  • Oluline muudatus C++ arendusprotsessis, mis ei vĂ€lista negatiivset mĂ”ju jĂ”udlusele (lisakontrollid ja mĂ€lu koristamine). Soovitatakse kasutada koodis tĂŒĂŒp MiraclePtr, mis vĂ€hendab eksisteerivatest use-after-free klassi vigadest tingitud potentsiaalselt ohtlikke krahhe, ilma mĂ€rkimisvÀÀrse negatiivse mĂ”juta jĂ”udlusele, mĂ€lu tarbimisele ja stabiilsusele.
  • Keeltes, mis on suunatud mĂ€luga töötamise ohutuse kontrollimise tegemisele kompileerimise ajal (see vĂ€listab koodi tĂ€itmise ajal toimuvate kontrollide negatiivse mĂ”ju jĂ”udlusele, kuid toob kaasa tĂ€iendavad kulud uue keele ja C++ koodi omavahelise koostöö korraldamisel).

MĂ€luga ohutu töötamise raamatukogude kasutamine on kĂ”ige lihtsam, kuid vĂ€hem tĂ”hus meetod. Koodi ĂŒmberkirjutamine Rustis hinnatakse kui kĂ”ige tĂ”husamat, kuid ka vĂ€ga kallist teed.

Chromiumi 70% turvaprobleemidest on tingitud mÀluhalduse vigadest

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster