„Archivbombe“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Änderungen von 2003:51:493C:CF01:BD2E:2BA1:1264:AF72 (Diskussion) auf die letzte Version von KLBot2 zurückgesetzt
Keine Bearbeitungszusammenfassung
Zeile 10: Zeile 10:
== Beispiele ==
== Beispiele ==
=== 42.zip ===
=== 42.zip ===
Eine bekannte Archivbombe ist ''42.zip''. Fünf Mal rekursiv gepackt, beträgt ihre Größe lediglich 42 [[Byte#Größenunterschiede zwischen den Bedeutungsauffassungen|Kilobyte]]. Beim Entpacken wächst das Datenvolumen allerdings um das Hundertmilliardenfache auf 4,5 Petabyte:<ref>[http://www.unforgettable.dk/ www.unforgettable.dk] – Details zum Aufbau von 42.zip ([[Englische Sprache|engl.]])</ref><ref>[http://www.daniel-marschall.de/cms/blog/sonstiges/22-analyse-der-42zip-und-0dll.html Erweiterte Analyse der 42.zip und deren Inhalte] auf ''www.daniel-marschall.de''</ref>
Eine bekannte Archivbombe ist ''42.zip''. Fünf Mal rekursiv gepackt, beträgt ihre Größe lediglich 42 [[Byte#Größenunterschiede zwischen den Bedeutungsauffassungen|Kilobyte]]. Beim Entpacken wächst das Datenvolumen allerdings um das Hundertmilliardenfache auf 4,5 Petabyte:<ref>[http://www.unforgettable.dk/ www.unforgettable.dk] – Details zum Aufbau von 42.zip ([[Englische Sprache|engl.]])</ref><ref>[http://www.daniel-marschall.de/cms/blog/sonstiges/22-analyse-der-42zip-und-0dll.html Erweiterte Analyse der 42.zip und deren Inhalte] auf ''www.daniel-marschall.de''</ref> Die Dateibezeichnung "42" nimmt - außer auf die Dateigröße - Bezug auf die [[42 (Antwort)|Frage „nach dem Leben, dem Universum und dem ganzen Rest“]] aus der verfilmten Roman- und Hörspielreihe ''Per Anhalter durch die Galaxis'' von Douglas Adams.


Struktur Gesamtzahl enthält unkomprimierte Gesamtgröße
Struktur Gesamtzahl enthält unkomprimierte Gesamtgröße

Version vom 4. Juli 2013, 15:05 Uhr

Eine Archivbombe ist eine Datei mit per Datenkompression gepacktem Inhalt, deren schadhafter Zweck darin besteht, beim Entpacken ein unerwartet hohes Vielfaches ihrer Größe anzunehmen[1] oder Software zum Entpacken in eine Endlosschleife zu locken. Die gepackten Inhalte können beispielsweise Grafikdateien mit dem immer gleichen Muster oder Textdateien mit sich wiederholenden Zeichenfolgen sein. Solche Regelmäßigkeiten können außerordentlich stark komprimiert werden. Ebenso können sie Fehler in der Entpacksoftware ausnutzen, um Rekursionen zu erzeugen.

Angriffsweg

Der vorwiegende Angriffsweg der Archivbomben sind E-Mails, denen sie als Anhang beigefügt sind. Eine solche E-Mail ist nicht sehr groß und stellt keinerlei auf den ersten Blick erkennbare Gefahr dar. Die meisten Firewalls erkennen aufgrund ihrer Funktionsweise Archivbomben nicht, so dass sie als normale Dateianhänge in das Mailprogramm des Anwenders gelangen.

Archivbomben sind nicht primär dafür gedacht, von dem Benutzer entpackt zu werden, sondern zielen vorwiegend auf Antivirenprogramme ab: Diese scannen Dateien – auch solche innerhalb von Archiven – häufig schon beim Dateieingang. Dafür müssen die Archive in einen temporären Speicherbereich entpackt werden. Dabei besteht die Gefahr, dass die entpackten Dateien den Arbeitsspeicher oder die Festplatte füllen und das System gänzlich zum Stillstand bringen. Außerdem benötigt der Scanvorgang viel Rechenzeit. Bei rekursiven Archivbomben hingegen bleibt das System i. d. R. funktionsfähig, lediglich der Virenscanner kann seine Aufgabe (nämlich das Scannen des Archivs) niemals vollenden. Dieser Art von Archivbomben kann dadurch entgegengewirkt werden, indem die Antivirensoftware eingehende Archive nur bis zu einer bestimmte Tiefe überprüft. Der Angriff ist also der Versuch eines Denial of Service.[1]

Die Größeninformation in den Attributen des Archivs abzufragen hat keinen zusätzlichen Nutzen, da diese beispielsweise per Hex-Editor manipuliert sein können.

Beispiele

42.zip

Eine bekannte Archivbombe ist 42.zip. Fünf Mal rekursiv gepackt, beträgt ihre Größe lediglich 42 Kilobyte. Beim Entpacken wächst das Datenvolumen allerdings um das Hundertmilliardenfache auf 4,5 Petabyte:[2][3] Die Dateibezeichnung "42" nimmt - außer auf die Dateigröße - Bezug auf die Frage „nach dem Leben, dem Universum und dem ganzen Rest“ aus der verfilmten Roman- und Hörspielreihe Per Anhalter durch die Galaxis von Douglas Adams.

Struktur                            Gesamtzahl  enthält      unkomprimierte Gesamtgröße
                                    Dateien1)    jeweils      (Byte)

42.zip2)                             1.048.576   16 Ordner    4.503.599.626.321.920 (4,5 PB)
  → lib0.zip     … libf.zip3)        1.048.576   16 Ordner    4.503.599.626.321.920 (4,5 PB)
   → book0.zip    … bookf.zip          65.536   16 Ordner      281.474.976.645.120 (281 TB)
    → chapter0.zip … chapterf.zip       4.096   16 Ordner       17.592.186.040.320 ( 17 TB)
     → doc0.zip     … docf.zip            256   16 Ordner        1.099.511.627.520 (  1 TB)
      → page0.zip    … pagef.zip           16    1 Datei            68.719.476.720 ( 68 GB)
       → 0.dll4)                             1                        4.294.967.295 (4,3 GB)

Anmerkungen:

  • 1) Ausschließlich die unterste Hierarchiestufe – also die Dateien page0.zip … pagef.zip – enthält Dateien; die darüber Liegenden dienen nur als Multiplikatoren für die Anzahl der Dateien in der untersten Hierarchiestufe. Die Angaben sind nicht kumuliert und dienen vornehmlich der Anschauung – so berücksichtigt die Gesamtzahl der Dateien nur die Anzahl der insgesamt enthaltenen komprimierten Dubletten von 0.dll und nicht die ebenfalls mit eingebetteten Containerdateien (deren Anteil an der Gesamtmenge allerdings auch vernachlässigbar gering ausfällt).
  • 2) Die Datei 42.zip fasst lediglich die 16 Containerdateien der nächst-unteren Hierarchiestufe zu einer einzigen Datei zusammen, daher ändert sich an Gesamtgröße und Anzahl im Vergleich zur nächst-unteren Stufe nichts.
  • 3) Die o.a. Notierung der Dateinamen erfolgt nach dem Schema Präfix# — „#“ ist dabei der Platzhalter für eine einstellige Hexadezimalzahl, kann also insgesamt 16 Werte (0, 1, 2, […], 9, A, B, C, D, E, F) annehmen. „lib0.zip … libf.zip“ steht also für 16 durchnummerierte einzelne Dateien.
  • 4) Die Datei 0.dll besitzt durchgehend ein 0xAA-Bytemuster über die gesamten 4.294.967.295 Bytes hinweg und ist durch die damit einhergehende Redundanz sehr gut verlustfrei komprimierbar.

Weitere

Eine „Zip Files All The Way Down“ genannte Methode ähnelt der 42.zip – hierbei wird allerdings eine zip-, gzip- oder tar-Datei erstellt, die sich rekursiv selbst enthält.[4]

Belege

  1. a b Glossareintrag auf einem Internetangebot von Kaspersky Lab
  2. www.unforgettable.dk – Details zum Aufbau von 42.zip (engl.)
  3. Erweiterte Analyse der 42.zip und deren Inhalte auf www.daniel-marschall.de
  4. research.swtch.com: Zip Files All The Way Down, Zugriff am 21. Februar 2011