Přetečení na zásobníku: Porovnání verzí

Smazaný obsah Přidaný obsah
JAnDbot (diskuse | příspěvky)
m robot přidal: es:Desbordamiento de pila, fr:Dépassement de pile; kosmetické úpravy
→‎Z pohledu programátora: Přehled bezpečných funkcí
Řádek 58:
* používání tříd a funkcí, které manipulují s pamětí bezpečně
* použití automatizovaných nástrojů v součinnosti s kompilátorem
====Přehled funkcí a jejich "bezpečnějších" ekvivalentů====
Pro většinu C/C++ funkcí existuje ekvivalentní ''"n" funkce''[http://stackoverflow.com/questions/1253053/cs-bad-functions-vs-their-good-alternatives], v případě <code>strcpy</code> i ''"l" funkce''. ''"n" funkce'' kontrolují délku stringu, ''"l" funkce'' ho ořežou a doplní ''\0''.
strcpy -> strncpy -> strlcpy
strlen -> strnlen
strcmp -> strncmp
strcat -> strncat
strdup -> strndup
sprintf -> snprintf
wcscpy -> wcsncpy
wcslen -> wcsnlen
 
=== Z pohledu uživatele ===
Uživatel se může pouze omezit následky takového útoku tím, že nebude spouštět nedůvěryhodné programy s právy privilegovaného uživatele, případně se mu vyhnout použitím aktualizovaných verzí programů. Stoprocentní obrana však neexistuje. I v současnosti přes široké povědomí o tomto typu útoku se objevují programy, které jsou na tento typ útoku náchylné. Chyby tohoto typu se objevují např. i v OS[http://www.debian.org/security/2010/dsa-1998]. Zde je nespornou výhodou použití [[opensource]] programů, neboť u nich díky podpoře komunity dochází k velmi rychlému vydání opravných balíčků.