Sicherheit

22. September 2010 11:14; Akt: 12.02.2016 10:55 Print

«Uns blieb das Lachen im Hals stecken»

von Henning Steier - Zwei Hacker wollen schwerwiegende Lücken bei der SuisseID entdeckt haben. Im Interview erklärt einer, warum sie vorläufig vom elektronischen Identitätsnachweis abraten.

Bildstrecke im Grossformat »

Zum Thema
Fehler gesehen?

Mitte September lobte Twitter-Nutzer SuisseIDler als Antwort auf einen Tweet von Piratenpartei-Chef Denis Simonet eine heikle Prämie aus: «Ich gebe dir CHF 10 000, wenn du mich hacken kannst». Gemeint war damit die SuisseID des unbekannten Schreibers. Falls es sich dabei um virales Marketing handelt, bewegt es sich auf einem schmalen Grad, denn es könnte den Aufruf zu einer Straftat darstellen. «Er hat eine recht fahrlässige, wenn nicht gar sicherheitstheoretisch bedenkliche Haltung zu den Gefahren im Internet. Ich vermute, es ist niemand mit einem fundierten Hintergrundwissen in der Informatik, anders kann ich mir diese Einstellung nicht erklären», sagte Simonet zu 20 Minuten Online.

Hintergrund ist die seit längerem schwelende Diskussion um die Sicherheit des elektronischen Identitätsnachweises, die nun neuen Gesprächsstoff erhält: «SuisseID - alles sicher, oder was?» haben Max Moser und Thorsten Schröder ihren Vortrag betitelt, den sie heute Nachmittag auf der Konferenz Security Zone in Zürich halten werden.

Die beiden Mitarbeiter des Sicherheitsanbieters Dreamlab zeigen darin Lücken der im Mai präsentierten Technologie. Ihre Keynote war Wochen vorher bereits ausverkauft, so dass sie morgen noch einmal stattfinden wird. Sie wird überdies im Laufe des Tages auf remote-exploit.org zum Download verfügbar sein. Im Interview erläutert Max Moser vorab die wichtigsten Testergebnisse der beiden Hacker.

20 Minuten Online: Wie sicher ist die SuisseID als solche?
Max Moser: Sie nutzt einen Infineon SLE66CX322P Smartcardchip mit 32 Kilobyte EEPROM. Der SLE66CX642 (64K) und der SLE66CLPE sind schon erfolgreich angegriffen und ausgelesen worden. Christopher Tarnovsky hat das im Februar auf der Sicherheitskonferenz Black Hat DC in Washington gezeigt. Das heisst, dass man den Inhalt der Smartcard auslesen und klonen könnte. Interessant ist, dass der Chip selbst intern viele Datenströme verschlüsselt übermittelt. Aber in seinem Microcontroller-Kern muss er die Daten in Klartext verarbeiten, was sich nicht verhindern lässt. Der Chip ist also knackbar, aber mit viel Aufwand: Tarnovsky sagte, wenn er einen Chip schon einmal ausgelesen hätte, sei es ein Aufwand von etwa sechs Stunden. Bei einem neuen, modernen Smartcardchip werde sich der Aufwand auf etwa durchschnittlich 100 000 Franken belaufen.

Lohnt sich der Aufwand überhaupt?
Für Privatkunden wohl kaum. Aber wenn man sich das Beispiel Pay-TV anschaut – definitiv. Denn wenn dafür Hunderttausende gratis Bezahlfernsehen schauen können, ist das eine geringe Investition für Cyberkriminelle. Bei der SuisseID denke ich, dass es davon abhängt, wessen Identität durch welche Organisation missbraucht werden soll.

Wo liegt denn nun aus Ihrer Sicht das Kernproblem der SuisseID?
Die SuisseID, reduziert auf das Zertifikat und den Smartcardchip, ist relativ sicher, jedoch sind es die Applikationen, die den gewünschten Mehrnutzen bringen sollen, und da ändert sich das Bild. Die von uns angeschauten Apps der SwissSign, IncaMail, SwissSigner und Local eGov Signer, haben keine oder ungenügende Sicherheitsmerkmale. In unseren Experimenten haben wir vor allem den SwissSigner betrachtet, mit dem man Dokumente digital unterschreiben kann. «Meet all legal requirements with just one product» – darüber können wir leider nur lachen. Ebenso über die Formulierung auf der SuisseID-Website: «Die sichere SuisseID wird in einem Gesamtsystem von Mensch, Computer und Internet eingesetzt, deren totale Kontrolle ausserhalb der Möglichkeiten einer SuisseID liegt.» Aber eigentlich blieb uns das Lachen im Hals stecken.

Warum?
Bei der Spezifikation der SuisseID wurden grosse Fehler gemacht, indem zum Beispiel nicht festgelegt wurde, welches Mindestmass an Sicherheit die Umgebung des Benutzers sowie die Softwarekomponenten erfüllen müssen. Es liegt in den Händen der Hersteller und Distributoren, Applikationssicherheit zu entwickeln und sicherzustellen, dass adäquate Hardware, zum Beispiel mindestens ein Class-2-Smartcardleser mit Pinpad, eingesetzt wird. Aufgrund fehlender Zertifizierung und Kontrolle hat der Benutzer zurzeit also keine Möglichkeit, eine gefährliche von einer qualitativ hochwertigen Anwendung zu unterscheiden. Es gibt kein Label und auch keine Fragenkataloge oder etwas Vergleichbares, das ihm dies ermöglichen könnte. Wohlgemerkt, hier geht es um potenziell Existenz gefährdende, rechtsverbindliche Unterschriften mit dem SwissSigner – beispielsweise unter teuren Kaufverträgen. Das hängt sicherlich auch mit dem Zeitrahmen zusammen. Innerhalb eines knappen Jahres kann man keine allumfassende Lösung entwickeln. Jedoch hätte man durchaus jemanden fragen können, der sich damit auskennt. Auch hätte man nur mal kurz einen Blick ins echte Leben riskieren sollen.

Und was hätte man dann gesehen?
In der realen Welt gibt es Identifikationsrichtlinien; beispielsweise darf man auf seinem Passbild nicht vermummt sein. So kann man anhand seiner Identitätskarte eindeutig identifiziert werden. Bei den Applikationen fehlen jedoch solche klaren Richtlinien. Das Ziel der SuisseID war eigentlich, dass man die Person, welche einen Dienst benutzt, eindeutig identifizieren kann. Mit dem standardmässig mitgelieferten Class-1-Leser kann man dies jedoch nicht. Aufgrund der Sicherheitsmängel des Billiglesers, kann nur sichergestellt werden, dass jemand mit der SuisseID und der PIN angemeldet ist: Ob es sich dabei um den rechtmässigen Nutzer handelt, ist unklar. Es ist, als ob man an der Grenze seinen Pass vorlegt, aber das Foto verdeckt. Darauf würde sich kein Grenzer einlassen. Die Frage ist doch: Warum sind unsichere Class-1-Leser selbst für die rechtsgültigen Unterschriften zulässig? Denn es ist doch bekannt, dass man die PIN auslesen kann, weil sie über den PC eingegeben werden muss – Stichwort Keylogger.

Lösen Class-2, 3- oder 4-Reader das Problem, über die man die PIN direkt eingibt?
Jein, denn man braucht keine PIN, wenn ausschliesslich die Transaktionsdaten direkt manipuliert werden sollen. Das kennt man vom Online-Banking. Ein Cyberkrimineller kann als so genannter Man in the Browser HTML-Code im Surfprogramm abgefangen und manipulieren. Dazu wird ein Rechner mit Malware infiziert, der erst aktiv wird, wenn das Opfer die Website einer Bank besucht. Dann werden die auf der Seite eingegebenen Daten gestohlen. Class-2-Reader lösen das Problem also nicht. Bei Class-3 oder höheren Lesern ist das Problem, dass diese für den Einsatz einer 1:1 Beziehung entwickelt sind. So ist es bei einer Kunden-Bank-Beziehung üblich, dass der Benutzer Teile der Transaktion auf dem Class-3-Leser liest und dann manuell bestätigt. Bei einer SuisseID, über die diverse Dienstleister mit dem Kunden kommunizieren möchten, ist dies ohne Gerätestandardisierung nicht möglich. Manche Leser haben ein kleines, andere ein grösseres Display, auch werden diese teilweise unterschiedlich angesprochen.

Ein schon öfter zu vernehmendes Argument der SuisseID-Macher ist, dass man physischen Zugriff auf die Karte haben muss, um sie missbrauchen zu können.
Das ist Unsinn. Der Leser ist mit dem PC verbunden. Die Datenkommunikation geschieht durch den PC, sprich die Karte ist logisch mit dem Betriebsystem verbunden. PCs sind per Design unsicher, denn eine Applikation kann nicht verhindern, dass eine Malware, die im Kern des Systems agiert, beliebige Abläufe im Computersystem manipulieren kann.

Und wie greift man den Reader an?
Es gibt zum Beispiel für 149 US-Dollar eine Software, USB Over Network, mit der man USB-Geräte eines PCs für andere Benutzer im Netzwerk freigeben kann. Diese Software in Kombination mit gängigen Trojanertechniken kann ein Angreifer dazu benutzen, mit einfachsten Mitteln den USB-Smartcardleser und somit die Identität virtuell an sich zu nehmen. Mit dem Einsatz eines Keyloggers wird dem Benutzer zuvor die PIN gestohlen. Dadurch erhält der Angreifer Zugriff auf alle benötigten Komponenten und kann nun mit der elektronischen Identität des Opfers beliebige Tätigkeiten durchführen. Dieser Angriff ist nicht besonders kreativ, jedoch ist es wohl der erste, welcher USB-Sharing als Angriffsvektor einsetzt. Das Video zeigt einen einfachen Test, in dem genau dieses Szenario angewendet wurde. Erst wird eine Malware auf dem PC des Opfers ausgeführt und danach führt der Angreifer die beschriebenen Schritte durch.

Der im Video gezeigte Angriff findet übers Netzwerk statt. In der Realität würde er wohl eher übers Internet gestartet, oder?
Ihn übers Web zu starten ist nur eine Frage von Geld und Zeit. Für die Diskussion ist das völlig irrelevant. Der Punkt ist: Wir haben hier zwei Rechner; verbinde ich sie über ein TCP/IP-Netzwerk, habe ich Zugriff auf die USB-Geräte. Das ist ein Test mit einfachsten Mitteln – mehr nicht. Ein echter Angreifer würde eine vergleichbare Software effizienter gestalten. Das sollte auch keine hohe Hürde darstellen, da es auch ein Opensource-Projekt gibt, von dem er Codefragmente verwenden könnte. Übrigens: Taschenspielertricks wie mit der Maus anzuklickende, virtuelle Tastaturen bieten keinen ernstzunehmenden Schutz bei einem kompromittierten Computer. Die Angriffstechnik wird leicht modifiziert, ist aber nicht viel komplizierter.

Haben Sie eine Lösung parat?
Es sind keine sicheren kommerziellen Transaktionen möglich ohne einen zweiten Validierungskanal, das mussten die E-Banking-Institute in der Vergangenheit lernen. Warum sich jetzt die Macher der SuisseID als lernresistent entpuppten, ist mir ein Rätsel. Für eine sichere Transaktion sollten die SuisseID-Lösungen durch einen zweiten Kommunikationskanal erweitert werden. Beim Thema Dokumentsignierung ergeben sich aber grosse Probleme - beispielsweise: Wie will man bei einem 30-seitigen Dokument dessen Inhalt über den zweiten Kanal validieren lassen? Hier sind kreative Ansätze gefragt, aber leider bisher wenig bis gar nicht öffentlich diskutiert worden.

Und sonst?
Als viel gefährlicher bewerten wir jedoch im Moment das Problem, dass man mit den heutigen Signaturapplikationen wie dem SwissSigner nicht einmal sicher sein kann, dass das, was man zu unterschreiben vermutet, auch tatsächlich dem dargestellten Inhalt entspricht. Hinzu kommt, dass der Benutzer vollumfänglich dafür haftbar gemacht werden kann, da die Unterschrift rechtsgültig ist. So kann nicht davon ausgegangen werden, dass ein Dokument innerhalb unterschiedlicher Signierapplikationen identisch aussieht. Es gibt weder klare Richtlinien noch Empfehlungen. So war es während unserer Sicherheitsanalysen möglich, innerhalb des Programms SwissSigner eine PDF-Datei mit aktiven JavaScript-Inhalten zu signieren, ohne dass die Applikation selber dieses Dokument korrekt darstellen könnte. Innerhalb einer anderen Applikation, beispielsweise dem Acrobat Reader, sieht das Dokument anders aus. Unter gewissen Bedingungen wird gar die rechtsgültige Unterschrift weiter als qualifiziert und intakt dargestellt.

Die meisten Behördenformulare, die man am PC ausfüllen können wird, werden wohl als PDF-Datei vorliegen. Wie kann der Anwender denn nun sicher sein, dass er ein unveränderbares Dokument vor sich hat?
Ein Ansatz könnte sein, dass Signaturen mehr als Onlineservices angeboten werden, das müsste man jedoch erst genauer betrachten. Ein Schnellschuss wäre auch hier unter Umständen fatal.

SuisseID-Befürworter argumentieren gern, normale Unterschriften könne man auch fälschen.
Und was heisst das? Dass wir den gleichen Fehler noch einmal machen sollen? Die Haftbarkeit ist natürlich in der realen Welt anders geregelt. Es gibt Alibis und so weiter. Als Angreifer eines PCs kann man das Ganze auch automatisieren und viel mehr Schaden binnen kürzester Zeit anrichten. Ich persönlich würde als Angreifer eine Applikation schreiben, die den USB-Stick kurz übernimmt, die Identität benutzt und danach direkt wieder freigibt. Ich habe auch schon die Aussage gehört: «Dann müssen Anwender es halt immer wieder ausstecken.» Ein moderner Rechner arbeitet zirka 2,4 Milliarden Instruktionen pro Sekunde ab. Und wie schnell ist der User? Wenn ein Benutzer die SuisseID beispielsweise zum Signieren von E-Mails benutzen würde, dann lässt er doch den Stick im Rechner stecken, weil es sonst zu umständlich ist. Privatanwender kann zur jetzigen Zeit, mit den aktuellen Lösungen nicht empfohlen werden die SuisseID zu benutzen.

Gibt es Reaktionen der Macher?
Es haben diverse durchaus als positive zu wertende Gespräche stattgefunden. Die Probleme sind bekannt. Ihre Lösungen werden hoffentlich entwickelt und umgehend umgesetzt.