Fork bomba
Author
Albert FloresPrincipem fork bomby je neustávající dělení procesů Fork bomba je jedna z lokálních podob útoku typu odmítnutí služby. Jejím principem je zneužití běžného systémového volání fork, které slouží k spouštění dalšího procesu.
Protože systém má jen omezené množství prostředků, může v něm běžet jen omezené množství procesů. V rámci fork bomby je ovšem spuštěno rychlé a neomezené množení procesů. +more To má za následek jednak postupné zpomalování počítače, kterému dochází volná paměť i procesorový čas, jednak posléze povede k tomu, že některý ze zdrojů dojde. Následkem toho nelze pouštět další procesy a to obvykle znamená, že ani nelze pustit proces (například kill), který by fork bombu ukončil. Jediným řešením, jak obnovit normální chod, tak bývá nové nabootování.
Příklady
Bash
Jedním z nejznámějších příkladů fork bomby je následující třináctiznakový příkaz pro bash:
:{ :|:& };:
Ten je možné rozepsat:i
: # bude následovat definice funkce „:“ { # začátek definice : # spusť funkci : | # a její výstup pošli : # další instanci funkce : & # to vše na pozadí, takže konec nadřízené funkce neovlivní běh jejích dětí } # konec definice funkce : # Po definici následuje … : # … spuštění funkce :
Dávkový soubor ve Windows
Fork bomba je též možná vytvořit užitím dávkového souboru ve Windows. Jeho příkaz je: %0|%0 Tento příkaz rekurentně spouští sám sebe (%0 označuje jméno spuštěného souboru) a zahlcuje paměť systému novými procesy, dokud nedojde k pádu systému.
Perl
V Perlu je vytvoření fork bomby také snadné
fork while fork