Zurück zum Blog
ReisenDatenschutz

Bordkarte gepostet, Konto weg: Was unsere Messung zur QR-Schwärzung ergab

Veröffentlicht am8 min read
Teilen

Was ein einzelner Ticketabschnitt preisgibt

Beginnen wir mit einem dokumentierten Fall statt einer Hypothese.

Der Sicherheitsjournalist Brian Krebs beschrieb das 2015. Ein Leser namens Cory sah das Bordkartenfoto eines Freundes auf Facebook, machte einen Screenshot, vergrößerte den Barcode und schickte ihn durch einen kostenlosen Online-Decoder. Sekunden später hatte er die Vielfliegerkontodaten des Freundes.

Was danach möglich war, ist der eigentliche Punkt. Cory konnte sämtliche künftigen Flüge dieses Kontos einsehen, Sitzplätze bereits ausgestellter Tickets ändern und beliebige kommende Flüge stornieren. Die offengelegten Daten reichten zusätzlich, um die erste Hälfte der PIN-Zurücksetzung der Fluggesellschaft zu durchlaufen.

Der Freund hatte einfach ein Urlaubsfoto gepostet.

Ein Punkt wird dabei fast immer übersehen: Barcodes und QR-Codes sind keine Dekoration, sondern maschinenlesbare Datenbehälter. Du siehst schwarz-weiße Quadrate; ein Scanner sieht Buchungsreferenz, Name, Flug, Datum, Sitzplatz. Diese Lücke ist das gesamte Risiko.

Teilweise Schwärzung wirkt nicht — und ich habe gemessen, wie wenig

Dieser Abschnitt lag mir am meisten am Herzen, weil die falsche Methode gefährlicher ist als gar keine: Du hältst dich für sicher und postest trotzdem.

QR-Codes sind mit erheblicher Fehlerkorrektur ausgelegt. Die Spezifikation erlaubt einem Scanner, die vollständige Nutzlast zu rekonstruieren, selbst wenn ein relevanter Teil des Symbols beschädigt, verschmutzt oder verdeckt ist. In der physischen Welt ist das nützlich — geknickte Tickets und verschmierte Drucke funktionieren weiterhin. Angewandt auf „ich decke einfach die Hälfte ab" wird daraus eine Schwachstelle.

Also habe ich es gemessen.

Wie viel Fläche muss man tatsächlich abdecken?

Die Methode ist reproduzierbar. Mit der Python-Bibliothek qrcode habe ich einen fiktiven Voucher-QR-Code erzeugt — die Nutzlast ist eine Einlöse-URL mit Buchungsreferenz und Prüfcode — in den Fehlerkorrekturstufen M (15 %), Q (25 %) und H (30 %). Jeder Code durchlief vier Schwärzungsmethoden über sieben Flächenanteile, danach wurde mit dem QRCodeDetector von OpenCV dekodiert. Nur eine vollständige Wiederherstellung der Original-URL zählte als „noch lesbar".

Das Ergebnis fiel schlechter aus als erwartet.

Methode Versagt ab (M, 15 %) Versagt ab (Q, 25 %) Versagt ab (H, 30 %)
Deckende Fläche, mittig 15 % der Fläche 20 % der Fläche 25 % der Fläche
Deckende Fläche, Ecke unten rechts 20 % der Fläche 25 % der Fläche 25 % der Fläche
Waagerechter Balken 10 % der Fläche 20 % der Fläche 20 % der Fläche
Verpixelung, mittig 15 % der Fläche 20 % der Fläche 25 % der Fläche

Zu lesen als: Ab diesem Anteil beginnt das Dekodieren zu scheitern. Alles darunter wird weiterhin gelesen.

Drei Befunde lohnen die Notiz.

Erstens: Ein Ticket mit hoher Fehlerkorrektur wird noch gelesen, wenn ein Fünftel der Fläche verdeckt ist. Bei Stufe H und 20 % Abdeckung lieferten mittige Fläche, Eckfläche und Verpixelung allesamt die Nutzlast zurück. Das ansehnlich große Rechteck, das du über den Code gezogen hast, hat nichts blockiert.

Zweitens: Verpixeln verhielt sich identisch zu einer deckenden Fläche — dieselben Schwellen über alle drei Stufen. Das erledigt die Intuition, Weichzeichnen sei wenigstens besser als nichts. Es ist nicht sicherer, es sieht nur so aus, als hättest du etwas getan.

Drittens: Der waagerechte Balken war die wirksamste der vier Methoden. Bei Stufe M reichte ein Balken über 10 % der Höhe. Ein Balken durchquert die volle Symbolbreite, sodass der Schaden über mehrere Codewort-Blöcke streut, während ein kompaktes Quadrat genau dort sitzt, wo die Fehlerkorrektur am stärksten greift.

Offen gesagt widerspricht der dritte Befund der Schlussfolgerung, die ich schreiben wollte. Sicherheitshinweise, wonach „Striche durch ein Ticket es nicht entwerten", sind korrekt — sie sprechen über Gültigkeit und Lesbarkeit. Lautet die Frage aber, welche Art des Durchstreichens einen Scanner am ehesten stoppt, sagen diese Daten: Balken schlagen Flächen. Das erfährt man nur durch Messen.

Wo du abdeckst, zählt mehr als wie viel

Das nützlichste Ergebnis kam zuletzt.

Die drei großen Quadrate in den Ecken eines QR-Codes sind Suchmuster (Finder Patterns); Scanner bestimmen darüber Ausrichtung und Grenzen. Ich habe das linke obere abgedeckt — und alle drei Fehlerkorrekturstufen scheiterten am Dekodieren, obwohl dieser Fleck nur 2,0 bis 3,6 % der Gesamtfläche einnimmt.

Anders gesagt: 2 % an der richtigen Stelle abzudecken schlägt 20 % an der falschen.

Die Grenzen dieses Tests gehören dazu. Verwendet wurden der OpenCV-Decoder, eine einzelne Nutzlast und eine einzelne QR-Version. Kommerzielle Scanner und Handykameras arbeiten anders und rekonstruieren womöglich mehr. Behandle diese Schwellen als Untergrenze, nicht als Garantie — der Decoder eines realen Angreifers dürfte großzügiger sein als meine Testumgebung.

Praktisch bleibt eine Regel: Decke das gesamte Symbol deckend ab, über die Ränder hinaus. Keine Ecke, keine paar Striche, keine Verpixelung. Erlaubt dein Werkzeug das nicht, sorge zumindest dafür, dass eines der drei Suchmuster vollständig verdeckt ist.

Nicht sauber abgedeckt heißt nicht abgedeckt.

Drei Ebenen der Preisgabe in Reise-Screenshots

Reise-Screenshots zerfallen in drei Ebenen mit wirklich verschiedenen Risikoprofilen.

Ebene Typische Quelle Was abfließt Schlimmster Fall
1: Scanbares Ticket GetYourGuide-/Klook-Voucher, Veranstaltungstickets, Bordkarten Das Ticket selbst, PNR, Hinweise aufs Vielfliegerkonto Ticket von anderen eingelöst, Kontoübernahme
2: Textliche Kennungen Booking.com-/Agoda-Bestätigungen, Referenznummern, Zimmernummern Name, Aufenthaltsdaten, Adresse Anrufe im Namen des Gastes, Social Engineering
3: Eingebettete Bilddaten Bildschirm mit zweitem Gerät abfotografiert EXIF-GPS, Aufnahmezeit, Gerät Rückschluss auf Standort oder Wohnadresse

Ebene eins drängt am meisten. Der Wert eines E-Vouchers steckt im Code selbst; wird er zuerst gescannt, merkst du es am Einlass. Es ist dokumentiert, dass Kriminelle gepostete Veranstaltungstickets abgreifen, verändern und damit Kaufinteressenten betrügen — geschädigt ist dann nicht nur die postende Person.

Ebene zwei wirkt harmlos und ist Treibstoff für Social Engineering. Name plus Aufenthaltsdaten plus Unterkunft genügen, um an der Rezeption als Gast aufzutreten — oder umgekehrt beim Gast als Unterkunft anzurufen und „die Kartendaten erneut zu bestätigen". In der Hauptsaison häuft sich das.

Ebene drei wird am häufigsten übersehen. Handy-Screenshots enthalten normalerweise kein GPS, aber einen Bildschirm mit einem zweiten Gerät abzufotografieren prägt dem Bild den Aufnahmeort ein. Das passiert öfter als gedacht, wenn man einen Laptop-Bildschirm weitergibt.

Wenn Mitreisende die Details wirklich brauchen

Das ist die reale Einschränkung — Reiseorganisation erfordert Teilen. Treffzeiten, Ticketinhalte, Hoteladresse.

In dieser Reihenfolge:

Zuerst die native Teilen-Funktion der Plattform. GetYourGuide, Klook, Booking.com und die meisten anderen unterstützen das Teilen oder Übertragen einer Buchung an Mitreisende. Über den offiziellen Weg bleibt die Gültigkeit unter Kontrolle der Plattform, und es entsteht kein zirkulierender Screenshot.

Zweite Wahl: Text statt Bild. „26.9., 9 Uhr, Haupteingang, ich habe die Tickets" transportiert alles Nötige bei null Risiko.

Dritte Wahl: Bild mit Zugriffsschutz. Für tatsächlich visuelle Inhalte — eine komplexe Reiseplantabelle, eine Karte — etwas mit Zugriffskontrolle nutzen statt eines offenen Posts.

Bei lpic.cc lässt sich beim Upload ein Ansichtspasswort setzen, sodass der Kurzlink Weiterleitungen übersteht. Passwörter werden bcrypt-gehasht gespeichert, nicht im Klartext verglichen. Für „nur diese fünf Personen" ist das deutlich kontrollierter, als es im Gruppenchat zirkulieren zu lassen.

Die Grenzen vorweg: Bilder maximal 8 MB, Dateien bleiben 30 Tage nach dem letzten Aufruf, Uploads werden automatisch optimiert, Originale bleiben nicht erhalten. Und — ein Passwort hält Unbefugte ab, nicht aber einen Berechtigten, der einen Screenshot macht und weiterleitet. Diese Decke hat jeder Teilen-Mechanismus. Halte es nicht für absolut.

Die letzte Verteidigungslinie bleibt dieselbe: Wirklich sensible Tickets sollten gar nicht erst zu Bilddateien werden.

Häufig gestellte Fragen

F1: Ich habe vor längerem eine Bordkarte gepostet. Hilft Löschen jetzt noch?

Löschen begrenzt weitere Sichtbarkeit, beweist aber nicht, dass niemand sie erfasst hat. Wichtiger sind zwei Dinge: Passwort und Sicherheitsfragen des Airline-Kontos sofort ändern und kommende Buchungen auf unautorisierte Änderungen prüfen. Im Krebs-Fall konnte der Angreifer als Erstes Sitzplätze ändern und Flüge stornieren.

F2: Jemand hat meinen Klook-Voucher gescannt. Komme ich trotzdem hinein?

Das hängt vom Tickettyp ab. Einmalig einlösbare Voucher erscheinen am Einlass als bereits verwendet. Wende dich sofort an den Support der Plattform, wobei das Ergebnis nicht garantiert und die Reaktionszeit in der Hauptsaison lang ist. Prävention schlägt hier Schadensbegrenzung deutlich.

F3: Reicht es, den QR-Code zu verpixeln?

Nein, und ich habe es gemessen. Über alle drei Fehlerkorrekturstufen hatten Verpixelung und deckende Fläche identische Schwellen — ein Ticket mit hoher Stufe brauchte 25 % abgedeckte Fläche, bevor es aufhörte zu scannen. Nutze eine deckende Fläche über dem gesamten Codebereich, besser noch: blockiere ihn physisch vor der Aufnahme.

F4: Auf meiner Bestätigung stehen nur Referenznummer und Name. Trotzdem riskant?

Ja. Name plus Referenz genügt auf manchen Plattformen für die Buchungsabfrage, und mit den Aufenthaltsdaten ist das Social-Engineering-Set komplett. Das wiederkehrende Muster realer Fälle: Angreifer brauchen nie dein Passwort, nur genug Bruchstücke, um eine Servicekraft zu überzeugen.

F5: Und die Reisefotos selbst?

Anderes Risiko. Dort geht es vor allem um EXIF-GPS. Die meisten sozialen Netzwerke entfernen EXIF beim Upload, Cloud-Laufwerke und der Versand „als Originaldatei" erhalten es dagegen meist vollständig. Wie einzelne Dienste damit umgehen, steht in unserem feldweisen EXIF-Test über 8 Bildhoster.

Quellen

#QR-Code#Bordkarte#Reise-Datenschutz#E-Voucher#Kontoübernahme#DSGVO#Sicherheitstest
K

Verfasst von

Kevin Wu

Sicherheitsberater

Fokus auf Datenschutz und Datensicherheit – hilft, versteckte Risiken beim Bildteilen zu vermeiden.