Software-Technologien und -Prozesse
eBook - ePub

Software-Technologien und -Prozesse

IT-Sicherheit und Mobile Systeme. Tagungsband/Proceedings zur 4. Konferenz STeP 2014 Hochschule Furtwangen

  1. 167 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

Software-Technologien und -Prozesse

IT-Sicherheit und Mobile Systeme. Tagungsband/Proceedings zur 4. Konferenz STeP 2014 Hochschule Furtwangen

Über dieses Buch

STeP 2014 wurde von der Fakultät Informatik der Hochschule Furtwangen veranstaltet. Der Tagungsband umfasst Beiträge zu den Themen IT-Sicherheit, innovative Technologien und Softwareprojekte, Virtualisierung im Cloud Zeitalter sowie Cyber Physical Systems, und Beiträge von Jungen Wissenschaftler zu den Themen Privatheit bei On-the-fly-Computing, Web Services Security, Manipulation von QR-Codes und Penetrationtesting.


Häufig gestellte Fragen

Ja, du kannst dein Abo jederzeit über den Tab Abo in deinen Kontoeinstellungen auf der Perlego-Website kündigen. Dein Abo bleibt bis zum Ende deines aktuellen Abrechnungszeitraums aktiv. Erfahre, wie du dein Abo kündigen kannst.
Derzeit stehen all unsere auf mobile Endgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Perlego bietet zwei Pläne an: Elementar and Erweitert
  • Elementar ist ideal für Lernende und Interessierte, die gerne eine Vielzahl von Themen erkunden. Greife auf die Elementar-Bibliothek mit über 800.000 professionellen Titeln und Bestsellern aus den Bereichen Wirtschaft, Persönlichkeitsentwicklung und Geisteswissenschaften zu. Mit unbegrenzter Lesezeit und Standard-Vorlesefunktion.
  • Erweitert: Perfekt für Fortgeschrittene Studenten und Akademiker, die uneingeschränkten Zugriff benötigen. Schalte über 1,4 Mio. Bücher in Hunderten von Fachgebieten frei. Der Erweitert-Plan enthält außerdem fortgeschrittene Funktionen wie Premium Read Aloud und Research Assistant.
Beide Pläne können monatlich, alle 4 Monate oder jährlich abgerechnet werden.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja! Du kannst die Perlego-App sowohl auf iOS- als auch auf Android-Geräten verwenden, um jederzeit und überall zu lesen – sogar offline. Perfekt für den Weg zur Arbeit oder wenn du unterwegs bist.
Bitte beachte, dass wir keine Geräte unterstützen können, die mit iOS 13 oder Android 7 oder früheren Versionen laufen. Lerne mehr über die Nutzung der App.
Ja, du hast Zugang zu Software-Technologien und -Prozesse von Jens-Matthias Bohli, Friedbert Kaspar, Dirk Westhoff, Jens-Matthias Bohli,Friedbert Kaspar,Dirk Westhoff im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatik & Informatik Allgemein. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Teil III: Young Researchers

dp n="44" folio="32" ? dp n="45" folio="33" ?

Deterministische Manipulation von Quick-Response-Codes

Georg Usmanov, Alexander Kaiser, Holger Kölle
Fakultät Informatik
Hochschule Furtwangen University
Furtwangen, Deutschland
{georg.usmanov, a.kaiser, holger.koelle}@hs-furtwangen.de
Abstract: Diese Arbeit befasst sich mit den Möglichkeiten der Manipulation von QR-Codes. Nach einer detaillierten Betrachtung des Aufbaus eines QR-Codes werden anhand der gewonnenen Erkenntnisse eigene Ideen vorgestellt, die eine Manipulation ermöglichen oder vereinfachen können. Im nächsten Schritt wird eine günstige Angriffsmöglichkeit theoretisch abgehandelt. Außerdem wird eine der vorgestellten Möglichkeiten der gezielten Veränderung von QR-Codes anhand eines Beispiels durchgeführt und die dabei gewonnenen Erkenntnisse zusammengefasst.

1 Einleitung

Die japanische Firma Denso Wave stellte im Jahr 1994 den sogenannten QR-Code (Quick-Response-Code) vor. Dieser Code besteht aus einer begrenzten Menge von strukturiert angeordneten binären Feldelementen. Durch die darin verbaute Redundanz ist es möglich, gespeicherte Daten selbst dann wiederherstellen zu können, wenn ein Teil der enthaltenen Informationen zerstört wurde. Diese Eigenschaft erlaubt die Verwendung des QR-Codes als Schnittstelle zwischen analogen Medien und digitalen Anwendungen unter dem Einsatz von Bilderkennungsmechanismen. So finden sich QR-Codes auf Wahl- und Werbeplakaten, Postern und Zeitschriften. Die zunehmende Verbreitung wirft dabei die Frage auf, wie gut diese Codes vor Manipulationen geschützt sind.

1.1 Das Angriffsszenario

Bevor die Anfälligkeit des Quick-Response-Codes genauer betrachtet werden kann, muss zunächst der Begriff der Manipulation im Kontext dieser Arbeit definiert werden. Das erdachte Szenario besteht darin, dass Information eines beliebigen QR-Codes nur durch einfärben bestimmter Elemente des Codes selbst verändert werden. Dabei muss gewährleistet sein, dass der daraus entstehende neue QR-Code valide im Sinne der zugrunde liegenden Spezifikation (ISO/IEC STANDARD 18004) ist. So hat der Angreifer nur die Möglichkeit bestehende Felder von weiß auf schwarz zu verändern, um beispielsweise URLs abzuändern (siehe Abbildung 1). Welche Felder genau eingefärbt werden müssen, wird bestimmt durch die in den nächsten Kapiteln beschriebene Analyse des QR-Codes.
e9783110355277_i0015.webp
Abbildung 1: Angriffsszenario bei einer QR-Code-Manipulation. So könnte eine im QR-Code hinterlegte URL durch Veränderungen einiger Felder manipuliert werden und beim erneuten Auslesen eine ungewollte Adresse aufrufen.

1.2 Aufbau dieser Arbeit

In dem folgenden Kapitel werden Grundlagen zum Aufbau eines QR-Codes und dessen mathematischen Besonderheiten vermittelt. Die darin beschriebenen Merkmale sind relevante Auszüge aus der QR-Code-Spezifikation und dienen im darauffolgenden Kapitel als Wissensbasis für die vorgestellten theoretischen Ansätze der Manipulation von QR-Codes. Das anschließende, vorletzte Kapitel beschreibt die praktische Anwendung einer Manipulation anhand eines QR-Codes und liefert damit einen Beweis der grundsätzlichen Durchführbarkeit und zeigt damit verbundene Einschränkungen auf. Das letzte Kapitel liefert ein Résumé zu der durchgeführten Veränderung eines gegebenen QR-Codes und fasst die gewonnenen Erkenntnisse zusammen.

2 Bestandteile und Funktionsweise des QR-Codes

Jeder QR-Code ist definiert als eine zweidimensionale Matrix, dessen Elemente die Zustände Null oder Eins annehmen können (siehe Abbildung 2). Im Rahmen dieser Arbeit wird das weiße Farbfeld als null und das Feld schwarz als eins bezeichnet. Die abbildbare Informationsmenge hängt dabei von der Version, der Redundanzstufe und der verwendeten Kodierung ab. Es gibt noch eine Reihe weiterer Komponenten, die in einem QR-Code verwendet werden. Dieser Abschnitt betrachtet einige der für diese Arbeit Relevanten Bestandteile des QR-Codes, die in dem folgenden Kapitel als Basis für weitere Analysen verwendet werden. [1, S. 6ff]
e9783110355277_i0016.webp
Abbildung 2: Feldgröße eines QR-Codes in Abhängigkeit von der verwendeten Version. Wie in dieser Abbildung zu sehen ist, sind QR-Codes in 40 verschiedenen Größen definiert und können damit unterschiedliche Mengen an Daten darstellen.

2.1 Repräsentation von Nutzdaten

Der Bereich der Nutzdaten (engl.: „Encoded Data Stream“) aus Abbildung 3 beinhaltet die für den Leser des QR-Codes relevanten Informationen (z.B. URLs oder Text) in einer binären Form. Hierbei ist anzumerken, dass durch die Version und das Redundanzlevel eine bestimmte Anzahl von 8-Bit-Blöcken geschrieben werden muss. Sind die encodierten Nutzdaten kleiner als die vordefinierten Blöcke, werden die restlichen Bytes abwechselnd mit einer Sequenz aus α1 = 11101100 und α2 = 00010001 beschrieben. Dieser Bereich der aufgefüllten Daten wird auch als „Padding“ bezeichnet.
Nutzdaten deren Redundanz berechnet werden soll, werden wie bereits erwähnt, in Blöcke mit jeweils acht Bit aufgeteilt. Jeder dieser Blöcke repräsentiert ein Polynom in α über dem irreduziblen Polynom
e9783110355277_i0017.webp
e9783110355277_i0018.webp
. Damit ist gewährleistet, dass das Ergebnis aller arithmetischen Operationen innerhalb des GF ebenfalls acht Bit lang ist. So entspricht beispielsweise eine geschriebene Sequenz b00111101 dem α8 dieser endlichen Menge. Damit alle Ergebnisse der Multiplikation zweier Potenzen von Primitivwurzeln im GF(28) gespeichert werden können, bedarf es einer Tabelle mit 216 Einträgen. Um die Berechnung zu vereinfachen, werden ausgehend vom α-Wert b00000001 durch Linksshift und XOR – Operationen mit dem erwähnten Primpolynom
e9783110355277_i0019.webp
die ersten 256 Einträge berechnet. Damit lassen sich alle Multiplikationen von αn mit am deren Summe der Exponenten n + m kleiner als 256 ist, direkt aus der Tabelle ablesen. Größere Potenzen von α werden dabei zunächst als Produkt aus den ersten 256 Einträgen dargestellt und berechnet. Die hier beschriebene Interpretation gilt ebenso für den gesamten Datenbereich. [1, S. 67, 84], [3, S. 2, 4ff, 9], [4, S. 38, 41]
e9783110355277_i0020.webp
Abbildung 3: Darstellung des Nutzdatenbereichs. Hierbei ist zu erwähnen, dass sich der Schreibvorgang, so wie in der Abbildung angedeutet durchzieht. Wie aus der Abbildung ersichtlich ist, besteht der Nutzdatenbereich aus einer Reihe von Metainformationen, die den eigentlichen enkodierten Datenstrom definieren.

2.2 Erstellung und Korrektur des Redundanzbereichs

Nachdem die Nutzdaten beschrieben wurden, wird der Redundanzbereich berechnet. Dieser Bereich ermöglicht die Lesbarkeit von Nutzdaten unter fehlerhaften Lesebedingungen. Zur Bildung der Redundanzblöcke wird ein Reed-Solomon-Code über dem GF(28) verwendet. Dieser zyklische Blockcode zeichnet sich dadurch aus, dass blockweise auftretende Übertragungsfehler erkannt und korrigiert werden können. Für die Berechnung der Redundanz mit den Reed-Solomon-Codes, wird abhängig von der Version und der Redundanzstufe ein Generatorpolynom aus der Spezifikation ausgelesen. Jedes Generatorpolynom
e9783110355277_i0021.webp
wird dabei über das Produkt
e9783110355277_i0022.webp
(x - αi) gebildet. Ein Beispiel, welches zur Erzeugung von 10 Korrekturblöcken verwendet wird, findet sich in Abbildung 4.
e9783110355277_i0023.webp
Abbildung 4: Beispiel für die Berechnung eines Generatorpolynoms der Größe n=10. Hier ist anzumerken, dass sich jeder α-Wert im irreduziblen Polynom
e9783110355277_i0024.webp
befindet.
Bei der Erstellung des Redundanzbereichs werden im ersten Schritt die Nutzdaten mit k Byte, dessen Redundanzpolynom berechnet werden soll, mit 28 × n multipliziert. Dabei ist n die Anzahl der vorgesehenen Redundanz-Bytes. Im nächsten Schritt wird Byte 0 ... k - 1 des Datensatzes in das Redundanzpolynom eingesetzt und an der entsprechenden Stelle mit dem Datensatz über die XOR-Operation mit dem Nutzdatenbereich verrechnet. Das Resultat wird in den entsprechend definierten Redundanzbereich geschrieben. Zur Korrektur von Bereichen, die über die Syndromberechnung als falsch eingestuft wurden, wird der Berlekamp-Massey-Algorithmus innerhalb dieser Arbeit verwendet. Mit diesem kann für eine beliebige Folge von Byte-Sequenzen das kürzeste LSFR (Linear Shift Feedback Register) gefunden werden und ermöglicht damit eine effiziente Dekodierung von Reed-Solomon-Codes. [1, S. 67ff, 74-77, 80], [2, S. 27], [3, S. 4ff, 7, 10ff, 18, 21ff], [4, S. 31, 102ff, 142ff, 235], [5, S. 76]

2.3 Rolle von Masken

An dieser Stelle ist zu erwähnen, dass Masken neben der Redundanzberechnung im Verlauf dieser Arbeit eine wesentliche Rolle spielen. Sie erfüllen zwei Aufgaben. Zum einen sollen sie verhindern, dass durch das Beschreiben von Daten in die vorgeschriebenen Bereiche, Muster entstehen, die das
Lesen erschweren oder gar unmöglich machen. Zum anderen soll die Verteilung zwischen schwarzen und weißen Bereichen möglichst ausgeglichen sein, sodass keine zusammenhängenden einfarbigen Bereiche entstehen. Die Masken kommen zum Einsatz, nachdem der Nutzdaten- und der Redundanzbereich vollständig in den QR-Code geschrieben wurden und werden auch nur auf diese zwei Bereiche des QR-Codes angewendet. Um zu verhindern, dass Muster entstehen, die zu Problemen beim auslesen des QR-Codes führen würden oder zu Bereichen die gänzlich schwar...

Inhaltsverzeichnis

  1. Software-Technologien und -Prozesse
  2. Titel
  3. Impressum
  4. Inhaltsverzeichnis
  5. Organisation
  6. Sponsoren
  7. Allgemeine Unterstützung:
  8. Vorwort
  9. Teil I: Eingeladene Vorträge
  10. Teil II: Industriepräsentationen
  11. Teil III: Young Researchers
  12. Teil IV: Technisches Programm
  13. Autorenverzeichnis