Fuzz testování

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Fuzz testování (fuzzing) je technika testování softwaru, často automatizovaná alespoň částečně, která na vstup počítačovému programu poskytuje chybná, neočekávaná, nebo náhodná data. U programu jsou při tom monitorovány vzniklé výjimky, jako jsou pády, nesplnění testovacích výrazů, nebo paměťové úniky. Fuzz testování se běžně používá pro testování bezpečnostních problémů v aplikacích a počítačových systémech.

Obor zabývající se tímto testováním se díky Bartonu Millerovi zrodil na Univerzitě ve Wisconsinu v roce 1988. Toto rané dílo zahrnuje nejen použití náhodného nestrukturalizovaného testování, ale také sadu nástrojů pro vyhodnocení široké škály softwarových nástrojů na různých platformách. +more Také umožňuje systematickou analýzu druhu chyb, které byly odhaleny tímto druhem testování. Kromě toho je s veřejným přístupem k dispozici zdrojový kód tohoto nástroje, testovací procedury a surová výsledná data.

Program pro fuzz testování má dvě formy, které mohou být využity pro různé druhy testování (white box, grey box a black box testování). Nejčastějším cílem testování jsou formáty souboru a síťové protokoly, ale jakýkoli druh vstupu může být testován. +more Zajímavé druhy vstupů jsou proměnné prostředí, události klávesnice a myši a pořadí volání API. Dokonce i položky, které nejsou považovány za vstup, mohou být testovány. Jako například obsah databáze, sdílená paměť, nebo přesné prokládání vláken.

Pro bezpečnostní účely je nejpodstatnější vstup, který protíná hranice důvěry (vstup z nedůvěryhodných zdrojů). Například je mnohem důležitější testovat kód, který zpracovává nahrávání souboru libovolným uživatelem, než testování kódu který analyzuje konfigurační soubor, který je přístupný pouze privilegovaným uživatelům.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top