
Ein leistungsstarkes und flexibles Tool zur Durchführung aktiver Angriffe zur Störung von Stegomalware
In den letzten 10 Jahren haben viele Bedrohungsgruppen Stegomalware oder andere auf Steganographie basierende Techniken eingesetzt, um Organisationen aller Branchen und in allen Regionen der Welt anzugreifen. Einige Beispiele sind: APT15/Vixen Panda, APT23/Tropic Trooper, APT29/Cozy Bear, APT32/OceanLotus, APT34/OilRig, APT37/ScarCruft, APT38/Lazarus Group, Duqu Group, Turla, Vawtrack, Powload, Lokibot, Ursnif, IceID, usw.
Unsere Forschung (siehe APTs/) zeigt, dass die meisten Gruppen sehr einfache Techniken (zumindest aus akademischer Sicht) und bekannte Tools einsetzen, um Perimeter-Verteidigungen zu umgehen, obwohl fortgeschrittenere Gruppen auch Steganographie nutzen, um C&C-Kommunikation und Datenexfiltration zu verbergen. Wir argumentieren, dass dieser Mangel an Raffinesse nicht auf mangelndes Wissen in der Steganographie zurückzuführen ist (einige APTs wie Turla haben bereits mit fortschrittlichen Algorithmen experimentiert), sondern einfach darauf, dass Organisationen nicht in der Lage sind, sich selbst gegen die einfachsten Steganographie-Techniken zu verteidigen.
Aus diesem Grund haben wir stegoWiper entwickelt, ein Tool, das blind jede bildbasierte Stegomalware stört, indem es den schwächsten Punkt aller Steganographie-Algorithmen angreift: ihre Robustheit. Wir haben überprüft, dass es in der Lage ist, alle heute verwendeten Steganographie-Techniken und -Tools (Invoke-PSImage, F5, Steghide, openstego, ...) sowie die fortschrittlichsten Algorithmen der akademischen Literatur zu stören, die auf Matrixverschlüsselung, Wet-Papers usw. basieren (z.B. Hill, J-Uniward, Hugo). Tatsächlich gilt: Je ausgefeilter eine Steganographie-Technik ist, desto mehr Störung erzeugt stegoWiper.
Darüber hinaus ermöglicht unser aktiver Angriff die Störung jeder Steganographie-Nutzlast aus allen Bildern, die von einer Organisation ausgetauscht werden, mittels eines Web-Proxy-ICAP-Dienstes (Internet Content Adaptation Protocol) (siehe c-icap/), in Echtzeit und ohne zuerst identifizieren zu müssen, ob die Bilder versteckte Daten enthalten.
stegoWiper v0.1 - Cleans stego information from image files
(png, jpg, gif, bmp, svg)
Usage: ${myself} [-hvc <comment>] <input file> <output file>
Options:
-h Show this message and exit
-v Verbose mode
-c <comment> Add <comment> to output image file
stegowiper.sh -c "stegoWiped" ursnif.png ursnif_clean.png
Das Verzeichnis examples/ enthält mehrere Basisbilder, die verwendet wurden, um geheime Informationen mit verschiedenen Steganographie-Algorithmen zu verstecken, sowie das Ergebnis der Bereinigung mit stegoWiper.
stegoWiper entfernt alle Metadaten-Kommentare aus der Eingabedatei und fügt dem Bild außerdem ein nicht wahrnehmbares Rauschen hinzu (es spielt keine Rolle, ob es tatsächlich eine versteckte Nutzlast enthält oder nicht). Wenn das Bild eine steganographische Nutzlast enthält, verändert dieses zufällige Rauschen sie, sodass der Extraktionsversuch entweder fehlschlägt oder die Daten beschädigt werden, und die Stegomalware nicht ausgeführt werden kann.
Wir haben verschiedene Arten (Gleichverteilt, Poisson, Laplace, Impulsiv, Multiplikativ) und Stufen von Rauschen getestet, und das beste in Bezug auf Nutzlaststörung und Reduzierung der Auswirkungen auf das Eingabebild ist das Gaußsche Rauschen (siehe tests/ für eine Zusammenfassung unserer Experimente). Es ist auch erwähnenswert, dass Angreifer, da das Rauschen zufällig und über das gesamte Bild verteilt ist, nicht wissen können, wie sie es vermeiden können. Dies ist wichtig, da andere Autoren deterministische Änderungen vorgeschlagen haben (wie das Löschen des niederwertigsten Bits aller Pixel), die Angreifer leicht umgehen können (z.B. einfach durch Verwendung des zweitniederwertigsten Bits).
Dieses Projekt wurde von Dr. Alfonso Muñoz und Dr. Manuel Urueña entwickelt. Der Code wird unter der GNU General Public License v3 veröffentlicht.