70% nan pwoblèm sekirite nan Chromium yo ki te koze pa erè memwa

Devlopè nan pwojè Chromium la analize 912 ki gen gwo risk ak vilnerabilite kritik idantifye nan degaje ki estab nan Chrome depi 2015, ak konkli ke 70% nan yo te koze pa ensekirite memwa (erè lè w ap travay ak endikasyon nan kòd C/C++). Mwatye nan pwoblèm sa yo (36.1%) yo koze pa aksè nan tanpon an apre yo fin libere memwa ki asosye ak li (itilize-apre-gratis).

70% nan pwoblèm sekirite nan Chromium yo ki te koze pa erè memwa

Lè konsepsyon Chromium li te okòmansman kouche, ke li posib pou erè parèt nan kòd la, kidonk yo te mete yon gwo anfaz sou itilizasyon izolasyon sandbox pou limite konsekans frajilite yo. Kounye a, posiblite pou yo sèvi ak teknoloji sa a te rive nan limit kapasite yo ak plis fwagmantasyon nan pwosesis se Inposibl soti nan pwen de vi nan konsomasyon resous.

Pou kenbe sekirite kodbaz la, Google aplike tou "règ de de", dapre ki nenpòt kòd ajoute pa dwe satisfè plis pase de nan twa kondisyon: travay ak done antre ki pa valide, lè l sèvi avèk yon langaj pwogramasyon ansekirite (C/C++) ak kouri ak privilèj ki wo. Règ sa a vle di ke kòd pou trete done ekstèn yo dwe swa redwi a privilèj minim (izole) oswa ekri nan yon langaj pwogramasyon an sekirite.

Pou plis amelyore sekirite baz kòd la, yo te lanse yon pwojè pou anpeche erè memwa parèt nan baz kòd la. Gen twa apwòch prensipal: kreye bibliyotèk C++ ak fonksyon pou operasyon memwa san danje epi elaji sijè ki abòde lan pèseptè fatra a, lè l sèvi avèk mekanis pwoteksyon pyès ki nan konpitè. MTE (Memory Tagging Extension) ak eleman ekri nan lang ki asire travay san danje ak memwa (Java, Kotlin, JavaScript, Rust, Swift).

Li espere ke travay yo pral konsantre nan de domèn:

  • Chanjman enpòtan nan pwosesis devlopman C++, ki pa eskli yon enpak negatif sou pèfòmans (chèk limit adisyonèl ak koleksyon fatra). Olye de konsèy anvan tout koreksyon, li pwopoze yo sèvi ak kalite a MiraclePtr, ki pèmèt ou diminye erè itilizasyon apre gratis nan aksidan ki pa reprezante yon menas sekirite, san yon enpak negatif aparan sou pèfòmans, konsomasyon memwa ak estabilite.
  • Itilizasyon lang ki fèt pou fè chèk sekirite memwa nan moman konpile (pral elimine enpak negatif sou pèfòmans nannan nan chèk sa yo pandan ekzekisyon kòd, men ap mennen nan depans adisyonèl pou òganize entèraksyon an nan kòd nan yon nouvo lang ak kòd nan). C++).

Sèvi ak bibliyotèk memwa ki an sekirite se fason ki pi senp, men tou mwens efikas. Reekri kòd nan Rust se rated kòm fason ki pi efikas, men tou, trè chè.

70% nan pwoblèm sekirite nan Chromium yo ki te koze pa erè memwa

Sous: opennet.ru

Add nouvo kòmantè