Die Hacker kommen

Angriffsszenarien auf Smart-Card-ICs

15. Juni 2010, 13:02 Uhr | Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Umgehung von Authentifizierung oder Zugangskontrolle

Angriffe dieser Art zielen darauf, unbefugterweise Zugang zu in der Smartcard abgelegten Daten zu erhalten oder Operationen auszuführen, die nicht zum aktuellen Lebenszyklus-Status verarbeiteter Datenobjekte oder des Betriebssystems passen. Speziell das unbefugte Lesen oder Verändern auf der Karte gespeicherter Personalisierungsdaten oder eine weitergehende (nicht autorisierte) Personalisierung des Produkts können Ziele eines solchen Angriffsszenarios sein. Angriffe dieses Typs, bei denen es auch um komplette Programmsequenzen gehen kann, machen sich Schwachstellen in der Softwareimplementierung zunutze und werden mit einem logischen oder physischen Angriff auf das Betriebssystem und die von ihm verarbeiteten Daten ausgeführt. Dazu werden Protokollangriffe genutzt, also Man-in-the-Middle‑ und Replay-Attacken, Befehlseditierung oder Befehle, die nicht definiert oder im aktuellen Lebenszyklus-Status des Betriebssystems nicht zulässig sind. Berücksichtigt werden müssen außerdem logische und physische Attacken, die den Programmablauf, Statusinformationen (z. B. den Lebenszyklus-Status von Objekten oder des Betriebssystems) oder Zugriffsregeln der vom Betriebssystem verarbeiteten Objekte manipulieren.

Beschreibung des Angriffs

Angriffe dieser Art zielen darauf, unbefugterweise Zugang zu in der Smartcard abgelegten Daten zu erhalten oder Operationen auszuführen, die nicht zum aktuellen Lebenszyklus-Status verarbeiteter Datenobjekte oder des Betriebssystems passen. So können das unbefugte Lesen oder Verändern auf der Karte gespeicherter Personalisierungsdaten oder eine weitergehende (nicht autorisierte) Personalisierung des Produkts können Ziele eines solchen Angriffsszenarios sein.

Der unbefugte Zugang zu Daten in der Smartcard lässt sich auf verschiedene Weise erlangen:

  • Man kann sich fälschlicherweise als der eigentlich erwartete Kommunikationspartner ausgeben (Man-in-the-Middle-Attacke).
  • Man kann sich Zeitdifferenzen zunutze machen (durch Abfangen und Wiederholen von Befehlen)
  • Man kann Befehlsvarianten ausprobieren (durch Editieren gültiger Befehle oder durch das Herausfinden nicht definierter Kommandos)
  • Man kann die Zugangsregeln selbst verändern
  • Die Anforderung und Evaluierung der Zugriffsregeln kann während der Programmausführung umgangen oder manipuliert werden.

Auch die Ausführung von Befehlen, die im aktuellen Lebenszyklus-Status des Betriebssystems oder eines Datenobjekts unzulässig sind, lässt sich auf verschiedenen Wegen erreichen:

  • Manipulation des aktuellen Lebenszyklus-Zustands selbst
  • Umgehung oder Manipulation der Anfrage und der Evaluierung des aktuellen Lebenszyklus-Zustands während der Programmausführung und
  • Sondieren von Befehlsvarianten (durch Editieren gültiger Befehle oder durch das Herausfinden nicht definierter Kommandos)

Auswirkungen von Angriffen

Das Resultat der Attacke ist der unbefugte Zugriff auf in der Smartcard abgelegte Daten oder die Ausführung von Operationen, die nicht zum aktuellen Lebenszyklus-Status verarbeiteter Datenobjekte oder des Betriebssystems passen. So können das unbefugte Lesen oder Verändern auf der Karte gespeicherter Personalisierungsdaten oder eine weitergehende (nicht autorisierte) Personalisierung des Produkts Ziele eines solchen Angriffs sein. Über den Erfolg seines Vorstoßes erfährt der Angreifer durch Auswertung der Antworten der Smartcard während der anschließenden Kommunikation.

In der Regel zielt das beschriebene Angriffsszenario auf die Manipulation der beabsichtigten Sicherheitsstruktur, die Bestandteil des Betriebssystems, den auf dem Betriebssystem laufenden Applikationen und der vom Betriebssystem verarbeiteten (Applikations‑) Daten ist. Betroffen ist auch die integrierte Zugangskontrolle auf Datenobjekte und Befehle.

Replay-Attacken gibt es schon seit langer Zeit – vor Jahren zielten sie auf das Ausspähen von Passworten. Angesichts der Stärke, mit der Passworte heute verschlüsselt werden, hat sich der Schwerpunkt jedoch inzwischen auf das Entwenden von digitalen Signaturen und Schlüsseln verschoben.

Mit der Befehlseditierungs-Attacke sollen nicht dokumentierte Kommandos herausgefunden werden, oder man nutzt gültige Befehle auf eine Weise, die die Kommunikationsmechanismen im TOE überwindet. Durch das Senden von Befehlen, die länger sind als vom TOE erwartet, kann der Angreifer versuchen, unzureichendes Bounds Checking aufzudecken. Durch das Senden von Kommandos mit unerwarteten Werten kann außerdem angestrebt werden, die Smartcard zum Auswerfen von Speicherinhalten zu veranlassen.

Die Manipulation von Informationen über den Lebenszyklus-Zustand oder der Zugriffsregeln selbst sowie das Manipulieren von deren Anforderung und Evaluierung lassen sich als direkter Angriff auf die Zugangskontrolle ansehen, die im Betriebssystem und den darauf laufenden Applikationen implementiert sind. Speziell die Zugangskontrolle wird so modifiziert oder gänzlich ausgeschaltet, dass der unbefugte Zugriff auf geschützte Daten oder die Ausführung unzulässiger Befehle ermöglicht wird.

Die Manipulation von Informationen über den Lebenszyklus-Zustand oder Zugriffsregeln setzen eine physische Attacke auf die Smartcard, ihr Betriebssystem und die Applikationen voraus. Die Umgehung und Manipulation der Anforderung und Evaluierung von Informationen über den Lebenszyklus-Zustand oder von Zugriffsregeln beruhen auf der mit logischen oder physischen Mitteln erzielbaren Manipulation des beabsichtigten Programmablaufs. Eine aktive Maßnahme zur Sicherung von Informationen über den Lebenszyklus-Zustand oder von Zugriffsregeln sowie deren Anforderung und Evaluierung während der Programmausführung kann darin bestehen, ein Integritäts-Attribut anzuhängen, das während der Programmverarbeitung auf geeignete Weise geprüft wird.

Puffer- oder Stack-Überlauf

Diese Art Attacke kommt für offene Plattformen in Frage. Unter offenen Plattformen werden in diesem Dokument Smartcard-Betriebssysteme mit der Fähigkeit zum Herunterladen und Verarbeiten mehrerer Applikationen verstanden. Offene Plattformen stellen den Applikationen Dienste zur Verfügung. Insbesondere sind dies Dienste zum Schutz ihrer sensiblen Daten vor externen Applikationen (unbefugter Zugriff und unerwartete Modifikation). Ausgeführt werden kann ein solcher Angriff mit einem Stack‑ oder Pufferüberlauf, der wiederum durch die Verarbeitung einer schädlichen Applikation verursacht wird. Wird ein Überlauf von der Plattform nicht erkannt, können sich verschiedene Effekte einstellen wie etwa das Überschreiben bestehender Inhalte im aktuellen Stack. Der vom Angreifer angestrebte Effekt besteht hier darin, den aktuellen Verarbeitungs-Kontext von der schädlichen Applikation überschreiben zu lassen und sich System-Zugriffsrechte anzueignen. Mit diesen Privilegien ausgestattet, kann die Applikation praktisch jede Operation ausführen und in der Folge geheime Daten (z. B. die PIN einer anderen Applikation) offenlegen oder modifizieren.


  1. Angriffsszenarien auf Smart-Card-ICs
  2. Beschreibung der Angriffsschritte
  3. Direkte Protokollangriffe
  4. Umgehung von Authentifizierung oder Zugangskontrolle

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu NXP Semiconductor Netherlands B.V.