Co je to bezpečnostní chyba?
Zabezpečovací chyba v počítačovém softwaru je chyba ve své naprogramované operaci, která může uživateli nezamýšlený přístup k funkcím, zdrojům nebo datům, které by jinak byl programem chráněn. Příčina bezpečnostní chyby může zahrnovat chyby v programování, nesprávné porozumění externím knihovnám nebo dohledům při přechodu z testovací verze programu na verzi vydání. Může být obtížné diagnostikovat a opravit bezpečnostní chybu, protože má potenciál být kombinací několika aspektů programu, z nichž některé by mohly být předem kompilovány bez původního zdrojového kódu pro programátory, které by bylo možné prozkoumat. Problémy mohou nastat, když funkce nebo třída provádí akce, které jsou neznámé nebo neočekávané, jako je úprava proměnné, která drží určitou část stavu programu nebo měnící se vnitřní správnévazby bez upozornění přidružených prvků. To může vést další části programu, aby fungovaly na předpokladech, nebo aby byly zcela obejít, a vytvořit bezpečnostní díru, kterou lze využít. Externí knihovny vyvinuté komerčními softwarovými společnostmi mohou někdy způsobit bezpečnostní problém, zejména v případech, jako jsou grafická uživatelská rozhraní (GUI) a obálky síťového protokolu, které obsahují velké množství skrytého zpracovatelského kódu.
Další důvody, proč by mohla existovat bezpečnostní chyba, zahrnují jednoduché chyby programování a problémy s přidělováním paměti, které mohou přepsat segmenty kódu nebo informace o rozlití z paměti do oblastí, kde ji lze využít. Nevyvinuté funkce v rámci programu mohou také způsobit bezpečnostní chybu tím, že povolí podmínku v rámci programu, který by mohl předat provádění do nedokončené části kódu bez správných bezpečnostních kontrol pro vstup a výstup. Větší a víceKomplexní program je, čím vyšší je pravděpodobnost, že v kódu existuje bezpečnostní chyba.
Existuje několik způsobů, jak se pokusit zabránit v předávání bezpečnostní chyby do konečné verze softwaru. Jedním z nejdůležitějších je testování uživatelů, ve kterém se mnoho lidí pokouší program použít, aby zjistilo, zda funguje správně. Použití profilerů softwaru - programy, které zkoumají a zaznamenávají využití paměti a další statistiky, zatímco je běh softwaru - může pomoci zachytit některé interní chyby, které by mohly vést k bezpečnostnímu problému. Vzhledem k tomu, že chyby jsou chyceny a opraveny, většina společností vydává aktualizace nebo záplaty, které eliminují objevené chyby v softwaru již v distribuci.