Fleißig forkende (sich verzweigende) Programme sind ganz nett, wenn es um das Aufrufen von Unterprozessen zur parallelen Verarbeitung oder zum Ausnutzen eines Mehrkern-/Mehrprozessor-Systems geht, aber man kann sich und andere auch gewaltig damit ins Knie schießen.
Nette Effekte erzielt man dabei immer wieder mit der klassischen Fork Bomb, die problemlos mit den unterschiedlichsten Sprachen zu realisieren ist. Die beiden untenstehenden Varianten können auch direkt an der Kommandozeile eingegeben werden, was die Gefährlichkeit für das System jedoch keinesfalls herabsetzt. Daher sind die folgenden Skripte mit Vorsicht zu behandeln:
:(){ :|:& };:perl -e 'fork while 1'Im Prinzip erfüllen beide Programme keinen vernünftigen Zweck, außer von sich selbst einen Fork zu bilden und dann wieder zu starten. Auf diesem Wege verzweigen sie sich immer weiter, bis das System aufgrund der vielen Prozesse einfach zusammenbricht. Die Fork Bomb stellt einen einfachen aber effektiven Denial-of-Service dar, dem man im Prinzip nur durch eine Beschränkung der Anzahl der Prozesse pro Anwender in der /etc/security/limits.conf Herr wird. Zum Beispiel:
Wurde ohne vorherige Sicherheitsmaßnahme eine Fork Bomb gestartet, ist Hopfen und Malz verloren. Das System friert ein und reagiert nicht mehr.
Noch zwei Hinweise in diesem Zusammenhang:
Und nein, diese Erfahrung habe nicht ich gemacht!