Názor k článku
Kolem 70 % vážných bezpečnostních chyb v Chromiu jsou chyby používání paměti od Vít Šesták - Jistě hraje roli spousta věcí a technicky vzato...

  • Článek je starý, nové názory již nelze přidávat.
  • 26. 5. 2020 0:30

    Vít Šesták

    Jistě hraje roli spousta věcí a technicky vzato zranitelnost může obsahovat i celkem jednoduchý vzoreček v Excelu.

    Nicméně C/C++ má ve srovnání s mnohými jazyky o celou třídu potenciálních zranitelností víc, a podle této zprávičky to není jen teoretický problém.

    Ano, MLoC je jen orientační metrika, záleží na spoustě dalších věcí. Budu jako příklad brát i jiné kusy softwaru, které jsou dostatečně rozsáhlé (možná ne nutně jako Chromuim, ale neměl by to být softwarevyvinutelný jako one-man-show) a dostatečně interagují s rizikovým okolím. Myslím, že Kate až tolik neinteraguje s nebezpečným okolím. Analogicky by šlo udělat rozsáhnou aplikaci, která se ale nějak obejde bez dynamické alokace paměti. Tam taky neuděláte use-after-free.

    A pokud se bavíme o reálném zneužití zranitelnosti a nejen o její přítomnosti, vstupuje tu do hry i další faktor. Jak moc se aplikace reálně používá s potenciálně nebezpečným vstupem. Prohlížeč běžně. Textový editor teoreticky můžete, ale na vývoj tím můžete otevírat třeba i jen svoje důvěryhodné soubory. Takže třeba https://github.com/vim/vim/commit/d0b5138ba4bccff8a744c99836041ef6322ed39a#commitcomment-19938002 dost možná prošla bez zneužití, ve webovém prohlížeči nebo v serverovém softwaru by podobná chyba mohla vyústit v hromadné útoky. A běžný franta uživatel si pokročilejší editor plaintextu ani nebude instalovat. Software pak může být napsán řádově hůře, a přitom se případné zranitelnosti nebudou až tolik zneužívat. A nejspíš se nebudou ani tolik hledat, takže statistiky objevených zranitelností mohou u podstatně hůře napsaného softwaru vypadat lépe.

    Prakticky vzato: Pokud se takovéto programátory nepodařilo sehnat Googlu v dostatečném množství a přes všechna ta opatření završená jejich štědrým Vulnerability Reward Programem*, nedá se moc čekat, že se těmto problémům vyhnu výběrem dobrých programátorů.

    *) VRP typicky nebývá to úplně první opatření. Jinak by to byl celkem drahý pronájem různých (i volně dostupných) automatizovaných nástrojů, zvlášť u open-source. Ostatně Google z VRP paušálně vylučuje (nebo aspoň vylučoval) nedávné akvizice.