70% vu Sécherheetsproblemer am Chromium ginn duerch Erënnerungsfehler verursaacht

Entwéckler vum Chromium Projet analyséiert 912 héich-Risiko a kritesch Schwachstelle identifizéiert a stabile Verëffentlechungen vu Chrome zënter 2015, a schlussendlech datt 70% vun hinnen duerch Erënnerungsonsécherheet verursaacht goufen (Feeler wann Dir mat Pointer am C/C++ Code schafft). D'Halschent vun dëse Probleemer (36.1%) ginn duerch Zougang zum Puffer verursaacht nodeems se d'Erënnerung befreit hunn, déi mat him assoziéiert ass (Notzung-after-gratis).

70% vu Sécherheetsproblemer am Chromium ginn duerch Erënnerungsfehler verursaacht

Beim Design vun Chromium war et am Ufank geluechtdatt et méiglech ass datt Feeler am Code optrieden, sou datt e grousse Wäert op d'Benotzung vun der Sandkëschtisolatioun geluecht gouf fir d'Konsequenze vu Schwachstelle ze limitéieren. De Moment sinn d'Méiglechkeeten fir dës Technologie ze benotzen d'Limite vun hire Fäegkeeten erreecht a weider Fragmentatioun a Prozesser ass onpraktesch aus der Siicht vum Ressourceverbrauch.

Fir d'Sécherheet vun der Codebase z'erhalen, erzwéngt Google och "Regel vun zwee", no deem all addéierte Code net méi wéi zwee vun dräi Konditioune muss erfëllen: mat onvalidéierten Inputdaten schaffen, eng onsécher Programméierungssprooch (C/C++) benotzen a mat erhéngte Privilegien lafen. Dës Regel implizéiert datt de Code fir d'Veraarbechtung vun externen Donnéeën entweder op minimale Privilegien (isoléiert) reduzéiert oder an enger sécherer Programméiersprooch geschriwwe gëtt.

Fir d'Sécherheet vun der Code Basis weider ze verbesseren, gouf e Projet lancéiert fir Erënnerungsfehler ze vermeiden an der Codebasis. Et ginn dräi Haapt Approche: C ++ Bibliothéike schafen mat Funktiounen fir sécher Operatioun vun Erënnerung an Ausbau den Ëmfang vun der Gerempels Sammelstécker, benotzt Hardware Schutz Mechanismen Mte (Memory Tagging Extension) a Schreifkomponenten a Sproochen déi sécher Aarbecht mat Erënnerung garantéieren (Java, Kotlin, JavaScript, Rust, Swift).

Et gëtt erwaart datt d'Aarbecht op zwee Beräicher fokusséiert gëtt:

  • Bedeitend Ännerung vum C ++ Entwécklungsprozess, deen net en negativen Impakt op d'Leeschtung ausschléisst (zousätzlech Grenzkontrollen an Drecksammlung). Amplaz vu rauen Zeeche gëtt et proposéiert den Typ ze benotzen MiraclePtr, wat Iech erlaabt d'exploitabel Benotzung-no-gratis Feeler op Crashen ze reduzéieren, déi keng Sécherheetsbedrohung duerstellen, ouni e merkbare negativen Impakt op d'Performance, d'Erënnerungsverbrauch an d'Stabilitéit.
  • D'Benotzung vu Sproochen entworf fir d'Erënnerungssécherheetskontrolle bei der Zesummesetzung auszeféieren (éliminéiert den negativen Impakt op d'Performance inherent an esou Kontrollen während der Ausféierung vum Code, awer féiert zu zousätzlech Käschten fir d'Organisatioun vun der Interaktioun vum Code an enger neier Sprooch mam Code an C++).

Gedächtnissécher Bibliothéike benotzen ass den einfachsten, awer och manner effiziente Wee. Rewriting Code am Rust gëtt als déi effektivsten, awer och ganz deier Manéier bewäert.

70% vu Sécherheetsproblemer am Chromium ginn duerch Erënnerungsfehler verursaacht

Source: opennet.ru

Setzt e Commentaire