Je bezpečnostní chyba, error, bug, flaw, defekt a hole totéž?
Byť se dost často tyto pojmy používají jako synonyma, tak přeci jen je mezi nimi určitý rozdíl.
Není totiž chyba jako chyba. V češtině se s tímto problémem asi příliš potýkat nebudete, ale při komunikaci s anglicky hovořícími kolegy byste mohli narazit.
Error
Software error je implementační chyba v napsaném kódu (implementation error), např. když programátor udělá překlep. Může se jednat o syntaktickou chybu (syntax error), která je odhalena překladačem nebo sémantickou chybu (semantic error) či logickou chybu (logic error), kterou překladač neodhalí a následně ani při běhu nemusí program skončit chybou.
Poznámka: Sémantické chyby se programátor může dopustit i nevědomky, např. když používá krátké ne nepodobné proměnné a překlepne se.
Bug
Bug nemusí být jen chyba v SW, ale i v HW. Ostatně původní význam slova odkazuje na skutečný hmyz, který byl nalezen v počítači a způsoboval nefunkčnost. Po jeho odstranění (debug) pak zase fungoval. Následně pak došlo k přenesení významu tohoto slova do programování, kdy se i chyba v kódu začala nazývat bug a za účelem jejího odstranění (ladění) se začal používat debuger.
Flaw
Chybu však nemusí udělat jen programátor, může se jí dopustit už analytik, který vytváří specifikaci, podle které programátor jen kóduje. V takovém případě se jedná o chybu nebo chcete-li nedostatek už v samotném návrhu (design error nebo také flaw), což představuje mnohem závažnější problém.
Poznámka: Může se jednat třeba o špatně navržený proces, použití nevhodného design patternu, kryptografického algoritmu apod. Dr. Gary McGraw’s, např. uvádí v knize Software Security, že 50 % problémů spočívá v chybách v návrhu a architektuře.
Defekt
Výsledkem chyby v návrhu nebo implementaci je pak defekt nebo také fault, jež se může projevit hned anebo také jen při splnění určitých podmínek. Přičemž takovýto defekt může být objeven a vyvolán náhodně (accidentaly triggered) nebo úmyslně (intentianally exploited).
Poznámka: Několik dílčích errorů může vést k jednomu bugu, který se nějak projevuje navenek. Defekt může být rovněž kombinací bugu i flaw. Např. když analytik udělá chybný návrh a programátor se při kódování ještě dopustí chyby.
Hole
V okamžiku, kdy určitá chyba může být zneužita k narušení důvěrnosti integrity nebo dostupnosti systému či dat, hovoříme o tom, že daný systém obsahuje zranitelnost (vulnerability) nebo také slabinu (weakness) či díru (hole). Ne každý defekt však musí představovat zranitelnost, např. video game glitches se projevují jen špatným vykreslením objektu na obrazovce.
Poznámka: Zranitelnost je vlastnost aktiva, a tudíž se nemusí nacházet jen v softwaru, nýbrž i v hardwaru, v procesu a lidech, kteří tvoří informační systém. SW tak nemusí obsahovat žádný security bug a přesto může systém jako celek obsahovat zranitelnost.
Jestli je mezi vámi nějaký lingvista, prosím o případnou korekci těchto termínů.
Štítky: informační bezpečnost
K článku “Je bezpečnostní chyba, error, bug, flaw, defekt a hole totéž?” se zde nachází 1 komentář.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.
Při googlování, jeslti se bezpečnostní flaw opravdu používá, tak nalezen fakt dobrý přehled. Díky! Nečekal jsem.