Ich verwende ZIP-Bombs, um meinen Server zu schützen
(idiallo.com)Einleitung
- Der Großteil des Internet-Traffics stammt von Bots, und einige davon verfolgen böswillige Ziele (Spam, Hacking usw.).
- Der Autor hat in der Vergangenheit Schäden durch Bots erlitten, etwa eine infizierte WordPress-Server-Instanz oder den Ausschluss aus der Google-Suche.
- Um dies zu verhindern, hat er begonnen, Zip Bombs einzusetzen.
Hauptteil
-
Was ist eine Zip Bomb?
- Eine kleine komprimierte Datei, die sich beim Entpacken auf ein sehr großes Volumen ausdehnt.
- Eine 1-MB-komprimierte Datei kann auf 1 GB anwachsen, 10 MB auf 10 GB, und so einen Server lahmlegen.
-
Die bestehende gzip-Funktion
- Im Web wird gzip-Komprimierung für eine effizientere Übertragung verwendet.
- Die meisten Bots unterstützen ebenfalls gzip-Komprimierung.
-
Abwehrmethode mit Zip Bombs
- Wird ein Bot als bösartig eingestuft, antwortet der Server mit
200 OKund einer gzip-komprimierten Zip-Bomb-Datei. - Beim Öffnen dieser Datei stürzt der Bot auf seinem Server ab oder bleibt hängen.
- Üblicherweise wird eine 1-MB-Datei (auf 1 GB expandierend) oder 10-MB-Datei (auf 10 GB expandierend) verwendet.
- Wird ein Bot als bösartig eingestuft, antwortet der Server mit
-
So erstellt man eine Zip Bomb
dd if=/dev/zero bs=1G count=10 | gzip -c > 10GB.gz- Mit
/dev/zerowerden 10 GB an Null-Byte-Daten erzeugt und anschließend mit gzip komprimiert. - Das Ergebnis ist eine Zip Bomb von etwa 10 MB Größe.
- Mit
-
Beispiel für den Einsatz auf dem Server
- Erkennt die Middleware eine IP-Blacklist oder bösartige Muster, wird die Zip Bomb ausgeliefert.
if (ipIsBlackListed() || isMalicious()) { header("Content-Encoding: deflate, gzip"); header("Content-Length: "+ filesize(ZIP_BOMB_FILE_10G)); readfile(ZIP_BOMB_FILE_10G); exit; }
Fazit
- Zip Bombs sind keine perfekte Verteidigung.
- Ausgefeilte Bots können sie erkennen und umgehen.
- Gegen primitive Bots, die wahllos das Web crawlen, sind sie jedoch ein wirksames Abwehrmittel.
- Auch wenn sie einige Serverressourcen verbrauchen, sind sie den Aufwand für die Sicherheit wert.
29 Kommentare
Ich denke, das ist eine Methode, die man ausprobieren kann, wenn es keine wirksame Möglichkeit gibt, Bots zu blockieren, die Spam-Traffic erzeugen.
Hat mir Spaß gemacht zu lesen, weil es wie ein Artikel darüber wirkt, Paketdieben eine Glitzerbombe zu verpassen :)
Das Video ist lustig. Genau so ist es, haha.
Ein Internetbeitrag ist kein Paket, das jemandem gehört.
Wenn es nicht öffentlich zugängliches Eigentum wäre, hätte man wohl ein Authentifizierungsverfahren eingebaut.
Man kann es wohl damit vergleichen, auf der Straße einen Flyer auszulegen und ihn mit starkem Gift zu bestreichen.
Das ist doch ein anderes Konzept, als aus böswilliger Absicht vergiftete Flugblätter aufzuhängen.
Ethisch ist das nicht gerade gut. Und eine grundlegende Lösung ist es auch nicht.
Ich bin mit so etwas zum ersten Mal konfrontiert, daher würde mich interessieren, was die grundlegende Lösung ist!!
Ich stimme zu.
Ist ein bösartiger Bot denn auf ethische Weise unterwegs? lol
Echte bösartige Bots kann man auf diese Weise nicht aufhalten.
Auch eine gzip-Bombe funktioniert nicht.
Seht es einfach so, dass jemand Unbekanntes aus Spaß einen netten Bomben-Post geschrieben hat.
Ach so, Leute wie Sie machen es also schwer, Notwehr anerkannt zu bekommen, haha...
Warum ist das ethisch keine gute Methode? Ich bin neugierig.
Interessanter Beitrag! Auf diese Methode wäre ich nicht gekommen – danke, dass du sie vorgestellt hast!
Was ist wohl der Zweck, so einen Artikel zu veröffentlichen?
Ich denke nämlich nicht, dass Unternehmen, die tatsächlich Crawler einsetzen, diesen Artikel lesen und ihre Systeme dann mit hoher Wahrscheinlichkeit ausschließen werden.
Für welche Lesergruppe wurde dieser Text also geschrieben?
Ist es ein einführender Beitrag, um anderen Bloggern zu zeigen, dass es so eine Methode gibt,
oder eher provokatives Getöse nach dem Motto: Mein Blog ist so gut abgesichert, also versucht doch mal, ihn zu crawlen, wenn ihr könnt?
Ich frage mich wirklich, was man durch die Veröffentlichung dieses Artikels gewinnen will.
Vielleicht ist es einfach nur so, dass es diese Methode gibt..
Es ist ein persönlicher Blog – darf ich da nicht schreiben, was ich will? 🤔
Natürlich ist es kein öffentlicher Ort, also hat die Person den Beitrag vielleicht einfach ohne große Gedanken gepostet.
So wie man in einer Community auch gedankenlos einen Kommentar hinterlassen kann.
Ich kann Crawler ohnehin nicht vollständig blockieren, daher wäre es am besten, Anfragen gar nicht erst anzunehmen, und ich habe mich gefragt, was die Absicht hinter dieser provokativen Aktion war.
Wenn anhand der IP entschieden wird, dass es ein Bot ist, will man ihm also auch noch eine Bombe schicken, haha.
Man spürt förmlich die Wut des Autors, haha.
Es heißt, man wolle Anfragen, die mit
agentals Bot hereinkommen, mit einer Bombe beglücken …Das ist viel zu bösartig.
agentlässt sich ohnehin leicht verbergen. Ein wirklich bösartiger Bot zeigt seine Böswilligkeit nicht offen.In letzter Zeit sieht man gelegentlich Schadensfälle durch übermäßigen Traffic von LLM-angebundenen Diensten; tatsächlich könnte man das auch als eine Gegenmaßnahme genau für solche Fälle betrachten. Wenn man sich zum Beispiel die Websuche-Funktion von ChatGPT ansieht, liegt es aufgrund der Eigenschaften dieses Nutzerpools durchaus nahe, dass dort „nicht böswilliger“ übermäßiger Traffic entsteht, und ich habe gehört, dass sich diese Nutzer mit einfachem Agent-Matching leicht herausfiltern lassen. Falls das wirklich die eigentliche Absicht ist, führt das allerdings nur dazu, unnötig die Serverkosten (und den Ruf?) von OpenAI zu belasten..
Also ist das ein bedeutungsloser Beitrag.
OpenAI ist immerhin schon ein großes genuges(?) Unternehmen, um ein Mindestmaß an Anstand zu haben.
Und vermutlich ist es auch schwer, dadurch, dass Nutzer selbst auf Suchergebnisse klicken, einen so problematischen Traffic zu verursachen; ist das Problem nicht eher, dass der Crawler zu aggressiv arbeitet?
Ich stimme zu, dass sich anhand von Identifikationsmerkmalen wie dem von Ihnen erwähnten User-Agent oder der im Originalbeitrag genannten IP-basierten Erkennung schwer eindeutig feststellen lässt, ob etwas bösartig ist, weil solche Informationen verschleiert werden können. Tatsächlich würden wirklich bösartige Bots wohl noch raffinierter vorgehen.
Meiner Meinung nach wäre es realistischer, statt solcher Angriffe eher eine Crawling-API mit Lastbegrenzung bereitzustellen, damit legitime automatisierte Zugriffe erlaubt bleiben, während die Serverressourcen geschützt werden – eine Art praktischerer „Nudge“. haha
Es gibt doch schon seit Langem etwas, worauf wir uns geeinigt haben:
bots.txt..Das ist ein Kommentar, der nichts mit dem eigentlichen Artikel zu tun hat, aber mir ist aufgefallen, dass in dem Hada, das ich gern lese, in letzter Zeit die Zahl einiger Nutzer, die beleidigende Kommentare schreiben, merklich zugenommen zu haben scheint. Es fühlt sich ziemlich anders an als früher, als es gar keine oder nur sehr wenige Kommentare gab.
Persönlich fände ich es gut, wenn es entweder eine Blockierfunktion gäbe oder eine Funktion, mit der Kommentare nach mehreren Meldungen ausgegraut werden.
Es wird vermutet, dass Nutzer mit vielen Empfehlungen solche Funktionen erhalten.
2222222222222222