Grundlegende RFID-Sicherheit

Marc Ruef

RFID ist durch die breite Bevölkerung spätestens mit der Einführung des elektronischen Passes in verschiedenen Länder wahrgenommen worden. Sicherheitsbedenken gegenüber der Technologie sind berechtigterweise latent vorhanden. Mit diesem Beitrag wollen wir die effektiven Gefahren einfacher RFID-Tags aufzeigen.

Hinweis: Die Standardisierung von RFID ist nicht international geregelt. Verschiedene Länder und Fachbereiche geben unterschiedliche Standards und Empfehlungen heraus. Entsprechend kann es zu Abweichungen in der Funktionsweise und im Umgang mit den jeweiligen Produkten kommen. Eine Vereinheitlichung für Inventarisierungen wurde beispielsweise mit ISO/IEC 18000: Information technology – Radio frequency identification for item management angestrebt.

Einführung

Das Akronym RFID steht für Radio Frequency Identification. Dieses System wird eingesetzt, um drahtlos Informationen zwischen einem Transponder (auch Tag genannt) und einem Lesegerät auszutauschen. Passive Transponder besitzen keine eigene Energiequelle, sondern beziehen die Energie aus dem elektromagnetischen Hochfrequenzfeld, das durch das Lesegerät generiert wird. Aktive Transponder können eigene Energiequellen, vorzugsweise werden Batterien eingesetzt, nutzen.

RFID-Hardware: Lesegerät mit USB-Kabel, Sammlung unterschiedlicher Tags

Jeder Tag besitzt eine eindeutige Tag-ID, die im read-only Bereich abgelegt wird. Sie wird in jedem Fall übertragen, um die Identifikation des Transponders umzusetzen. Damit wird die Hauptfunktionalität von RFID gewährleistet: Innerhalb des Systems kann dadurch eine Identifikation realisiert werden – Dies lässt sich beispielsweise für Identifikation (z.B. Kreditkarte), Inventarisierung oder Zugangssysteme benutzen.

Vortäuschen der Tag-ID

Bemerkenswert hierbei ist, dass RFID-Tags üblicherweise tatsächlich nur die ID und keine zusätzlichen Informationen bereitstellen. Die Ableitung eines Benutzernamens anhand der ID findet erst bei der späteren Verarbeitung, zum Beispiel im Rahmen eines Datenbanksystems, statt (Beispiel SQL: SELECT user_id, user_name FROM tbl_user WHERE user_id=$tag_id). Das Vortäuschen einer Identität ist in diesem Fall also in erster Linie von der Manipulation der Tag-ID abhängig. In einfachen Authentisierungssystemen werden gerne solcherlei simple HID Proximity- oder EM41XX-Tags eingesetzt.

Software liest die Tag-ID unterschiedlicher Transponder aus

Die produktiven Angriffsmöglichkeiten eines solchen Systems sind entsprechend primitiv: Sieht man sich in der Lage mit einem geklonten Transponder oder einer Emulation die Tag-ID eines anderen Tags vorzutäuschen, kann der erweiterte Zugriff im Rahmen des Systems stattfinden. Damit können Identitäten vorgetäuscht und die damit verbundenen Rechte geerbt werden. Das Identifizieren legitimer Tag-IDs kann durch das Abhören einer Kommunikation (Replay-Attacke) oder durch das simple Herausfinden (Bruteforce-Attacke) geschehen.

Beschreibbare Speicher

Es gibt jedoch nicht nur read-only Transponder, sondern ebenfalls solche mit beschreibbaren Bereichen. Hier kann zwischen einmalig (write-once) und mehrmals beschreibbar (read-write/write-many) unterschieden werden. Dabei ist der Datenträger mit einem erweiterten Speicherbereich ausgerüstet, der zusätzlich zur read-only Tag-ID mit erweiterter Hardware angesteuert werden kann.

Was in den erweiterten Bereichen eines Tags gespeichert wird, ist von der jeweiligen Applikation abhängig. Dies kann beispielsweise ein Benutzerzertifikat oder ein dezentralisiert ausgelagertes Passfoto sein.

Das Problem des read-write Bereich ist, dass sich dieser jenachdem manipulieren lässt. Im Beitrag RFID Viruses and Worms der Universiteit Amsterdam wird ein Szenario beschrieben, in dem der dynamische Bereich für die Verbreitung eines Virus genutzt wird:

Up until now, everyone working on RFID technology has tacitly assumed that the mere act of scanning an RFID tag cannot modify back-end software, and certainly not in a malicious way. Unfortunately, they are wrong. In our research, we have discovered that if certain vulnerabilities exist in the RFID software, an RFID tag can be (intentionally) infected with a virus and this virus can infect the backend database used by the RFID software. From there it can be easily spread to other RFID tags.

Derartige Probleme sind nicht auf die RFID-Technologie als solche zurückzuführen. Der beschreibbare Bereich des RFID-Tags wird lediglich als Träger verwendet. Durch eine fehlerhafte Weiterverarbeitung im Backend können erweiterte Rechte erlangt und Manipulationen durchgesetzt werden. Damit lassen sich nachfolgend durch das System bearbeitete RFID-Tags ebenfalls infizieren.

Im illustrierten Beispiel wird über eine SQL-Injection eine Replikation durch einen Quines-Virus durchgesetzt. Es handelt sich also grundsätzlich um ein Schnittstellenproblem, bei dem einmal mehr auf eine umfassende Eingabeüberprüfung – in diesem Fall von einem über RFID ansprechbaren Datenträger – verzichtet wird. Ein ähnliches Szenario wurde ebenfalls im Zusammenhang mit einem implantierten RFID-Chip demonstriert.

Zusammenfassung

Generell kann gesagt werden, dass RFID die allgemeinen Probleme drahtloser Kommunikationen (z.B. Abstrahlung, Interferenz) sowie die grundlegenden Gefahren von Eingabesystemen (korrupte Eingaben) vereint. Eine umfangreiche Architektur mit entsprechendem Qualitätsniveau kann diese Probleme abfangen, wobei hier jedoch – so wie dies auch bei VoIP der Fall ist – die Vorteile der kostengünstigen Lösung relativiert werden müssen. Das Erreichen des Kompromisses zwischen Wirtschaftlichkeit und Sicherheit ist also auch bei RFID eine ganz besondere Herausforderung.

Links

Tags

USB, Bruteforce, PDF, RFID, SQL-Injection, VoIP, YouTube

CVSSv3 als Risikometrik

Marc Ruef

Blockchain ist die Zukunft

Marc Ruef

Analyse von Medizingeräten

Marc Ruef

Sie haben Fragen zum Thema?

Unsere Spezialisten kontaktieren Sie gern!