Steganographie - Versteckte Kommunikation in digitalen Medien
Steganographie bezeichnet die Kunst Nachrichten oder Daten in scheinbar harmlosen Trägerdateien (Bildern, Audio, Video, Dokumenten) zu verstecken ohne dass die Existenz der versteckten Botschaft auffällt. Im Gegensatz zur Kryptographie (die Inhalt verschlüsselt) verbirgt Steganographie die Existenz der Kommunikation. Angreifer nutzen sie für Malware-Command-and-Control, Datenexfiltration und Watermarking.
Steganographie ist die Kunst Botschaften so zu verstecken, dass ein Beobachter nicht einmal weiß, dass eine versteckte Botschaft existiert. Während Kryptographie den Inhalt verschlüsselt (die Nachricht ist sichtbar, aber unlesbar), versteckt Steganographie die Existenz der Kommunikation selbst. In der Sicherheitswelt ist Steganographie ein Angriffswerkzeug - zum Verstecken von Malware-Payloads, C2-Kommunikation und zur Datenexfiltration.
Digitale Steganographie: Grundprinzip
Least Significant Bit (LSB) - häufigste Methode
Digitales Bild: Jedes Pixel = 3 Bytes (R, G, B) mit Werten 0-255
Original-Pixel: R=203 G=145 B=89 Binär: R=11001011 G=10010001 B=01011001
Versteckte Bits “1” “0” “1” in das letzte Bit jedes Kanals einsetzen:
Geänderter Pixel: R=11001011 G=10010000 B=01011001 Wert: R=203 G=144 B=89
Visueller Unterschied: 0-1 Farbwert-Unterschied - NICHT sichtbar!
Kapazität:
- 1 Bit pro Farbkanal pro Pixel
- 3 Bits pro Pixel (RGB)
- 1 MB Bild ≈ 1.000.000 Pixel = 375.000 Byte = ~46 KB versteckbarer Daten
Trägermedien für Steganographie
| Medium | Formate |
|---|---|
| Bilder | JPEG, PNG, BMP, GIF (häufigste Ziele) |
| Audio | WAV, MP3 (LSB oder Echo-Hiding) |
| Video | MP4, AVI (Frame-basiertes Verstecken) |
| Dokumente | PDF, DOCX (Metadaten, unsichtbarer Text, weißer Text auf weiß) |
| Netzwerk | IP/TCP-Header-Felder (reserved bits, timestamp) |
| Dateisystem | NTFS Alternate Data Streams (ADS) |
Malware und C2-Kommunikation via Steganographie
Szenario 1 - Malware lädt Payload aus Bild
- Angreifer erstellt scheinbar harmloses Bild (Katze.jpg)
- C2-Befehle in LSB-Bits des Bildes versteckt
- Malware auf kompromittiertem System:
- Lädt Katze.jpg von öffentlicher Webseite (Imgur, Twitter, etc.)
- Liest LSB-Bits aus
- Erhält Befehle: “exfiltriere /home/user/.ssh/”
- Firewall sieht: normaler HTTPS-Download von Imgur → kein Alert!
Reale Malware-Familien mit Steganographie:
- Duqu (2011): C&C-Daten in JPEGs versteckt
- Stegano (2016): Malvertising via PNG mit Exploit-Code
- Powload: PowerShell-Payload in Bildern
- Turla (APT): C2-Kommunikation via Social-Media-Bilder
Szenario 2 - Datenexfiltration über Bilder
- Angreifer auf kompromittiertem System
- Sensible Daten in JPEG-Bild einbetten
- Bild über legitimen Kanal senden (Teams-Nachricht, E-Mail-Anhang)
- Empfänger außen: Bild extrahieren, Daten lesen
- DLP sieht: harmlose JPEG-Datei → kein Alarm!
Netzwerk-Steganographie
- IPv4 ID-Feld (16 Bit): nicht immer genutzt → Daten einbetten
- TCP-Timestamp: covert channel
- DNS: Anfragen mit codierten Daten in Subdomain-Namen
- ICMP-Payload: ping-Pakete mit versteckten Daten
- HTTPS-Timing: Pausen zwischen Anfragen codieren Bits
Erkennungsmethoden (Steganalyse)
Statistische Methoden
Chi-Quadrat-Test für LSB-Steganographie:
- Natürliche Bilder: statistische Verteilung der LSB-Bits ist pseudozufällig
- LSB-Steganographie: ändert Verteilung → messbare Abweichung
- Tools: StegExpose, StegSpy
RS-Analyse (Regular/Singular):
- Analysiert lokale Bildstatistik in Gruppen von Pixeln
- Erkennt auch partielle Steganographie
Visuelle Analyse
# Mit ImageMagick: nur LSB-Kanal anzeigen
convert original.png -channel R -separate -threshold 0% lsb_red.png
# Wenn steganographisch: deutliche Muster oder Textur im LSB-Bild
Tool: zsteg (Erkennung in PNG/BMP)
gem install zsteg
zsteg bild.png
# Analysiert: LSB, verschiedene Bit-Planes, Farbkanäle
# Ausgabe: verdächtige Payloads oder Text
Tool: stegdetect (JPEG)
stegdetect bild.jpg
# Erkennt: JSteg, JPHide, Invisible Secrets, OutGuess
Tool: ExifTool (Metadaten)
exiftool bild.jpg
# Kommentar-Felder, EXIF-Daten können Payloads enthalten
NTFS Alternate Data Streams (Windows)
:: Versteckte ADS anzeigen:
dir /r datei.txt
:: Inhalt auslesen:
more < datei.txt:versteckt.exe
:: Alle ADS im Verzeichnis (Sysinternals Streams):
streams -s C:\Users
Schutzmaßnahmen
Für Unternehmen
- DLP mit Bildanalyse: kommerzielle DLP-Lösungen prüfen Bilder auf Steganographie
- Netzwerk-Monitoring: ungewöhnliche Bilddatei-Transfers (Größe, Häufigkeit)
- E-Mail-Gateway: Anhänge auf Steganographie-Indikatoren prüfen
- Metadaten strippen: alle eingehenden Bilder automatisch durch Metadaten-Stripper (ImageMagick convert:
-strip)
Für Incident Response
- Bekannte Steganographie-Tools auf kompromittiertem System prüfen (steghide, OpenStego)
- Ungewöhnliche Downloads: viele JPEG-Anfragen an externe Domains
- Strings in Bilddateien:
strings bild.png | grep -i "exec\|cmd\|powershell" - PCAP-Analyse: Timing-Patterns in DNS/ICMP (covert channels)
Für sichere Bild-Verarbeitung
- Bilder immer transcodieren (JPEG → JPEG neu komprimieren → LSB-Daten zerstört)
- PNG → verlustbehaftetes Format → LSB-Daten zerstört
- Metadaten strippen: EXIF, ICC-Profile, Kommentare entfernen
Steganographie-Erkennung im SIEM
# Sigma-Rule Beispiel:
title: Suspicious Steganography Tool Usage
detection:
selection:
Image|contains:
- 'steghide'
- 'openstego'
- 'silenteye'
- 'stegosuite'
condition: selection