Bash fork bomb attack

:(){ :|:& };:

Ostrzeżenie

Uruchomienie powyższego kodu prowadzi do replikowania się instanjci Basha w nieskończoność tak szybko jak to jest tylko możliwe. Jeśli nie masz ustawionych odpowiednio limitów procesów NIE polecam uruchamiać tego ;)

Analiza kodu fork bomb

W tych paru znakach jest tworzona funkcja o nazwie : nie przyjmująca żadnych argumentów

:(){ ... }

Funckja ta wywołuje siebie rekurencjnie i wysyła strumieniem (pipe) swoje wyjście do innej instancji tej funkcji

:|:

Część & puszcza cały proces w tło - dlatego procesy potomne nie są kończone po zabiciu procesu macierzystego. Najgorsze jest to, że kolejne powłoki są tworzone niemalże wykładniczo!

;:

Średnik zakańcza definicję funkcji, a dwukropek ja wywołuje po raz pierwszy.

Metoda obrony

Poprawne skonfigurowanie systemu polecenie: ulimit, więcej informacji o poleceniu ulimit