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:
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:
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.