70% Chromiumi turvaprobleeme tulenevad mÀlu töötlemise vigadest.

Chromium projekti arendajad analĂŒĂŒsisid 912 ohtlikku ja kriitilist haavatavust, mis on avastatud stabiilsetes Chrome'i vĂ€ljaannetes alates 2015. aastast, ja leitud, et 70% neist tulenesid ebaturvalisest mĂ€luhaldusest (pointers'iga seotud vead C/C++ koodis). Pool sellest probleemist (36.1%) on pĂ”hjustatud mĂ€lust vabastatud mĂ€lutĂŒkkide kasutamisest (use-after-free).

70% Chromiumi turvaprobleeme tulenevad mÀlu töötlemise vigadest.

Chromium'i kavandamisel oli algselt paigutatud, et koodis vÔivad esineda vead, seetÔttu pandi suur rÔhk liivakasti isolatsiooni rakendamisele haavatavuste tagajÀrgede piiritlemiseks. Praegu on selle tehnoloogia rakendamise vÔimalused saavutanud oma piiri ja edasine protsesside jagamine ei ole ressursikasutuse seisukohalt otstarbekas.

Google’i koodibaasi turvalisuse tagamiseks rakendatakse ka "kahe reegli" jĂ€rgimist, mille kohaselt peab kĂ”ik lisatav kood vastama mitte rohkem kui kahele kolmest tingimusest: töötamine kontrollimata sisendiga, ebaturvalise programmeerimiskeele kasutamine (C/C++) ja tĂ€iendavate privileegide tĂ€itmine. Selle reegli kohaselt peab vĂ€listest andmetest töötav kood olema kas vĂ€hendatud minimaalse privileegiga (isoleeritud) vĂ”i kirjutatud turvalisel programmeerimiskeeles.

Koodibaasi turvalisuse edasiarendamiseks on kĂ€ivitatud projekt mĂ€luhalduse vigade ennetamiseks koodibaasis. Peamised lĂ€henemisviisid on: C++ raamatukogude loomine, mis sisaldavad funktsioone mĂ€luga turvaliseks töötamiseks ja prĂŒgikogumise ulatuse laiendamine, riistvaraliste kaitsemehhanismide rakendamine MTE (Memory Tagging Extension) ja komponentide kirjutamine keeli, mis tagavad mĂ€luga turvalise töötamise (Java, Kotlin, JavaScript, Rust, Swift).

Oodatakse, et töö keskendub kahele suunale:

  • Oluline muudatus C++ arendamisprotsessis, mis ei vĂ€lista negatiivset mĂ”ju jĂ”udlusele (tĂ€iendavad piiride kontrollid ja prĂŒgikogumine). Raw-punktide asemel pakutakse koodis kasutada tĂŒĂŒpi MiraclePtr, mis vĂ”imaldab vĂ€hendada kuritegelikke use-after-free vigu mitte-turvalistele krahhidele, ilma mĂ€rkimisvÀÀrse negatiivse mĂ”juta jĂ”udlusele, mĂ€lukasutusele ja stabiilsusele.
  • Kasutades keeli, mis on mĂ”eldud mĂ€lu turvalise kasutamise kontrollide teostamiseks kompileerimise ajal (see vĂ€listab koodi kĂ€itamise ajal sarnaste kontrollide negatiivse mĂ”ju jĂ”udlusele, kuid toob kaasa tĂ€iendavad kulud, et korraldada uue keele koodi koostöö C++-koodiga).

MĂ€lu turvaliseks kasutamiseks raamatukogude kasutamine on kĂ”ige lihtsam, kuid ka vĂ€hem efektiivne meetod. Koodi ĂŒmberkirjutamine Rust'i on hinnatud kui kĂ”ige efektiivsem, kuid ka vĂ€ga kallis tee.

70% Chromiumi turvaprobleeme tulenevad mÀlu töötlemise vigadest.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster