Bugy - Menu  Úvod  Co je Bug  Zdroje chyb  Typy bugů 

Základní typy

Existují dva základní typy programátorských chyb:
opomenutí kontroly, logická chyba, překlep
Tento typ chyby může být velmi nebezpečný ve chvíli, kdy náš program začne zpracovávat nedůvěryhodné vstupy. Pokud jsou vstupy důvěryhodné, data si připravujeme my sami. Jedná se o menší problém, než kdybychom dostávali vstupy z vnějšku a kdokoliv nám mohl cokoliv podvrhnout.
V současné době vzniká v tomto ohledu veliký problém, protože většina programů přijímá výhradně nedůvěryhodné vstupy, jejich zdroji je hlavně internet a programy zpracovávají vše, co obdrží. Což může vést k tomu, že například v protokolu SMB se nic neděje do té doby pokud mezi sebou komunikují dva počítače navzájem. Naopak se můžeme do počítače prolomit v okamžiku, kdy můžeme počítači něco podvrhnout.
například: Data přicházející z počítačové sítě nebo z Internetu, webový prohlížeč nebo e-mailový klient.
Nejvíce se ovšem vyskytují u složitých implementací jako je vzdálené volání procedur RPC. Když napíšu proceduru, která čte data z disku a následně ji přizpůsobím tak, aby byla schopná přijímat požadavky ze sítě, dostávám nově vytvořený síťový souborový systém, který je jednoduchý a primitivní. Poté zle využít sdílení v síti SMB nebo NFS.
Síťové servery Apache a PHP jsou bezpečné z hlediska toho co jsou, jenomže když do nich píší své kódy nevzdělaní programátoři, dostáváme se do situace, kdy už vše není tak bezpečné.
použití nebezpečných funkcí
Programátor si něco nastudoval, ale nedodržel doporučení.
například: Funkce strcpy() z jazyka C. Jedná se o systematickou chybu, protože to co dostane v parametru kopíruje někam do paměti a neexistuje žádné omezení na délku. Bezpečnostní problém je tedy v tom, že může dojít k přemazání námi neznámého obsahu paměti.