Der eine oder andere hat bestimmt schon einmal auf einem T-Shirt oben angeführte Zeichen gesehen und sich gefragt, was das wohl bedeuten möge. Es handelt sich hier um eine sogenannte Fork-Bombe.
Was’n das nun wieder?
Die Fork-Bombe ist eine Art DoS (Denial-of-Service) - Angriff auf Unix basierte Systeme. Bei der Ausführung wird rekursiv ein Programm gestartet und dieses immer und immer wieder wiederholt. Das Programm ruft also zwei Kopien seiner selbst auf und wartet, bis sie wieder beendet wurden. Dieser Zustand wird jedoch niemals erreicht werden, da die Kopien genauso verfahren. Aus einem Programmaufruf werden somit zunächst 2, dann 4, dann 8 und nach nur 10 solcher Zyklen sind bereits über tausend Kopien gestartet und aktiv. Das geht immer so weiter und weiter und im besten Falle wird das System unbenutzbar. Dann hilft nur noch die Brechstange.
Zur Erklärung:
:() # Definition der Funktion ":" -- immer wenn ":" aufgerufen wird, tue das folgende:
{ #
: # eine neue Kopie von ":" laden
| # … und seine Standardausgabe umleiten auf …
: # … eine weitere Kopie von ":" (die auch in den Speicher geladen werden muss)
# (":|:" erzeugt also einfach 2 Kopien von ":", immer wenn es aufgerufen wird)
& # die Befehlszeile unabhängig vom aufrufenden Prozess machen (im Hintergrund ausführen)
} #
; # Durch ";" wird die Definition von ":" beendet
: # …und durch den Aufruf von ":" die Kettenreaktion in Gang gesetzt.
Es gibt jedoch verschiedene Methoden, um Bash Fork Bombs unter Linux zu verhindern. Diese Methoden umfassen die Begrenzung der Anzahl von Prozessen, die Festlegung von Ressourcengrenzen und die Konfiguration von Systemeinstellungen.
Falls jemand meint, er müsste dies mal in seiner Konsole testen, dann möchte ich darauf hinweisen, das dies auf eigene Gefahr geschieht. Es ging mir lediglich um die Erklärung der kryptischen Zeichen auf dem T-Shirt.