Bombenbau-Anleitungen (für angehende Informatiker)
Fork-Bombe
Eine Fork-Bombe ist ein Programm/Skript oder ein Kommandozeilen-Befehl der unbeschränkt forkt
und sich dadurch bombenartig vervielfältigt.
Ein Beispiel für die Shell ist diese Zeile, die auch auf der Kommandozeile
(der Bash und ähnlicher Shells) funktioniert:
:(){ :|:& };:
Hier wird zunächst die Funktion : definiert (bis zum Semikolon) und anschließend
wird diese ausgeführt.
Danach geht es rund: Die Funktion ruft sich zweifach selbst auf und jeder dieser neuen Aufrufe
ruft sich auch zweifach auf und so weiter.
Die Pipe (|) sorgt dafür dass die Shell sich forkt um
das erste : auszuführen (es muss ja gleichzeitig mit dem zweiten
laufen, um seine Ausgabe als Eingabe für das zweite zu verwenden); das &
sorgt dafür, dass die Shell sich forkt, um den ganzen Ausdruck (also : | :) im Hintergrund auszuführen.
Jeder Funktionsaufruf sorgt also für zwei neue Prozesse; diese führen den
gleichen Code selber ebenfalls aus (da die Funktion sich ja selber aufruft),
erzeugen als ebenso zwei neue Prozesse. Das sind schon vier; bei der
nächsten Runde werden es 8; usw..
Wie beim Explodieren von A-Bomben hat man auch hier anfänglich ein exponentielles Wachstum; daher der Name der Fork-Bombe.
Ein äquivalentes Beispiel für Batch-Dateien (MS-Windows) ist
%0|%0
Diese 5 Zeichen in einer Text-Datei mit Namen beispiel.bat reichen aus;
zum Ausführen reicht dann ein Doppelklick.
Verwendet werden Fork-Bomben beispielsweise zum Testen von
Limitierungen beispielsweise mittels ulimit oder /etc/security/limits.conf: Wurde richtig
limitiert, kann eine Fork-Bombe nicht stören; hat ein User keine
Limitierungen, was traditionellerweise beim Superuser
der Fall ist, MUß der Rechner hierdurch hängen bleiben, aber
Notfall-Aktionen wie z. B. der Magic System Key Request, müssen weiterhin funktionieren.
Ein weiteres Anwendungsfeld ist das Überprüfen von Echtzeit-Eigenschaften
beispielsweise von RTAI.
Unter BSD findet man ein Fork-Bomb-Programm normalerweise unter
ports/packages/pkgsrc, zum Üben der System-Administration:
http://bsdwiki.reedmedia.net/wiki/Monitor_disk_input--output.html.
Eine Fork-Bombe ist eine der wenigen Möglichkeiten einen Rechner gezielt
abstürzen zu lassen um beispielsweise Watchdogs, die bei den meisten Server-
u. Workstation-Mainboards sowie IPMI-Modulen integriert sind, auch remote zu testen.
Link dazu.
Zip-Bombe
Eine Zip-Bombe ist eine komprimierte Datei, die unkomprimiert viel größer ist.
Dieser Begriff ist also nicht streng definiert; es ist Ansichtssache ob eine
stark komprimierte Datei eine Zip-Bombe ist.
Eine Zip-Bombe ensteht praktisch immer,
wenn man ein komprimiertes Image einer fabrikneuen Festplatte anfertigt, weil
sie fast immer nur binäre Nullen oder zumindest sehr stark komprimierbare
Muster enthält.
Ein anderes Beisiel ist 42.zip.
Diese Datei enthält 16 gezipte Dateien, die wiederum 16 gehzipte Dateien
enthalten, die wiederum 16 gehzipte Dateien enthalten, die wiederum 16 gehzipte
Dateien enthalten, die wiederum 16 gehzipte Dateien enthalten, die je eine
Datei von 4,3 GB Größe enthalten, so dass die Datei nach dem Entpacken
4,5 PByte groß ist. Der Grund für diesen Aufbau ist, das zip keine
Dateien größer 4 GiB verarbeiten kann.
Ein ganz einfacheres Beispiel kann man selber erstellen (Beispiel für Linux/Unix/Cygwin):
dd if=/dev/zero bs=1G count=1024 | bzip2 -9 > klein.bz2
Das Erstellen dieser klein.bz2 dauert rund 11 Stunden
mit einem Opteron 8216 (2,4 GHz), weil bzip2 und dd jeweils nur einen Core auslasten
und bzip2 mit knapp 28 MB/s lahm ist.
Die mit 767 kB relativ kleine klein.bz2 ist enpackt 1
TiB groß und enthält genau das, was eine fabrikneue 1 TiB große Festplatte
üblicherweise enthält. Auf ein 2007 mittelmäßig schnelles kleines RAID,
beispielsweise ein RAID0 bestehend aus acht 15k6 SAS-Festplatten, kann diese
entpackte Datei in einer Viertelstunde geschrieben werden.
Weniger rechenintensiv als die Erstellung mit dd ist natürlich den Header einer
komprimierten Datei zu bearbeiten und so die dekomprimierte Größe
einzustellen.
Hier noch eine ähnliche Datei, die mit 2 GiB statt 1 GiB erstellt
wurde und die durch die binär gerade Größe auf nur 102 kB komprimiert
wurde: mittel.bz2.
Der Name der Zip-Bombe entstand durch schlampig programmierte Software, die
durch interne Fehler komprimierte Dateien nicht richtig verarbeitet (siehe
nächstes Kapitel und Link) und hat nichts mit exponentiellem Wachstum zu tun.
Solche Programmierfehlern können ebenfalls zum Hängen bleiben führen
unter Anderem bei
Hard Links,
Sparse Files, Link Loops (z. B. ln -sf foo bar; ln -sf bar foo) und Directory Loops,
beispielsweise in Zip-Dateien und anderen Dateien die einen Verzeichnisbaum enthalten,
wie beispielsweise
ISO-Images. Der Grund für ein mögliches
Hängen bleiben ist, das das Expandieren,
also Kopieren als einfache (andere) Datei, sowohl von Hard Links
wie von Sparse Files und Link Loops sowie auch Directory Loops, den Platzbedarf vervielfachen
kann und es leicht Probleme
gibt, wenn ein Programmierer dies nicht berücksichtigt.
Open-Source-Source-Software wie z. B. die
GNU Core Utilities
und direkt von den Betriebssytemherstellern stammende Programme haben praktisch
nie Probleme damit, wie beispielsweise ein Test mit Link Loops in der Bash zeigt:
> date; ln -sf foo bar; ln -sf bar foo; cat bar; rm bar; rm foo; date
Thu Jul 31 11:49:21 CEST 2008
cat: bar: Too many levels of symbolic links
Thu Jul 31 11:49:21 CEST 2008
>
Link dazu.
Mail-Bombe
Eine Mail-Bombe ist eine Zip-Bombe (s. o.) als Anhang einer E-Mail.
Schlampig programmierte Virenscanner, die beim Scannen von E-Mails komprimierte
Dateien ohne Überprüfungen und Limitierungen ganz gnadenlos entpacken,
können damit zum Absturz oder Hängenbleiben gebracht werden oder den
verfügbaren Platz auf
Festplatte und vielleicht auch im RAM komplett belegen. Solche unlimitierten
Aktionen sind typische Anfänger-Fehler beim Programmieren, die man am
(C-)Sourcode daran erkennt, das fget, malloc, strcat, strcpy, sprintf, strcmp,
strdup, strlen oder vprintf verwendet werden, denn die sicheren äquivalenten
Funktionen sind fgets, calloc, strncat, strncpy, strnprintf, strncmp,
strndup, strnlen und vsnprintf.
Zum Auffinden der genannten unsicheren Funktionen gibt es Programme wie
Flawfinder.
Genauer und auch für andere Programmiersprachen beschrieben findet man dies
unter der Rubrik Secure Coding bei CERT:
http://www.cert.org/secure-coding/.
Siehe auch
SPSA: The Secure Programming Skills Assessment
und 24C3-Vortrag: Grundlagen der sicheren Programmierung.
Für zuverlässige Programme ist zusätzlich fachmännische
Programmierung erforderlich. Hierzu gehört beispielsweise Rückgabewerte
zumindest generell auszuwerten und Daten aus gepufferten Schnittstellen
wie der seriellen Schnittstelle mit select und nicht
mit read einzulesen sowie Schnittstellen wie die serielle nur exklusiv zu
öffnen um auszuschließen, das mehrere Programme sie gleichzeitig
verwenden und sich gegenseitig Daten überschreiben/wegnehmen:
...
if (-1 == ioctl (fd, TIOCEXCL, &modelines)) // Put the tty into
exclusive mode. Schnittstelle exklusiv öffnen.
{
(void)fprintf (stderr, "ERROR at ioctl TIOCEXCL on
port %s, exiting! Schnittstelle %s konnte nicht exklusiv geöffnet werden; Exitus!\n",
a_device, a_device);
perror ("ioctl()");
return (-1);
}
...
Bei vielen Programmen ist dies aber ignoriert worden, so das beispielsweise
ntpd und apcupsd problemlos die gleiche serielle Schnittstelle öffnen können und sich
damit gegenseitig die Daten überschreiben und kryptische Fehlermeldungen
produzieren.
Solche Fehler finden sich in sehr vielen Programmen und sind die Ursachen,
weshalb Hersteller wie Apple und Microsoft regelmäßig als Updates
bezeichnete Bugfixes veröffentlichen. Das Problem betrifft insbesondere auch
Sicherheits-Software wie Virenscanner und Firewalls:
http://www.businessweek.com/technology/content/jun2005/tc20050617_1613_tc024.htm.
Das lange bekannte Mail-Bomben-Problem mit schlampig programmierten Virenscannern gibt es auch noch
2007, beispielsweise bei der Web-Mail von web.de: Versucht man
die 42.zip
anzuhängen, bekommt man die Fehlermeldung
"Dateiname: 42.zip gefundener Virus: ZIP-Crash", was schlicht falsch ist und
zeigt, dass immer noch ein schlampig programmierter Virenscanner verwendet wird:
Die Datei enthält keinerlei Code und kann daher überhaupt keinen
Virus
enthalten!
Andere Dateien wie klein.bz2 werden von web.de sogar kommentarlos entfernt, so dass wenn man
nicht extra kontrolliert, das Löschen der Datei überhaupt nicht mitbekommt!
Dies sind schwerwiegende Bugs, denn sie bedeuten, das man über web.de
praktisch keine einfach komprimierten Festplatten-Images verschicken kann!
Als Workaround bleibt nur ein Verschlüsseln der Dateien,
z. B. von *.img-Dateien, mittels "zip -P PaSsWoRt -r images *.img", oder in ein Steganogramm
packen oder den Mail-Provider zu wechseln.
Allerdings gibt es auch DAPs, dümmste anzunehmende Provider, die das Problem
auf die Kunden verlagern, indem sie in ihre AGBs schreiben, das
Mail-Bomben unzulässig sind. Ein Beispiel findet man in §5 der AGBs der ANTACOM Online
Services (Stand 2008-05-31):
http://antacom.com/wsp/wagb.htm.
Weil dies eine überraschende Vertragsklausel ist, ist sie aber
unwirksam. Hinzu kommt, das ohne die Präzisierung, ab welchen Werten genau
eine Mail auch eine Mail-Bombe ist, diese Vertragsklausel unklar und auch
deswegen unwirksam ist.
Link dazu.
Logische Bombe
Eine logische Bombe ist ein Teil eines Computerprogramms oder Skripts, der unter
bestimmten Bedingungen schädliche Aktionen wie z. B. das überschreibende
Löschen aller gemounteten und beschreibbaren Dateisysteme
auslöst. Auch für Logische Bomben gibt es keine klare Definition, so das
es Ansichtssache ist, ob beispielsweise das Leeren des Papierkorbs eine
logische Bombe ist.
Klassische Beispiele für logische Bomben sind format C: und
rm -rf /, aber mittels undelete-Programmen ist der Schaden von diesen
Klassikern reparierbar, weil die Daten nicht überschrieben werden und
deshalb noch auf den Datenträgern wiedergefunden werden können.
Sofern man keine uralte Version von rm hat, fehlt zudem
noch die Option --no-preserve-root und auch mit dieser Option bleiben alle Verzeichnisse
erhalten, die ein gemountetes Dateisystem enthalten; rm weigert sich mit der
Fehlermeldung Device or resource busy.
Statt rm sollte man daher find nehmen und fehlertolerant nach inodes löschen:
http://www.cyberciti.biz/tips/delete-remove-files-with-inode-number.html
oder alle Datenträger low-level und fehlertolerant überschreiben mit
ddrescue oder dd_rescue.
Zum mehrfachen Überschreiben eignen sich Programme wie shred und badblocks.
Ein Anwendungsgebiet ist der Datenschutz auf gestohlenen PCs und Notebooks und
natürlich das Löschen von gebrauchten Datenträgern vor dem Verkauf.
Beispielsweise bietet
"Lost
Data Destruction" von Beach Head Solutions
drei verschiedene Varianten zum Löschen aller Daten
und
Mobile Security 7.0 von Kaspersky
hat eine Löschfunktion für verlorene oder gestohlene Mobiltelefone, die
alle Daten löscht.
Link dazu.
Kryptologische Bombe
Die Kryptologische Bombe ist ein elektromechanisches Dechiffriergerät, das
mit der deutschen Enigma verschlüsselte Nachrichten entzifferte.
Sie wird auch Turing-Bombe genannt, weil Allan
Turing daran beteiligt war, aber sie ist praktisch nur von historischem Interesse.
Link dazu.
Ping-Bombe
Als Ping-Bombe wird ein
flooding Ping
bezeichnet, der eine Netzwerkverbindung
sehr langsam und damit praktisch unbrauchbar machen kann. Hierfür
benöitgt der Sender der Ping-Pakete mehr Bandbreite als das Ziel.
Der Name wird beispielsweise auf Wikipedia verwendet:
http://en.wikipedia.org/wiki/Wikipedia:Disabling_edits_by_unregistered_users_and_stricter_registration_requirement
und er kommt daher, das das Ziel mit Ping-Paketen "bombardiert" wird. Er hat
nichts mit dem
Ping of death
zu tun.
Eine Ping-Bombe wird unter Anderem zum Bestimmen von Bandbreiten verwendet.
Beispiel:
ping -s 65507 -p 0f1e2d3c4b5a6978 -f 192.168.0.1
Die Bandbreite kann man über ifconfig/ipconfig anhand der übertragenen
Datenmenge ausrechnen. Programme wie gkrellm, xosview usw. zeigen die erreichte Datenrate
direkt an.
Neben dem einfachen Ping kann man prinzipiell auch
arping,
httping
sowie
hping
und andere wie bing, fping, mtr und pathping verwenden.
BGP-Bombe
Die BGP-Bombe ist der Mißbrauch des Border Gateway Protocol (BGP, RFC
4271) zum "kapern" von Webservern (bzw. deren IP-Nr.).
Solche Bomben sind sehr effektiv, weil das BGP so gut wie
keine Autorisierungsmechanismen hat, die Missbrauch
verhindern könnten.
Die Pakistan Telecom hat mit so einer Bombe im Februar 2008 stundenlang
Youtube.com nicht nur in Pakistan sondern sogar weltweit gesperrt, obwohl diese
Mißbrauchs-Möglichkeit schon über 10 Jahre vorher allgemein bekannt war:
http://www.eweek.com/c/a/Security/Pakistan-Drops-the-BGP-Bomb/
http://www.heise.de/security/Router-luegen-nicht-was-wenn-doch--/news/meldung/114984
Für alle Informatik-Studenten, die ihre Bombe
verloren haben. Von Dr. Evil.
Quelle:
http://www.infmath.de/wbb/index.php?page=Thread&threadID=940

Quelle:
http://www.globalsecurity.org/military/systems/munitions/hpm.htm.
Weiterer Link dazu.
(nur für MS-DOS/MS-Win9x/ME)
Nicht direkt zur Informatik gehörend, aber auch für Informatiker
interessante "Bomben" ;-)
Stinkbombe
(FeS + 2HCl => H2S (g) + FeCl2)
Sexbombe
Who?-Me?-Bombe und Gay Bomb
Bomba - eine Kalorienbombe.
Weitere Kalorienbomben sind die
Rumbombe
und die
Eisbombe.
Vulkanische Bombe
Schmutzige Bombe und Sprengsatz-Bombe
Geldbombe
Arschbombe
Rauchbombe
Lachbombe
Bombenidee
Bomberjacke
passend zum
Bomber.
Bombenwetter
Bomben-Software
Bombenjahre
Schlaue Bomben
Intelligente Bomben
Säurebombe (Acid Bomb); nicht zu verwechseln mit Säurezündern.
Grüne Bomben: Nicht nur stärker als Bomben mit TNT sondern auch
ökologisch korrekt durch Sprengstoffe der nächsten Generation wie z. B. Tetrazolen HBT und G2ZT.
23 Bomben-Rezepte
Vitaminbombe
Ein berühmter Fernseh-Bombenbenauer ist
MacGyver, aber
dessen Bomben
sind im Film meist deutlich übertrieben.
In Büchern hingegen findet man meist brauchbare Bombenauanleitungen, beispielsweise:
Schwarzpulver
für Survival - Band 1 Improvisation von Schwarzpulver und ähnlichen
Mischungen, Schwarzpulver
und Sprengsalpeter, Nitroglyzerin
und Dynamit oder Die
Sprengstoffe - Ihre Chemie und Technologie.
Allerdings enthalten Bücher meist wenig zu leicht herstellbaren und schwer
nachweisbaren Sprengstoffe wie
Hexamethylentriperoxiddiamin (HMTD)
und
Triaceton-Triperoxid (TATP).
Anleitung zum Bau einer Atombombe und der
Hintergrund-Artikel Wie baut man eine Atombombe der Zeit
über den Wert von Bauanleitungen für Kernsprengköpfe und von
tacit knowledge.
Pornoatombombe
Kawumm
http://bombenterror.de - Viele Bauanleitungen; von der Rohrbombe bis zur Wasserstoffbombe findet man dort alles.
Unter
http://bombenbauanleitungen.de/
findet man allerdings keine Bombenbauanleitungen.
Zum bombigen Feiern eignen sich
T.N.T. Dynamite Parties,
zum bombigen Spielen wie für eine explosive Stimmung bei Fußballspielen eignet sich
TNT Dynamite Soccer.
Zum Bombenbauen, Bombenlegen sowie zum Bombardieren passende Lieder gibt es von Interpreten wie Dynamite Deluxe; beispielsweise
das Lied
Bombs,
Dynamite Deluxe: TNT und Dynamite Deluxe: Dynamit
und natürlich den Klassiker
TNT Dynamite von AC/DC
sowie
Spiel mir das lied vom Tod.
Deutlich altmodischere Lieder sind beispielsweise
"Bomben auf England", die man auch in diversen Tauschbörsen online findet und die
es auch als Klingelton gibt.
Auf Musik-Seiten wie www.pandora.com findet man dutzende weitere Lieder: Allein
pandora.com listet 30 verschiedene Lieder mit Dynamite im Titel!
Dort findet man auch Musik zum Entschärfen von Bomben; beispielsweise
How to Dismantle an Atomic Bomb.
Zudem gibt es auch bombige Bands wie z. B.
COTTONBOMB.
Im Magazin
Bomb findet man allerdings praktisch nichts zu Bomben.
Richtig gute Bombenbau-Kurse, auch mit Übungssprengungen und Kursen zur
effizienten Neutralisierung von Menschen, Maschinen und Gebäuden gibt es bei
der Bundeswehr
und den meisten anderen Armeen, aber generell nur für registrierte
Gefechtsfeld-Manager (früher Soldaten genannt)
und gedacht hauptsächlich zur
Friedenserzwingung (früher Krieg genannt).
Hierzu gibt es beispielsweise das
Improvised Munitions Handbook
das zwar nur konventionelles enthält, aber dies relativ ausführlich,
inklusive Minen, Granaten, Raketen Zündverzögerer usw. auch mit
Abbildungen erläutert.
Zur Theorie, z. B. die Berechnung der optimalen Explosions-Höhe als Funktion
der Sprengkraft, den Sicherheitsvorschriften und den erforderlichen Genehmigungsverfahren
findet man in diesem Buch allerdings praktisch nichts.
Farbbomben und andere Spielereien findet man im
Anarchist Cookbook und Anleitungen zum Bombenlegen im Buch
Hit Man.
Links u. A. zum Badminds Cookbook , das dem
Anarchist Cookbook ähnelt, findet man unter http://www.burks.de/forum/phpBB2/viewtopic.php?p=33557.
Bei Bombenbauern beliebt sind neben
Explosionszeichnungen
auch für Metall-Detektoren unsichtbares Zubehör wie
Keramik-Messer, die es in Discountern wie Norma ab 8,99 EUR gibt:
http://norma-online.de/_de_/_angebote_/_ab-mittwoch-19.12._/
Allerdings kann der Griff Metall enthalten; viele Keramik-Messer sind deshalb für
Metall-Detektoren nicht unsichtbar, so wie auch die meisten "metallfreien" Minen,
die aus Kostengründen fast immer eine Sprengkapsel aus Aluminium enthalten.
Enthält ein Keramikmesser nur wenig Metall, kann man es mit Säuren wie
Salzsäure meist relativ leicht wegätzen und dünne Metall-Schichten kann
man meist in einem Mikrowellen-Grill verdampfen.
Vor allem bei nächtlichen Bombenbauern beliebt sind Nachtsichtgeräte mit
integrierter Infrarotbeleuchtung zur Beobachtung bei völliger Dunkelheit, die es bei
Discountern wie Plus ab 149,95 Euro gibt:
http://www.plus.de/Nachtsichtgeraet-Visiomar-3x42/de_vpd-98363900-534KAYCLLl4AAAEZxAZW62Fq-9tMKAYCLAZAAAAEZshRW61wu-gi.html.
Zum Bomben-Transport bevorzugen echte Bombenbauer für Paket-Bomben
den Express-Versand und für Brief-Bomben die Post
von
http://www.tnt.com/.
Für Bombenstimmung findet man auf www.perl.de
PC-gesteuerte Raketenwerfer mit echt fliegenden Raketen,
Bomberfun,
Bomberman,
Fliegende Bomben,
Autobomben,
Wasserbomben,
Bomb Jack und einiges andere.
Rush for the Bomb: Das bombige Add-On zum vielfach preisgekrönten Taktik-Hit "Rush for Berlin"!
Die Bombe unter der Achselhöhle
Käse als Übungsbombe und warum in US-Flughäfen
Handy-Ladegeräte höchst verdächtig sind und Käse
quasi verboten ist.
Über 200.000 Bomben findet man auf Youtube; insbesondere Cola-Bomben!
Sprengen und sparen
Warum der Vorname Bob in australischen Flugzeugen Bombenalarm auslöst und wieso es in Australien illegal ist auf
einen unbenutzten Spuckbeutel die Abkürzung oder den Namen "BOB" zu
schreiben.
Schließlich haben die Australier das
Terrorbyte erfunden.
Warum in USA alles eine Bombe ist.
Passend dazu gibt es auch den Hoster BombDrop in USA:
http://www.bombdrop.net/
Detonationen ohne Sprengstoff kann man beispielsweise auch mit Hochspannung
erzeugen:
http://www.powerlabs.org/emguns.htm
Einen (vielleicht bombenbastelnden?) echt deutschen Hacker findet man ganz in der Nähe, unter
http://www.german-hacker.de/
Bombige Museen
AtomicBombMuseum.org
Bombige Zitate
Die Bombardierung beginnt in 5 Minuten!
Mikrofon-Test-Text von Ronald Reagan, 11. August 1984
Werbung