Co je to testování chmýří?
Testování chmýří nebo Fuzzing je metoda kontroly, aby se zjistilo, jak bude počítačový program nebo systém reagovat na různé, někdy náhodné vstupy a informace. Proces zahrnuje generování některých typů dat, ať už zcela náhodných nebo náhodných v rámci určitých omezení, a poté tyto údaje do programu testování, jak zpracovává neočekávané informace. Nejzákladnější forma testování fuzz zahrnuje odeslání náhodné sekvence klíčových lisů nebo znaků do programu a kontrola je správně zpracovává. Složitější verze testování fuzz používá strukturovaná data, která jsou poté náhodně manipulována a odesílána do programu. Data mohou dosáhnout programu jako systémové události, vstupy klávesnice, signály signálu sítě nebo dokonce jako soubory, které mají být načteny.
Existují různé části počítačového programu, který lze testovat pomocí generátoru chmýří. Grafické uživatelské rozhraní (GUI) může být TESTED vytvořením sekvence náhodných událostí myši a klávesnice a kontrolou GUI je schopno zvládnout vstup bez zhroucení, zmrazení nebo provádění neočekávaného úkolu. Síťové protokoly mohou být testovány tak, že generátor chmýří umožňuje náhodně změnit části platného datového paketu a poté zajistit, že protokol může po přijetí malformovaných dat pokračovat. Základní vstupní prvky téměř jakéhokoli programu lze zkontrolovat z hlediska jejich schopnosti odolat chybám, jako je vstup, který je příliš dlouhý pro typ úložiště, vstup, který má jiný typ, než se očekávalo, a vstup, který je nějak neúplný nebo nesprávný.
Odvětví počítačového zabezpečení může využít testování chmýří, aby se zajistilo, že v určitých systémech neexistují žádné zjevné bezpečnostní díry. To lze provést pomocí generátoru fuzz určeného pro testování zabezpečení počítače. Tyto programy se pokusí použít klíčová slova systémů, známá výchozí hesla správce, funkce v knihovnách, které program používá, a náhodný CalLS na systémové funkce, aby viděli, jak bude program reagovat.
Různé typy testování chmýří mohou být přizpůsobeny tak, aby byly v určitých rozsazích, nebo dokonce pro testování pouze specifických typů vstupů. To znamená, že program by mohl mít pouze platné příkazy, které k němu mohou být zaslány, ale mohly by být v nesmyslném pořadí. Existují složitější programy testování chmýří, které mohou brát prvky cílového programu a manipulovat s nimi, aby produkovaly situace, které by mohly být zneužívány zlomyslně. To může zahrnovat změnu pořadí procesů, které jsou vytvořeny, úpravy oprávnění nebo úpravy základních dat a souborů knihovny.
Konečným výsledkem testování chmýří je zjistit, zda je program bezpečný a chová se tak, jak by měl, když je konfrontován s neočekávanou situací. Při použití v tandemu s profilovacím a analytickým softwarem může také detekovat úniky paměti v oblastech programu, jako je zpracování chyb nebo úzká místa výkonu. V případech počítačové zabezpečení, nebezpečné problémy, jako jsou přetečení, které mohou comstarovatOmise Systém může být zachycen správným nastavením. Testování chmýří však nelze použít jako jedinou metodu testování softwaru a musí být součástí většího procesu zajištění kvality a inspekce softwaru.