Googles Kamera verfälscht Links in QR-Codes

Seite 2: Fehler 2: Gelöschte Zeichen

Inhaltsverzeichnis

Im Zuge der empirischen Untersuchung der zusätzlichen Punkte fand heise security eine zweite Fehlergruppe. Sie betrifft http(s)-Links mit bestimmten Top-Level-Domains, die länger als zwei Zeichen sind. Bei einer ganzen Reihe lässt die Künstliche Intelligenz der Camera-App eines oder mehrere Zeichen der Top-Level-Domain und gegebenenfalls auch des rechts davon stehenden Linktextes unter den Tisch fallen. So verweist ein Link auf die Webseite der katalanischen Unabhängigkeitsabstimmung https://referendum.cat Google-User unerwartet auf die kanadische Adresse https://referendum.ca.

Das widerfährt auch zahllosen anderen .cat-Domains. In ähnlicher Weise wird .int für internationale Organisationen zu .in (Indien), .pro zu .pr (Puerto Rico), oder .travel zur türkischen .tr-Zone verkürzt. Statt auf eine .apple-Domain zu verweisen, leitet die App lieber auf .app um, statt bei .amex kann man in Armenien (.am) landen, und wer .bet oder .beer sucht, muss eventuell mit Belgien (.be) vorliebnehmen.

Und so weiter. .ar und .au entpuppten sich in den heise-security-Versuchen als Fehlkürzungen für eine ganze Reihe junger TLD wie .army, .art, .arte und .arab respektive .audi, .audio, .auto und .autos. Im Unterschied zur ersten Fehlergruppe sind auch IDN-Domainnamen betroffen.

Fehlt da nicht was?

(Bild: Daniel AJ Sokolov)

Nicht verstümmelt wurden bei unseren Versuchen zur Fehlergruppe 2 Hyperlinks, die rechts der TLD vier oder mehr weitere Zeichen (inklusive / ) aufweisen, etwa https://edu.audi/F103. Manchmal reichten aber auch schon zwei Zeichen, etwa https://gas.audi/f, um korrektes Auslesen zu erzwingen. In anderen Fällen löschte Googles Kamera-Algorithmus nicht nur die letzten Stellen der TLD, sondern auch kurzen Linktext rechts davon. https://hellonet.art/12 wurde so zu https://hellonet.ar zerhackt. https://hellonet.arte/12 wurde korrekt übertragen, während https://hellonet.arte/1 zu https://hellonet.ar schrumpfte.

Die Zeichen links der TLD beeinflussen Googles Künstliche Intelligenz ebenfalls. So lief bei https://www.audi, und https://net.art/12 alles korrekt, während https://edu.audi zu https://edu.au, https://234.audi zu https://234.au und https://ipv4only.art/12 zu https://ipv4only.ar verkamen. Manchmal hat die Camera-App Links mit "foo" korrekt ausgelesen; haben wir "foo" durch "ipv4only" ersetzt, löschte die App bisweilen wieder Zeichen an der TLD. Die Zeichenfolge ipv4only haben wir uns übrigens von der Zone ipv4only.arpa ausgeborgt.

Bei unserer Untersuchung wurde heise security von Adrian Dabrowski, einem Sicherheitsforscher der University of California Irvine, unterstützt. Er entdeckte nach unserem Hinweis ein weiteres verbundenes Problem: Die App stellt bei der Auflösung von http(s)-Links in QR Codes einen Punkt vor eine Ziffer, die nach der Zeichenfolge www steht. Beispiel: Die Royal Bank of Canada nutzt für einen Online-Banking-Dienst https://www6.rbc.com – eine technisch einwandfreie Adresse. Aus einem QR-Code ausgelesen, verlinkt Googles Camera-App fälschlich auf https://www.6.rbc.com, was zu einem 404-Fehler führt.

Das Schema scheint bei Kanadas Banken beliebt zu sein. Wir haben bei dortigen Finanzinstituten mehrere ähnliche Adressen gefunden, die wir per QR-Code und Google-Camera kaputt machen konnten. Selbstredend raten wir davon ab, Online-Banking über einen QR-Code aufzurufen, den man nicht selbst erstellt hat – unabhängig von den hier beschriebenen Fehlern einer bestimmten Applikation.

Als eher in öffentlich angebrachten QR-Codes anzutreffende URL sei https://www1.nyc.gov erwähnt, die offizielle Webseite der Stadt New York. Die Adresse verkommt bei der Camera App zu https://www.1.nyc.gov, was nicht auflöst. Diese Fälle von www+Ziffer sind relativ selten, und man ist versucht, kaum ein Sicherheitsproblem zu erkennen.

Allerdings lässt sich Fehler 3 mit Fehler 1 oder Fehler 2 koppeln. Aus https://www2co.at wurde, erraten, https://www.2.co.at – die App spendiert gleich zwei unwillkommene Trennpunkte, sodass aus einer Two-Level-Domain eine Four-Level-Domain wird. Da wird es schwer, den Durchblick zu bewahren. Kurze Linktexte rechts der TLD schützen ebenso wenig wie Unicode-Sonderzeichen im Domainnamen. Aus https://www2.arte/24 wird übrigens https://www.2.ar. Alle Klarheiten beseitigt?