QR-CodeBöse Pixelmuster

Es klingt absurd, aber ein auf Papier gedrucktes Schwarz-Weiß-Muster kann eine Art Computervirus sein. Mit sogenannten QR-Codes lassen sich Smartphones kapern. von 

Archivbild eines QR-Codes, er führt zu einer japanischen Playstation-Seite

Archivbild eines QR-Codes, der zu einer japanischen Playstation-Seite führt  |  © TORU YAMANAKA/AFP/Getty Images

Seit Jahren schon gibt es auf Plakaten sogenannte QR-Codes, schwarz-weiße Quadrate mit verwirrend aussehenden pixelartigen Flecken. Die Bahn nutzt sie für ihre Online-Tickets. Inzwischen werden sie auch in Zeitschriften eingesetzt, um auf Netzinhalte aufmerksam zu machen. Höchste Zeit also, darauf hinzuweisen, dass diese Pixelraster wie jede Technik Gefahren bergen – mit ihrer Hilfe können zum Beispiel Smartphones gehackt werden.

QR-Codes – QR steht für quick response , schnelle Antwort – wurden schon 1994 entwickelt und sind eine Art gedruckter Link. Ihr Pixelraster ist nichts weiter als eine binäre Information (schwarz/weiß, an/aus), mit deren Hilfe Texte, Links oder auch Programmzeilen kodiert und übermittelt werden können. Die gleichen Programme, die Streifencodes auf Waren lesen und verstehen, sind meistens auch in der Lage, die quadratischen Datenpakete zu entschlüsseln.

Anzeige

Das System ist praktisch, um eine größere Menge Daten zu übermitteln, beispielsweise Kontaktinformationen. So kann auf einer Visitenkarte auch ein QR-Code stehen, jeder mit einem Scan-Programm kann die Daten einlesen und speichern. Der Vorteil: Es geht schneller, gerade bei Links. Einen solchen von Hand einzutippen, um eine Website aufrufen zu können, dauert sehr viel länger.

Entwickelt wurden die Pixelraster, damit der Autokonzern Toyota in seinen Werken Teile und Baugruppen automatisch erkennen und liefern konnte. Dann entdeckten Werber sie als Weg, um auf Plakaten zusätzliche Informationen zu vermitteln und Mobiltelefon-Nutzer auf eine Website zu locken. Inzwischen setzen auch viele Zeitungen QR-Codes ein, um ihre gedruckten Geschichten mit im Netz abrufbaren Inhalten zu ergänzen, beispielsweise seit Kurzem der Spiegel und auch der Stern .

qr-code
QR-Codes kann jeder erzeugen, das Programm dazu gibt es kostenlos im Netz

QR-Codes kann jeder erzeugen, das Programm dazu gibt es kostenlos im Netz. Der hier gezeigte Code ist garantiert harmlos.  |  © ZEIT ONLINE

Das Problem ist, dass die Leseprogramme einen gescannten Code "blind" ausführen, ihn also nicht prüfen. Auch kann der Nutzer vorher nicht erkennen, was der Code eigentlich enthält, will er das wissen, muss er ihn scannen. Bei QR-Codes gibt es keine Chance, den eigentlichen Inhalt vorher zu sehen. Im Gegensatz beispielsweise zu E-Mails mit verseuchten Links, die die URL preisgeben, wird die Maus auf sie gehalten. Angreifer können das nutzen, um das scannende Gerät anzugreifen.

Wege dazu gibt es vor allem zwei. Erstens über JavaScript: Eine der häufigsten Lücken, um Nutzer beim Surfen anzugreifen, ist inzwischen das sogenannte Cross-Site-Scripting . Dabei wird einem Server, beispielsweise von einer Bank, eine Codezeile untergeschoben. Sind bestimmte Bedingungen erfüllt , gibt der Bankserver die Codes ungeprüft an den Browser eines Nutzers weiter – wo sie ausgeführt werden und Probleme machen können.

Das funktioniert auch mit QR, kann in der Matrix doch auch JavaScript verschlüsselt werden. Das Mobiltelefon scannt den Code und das Scan-Programm führt ihn sofort aus. Das kann dazu führen, dass das Scan-Programm gekapert wird – oder auch gleich das ganze Smartphone – und dass sensible Informationen anderen zugänglich werden.

Zweitens über Links: Üblicherweise werden mit den Code-Quadraten Links verbreitet, beispielsweise zu einer Website mit weiteren Informationen zu dem Thema. So aber können Nutzer auch auf Phishing-Seiten gelenkt werden, die zwar aussehen wie eine echte Bank-Website, aber nur dazu dienen, Account-Daten zu stehlen . Oder die Seite wurde so gebaut, dass sie wie ein Onlineshop aussieht. Der arglose Nutzer bestellt eine Ware und bezahlt, bekommt aber nie etwas geliefert, da er nicht bei dem eigentlichen Anbieter bestellte, sondern bei einem Betrüger.

Auch kann die aufgerufene Website so konfiguriert sein, dass sie das Gerät bewegt, bestimmte Informationen herauszurücken . Die können genutzt werden, um mit Hilfe von entsprechenden Programmen das Mobiltelefon zu kapern.

Selbstverständlich gibt es gegen diese Angriffe eine Verteidigung. Das benutzte Scan-Programm sollte so eingestellt sein, dass es die codierten Inhalte nicht ohne zu fragen ausführt, also beispielsweise nicht sofort die Website aufruft, deren Link sich in dem Muster verbarg. Leider ist das längst nicht bei allen Scannern standardmäßig der Fall.

Zur Startseite
 
Leserkommentare
  1. Na dann ist es sicherlich gut dass ich das Programm als eines der Ersten von meinem Smartphone geworfen habe :D (neben Facebook, Twitter und Glaube auch so eine Googel App -> BlackBerry :))

    Andererseits steht doch am Ende des Artikel die Krux bei der Sache:
    "Selbstverständlich gibt es gegen diese Angriffe eine Verteidigung. Das benutzte Scan-Programm sollte so eingestellt sein, dass es die codierten Inhalte nicht ohne zu fragen ausführt, also beispielsweise nicht sofort die Website aufruft, deren Link sich in dem Muster verbarg. Leider ist das längst nicht bei allen Scannern standardmäßig der Fall."

    -> Wenn App-Entwickler so dumm sind und die Programme so schreiben, kann man sie dafür nicht haftbar machen? Oder können sie sich per (nie gelesener) EULA dem entziehen?
    Die Mobilfunkhersteller sollte man hier eigentlich auch in die Pflicht nehmen - es kann doch nicht sein dass die Betriebssysteme auf den Geräten Anwendungen erlauben alles zu tun...
    Da erinnere ich mich doch gern an ein Schachspiel dass auf meinem alten BlackBerry keinen Ton hatte - weil das Betriebssystem dem Programm nicht automatisch die notwendigen Rechte eingeräumt hat. Manuell kann man so etwas dann bei Bedarf beheben.

    Reaktionen auf diesen Kommentar anzeigen
    • agaha
    • 22. September 2011 19:10 Uhr

    > Wenn App-Entwickler so dumm sind und die Programme so
    > schreiben, kann man sie dafür nicht haftbar machen? Oder
    > können sie sich per (nie gelesener) EULA dem entziehen?
    Der Artikel stellt die Sache etwas unklar dar. Das Übernehmen des Mobiltelefons geschieht keineswegs durch den Code oder das Scannen des Codes selbst, sondern bloß über den Link, den der Code enthält. Das Mobiltelefon wird also seinen Browser öffnen und der wird dann zu der - eventuell gefälschten - Seite navigieren. Eigentlich nichts neues also - wenn man den Nutzer dazu bringt, die Seite anzusteuern, funktioniert der Angriff auch ohne QR-Code.

    > Die Mobilfunkhersteller sollte man hier eigentlich auch in
    > die Pflicht nehmen - es kann doch nicht sein dass die
    > Betriebssysteme auf den Geräten Anwendungen erlauben alles
    > zu tun...
    Android informiert den Nutzer, was die Anwendung tun möchte und was nicht. Allerdings genehmigen sich die meisten Anwendungen einfach eine mehrere Bildschirmseiten lange Liste an Rechten, die sie oft gar nicht benötigen, weswegen die Nutzer das einfach übergehen.

    • m_ro
    • 21. September 2011 19:43 Uhr

    "Bei QR-Codes gibt es keine Chance, den eigentlichen Inhalt vorher zu sehen." - das stimmt so nicht generell.

    Es gibt QR-Leser, die zunächst den gescannten Code anzeigen und sonst erstmal nichts weiteres tun. Z.B. Qrafter.

    Aber trotzdem schön, daß wir darüber gesprochen haben, die prinzipielle Gefahr ist da.

    • socal
    • 21. September 2011 19:49 Uhr

    "Das haette auch eine Programmzeile sein koennen, die Ihr Handy kapert!"

    Aber das würden Sie von der Zeit doch nie macher, oder ... ;)

    Reaktionen auf diesen Kommentar anzeigen
    • socal
    • 21. September 2011 19:52 Uhr

    Gut konfigurierte Handies und qr/barcode-programme fragen erstmal was sie mit dem code machen sollen.

    Mir werden meist 3 Möglichkeiten angeboten:
    1. im web suchen / url laden
    2. als email verschicken
    3. via sms verschicken

    Jeder dieser Schritte muß von Hand bewilligt werden.

    Also endet die böse und gefährliche Welt der QR-Codes hier schon wieder.

    no worries.

    • socal
    • 21. September 2011 19:52 Uhr

    Gut konfigurierte Handies und qr/barcode-programme fragen erstmal was sie mit dem code machen sollen.

    Mir werden meist 3 Möglichkeiten angeboten:
    1. im web suchen / url laden
    2. als email verschicken
    3. via sms verschicken

    Jeder dieser Schritte muß von Hand bewilligt werden.

    Also endet die böse und gefährliche Welt der QR-Codes hier schon wieder.

    no worries.

    Antwort auf "Lustiger QR code "
    Reaktionen auf diesen Kommentar anzeigen

    Hier gibt es sogar 4 Möglichkeiten:
    1. Text anzeigen
    2. Inhalt kopieren
    3. Inhalt senden
    4. Zu den Favoriten hinzufügen

    Also ich hätte jetzt wenigstens mal ein "Hello world" script erwartet statt einfach nur einen Text. He wenn ihr schon so'n Mist macht, dann macht ihn gefälligst auch richtig!

  2. Es dürfte zwar möglich sein, sorglose Nutzer an des Bushaltestelle dazu zu bringen, einen scheinbar aufregenden QR-Code zu scannen, doch diese Opfer fallen in die gleiche Kategorie wie Personen, die Emails von Fremden nicht nur öffnen, sondern auch neugierig sind, was sich in deren Anhängen befindet.

    Im Grunde birgt jede eingehende Information ein Risiko. Je komplexer die zugrundeliegende Architektur (z.B. JavaScript, Flash, Acrobat's PDF, ...), desto größer die Zahl der Schwachstellen.

    Leider sind selbst scheinbar harmlose passive Formate (JPEG-Bilder, MP3, Videos...) potenziell gefährlich, wenn sie nicht sorgfältig interpretiert werden. Hinzu kommt, dass diese Formate standardmäßig nahezu überall ungefragt geöffnet und interpretiert werden. Es beginnt bei der Bildvorschau in der Email, genauso im Windows-Explorer, und auch Bilder auf Webseiten. Wer von uns möchte den Link jedes einzelnen Bildes einzeln prüfen bevor er geöffnet wird? Alleine auf dieser Webseite sind über 40 Bilder zu sehen.

    Selbst TXT-Dateien haben es in sich. Der Internetexplorer hatte bis 2009 das Feature, HTML und JavaScript in einer Text-Datei ungefragt auszuführen. Wer eine Text-Datei mit dem IE öffnete, konnte so böse Überraschungen erleben.

    Wer glaubt, man hätte inzwischen dazugelernt, der sei eines besseren belehrt. Bereits ein Doppelklick auf eine TXT-Datei in Win7 kann unerwünschte Konsequenzen haben:
    http://blog.acrossecurity...

    Reaktionen auf diesen Kommentar anzeigen
    • HelliH
    • 21. September 2011 22:12 Uhr

    @Janosch42: "Es dürfte zwar möglich sein, sorglose Nutzer an des Bushaltestelle dazu zu bringen, einen scheinbar aufregenden QR-Code zu scannen, doch diese Opfer fallen in die gleiche Kategorie wie Personen, die Emails von Fremden nicht nur öffnen, sondern auch neugierig sind, was sich in deren Anhängen befindet."

    Zuerst einmal finden ÖPNV-Nutzer an den Haltestellen heutzutage auch den QR-Code zur Live-Seite der Verkehrsgesellschaft. Mit "scheinbar aufregenden" sind wohl die in den Werbeplakaten gemeint.

    Wo K. Biermann aber recht hat: Man kann in diesem Code, so böswillig genug, auch "böse" URLs oder mehr verbergen. Daher stimmt ja auch sein Hinweis, die automatische Ausführung oder gleich die App zu deaktivieren, wenn man es nicht steuern kann.

    Der Handy-Nutzer ist jedoch nicht ganz in der Verantwortung wie am Heimrechner: Am Smartphone ist er aus Unkenntnis/mangelnder Erfahrung oder wegen der Beschränkungen durch das OS derzeit nicht wirklich Herr der Dinge. Dies sollten auch alle bedenken, die davon schreiben, was man dem Browser alles austreiben müsse: Zeigen Sie mir das am Smartphone - und dann bitte allen einfachen "Nutzern"!

    Absolut richtig. Glück für uns alle, dass der Internet Explorer auf Android-Smartphones nicht vorinstalliert ist. ;) Nee, Scherz beiseite, es gibt in allen Bibliotheken Fehler, die man ausnutzen kann, wenn man sie gefunden hat. Hierüber wird jede Datei zur potentiellen Gefahr.

    Der Barcode ist da nur das Transportmedium, genauso wie Linkverkürzer, die auf Twitter z.B. sehr beliebt sind. Letztere halte ich für eine viel größere Gefahr, weil er direkt an den Browser übergeben wird und man bis zuletzt nicht sehen kann, was sich dahinter verbirgt. Technisch ist auch gar nicht möglich da eine 100% präzise Userkontolle einzubauen...

    Auf meinem Android benutze ich den Barcode Scanner von Fabio Collini. Der muss nicht konfiguriert werden, der fragt von Haus aus schon was er mit dem gescannten Code machen soll und zeigt auch vorab die Daten an, die drin stehen.

    Denn das hat die Zeit eindrucksvoll gezeigt: Unterm Strich ist ein Barcode nur Text. Kein Code. Die Software entscheidet, was es mit dem Text macht. Der Schadcode selbst liegt dann auf Webservern im Internet, deren Adresse sich im Barcode befindet.

    Insofern: Erst denken, dann handeln. Wenn ein Werbeplakat eine URL im QR-Code hat und die nicht nach dem Muster http://www.irgendwas.de/ aufgebaut ist sondern eher in Richtung http://www.irgendwas.de/b... dann ruf ich das einfach nicht auf. Denn dann will da jemand mit dem Adressaufruf Daten übergeben. No go.

    • t_t_h
    • 21. September 2011 20:21 Uhr

    Zitat:
    "Das System ist praktisch, um eine größere Menge Daten zu übermitteln, beispielsweise Kontaktinformationen."

    Die Maximalkapazität eines QR-Codes liegt bei etwas mehr als 2 Kilobyte, das ist doch alles andere als groß.
    Und Kontaktdaten sind nur dann eine "Größere Menge Daten", wenn sie per Hand (auf einem Telefon) eingetippt werden müssen. In Computerdimensionen ist die paar Bytes doch kleiner als klein.

    Wollte ich nur mal drauf hinweisen.

    Reaktionen auf diesen Kommentar anzeigen

    2 KiloByte können, ohne Informationen über den Dateityp oder ähnliches, 2048 Zeichen enthalten.

    2 KiloByte = 2048 Byte

    -> 1 Zeichen = 1 Byte

    -> Das ist eine ganze Menge.

    > Die Maximalkapazität eines QR-Codes liegt bei etwas mehr
    > als 2 Kilobyte, das ist doch alles andere als groß.

    Nun - im ollen VC20 Computer konnte man damit schon ganz anständige Spiele programmieren.

    Es langt vollkommen, in den 2 Kilobytes eine oder mehrere Sicherheitslücken durchzuprobieren um den Rest übers Netz nachzuladen.

    2kb hört sich heute wenig an, sind aber im Ernstfall sehr viel Platz.

  3. Selten habe ich so einen Quatsch über QR-Codes gelesen.
    QR-Codes sind nichts weiter als 2D-Barcodes die mithilfe von Handykameras maschinell gelesen werden können ohne das der Benutzer per Hand etwas in sein Telefon eintippen muss. Es handelt sich lediglich um binärcodierten Ascii-Text der Information jedweder Art enthalten kann, also nicht nur URLs sondern auch Visitenkarten, Töne, Bilder usw.

    Wenn die Leseprogramme so schlecht programmiert sind, dass sie alles was mit http:// beginnt als URL interpretieren und diese URL im Browser öffnen, dann kan der QR-Code herzlich wenig dafür. Selbst wenn die URLs vor dem öffnen angezeigt werden würden, welcher normalsterbliche könnte erkennen ob sich Schadcode hinter der URL verbirgt?

    Oder können Sie durch bloßes anschauen dieses Links:

    http://www.spiegel.de/net...

    erkennen was sich dahinter genau verbirgt.

    Merke: Nicht die QR-Codes sind böse, sondern die dahinterliegenden Programme die ungefragt jedweden Code versuchen zu interpretieren und damit auch Schadcode ausführen können.

    Meiner Meinung nach geht eine weitaus größere Gefahr von Linkverkürzern wie Bit.ly & Co. aus, die täglich millionenweise per Twitter rund um den Globus geschickt werden.

    Reaktionen auf diesen Kommentar anzeigen

    -> Die Spiegel URL ist sehr aufschlussreich - man weiß wer der Anbieter ist, eben Spiegel.
    (Und der angezeigte Text ist da weniger wichtig als das Linkziel - welches ein Browser anzeigt)

    Natürlich, wenn ein Nutzer auf jeden Link klickt bringt das wenig - andererseits sollte man stutzig werden wenn als Beschreibung ZeitOnline steht, das ziel aber mischmasch.com ist. Wer nicht schaut, selbst schuld...

    -> In dieser Hinsicht haben sie aber bezüglich der "Linkverkürzungsdienste" Recht - diese sind gefährlich, oder besser: Können gefährlich sein.

  4. 2 KiloByte können, ohne Informationen über den Dateityp oder ähnliches, 2048 Zeichen enthalten.

    2 KiloByte = 2048 Byte

    -> 1 Zeichen = 1 Byte

    -> Das ist eine ganze Menge.

    Antwort auf "Größenverhältnisse:"
    Reaktionen auf diesen Kommentar anzeigen
    • t_t_h
    • 21. September 2011 20:55 Uhr

    Natürlich sind 2kB genau 2048 8-bit Zeichen, das habe ich jetzt mal als Allgemeinwissen vorausgesetzt.

    Man kann sich jetzt darüber streiten, ob das viel oder wenig ist, aber wenn ich den Satz "Größere Menge Daten" höre, denke ich an Gigabytes und aufwärts.

    Kommt aber auch sehr auf den Kontext an.

Bitte melden Sie sich an, um zu kommentieren

  • Artikel Auf mehreren Seiten lesen
  • Quelle ZEIT ONLINE
  • Schlagworte Browser | Information | Smartphone | Bahn | Spiegel | Stern
Service