Archive

Posts Tagged ‘e-perso’

Karten, Apps und Löcher – Ein Rückblick zum ePerso

2011-11-09 2 Kommentare

Vor knapp über einem Jahr wurde der neue, elektronische Personalausweis eingeführt. Vor einem Jahr und einem Tag wurde die erste Version der AusweisApp veröffentlicht – und vor genau einem Jahr habe ich die massive Sicherheitslücke in der AusweisApp aufgedeckt. Diesen Tag möchte ich daher für einen Rückblick nutzen, und laientauglich die wichtigsten Dinge zum ePerso erläutern: Was ist der ePerso eigentlich? Wie sicher ist er? Wem soll er nutzen? Wer profitiert wirklich davon? Und was ist daraus eigentlich geworden?

Inhalt

  1. Was ist der ePerso?
  2. Sicherheit und Gefahren
  3. Die AusweisApp und ihre Lücke
  4. Der Nutzen des Ausweises
  5. Kosten und Wirtschaftsförderung
  6. Fazit

Was ist der ePerso?

Zum 1. November 2010 hat der „neue Personalausweis“, kurz nPA, den bisherigen Ausweis ersetzt. Der auffälligste Unterschied zum alten Personalausweis ist das von den meisten Bürgern als praktischer empfundene Kreditkartenformat. Der wichtigere Unterschied jedoch ist im Inneren der Plastikkarte versteckt: In der rechten oberen Ecke ist ein Chip eingebaut, mit dem der Ausweis elektronisch genutzt werden kann. Deswegen hieß er auch „elektronischer Personalausweis“, kurz „ePerso“ oder „ePA“, bevor die Regierung merkte, dass dieser Name durch die Kritik am Projekt zu unbeliebt geworden war.

Der Personalausweis ist eine sogenannte kontaktlose Chipkarte. Das bedeutet, dass er per Funk mit dem Lesegerät Kontakt aufnimmt (und von ihm drahtlos mit Strom versorgt wird). Die drahtlose Technik (RFID/NFC) wurde gewählt, weil sich dabei keine Kontakte abnutzen und die Karten und Lesegeräte somit haltbarer sein sollen. (Vielleicht spielte die Idee, einen neuen Standard zu schaffen und die Wirtschaft durch die Einführung von viel neuer Technik zu fördern, auch eine gewisse Rolle.)

Der Chip im Personalausweis ist ein kleiner Computer – mit einem Prozessor, etwas Speicher und der Fähigkeit, Berechnungen durchzuführen. Das soll eine ganze Reihe neuer Möglichkeiten öffnen, denn der Chip unterstützt gleich mehrere Funktionen: Mit der hoheitlichen Ausweisfunktion können Behörden über den Chip die Echtheit des Ausweises prüfen. Mit der eID-Funktion soll der Nutzer mit dem Ausweis online seine Identität beweisen können. Und zu guter Letzt soll es mit dem Ausweis auch möglich sein Dokumente (wie z. B. Verträge) digital zu unterschreiben. Letzteres ist allerdings schon seit Jahren mit gewöhnlichen und bewährten Signaturkarten möglich.

Hoheitliche Ausweisfunktion

Die auf dem Ausweis aufgedruckten Daten, das Passfoto sowie (falls abgegeben) der Fingerabdruck sind auf dem Chip noch einmal elektronisch gespeichert und können von befugten Behörden gelesen werden. Das soll die Fälschungssicherheit erhöhen, da die Daten auf dem Chip gegen unbefugte Veränderung sehr gut gesichert sind. Die hoheitliche Ausweisfunktion ist immer aktiv und kann nicht ausgeschaltet werden.

eID-Funktion

Mit der eID-Funktion soll es möglich sein, mit dem Ausweis gegenüber einer Website die Identität (oder auch nur das Alter) zu belegen oder sich einzuloggen. Dazu benötigt man ein Lesegerät sowie eine Software, die „AusweisApp“. Über die AusweisApp kommuniziert die Website mit dem Ausweis, und in der App wird auch angezeigt, welche Daten an welchen Empfänger übertragen werden sollen. Damit ein verlorener Ausweis nicht missbraucht werden kann, muss man jedes Mal eine sechsstellige PIN eingeben. Die eID-Funktion kann auf Wunsch ein- und ausgeschaltet werden.

Elektronische Signaturfunktion

Mit einem Lesegerät der höchsten Sicherheitsstufe soll es möglich sein, den Personalausweis für die sogenannte „qualifizierte elektronische Signatur“ zu benutzen. Damit kann man Dokumente mit einer rechtlich verbindlichen digitalen Unterschrift versehen. Da dies mit gewöhnlichen Signaturkarten schon lange möglich ist, spart man lediglich eine Karte ein, wenn die Funktion vom Ausweis mit unterstützt wird.

Derzeit ist die elektronische Signatur mit dem Personalausweis noch nicht möglich.

Sicherheit und Gefahren

Wie sieht es um die Sicherheit des neuen elektronischen Personalausweises aus? Dazu muss man zunächst überlegen, wo überall Probleme lauern könnten: Einerseits ist da natürlich der Ausweis selbst bzw. der Chip darin sowie die Funkverbindung, über die mit dem Ausweis kommuniziert wird. Hier sind starke Sicherheitsmaßnahmen eingebaut. Andererseits spielen aber gerade bei der eID-Funktion auch das Lesegerät, die AusweisApp, der Rechner, auf dem diese läuft, und schließlich der Nutzer selbst eine große Rolle – und hier gibt es zahlreiche Probleme.

Sicherheit der Funkverbindung

Bei einem Ausweis, mit dem berührungslos per Funk kommuniziert werden kann, auch während er in der Geldbörse versteckt ist, stellt sich natürlich als erstes die Frage: Kann der Ausweis unbefugt benutzt oder ausgelesen werden? Kann man mich mit dem Ausweis verfolgen?

Zunächst einmal zur Beruhigung: Die Funkverbindung ist natürlich verschlüsselt. Normale Lesegeräte können mit dem Ausweis nur auf höchstens 10 Zentimeter Entfernung kommunizieren. Speziell gebaute Geräte werden diese Reichweite vermutlich etwas erhöhen können, ein Auslesen aus mehreren Metern ist jedoch rein physikalisch kaum möglich. Der Ausweis ist passiv, das heißt, ohne ein Lesegerät in unmittelbarer Nähe hat er gar keine Stromversorgung. Sorgen, der Ausweis könnte als GPS-Peilsender jederzeit seine Position an irgendwelche Behörden senden, sind also unbegründet.

Selbst wenn ein Lesegerät mit dem Ausweis kommuniziert, soll dieser aber nichts verraten, was den Eigentümer identifizieren könnte – nicht einmal eine Seriennummer, über die man den Ausweis wiedererkennen könnte. Um Daten auszulesen, muss eine der drei Funktionen genutzt werden, auf die im Folgenden genauer eingegangen wird. Es ist aber nicht auszuschließen, dass früher oder später ein Verfahren entdeckt wird, mit dem die Ausweise doch unterschieden und so wiedererkannt werden können.

Sicherheit der hoheitlichen Ausweisfunktion

Das Auslesen der Daten über die hoheitliche Ausweisfunktion soll nur mit einem dazu berechtigten Gerät möglich sein, und auch dann nur, wenn die auf dem Ausweis angegebene sechsstellige Nummer eingegeben wird. So soll sichergestellt sein, dass der Ausweis nie unbemerkt ausgelesen werden kann. Ob ein Zugriff auf den Ausweis tatsächlich nur mit diesen Sicherheitsmaßnahmen möglich ist, kann man jedoch nicht nachprüfen – man muss sich auf die Angaben der Regierung verlassen. Hintertüren, die das unbemerkte Auslesen erlauben, wären problemlos möglich und kaum zu entdecken. Die Reichweite wäre hierbei allerdings immer noch wie oben beschrieben stark beschränkt.

Sicherheit der eID-Funktion

Die Sicherheit der eID-Funktion hängt von zahlreichen Komponenten ab. Neben dem Lesegerät benötigt der Nutzer eine spezielle Software, die AusweisApp, um diese Funktion nutzen zu können. Die erste Version der AusweisApp war aufgrund einer direkt nach der Veröffentlichung entdeckten Sicherheitslücke ein offenes Einfallstor für Computerviren.

Es gibt drei Arten von Lesegeräten: Die „Basisleser“, die steuerfinanziert in großer Zahl verteilt wurden, die „Standardleser“ und die „Komfortleser“. Die Komfortleser bieten hierbei die größte Sicherheit, müssen aber vom Nutzer selbst gekauft werden (und waren zum Start des Ausweises noch nicht verfügbar). Die billigen Basisleser hingegen haben keine eigenen Sicherheitsfunktionen. Insbesondere muss die PIN des Ausweises auf dem Computer eingegeben werden – wo sie z. B. von Viren abgefangen werden kann.

Da die AusweisApp normalerweise von einer Website gestartet wird, ist es für den Nutzer schwierig, ein gefälschtes AusweisApp-Fenster zu erkennen – wenn er dort seine PIN eingibt, wird sie dem Angreifer, z. B. Kriminellen, bekannt. Der Angreifer benötigt jedoch noch Zugriff auf das Lesegerät, um den Ausweis mit der PIN missbrauchen zu können. Eine Zusatzsoftware, die zu einem der „Starter-Kits“ mit Basisleser gehört, ermöglicht diesen Zugang – und somit den Ausweismissbrauch.

Bei den Komfortlesern wird die PIN am Lesegerät eingegeben, wo sie von Viren nicht mehr abgefangen werden kann. Erst mit einem solchen Gerät wäre eine halbwegs sichere Nutzung des Personalausweises wirklich möglich. Leider wurden gerade die unsicheren Basisleser in großer Zahl verteilt – die Sicherheit wurde in den Hintergrund gerückt, um möglichst viele Geräte verteilen zu können.

Für die eID-Funktion gilt ein niedrigeres Sicherheitsniveau als für die Signaturfunktion. Deswegen kann darüber zwar z. B. bei einer Onlinebestellung die Identität des Käufers geprüft werden, aber eigentlich dient die Prüfung nicht dazu, eine Transaktion wie z. B. den Kauf zu bestätigen – offiziell zumindest nicht. Wenn aber der Händler zeigen kann, dass sich der Käufer mit dem eID-Verfahren  ausgewiesen hat, wird der Ausweisinhaber kaum in der Lage sein, den Kauf zu bestreiten – auch im Fall eines Missbrauchs der eID-Funktion. Dieser Anscheinsbeweis über die Ausweisfunktion wird in der Praxis so zur Signatur – obwohl die Funktion dafür nie gedacht war und das Sicherheitsniveau daher auch nicht ausreichend hoch ist.

Dem Ausweisnutzer bietet der Ausweis in dieser Hinsicht also nicht mehr, sondern weniger Sicherheit: Bisher lag die Beweislast beim Händler, bei einer missbräuchlichen Bestellung unter falschem Namen blieb er auf dem Schaden sitzen. Mit dem ePerso wird ein Missbrauch zwar schwieriger, das Risiko wird aber auf den Ausweisinhaber abgewälzt.

Innenministerium und BSI werden nicht müde, nach jedem Angriff auf die eID-Funktion zu betonen, dass der Ausweis selbst sicher sei. Das ist jedoch ungefähr so sinnvoll, wie die Sicherheit einer Panzertür zu betonen, neben der ein offener Dienstboteneingang steht, der in den gleichen Raum führt.

Sicherheit der Signaturfunktion

Die Signaturfunktion kann man aktuell wohl als die sicherste Funktion des Ausweises bezeichnen – sie existiert schlichtweg noch nicht. Geht man davon aus, dass die Kommunikationsprotokolle ordnungsgemäß funktionieren, dürfte die Sicherheit mit gewöhnlichen Signaturkarten vergleichbar sein. Für die Nutzung der Signaturfunktion wird zwingend ein „Komfortleser“, also ein Lesegerät der höchsten Sicherheitsstufe benötigt, wodurch ein recht hohes Sicherheitsniveau erreicht wird.

Derzeit gibt es widersprüchliche Angaben, ob das sogenannte Signaturzertifikat über die eID-Funktion beantragt werden kann. Wäre dies möglich, würde die hohe Sicherheit der qualifizierten elektronischen Signatur untergraben: Wer die schwächer geschützte eID-Funktion knackt, könnte sich auf den Namen des Opfers ein Signaturzertifikat ausstellen lassen und damit dann falsche Signaturen erzeugen.

Politische Missbrauchsgefahr

Nicht zu unterschätzen ist beim ePerso auch die Missbrauchsgefahr auf politischer Ebene. Der CDU-Bundestagsabgeordnete Axel E. Fischer, der auch Vorsitzender der Enquete-Kommission „Internet und digitale Gesellschaft“ ist, hat beispielsweise gefordert, anonyme Diskussionen im Internet zu verbieten – und den Personalausweis zur Durchsetzung der Klarnamenspflicht zu verwenden. Das ist leider keine verirrte Einzelmeinung: In einem öffentlich gewordenen internen Positionspapier der Unionsfraktion findet sich die Aussage: „Eine anonyme Teilhabe am politischen Meinungs- und Willensbildungsprozess ist abzulehnen.“

In vielen Fällen ist die Möglichkeit, sich anonym zu äußern, aber Voraussetzung dafür, dass man sich überhaupt frei und unbeschwert äußern kann. Sei es, weil man in einem erzkonservativen bayrischen Dorf lebt und die katholische Kirche kritisieren will, oder weil man (ob begründet oder unbegründet spielt keine Rolle!) Angst hat, wegen seiner Meinung zukünftig staatlichen Repressalien ausgesetzt zu werden. Eine solche Forderung untergräbt daher massiv die Meinungsfreiheit. Der ePerso schafft die Voraussetzung dafür, eine solche Regelung umzusetzen.

Solange solche Forderungen regelmäßig aufkommen, muss man überlegen, ob die Möglichkeiten, die der ePerso bietet, nicht zu gefährlich sind.

Die AusweisApp und ihre Lücke

Anfangs noch „Bürgerclient“ genannt, bekam das Programm, welches den elektronischen Personalausweis mit dem Internet verbinden soll, bald wie auch der ePerso selbst einen „moderneren“ Namen: „AusweisApp“. Das soll die Akzeptanz erhöhen. Aber was ist diese AusweisApp eigentlich?

Der ePerso soll auch im Internet einsetzbar sein – man soll sich damit auch gegenüber Webseiten ausweisen können. Dazu muss der Ausweis irgendwie mit der Website Kontakt aufnehmen können. Die AusweisApp vermittelt zwischen Website und Lesegerät und erlaubt es dem Nutzer auch, beispielsweise seine PIN zu ändern oder die Identität einer Website anzuzeigen, die Ausweisdaten anfordert.

Auch wenn viele denken, die AusweisApp sei vom Bundesamt für Sicherheit in der Informationstechnik (BSI) entwickelt worden, wurde die Software von der Firma OpenLimit  programmiert. Unter anderem um Vorwürfe zu entkräften, die AusweisApp würde den „Bundestrojaner“ beinhalten, also eine Spionagesoftware für die Durchführung von Onlinedurchsuchungen, wurde zunächst zugesichert, den Quellcode des Programms offenzulegen. Dadurch könnten zumindest IT-Fachleute sich die inneren Funktionsweisen der Software anschauen. Gleichzeitig trägt eine solche Vorgehensweise auch dazu bei, dass Fehler schneller entdeckt werden, weil die Software von mehr Menschen unter die Lupe genommen wird. Das wurde beim Erscheinen der AusweisApp allerdings auf „später“ verschoben.  In einer Antwort auf eine Bürgeranfrage gab das BSI inzwischen zu, den Quellcode nicht einmal selbst geprüft zu haben – dies sei auch „nicht Bestandteil der Zertifizierung“.

Nachdem man das rund 50 MB große Paket heruntergeladen und installiert hat, verbraucht das Programm im Leerlauf üppige 130 MB Arbeitsspeicher, sobald es gestartet wurde (was auch eine ganze Weile dauert).

Der „AusweisApp-Hack“

Wie genau funktioniert aber der Angriff auf die AusweisApp, der einen Tag nach dem Erscheinen bekannt wurde?

Weil Software sich schnell weiterentwickelt und oft Fehler nachträglich korrigiert werden müssen, hat die AusweisApp eine eingebaute Updatefunktion. Bei jedem Start fragt die Anwendung bei einem Server nach, ob neue Updates zur Verfügung stehen. Wenn ja, werden diese heruntergeladen und zur Installation angeboten. Damit auf diesem Wege nur echte Updates und nicht z. B. Viren auf den Rechner des Nutzers gelangen, wird für die Update-Prüfung eine gesicherte Verbindung verwendet – die gleiche Technik, die auch beim Onlinebanking genutzt wird und eigentlich sicher ist.

Beim Aufbau einer solchen Verbindung muss der Server ein Zertifikat vorlegen. Die AusweisApp prüft nun, ob das Zertifikat gültig ist, von einer vertrauenswürdigen Stelle ausgestellt wurde und ob es tatsächlich dem Server gehört, mit dem die AusweisApp spricht – aber in der ersten Version prüfte sie nicht den Servernamen, der darin steht. Das kann man sich etwa so vorstellen, dass ein Pförtner den Auftrag hat, nur eine bestimmte Person ins Gebäude zu lassen. Kommt nun jemand an, prüft der Pförtner zwar, ob sein Ausweis echt und noch gültig ist und ob das Foto zur Person vor ihm passt – aber nicht, ob der Name im Ausweis mit dem Namen der Person übereinstimmt, die herein darf. (Der Vergleich mit dem Ausweis ist bildlich gemeint – das Zertifikat hat nichts mit der Ausweisfunktion des ePerso zu tun!)

Ein Angreifer, dem es gelingt, die Verbindung auf seinen eigenen Server umzulenken, kann sich somit gegenüber der AusweisApp in der ersten Version mit seinem eigenen Zertifikat „vorstellen“, und die AusweisApp akzeptiert dies anstandslos. So eine Umleitung ist auf viele Arten möglich, und sobald die Verbindung steht, kann ein Angreifer ein gefälschtes Update übertragen.

Das ist ein Programmierfehler, der zwar vergleichsweise leicht passiert, bei einem solchen Programm aber eigentlich nicht passieren bzw. es zumindest nicht in die fertige Version schaffen sollte. Überraschenderweise hatten die Entwickler jedoch noch eine zweite Sicherheitsebene eingebaut. Die Updates werden in Form einer ZIP-Datei heruntergeladen. Diese wird zunächst entpackt, und im Anschluss wird geprüft, ob das darin enthaltene Installationsprogramm ein gültiges „digitales Siegel“ (eine sogenannte Signatur) trägt. Ist dies nicht der Fall, wird das Paket sofort wieder gelöscht.

Hier schlägt aber ein zweiter Fehler zu: Wer schon einmal mit ZIP-Dateien gearbeitet hat, weiß, dass diese Ordner enthalten können. Der Ordnername „..“ hat im Computer eine besondere Bedeutung – er steht für „eine Ebene höher“. Beim Auspacken der ZIP-Datei bemerkt die AusweisApp nicht, wenn ein Ordner mit einem solchen Namen enthalten ist, und packt den Inhalt entsprechend an einen Ort aus, wo der Angreifer ihn haben will, er aber nicht hingehört. Gelöscht wird auch nur der Inhalt des Verzeichnisses, in welches die Dateien eigentlich entpackt werden sollen. Wenn der Angreifer also eine passende ZIP-Datei liefert, landet  seine Datei, z. B. ein Virus, auf Wunsch im Autostartordner des Computers – und wird, wie der Name schon sagt, beim nächsten Start des Computers automatisch gestartet.

Hat ein Angreifer erst einmal einen Virus auf dem Rechner installiert, befindet sich das System unter vollständiger Kontrolle des Angreifers. Er kann sämtliche Daten kopieren, verändern oder löschen, Onlinebanking-Verbindungen angreifen, Tastatureingaben und Passwörter stehlen und schließlich auch die PIN des Ausweises erfassen, falls der Nutzer diese am Computer eingibt. Die Bildschirmtastatur der AusweisApp vermittelt hier ein trügerisches Gefühl der Sicherheit – genauso wie ein Virus Tastatureingaben protokollieren kann, kann er auch Mausklicks und Bildschirminhalte erfassen.

Auch wenn das BSI behauptet, dass durch diesen Angriff die AusweisApp selbst und die persönlichen Daten auf dem Ausweis nicht gefährdet seien – mit der gestohlenen PIN kann der Angreifer dann selbstverständlich auch den Ausweis nutzen, wenn dieser auf dem Lesegerät liegt, und selbstverständlich kann ein Virus beliebige Software auf dem infizierten Rechner verändern – auch die AusweisApp. Diese Möglichkeiten sind bekannt, seit der CCC im September 2010 einen entsprechenden Angriff vorgestellt hatte. Die Voraussetzung für die sichere Nutzung des Personalausweises ist ein sicherer Rechner – und genau diese Sicherheit hat die erste Version der AusweisApp untergraben.

Der Hinweis, den Ausweis nur aufzulegen, wenn man ihn benutzen möchte, ist ebenfalls Augenwischerei: Für eine missbräuchliche Transaktion braucht ein Virus nur Sekunden.

In der aktualisierten Version der AusweisApp wurde übrigens nicht nur die Lücke geschlossen: Gleichzeitig wurde – im direkten Widerspruch zu den Open-Source-Versprechungen – die Analyse erschwert, indem Teile des Programmcodes verschleiert und unzugänglich gemacht wurden.  Aus welchem Grund das geschah, ist unklar – vielleicht, weil noch andere peinliche Lücken behoben wurden und einen Vergleich der alten und neuen Version verhindern werden soll, vielleicht, um die Aufdeckung weiterer Lücken zu erschweren, oder vielleicht aus ganz anderen Gründen. Die Befürchtung, die AusweisApp könnte einen Bundestrojaner beinhalten, wird diese Maßnahme sicherlich weiter schüren. Wer kein Windows hat, musste sich sowieso noch gedulden: Die aktualisierte Version der AusweisApp für Linux erschien erst über ein halbes Jahr später. Eine Version für MacOS ist für Ende 2011 angekündigt.

Der Nutzen des Ausweises

Was der Ausweis bringen soll, ist bekannt – doch was bringt er tatsächlich?

Der Hauptvorteil für die meisten Bürger dürfte das handlichere Format sein. Das wäre allerdings auch ohne Funkchip, biometrisches Passfoto und (derzeit noch freiwillige) Erfassung der Fingerabdrücke möglich. Für den ePerso ist es also kein Argument.

Die hoheitliche Ausweisfunktion soll die Fälschungssicherheit erhöhen. Allerdings sind Fälschungen deutscher Ausweisdokumente aufgrund der ganz normalen Sicherheitsmerkmale wie Wasserzeichen, Hologramme und Spezialfarben bereits jetzt extrem selten: In der Zeit von Januar 2001 bis September 2007 – also in über fünf Jahren – weist die Polizeistatistik gerade mal 216 Fälle von Fälschungen oder Verfälschungen von Personalausweisen auf, wie die Regierung in einer Antwort auf eine Kleine Anfrage der Linkspartei zugeben musste.

Der zusätzliche Schutz kann außerdem nur dann wirken, wenn der Ausweis zusätzlich zur Sichtkontrolle auch elektronisch geprüft wird. Auch die Fälschungssicherheit ist also kein wirkliches Argument für den ePerso.

Als Hauptvorteil wird meist die Internet-Ausweisfunktion genannt. Damit ein Seitenbetreiber diese nutzen kann, muss er jährlich rund 6000-8000 Euro für die nötigen Systeme zahlen. Je nach dem, was benötigt wird, kann er nun die Identität oder das Alter der Besucher prüfen oder den Besuchern erlauben, sich über den ePerso einzuloggen. Zumindest bei den Nutzern, die einen neuen Ausweis haben, ihre PIN kennen, ein Lesegerät besitzen, eine funktionierende AusweisApp installiert haben und bereit sind, dieses Verfahren auch tatsächlich zu nutzen – andere werden abgeschreckt oder abgewiesen.

Auch wenn eine Identitätsprüfung für den Anbieter natürlich wünschenswert ist, überwiegen doch die Nachteile. Der Kunde hat aus der Nutzung der für ihn umständlichen Identitätsprüfung über den Ausweis gar keinen Vorteil. Im Gegenteil: Im Falle eines Missbrauchs muss er für den Schaden haften.

In einem Bereich macht die eID-Funktion hingegen Sinn: Bei einigen Behörden lassen sich Informationen nun online einholen und Anträge online abgeben, für die man sonst die Behörde besuchen müsste. (Böse Zungen würden sagen, dass der Ausweis nur dort eingesetzt werden kann, wo der „Kunde“ keine Wahl hat.)

Ein Login über den ePerso hätte für den Nutzer den Vorteil, dass er sich keine Passwörter merken muss und gegenüber einem einfachen Login mit Passwort die Sicherheit tatsächlich leicht erhöht wird. Wenn der Ausweis kaputt geht, verloren wird, die AusweisApp nicht richtig funktioniert oder ähnliches, wird aber der Nutzer ausgesperrt – und der Anbieter verliert möglicherweise einen Kunden.

Daher ist auch diese Anwendungsmöglichkeit weit weniger attraktiv, als sie klingt. Außerdem wäre sie – ohne die mit einer staatlichen Lösung verbundene Bürokratie – mit existierenden und bewährten Systemen zu einem Bruchteil des Preises umsetzbar gewesen. Banken haben mit dem ChipTAN-Verfahren sowieso längst ein Verfahren entwickelt, was günstiger, einfacher und sicherer ist.

Eine weitere Anwendung des ePerso ist noch erwähnenswert: Die Altersverifikation. Wie bereits erwähnt kann man über die eID-Funktion nicht nur die Identität, sondern auch nur das Alter belegen – und zwar anonym. Das ist deswegen interessant, weil das deutsche Jugendschutzrecht für nicht jugendfreie Inhalte eine Altersverifikation zwingend vorschreibt. Deutschen (Erotik-)Anbietern ist es so bisher nur schwer möglich, solche Inhalte bereitzustellen. Das soll sich mit dem Ausweis ändern. Angesichts der bereits erwähnten Kosten für den Anbieter ist jedoch fraglich, ob die Situation dadurch wirklich verbessert wird. Statt mit dem ePerso ließe sich das Problem schließlich auch lösen, indem die Jugendschutzregelungen auf ein vernünftiges Niveau zurückgefahren werden. Dem Jugendschutz im Netz würde das nicht schaden – ausländische Anbieter bieten nicht jugendfreie Inhalte schon immer ohne besondere Altersüberprüfung an.

Die Anzahl der Anbieter, die eID nutzen, ist dementsprechend gering: Derzeit sind es laut offizieller Website gerade einmal 30 Stück. Damit ist der Ausweis auch für die Bürger relativ nutzlos, da man ihn nur an wenigen Stellen einsetzen kann. Auch wo der ePerso genutzt werden kann, nimmt kaum jemand die Möglichkeit wahr: Im ersten Jahr nach der Einführung der neuen Ausweise haben bei der deutschen Rentenversicherung gerade einmal 300 Nutzer die eID-Funktion genutzt. Nur ein Drittel der Ausweise ist überhaupt für diese Funktion freigeschaltet.

Die Signaturfunktion wäre zwar nützlich, ist aber einerseits noch nicht nutzbar und kann andererseits auch genauso gut oder besser mit regulären Signaturkarten realisiert werden. Das ELENA-Verfahren, bei welchem zahlreiche Daten über die Tätigkeit von Angestellten zentral erfasst werden, sollte ursprünglich die digitale Signatur zur Abfrage der Daten nutzen. Inzwischen hat die Regierung jedoch eingesehen, dass das Projekt mehr schadet als nutzt und beschlossen, es demnächst einzustellen. Damit haben die meisten Bürger keinen Grund, die elektronische Signatur zu nutzen.

Ohne die anonyme/pseudonyme Altersverifikations- und Loginfunktion hätte man die Ausweisfunktion übrigens auch mit bestehender, günstiger und bewährter Technik (Zertifikatskarten) umsetzen können. Für den wichtigsten Zweck (Identitätsbestätigung, insbesondere gegenüber Behörden) wäre dies völlig ausreichend, das System wäre weltweit kompatibel und es wären kaum Neuentwicklungen nötig. Aber vielleicht ist letzteres ja gerade der Grund, warum dieser Weg nicht gewählt wurde:

Den größten Nutzen vom neuen Personalausweis haben nämlich immer noch die Firmen, die an der Herstellung der Ausweise und der dafür nötigen Geräte beteiligt sind.

Kosten und Wirtschaftsförderung

Vollmundig hat die Regierung angekündigt, dass der neue elektronische Personalausweis den Bürgern endlich Sicherheit im Netz bringen würde. Wenn man sich allerdings im Bekanntenkreis umhört, interessieren sich die Menschen mehr für das handliche Kreditkartenformat.

Der entscheidende „Vorteil“ des Chip-Perso ist jedoch ein anderer: Die Einführung der neuen Technik kommt der Wirtschaft zugute. Die Bundesdruckerei, eine privatisierte GmbH die erst seit 2009 wieder in Staatsbesitz ist, stellt zwar die Ausweise her, die Chips werden aber von der niederländischen Firma NXP sowie dem deutschen Chiphersteller Infineon geliefert. Billig sind solche Chips natürlich nicht, und der Bürger darf zahlen: Statt wie bisher 8 Euro kostet ein Personalausweis nun 28,80 Euro – was bei 6,5 Millionen neuen Ausweisen pro Jahr insgesamt rund 187 Millionen jährlich sind – und somit pro Jahr rund 135 Millionen mehr als bisher.

Die Lesegeräte werden hauptsächlich von den zwei deutschen Unternehmen REINER SCT und SCM Microsystems hergestellt. Um den Einsatz des ePerso zu fördern, hat die Regierung Steuergelder in Höhe von 24 Millionen dafür ausgegeben, rund 1,5 Millionen „Sicherheitskits“ an Unternehmen wie Versicherungen und Zeitschriftenverlage zu verschenken oder verbilligt abzugeben. Diese können die „Sicherheitskits“ dann mit ihren Produkten bündeln und so – mit  Steuergeldern – Werbung für sich machen. Dazu kommen nochmal rund 16 Millionen Einführungskosten, zusammen also 40 Millionen Euro.

Bei den so geförderten Geräten handelt es sich allerdings um die „Basisleser“, welche so unsicher sind, dass Experten von der Nutzung abraten. Diese Geräte in dieser Stückzahl unters Volk zu bringen war also nicht nur eine gigantische Geldverschwendung, sondern auch noch höchst gefährlich. Die Signaturfunktion („qualifizierte elektronische Signatur“) kann auch erst mit den Lesegeräten der höheren Sicherheitsstufe genutzt werden. Diese sogenannten „Komfortlesegeräte“, mit denen der Ausweis erst vollständig genutzt werden kann, haben eine unverbindliche Preisempfehlung von schlappen 159 EUR pro Stück. (Zum Vergleich: Lesegeräte der entsprechenden Sicherheitsklasse für klassische Kontakt-Chipkarten, die nicht per Funk arbeiten, gibt es schon für knapp 40 Euro.)

Apropos Signaturfunktion: Für diese benötigt man ein Signaturzertifikat, welches von einer vertrauenswürdigen Stelle ausgestellt werden muss. Technisch ist das ein relativ anspruchsloser Vorgang – man benötigt lediglich eine sichere Umgebung, in der die verwendeten digitalen Schlüssel nicht gestohlen werden können, und die Identität des Inhabers muss geprüft werden. Das könnte also alles mit minimalem Zusatzaufwand bei der Bundesdruckerei (Erstellung in sicherer Umgebung) und den Bürgerämtern (Identitätsprüfung und Aushändigung) gemacht werden. Könnte – die Ausweise werden ohne Signaturzertifikat ausgeliefert. Dieses kann sich der Bürger dann – für rund 20 Euro pro Jahr – bei einer privaten Zertifizierungsstelle ausstellen lassen. Wahlweise auch auf einer normalen Kontakt-Chipkarte, ein ePerso ist dafür nämlich eigentlich gar nicht nötig.

Eine der größten Hoffnungen im Bezug auf den ePerso ist es jedoch, einen neuen Standard international zu etablieren – in der Hoffnung, dass deutsche Unternehmen dann die entsprechenden Produkte im Ausland anbieten können. Es ist zu befürchten, dass einige Entscheidungen auch mit Blick auf diese Möglichkeit getroffen wurden – auf Kosten der Sicherheit und statt auf existierende und bewährte Lösungen zu setzen. Kontaktlose Chipkarten bieten zwar auch einige Vorteile, bringen dafür aber einiges an Risiken und Komplexität mit sich – und damit natürlich auch Forschung und wirtschaftliches Potential.

Fazit

Wie viele staatliche IT-Großprojekte ist auch der elektronische Personalausweis gescheitert. Die Sicherheit entspricht nicht den Anforderungen, die ein solches Projekt erfüllen müsste – was man auch an der erheblichen Sicherheitslücke in der AusweisApp sieht, die direkt nach der Veröffentlichung aufgedeckt wurde.

Der elektronische Ausweis bietet Lösungen, wo es keine Probleme gibt: Er soll die Fälschungssicherheit eines Dokuments erhöhen, was als eines der fälschungssichersten weltweit gilt. Er soll die elektronische Signatur ermöglichen, die längst möglich ist. Lediglich die Ausweisfunktion ist neu – und die Teile davon, die wirklich nötig wären, hätte man auch mit bestehender Technik einfacher haben können.

Der Nutzen für die Bürger hält sich in Grenzen: Behördengänge sind bei einigen wenigen Behörden online möglich, ansonsten kann der Ausweis kaum irgendwo genutzt werden. Die Akzeptanz ist gering, selbst wo der Ausweis genutzt werden kann, tun das nur sehr wenige Nutzer. Neben den bekannt gewordenen Sicherheitslücken verursacht der Ausweis neue Gefahren. Bei Onlineeinkäufen könnte er das Risiko vom Händler auf die Kunden verlagern, und er bietet gegenwärtigen und zukünftigen Regierungen ein mächtiges Instrument, um anonyme Meinungsäußerung im Internet zu unterdrücken – entsprechende Wünsche werden vor allem aus Reihen der Union auch regelmäßig geäußert.

Die Einführung des neuen elektronischen Personalausweises hat viel Geld gekostet. Angesichts der offensichtlichen Wünsche, ein exportierbares Produkt zu entwickeln, wird deutlich, dass Wirtschaftsförderung zumindest ein Grund für die Einführung war – wenn nicht sogar der Hauptgrund, hinter dem andere Aspekte zurücktreten mussten. Der Großteil der Kosten aber fällt ständig mit der Ausstellung neuer Ausweise an – und muss über die Ausstellungsgebühren direkt von den Bürgern getragen werden. Da die jährlichen Kosten die Einführungskosten massiv übersteigen, ist es nie zu spät, das Projekt einzustampfen, und wieder chipfreie Ausweise auszugeben. Den für die Bürger größten Vorteil des neuen Personalausweises kann man dabei sogar beibehalten: Das handliche Kreditkartenformat.

Für die Wirtschaft bleibt ja noch der ePass, die elektronische Gesundheitskarte, DE-Mail, ggf. eine Neuauflage von ELENA, und sicher noch andere „sinnvolle“ Projekte…

Schlechte Nachrichten für Bürgerrechte

2011-11-07 5 Kommentare

Leider bin ich nicht direkt dazu gekommen, diese Zusammenfassung zu schreiben, aber vielleicht ist es ja auch besser, diese „tollen“ Beschlüsse unserer Regierung mal gesammelt zu sehen, nachdem man sie schon vergessen wollte. Um den folgenden Mist zu beschließen, haben die Parlamente übrigens nur zwei Tage (27. und 28.10.) gebraucht.

Fangen wir an mit dem Beschluss, dass das Erststudium nicht als Werbungskosten absetzbar ist. Über den Sinn dieser Änderung kann man sich streiten, aber der wirkliche Hammer kommt zum Schluss: Um die armen Besserverdiener unter den Studierenden nicht zu überlasten, können z. B. teure Privatunis jetzt besser abgesetzt werden. Unsere Regierung kann wohl nichts beschließen, ohne der FDP-Klientel noch ein paar Geschenke mit einzupacken.

Weiter gehts mit dem „Schuldenschnitt“ für Griechenland. Statt einem wirklichen Schuldenschnitt (ein Teil der Schulden verfällt) sollen die (wertlosen) Griechenland-Anleihen zu 50% des Nennwerts (also deutlich über dem tatsächlichen Wert) in europäische oder von der EU garantierte Anleihen umgetauscht werden. Statt einem Schuldenschnitt gibt es also auch hier Geschenke, diesmal vor allem für die Banken.

Dafür wollte unsere Regierung auch mal was dem Volk schenken, zum Beispiel kostenlose Warteschleifen und ein Ende des Abofallenbetrugs im Internet. In der entsprechenden Reform des Telekommunikationsgesetzes hat sie leider „vergessen“, Breitband-Internet zum Universaldienst zu machen (womit die Anbieter wie bei Trinkwasser und Telefon verpflichtet wären, es überall bereit zu stellen). Auch die Netzneutralität, die eigentlich in die Reform rein sollte, ist wohl nicht so ganz verankert worden. Dafür wurde in dem netten Paket mal eben die Vorratsdatenspeicherung versteckt – und zwar in letzter Sekunde und dann schnell beschlossen, damit das Parlament ja nicht merkt, worüber es gerade abstimmt.Zwar ist die neue Vorratsdatenspeicherung nicht verpflichtend, aber dafür dürfen die Provider jetzt freiwillig speichern. Angesichts dessen, dass viele das schon bisher (illegal!) getan haben, dürfte sich ein großer Datenberg ansammeln, aus dem sich die Ermittlungsbehörden bedienen können. Somit hat die Regierung zwar mal wieder „Für unsere Bürger“ auf das Paket draufgeschrieben, mit dem Inhalt spielen werden aber vor allem die Ermittlungsbehörden. Einige populäre Verbesserungen beim Verbraucherschutz (die durchaus dringend nötig waren!) hat die Regierung aber doch reingepackt – vermutlich, um es dem Bundesrat schwerer zu machen, das Gesamtpaket abzulehnen. Der Bundesrat ist nämlich fest in der Hand der Opposition, und dort muss das Gesetz noch durch. Hier ist die Hoffnung also noch nicht ganz verloren – auch wenn man davon ausgehen kann, dass die Verräterpartei ihrem Namen wieder gerecht wird, obwohl sie im Bundestag dagegen gestimmt hat.

Aber wo wir bei Überwachungsgeschenken sind: Die Linke hat beantragt, jemandem etwas wegzunehmen. Nämlich der Polizei das Recht, den Bundestrojaner zu nutzen, nachdem diese gezeigt hat, wie „verantwortungsvoll“ sie damit umgehen kann (zur Erinnerung). Dass der Antrag gegen die Stimmen von Union und FDP keine Chance hat, war klar. Dennoch konnte die SPD (als Oppositionspartei!) sich nicht nehmen lassen, gegen den Antrag und somit für den Bundestrojaner zu stimmen. Würde jeder Missbrauch eines Überwachungsrechts dazu führen, dass es eingeschränkt oder zurückgenommen wird, würden die Ermittlungsbehörden vielleicht lernen, damit verantwortungsvoller umzugehen. Schade, dass diese Chance, hier den Anfang zu machen, verpasst wurde.

Stattdessen hat die Bundesregierung lieber mal die Anti-Terror-Gesetze verlängert – und nebenbei noch ein wenig verschärft, indem sie z. B. Geheimdiensten die „Selbstbedienung“ an den Flugreisedaten erlaubt haben. Auch hier hat die SPD sich wieder einmal als Verräterpartei betätigt und trotz Oppositionsrolle gegen Bürgerrechte und für die Verlängerung gestimmt. Ach, und wo wir schon bei „Anti-Terror“ sind, hier noch ein alter, aber guter Artikel von heise/c’t zur Anti-Terror-Datenbank, wo man sieht, was da so alles gespeichert wird. Die Lobby, die dafür sorgt, dass solche „Sicherheits“gesetze produziert werden, hat übrigens Jörg Tauss für Gulli aufgedeckt.

Das Europäische Parlament hat sich natürlich nicht lumpen lassen und gleichzeitig ein Abkommen beschlossen, nach dem Australien die Flugreisedaten erhält und fünfeinhalb Jahre speichern darf. Mit 463 zu 96 Stimmen übrigens, falls noch irgendwelche Hoffnungen bestanden, das EU-Parlament würde sich für Datenschutz und Bürgerrechte einsetzen. Die übermittelten Daten enthalten unter anderem Kreditkarten- und Telefonnummern, IP-Adressen und besondere Essenswünsche (aus denen vermutlich auf die Religion geschlossen werden soll, die nicht explizit übermittelt wird). Auch ein nettes Geschenkpaket, oder?

Das einzig halbwegs Erfreuliche waren die Nachrichten über den ePerso ein paar Tage später. Schade um die verschwendeten Steuergelder, aber gut für die Bürgerrechte – wie erwartet folgte der ePerso dem Schicksal der meisten IT-Großprojekte von Bundesregierungen und wurde ein grandioser Fehlschlag: Sicherheitslücken ohne Ende, kaum Angebote, kaum Nutzer bei bestehenden Angeboten, nicht einmal die Hälfte der Ausweise mit aktiver eID-Funktion – aber leider auch schon wieder Ideen, wie man den Perso z. B. mit einer DNA-Datenbank „verbessern“ könnte.

ePerso kann remote missbraucht werden

2011-08-08 31 Kommentare

In meinem letzten Artikel zum ePerso (PIN-Diebstahl ohne Malware) stellte ich eine Möglichkeit vor, wie ein Angreifer an die PIN des ePerso gelangen kann, indem er eine falsche AusweisApp vortäuscht.

Wie ich erwartet hatte gab es daran viel Kritik: Einerseits sei das ja kein richtiger Angriff, weil „nur“ der Nutzer getäuscht wird, andererseits hätte der Angreifer ja „nur“ die PIN, mit der er nichts anfangen könne, weil er ja keinen Zugriff auf den Personalausweis selbst hätte.

Ersteres spielt für das Ergebnis keine Rolle: Der Angriff funktioniert gegen durchschnittliche Nutzer sehr gut, und der Angreifer hat am Ende die PIN. Damit wären wir beim zweiten Einwand: Die Authentifikation mit dem Ausweis ist eine sogenannte Zwei-Faktor-Authentifikation – man benötigt PIN und Ausweis. Mit der PIN alleine kann der Angreifer somit tatsächlich noch nicht direkt einen Angriff durchführen – aber er hat einen der beiden Faktoren überwunden. Das wird interessant, sobald ein Angriff den anderen Faktor überwindet. Alleine wäre auch dieser neue Angriff „wertlos“, verbunden mit der gestohlenen PIN ermöglicht er jedoch den Missbrauch des Ausweises.

Genau einen solchen zweiten Angriff habe ich nun gefunden. (Nachtrag: Wurde von Heise verifiziert.) Dadurch kann der Angreifer, wenn die im Folgenden erklärten Bedingungen zutreffen, sich mit dem Personalausweis des Opfers ausweisen. (Ich denke, jetzt sieht man auch, warum der PIN-Angriff sehr wohl ein Problem war!)

Weil das Missverständnis öfter aufkam: Der PIN-Diebstahl-Angriff ist kein simpler Phishing-Angriff. Bei einem Phishing-Angriff wird das Opfer auf die Seite des Angreifers gelockt, aber im Glauben gelassen, dass es z. B. die Seite seiner Bank besucht – denn nur dort dürfen die Bank-Zugangsdaten eingegeben werden. Auf den falschen Link reinzufallen ist ein vermeidbarer Fehler des Opfers. Hier jedoch kennt das Opfer die Identität der Seite. Ein legitimer Ausweisevorgang beginnt mit dem Besuch einer fremden Seite, wo dann die AusweisApp aufpoppt – genau wie beim Angriff. Dieser Angriff ist also deutlich schwerer erkennbar als Phishing – vor allem, weil Banken etc. dem Nutzer erklären, wie er sich schützen soll (Bank-Website manuell aufrufen), während auf die wenigen Warnzeichen für eine falsche AusweisApp nirgendwo hingewiesen wird.


Demo des Angriffs auf YouTube

Die von der ComputerBild als Beilage verteilten Starterkits bestehen aus einem Reiner SCT-Basislesegerät sowie einer LoginCard, mit der man sich Online einloggen können soll. Dazu muss eine Software (Browserplugin) von ReinerSCT installiert werden, die Websites Zugriff auf das Lesegerät gibt.

Über dieses sogenannte OWOK-Plugin kann eine Website (nach Bestätigung, siehe unten) frei mit der Karte kommunizieren. Die OWOK-Software habe ich als erstes untersucht, weil der Nutzer bei den Computerbild-Starterkits zur Installation aufgefordert wird, sie also bei vielen Ausweisinhabern vorhanden sein dürfte. Die Software nutzt dafür anscheinend das von den Sparkassen entwickelte SIZCHIP-Plugin – d.h. das gleiche Problem dürfte mit vielen anderen Plugins, z. B. mit dem Geldkarten-Plugin, bestehen.

Pro Website wird der Benutzer einmal gefragt, ob er diesen Zugriff zulassen soll. Diese Frage sollte eigentlich vor dem Angriff schützen, da der Nutzer ja darauf aufmerksam gemacht wird und zustimmen muss. Dabei gibt es jedoch mehrere Probleme:

  1. Der Nutzer erwartet beim oben erwähnten PIN-Diebstahl-Angriff, dass der ePerso benutzt wird. Die Frage nach dem Zugriff auf dem Chipkartenleser dürfte den meisten Nutzern daher logisch vorkommen und meist bejaht werden. Nutzer mit gutem Hintergrundwissen über die Technik könnten an dieser Stelle aufmerksam werden – diese zählen jedoch zu einer kleinen Minderheit.
  2. Sobald der Nutzer einmal die Entscheidung getroffen hat, scheint diese dauerhaft gespeichert zu werden. Indem der Angreifer das Plugin unter einem Vorwand einige Zeit vor dem Angriff das erste mal aktiviert, kann er verhindern, dass der Nutzer beim eigentlichen Angriff misstrauisch wird.
  3. Die Anfrage besteht aus einem Dialogfenster, was an einer vorhersehbaren Position (Bildschirmmitte) auftaucht, sobald das Plugin geladen wird. Das kann sich der Angreifer zunutze machen, indem er den Nutzer animiert, wiederholt schnell auf die „richtige“ Stelle zu klicken (z. B. durch ein Spiel), und dann erst das Dialogfenster auslöst. Viele sicherheitskritische Dialogfenster in Browsern aktivieren die Schaltflächen inzwischen erst nach einer kurzen Verzögerung, um solche Angriffe zu verhindern.
  4. Einige im Plugin vordefinierte Seiten können ohne diese Sicherheitsabfrage zugreifen. Gelingt es, in einer dieser Seiten z. B. eine XSS-Lücke zu finden, kann man die Sicherheitsabfrage umgehen, indem man den Angriff im Kontext der Seite durchführt. Eine solche Lücke habe ich gefunden – die Sicherheitsabfrage kann also umgangen werden.

Dieser Angriff setzt also voraus:

  • Das Opfer hat z. B. das von der ComputerBild verteilte Starterset nach Anleitung installiert
  • Das Opfer fällt auf den PIN-Diebstahl-Angriff mit einer falschen AusweisApp herein
  • Das Opfer bestätigt dabei (oder irgendwann vorher!) die Sicherheitsabfrage „Darf von (Seitenname) auf Chipkartenleser zugegriffen werden?“ oder der Angreifer umgeht die Sicherheitsabfrage über eine XSS-Lücke (siehe oben)
  • Der Ausweis liegt auf dem Lesegerät (folgt bereits aus dem Hereinfallen auf den PIN-Diebstahl-Angriff)

Sobald diese Voraussetzungen erfüllt sind, hat der Angreifer über das Plugin Zugriff auf den Kartenleser und den darauf liegenden Ausweis, und befindet sich im Besitz der PIN. Damit gilt:

  • Der Angreifer kann mit der Identität des Ausweisinhabers Aktionen durchführen, und diese mit dem fremden Ausweis bestätigen.
  • Der Angreifer kann sich auch in Benutzerkonten des Ausweisinhabers, die Login via Ausweis zulassen, einloggen, und dort z. B. Daten ausspähen oder weitere Aktionen durchführen.

Der Angreifer braucht also insbesondere weder Malware auf dem Rechner des Nutzers, noch muss er man-in-the-middle-Attacken fahren. Er muss lediglich Besucher auf seine Seite locken und dort mit der falschen AusweisApp täuschen!

Folgen

Der Angreifer kann den Ausweis und somit die bestätigte Identität des Opfers missbrauchen. Das Opfer bekommt dies nicht mit, da ihm z. B. eine erfolgreiche Altersverifikation vorgetäuscht wird. Da die Identitätsbestätigung über den Ausweis einen sehr starken Anscheinsbeweis liefert, wird das Opfer nur sehr schwer belegen können, dass eine Aktion von einem Angreifer und nicht vom Opfer selbst durchgeführt wurde.

Dabei wäre beispielsweise ein Szenario denkbar, bei dem ein Onlineshop Lieferung auf Rechnung anbietet, wenn der Käufer sich per Ausweis identifiziert – soweit ich weiß eines der öfter genannten Beispiele für eine mögliche Anwendung des ePersos. Würde ein Angreifer mit der Identität des Opfers eine Bestellung tätigen, würde der Händler sein Geld beim Opfer einfordern – und hätte vor Gericht dank der Ausweisprüfung gute Chancen, dies auch durchzusetzen. Auch wäre denkbar, dass der Angreifer ein Konto im Namen des Kunden eröffnet und für Betrügereien missbraucht – mit der Folge, dass das Opfer für diese Taten verantwortlich gemacht wird.

Totalversagen

Zum Glück gibt es eh kaum Dienste, die wirklich mit dem ePerso genutzt werden können. SCHUFA und die Flensburg-Punkteauskunft schicken die Zugangsdaten bzw. Infos separat per Post, sodass der Ausweis hauptsächlich als Formularausfüllhilfe dient, und ansonsten kann man damit Onlinepetitionen unterschreiben und kommt vielleicht bei ein paar Versicherungen ins Kundenmenü. Kurz: Unabhängig von den Sicherheitsproblemen hat das Projekt versagt.

Wie in diesem Beitrag erklärt, bin ich der Meinung, dass der ePerso vor allem als Instrument zur Zerstörung der Freiheit und Anonymität im Netz taugt und früher oder später auch dafür verwendet werden wird. Entsprechende Forderungen hat der Bundesinnenminister Friedrich erst gestern wieder gebracht. Wie das aussehen wird, sobald die Mehrheit der Bevölkerung einen ePerso besitzt, ist also absehbar. Wenn Kritik nicht mehr Anonym geäußert werden darf, leidet die Meinungsfreiheit massiv, da viele sich aus Angst vor möglichen Folgen nicht trauen, ihre Meinung zu sagen.

Davon abgesehen ist der ePerso eine sinnlose Wirtschaftsförderungsmaßnahme auf Steuerzahlerkosten. Neben den subventionierten Starterkits sieht man das am Besten daran, dass die Bürger ihre Signaturzertifikate von privaten Unternehmen kaufen müssen (für rund 20 Euro pro Jahr), statt sie zusammen mit dem Personalausweis direkt zu erhalten.

Die Entwicklung und Einführung des Ausweises sollen „nur“ rund 50 Millionen gekostet haben. Gegenüber dem alten Ausweis müssen die Bürger für den ePerso rund 20 Euro mehr zahlen. Bei 6,5 Millionen neuen Ausweisen pro Jahr kommen auf die Bürger jährliche Mehrkosten von 130 Millionen zu. Es ist also nie zu spät, das Projekt noch einzustampfen!

Apropos Signatur: Die geht mit dem Ausweis immer noch nicht, weil die entsprechende Version der AusweisApp auf sich warten lässt. Genauso übrigens, wie eine auf MacOS lauffähige Version.

Gegenmaßnahmen

Folgende Dinge können getan werden, um den Angriff zu erschweren bzw. zu verhindern:

Nutzer können:

  • Den neuen Ausweis nicht im Internet nutzen, niemals an Lesegeräte halten und ggf. in einer abschirmenden Hülle transportieren
  • Wenn sie den Ausweis im Netz nutzen wollen, ausschließlich Lesegeräte der höheren Sicherheitsstufen (eigenes PIN-Pad) einsetzen und die PIN ausschließlich auf dem Lesegerät eingeben. Weiterhin muss das eigene System sicher und virenfrei gehalten werden!
  • Ihren alten Ausweis solange es geht behalten
  • Plugins, die Chipkartenzugriffe erlauben, deinstallieren.

Reiner SCT (bzw. die für den Kern des Plugins verantwortliche Firma) kann:

  • Die Sicherheitsabfrage vor jedem Zugriff auf das Lesegerät stellen (sollte nur bei Loginvorgängen nötig sein) und sie deutlicher formulieren
  • Die APIs des Plugins einschränken, sodass Websites nur noch vordefinierte Funktionen der Karten auslösen können

Das hilft aber nur, wenn alle Hersteller vergleichbarer Plugins das auch tun.

Die Projektverantwortlichen können:

  • Die unsicheren Basislesegeräte endlich abschaffen (nicht mehr für die Nutzung mit dem ePerso zulassen). Das ist die einzige Möglichkeit, die das Problem wirklich löst. Allerdings sind die besseren Geräte teuer und somit nicht gerade gut für die Akzeptanz.
  • Das Projekt begraben und nicht noch mehr Geld verschwenden
  • Die AusweisApp so umbauen, dass sie exklusiven Zugriff auf den Leser nimmt und ihn so für andere Anwendungen sperrt. Das würde Angriffe erschweren oder verhindern, allerdings nur, solange die AusweisApp auch läuft.

Aufgrund der Reaktion des BMI auf meinen ersten Angriff (falsche Behauptung, ich hätte den Angriff länger gekannt und absichtlich zurückgehalten) musste ich leider mit Versuchen rechnen, diese Angriffsmöglichkeit zu vertuschen. Daher habe ich mich entschieden, die Hersteller vor der Veröffentlichung nicht zu benachrichtigen (außer im Fall der XSS-Lücke). Am Besten vor dem Angriff schützen kann sich immer noch der Nutzer allein (durch Deinstallation der Browserplugins), sodass möglichst schnelle öffentliche Aufklärung über diese Gefahr meiner Meinung nach sinnvoll ist.

Die Schuld an dieser Lücke sehe ich übrigens weniger bei den Pluginentwicklern, auch wenn es keine gute Idee und ziemlich unnötig ist, Websites uneingeschränkten Low-Level-Zugriff auf Chipkarten zu geben. Das Hauptproblem ist die bescheuerte Idee, für eine derart sicherheitsrelevante Anwendung unsichere Lesegeräte (Basisleser/Klasse-1-Leser) nicht nur zu verwenden, sondern auch noch aus Steuergeldern zu fördern.

Technische Details

Das OWOK/SIZCHIP-Plugin erlaubt es der Website, per JavaScript einen Kanal zur Chipkarte zu öffnen und darüber beliebige Befehle (APDUs) zu schicken (und die Antworten zu lesen). Ein Angreifer würde diese Befehle von einem Server abholen, auf welchem eine AusweisApp (oder eine äquvivalente Software) läuft. Statt an ein echtes Lesegerät würden die APDUs, die die AusweisApp an die Karte schicken will, über AJAX zum JavaScript im Browser des Opfers geschickt. Dort würden sie über das Plugin an den Ausweis gesendet, und die Antwort würde auf dem umgekehrten Weg wieder zur AusweisApp kommen.

Ich habe hierzu zwei Proof-of-concepts erstellt. Für beide muss ein Lesegerät, das OWOK-Plugin sowie eine kompatible Karte (nicht unbedingt ein Ausweis) vorhanden sein.

Einer (attackwebsite) basiert auf der falschen AusweisApp (die bereits im „FSK18-Bereich“ der Piratenpartei zu sehen war). Er demonstriert, wie ein kompletter Angriff ablaufen würde. An den Ausweis (bzw. die Karte) wird hier nur der Befehl zum Auswählen der ePass-Anwendung geschickt, sodass man die unterschiedlichen Antworten von Ausweisen im Vergleich zu anderen Karten sehen kann.

Der zweite PoC (shellserver) implementiert das Abholen der Befehle über AJAX. Es kann entweder zum einfachen Testen ein fest im Server eingetragener Befehl an das Opfer geschickt werden, oder aber die Karte auf dem Lesegerät des Opfers wird an eine modifizierte cyberflex-shell angeschlossen, von wo dann beliebige Anfragen gestellt werden können.

Die PoCs kann man hier herunterladen, den ersten davon gibt es auch live unter https://fsk21.piratenpartei.de.

Den XSS-Angriff habe ich an Heise mit Bitte um Verifikation und anschließende Weiterleitung an den Seitenbetreiber gemeldet. Die Redaktion konnte ihn nachvollziehen.

Sicheres Onlinebanking? Kostet extra!

2011-01-19 28 Kommentare

Die Postbank schaltet das iTAN-Verfahren zugunsten „sichererer“ Verfahren ab. Das iTAN-Verfahren, also die Eingabe eines Einwegkennworts von einer gedruckten Liste, ist bei einem verseuchten Computer über einen Trojaner angreifbar, der die Überweisungsdaten verändert. Der Schritt ist also erstmal logisch, nachvollziehbar und scheint sinnvoll zu sein.

Als Ersatz werden zwei alternative Verfahren angeboten: Die mTAN, bei der eine TAN auf das Handy geschickt wird, und die chipTAN (auch smartTAN genannt), bei der die TAN von einem speziellen Gerät in Verbindung mit der Bankkarte erzeugt wird. Bei beiden Verfahren werden die Trasaktionsdetails (Betrag, Empfängerkonto, …) auf einem separaten Gerät (Handy bzw. TAN-Generator) angezeigt. Dadurch kann ein Trojaner nicht mehr die Überweisung unbemerkt ändern. Vor diesem Problem schützen beide neuen Verfahren. Alle drei Verfahren, also iTAN, mTAN und chipTAN, stellen zusammen mit der PIN des Nutzers eine Zwei-Faktor-Authentifizierung dar: der Nutzer muss geheimes Wissen (die PIN) beweisen, und den Besitz eines physikalischen Gegenstands (TAN-Liste, Handy, TAN-Generator+Karte).

Im Folgenden wird davon ausgegangen, dass es einem Angreifer irgendwie gelungen ist, an die PIN zu kommen – was ohne einen Trojaner auf dem Rechner schwierig ist und in dem Fall die Gefahr relativiert, mit einem Trojaner jedoch trivial ist. Aufgrund der Zwei-Faktor-Authentifizierung sollte der Angreifer alleine mit der PIN (ohne den Besitz des entsprechenden Gegenstandes) nichts anfangen könnten.

Solange kein Trojaner auf dem Rechner ist und die TAN-Liste geheim bleibt, ist das iTAN-Verfahren sicher. Beim mTAN-Verfahren hingegen sieht es bereits anders aus: Hier muss nicht der PC, sondern das Handy sicher sein. Mit steigender Verbreitung von Smartphones und eher mangelhafter Sicherheit derselbigen wird das immer schwieriger. Während es für gewöhnliche Nutzer schwieriger ist, den Computer statt das Handy sauberzuhalten, kann das bei „Powerusern“ genau umgekehrt aussehen. Gelangt ein Angreifer in den Besitz der PIN und kann gleichzeitig das Handy mit Malware verseuchen, kann er das Konto plündern. (Update: Kunden einer spanische Bank sollen auf diese Weise angegriffen worden sein, das ist also keineswegs graue Theorie. Danke an wopot für den Hinweis! Update 2: Jetzt warnt auch das BSI vor dieser Art von Angriff. Update 3: Und jetzt gibts schon gezielte Angriffe auf deutsche User, ausgehend von einem verseuchten Rechner. QED.)

Eine weitere Gefahr bei der mTAN entsteht durch das Mobilfunknetz: Die mTANs werden per SMS verschickt. Diese sind bei der Übertragung nur sehr schlecht geschützt, und es existieren Angriffe, die SMS-Nachrichten an eine bestimmte Nummer bereits im Handynetz umleiten können. Beispiele für Angriffsmöglichkeiten wären: Die Nummer des Opfers portieren lassen, Klonen der SIM-Karte/des Handies, Abhören der SMS-Übertragung irgendwo zwischen Bank und Handy, das Bestellen einer neuen SIM-Karte, und und und. Darüber hinaus ist das meist immer mitgenommene Handy einer höheren Diebstahlsgefahr ausgesetzt als die TAN-Liste, die sicher zu Hause verwahrt wird.

Die mTAN ist im Szenario „PIN dem Angreifer bekannt, Rechner sauber“ somit weniger sicher als die iTAN.

Auch im Szenario „Computer verseucht“ beitet die mTAN keinen vollständigen Schutz: Heutige Smartphones werden oft mit dem Rechner verbunden, und ein Virus, der vom Computer auf das Smartphone überspringt um die mTANs zu stehlen ist technisch möglich und höchstwahrscheinlich nur eine Frage der Zeit. (In diesem Fall versagt jedoch das bisherige iTAN-Verfahren ebenfalls.)

Das andere Verfahren, die chipTAN, ist nahezu ideal: Ein separates Gerät, welches ausschließlich für die TAN-Erzeugung genutzt wird, zeigt die Überweisungsdaten an und generiert anhand der Bankkarte eine nur für diese Überweisung gültige TAN. Auch hier gibt es zwar Angriffe, diese nutzen jedoch ähnlich wie mein letzter ePerso-Angriff Fehler des Nutzers aus. Mit einer eindeutigen Bedienungsanleitung können diese weitgehend vermieden werden. Dieses Verfahren ist selbst dann sicher, wenn alles außer dem chipTAN-Generator virenverseucht ist, da die Prüfung der Überweisungsdaten auf dem Display des Generators stattfindet. Da dieses Gerät eine abgeschlossene Einheit mit minimalem Funktionsumfang (und somit kaum Angriffsfläche) darstellt, dürfte es vor Viren sicher sein.

Das Problem: Die iTAN wird bei der Postbank abgeschafft, Kunden haben also nur noch die Wahl zwischen mTAN und chipTAN. Nur die mTAN kann allerdings ohne weitere Kosten für den Nutzer genutzt werden. Das weitaus bessere chipTAN-Verfahren erfordert, dass der Nutzer 12-15 Euro für ein passendes Lesegerät ausgibt. Das wird die Akzeptanz dieses Verfahrens nicht gerade fördern. Das mTAN-Verfahren ist aber in bestimmten Fällen weniger sicher als die bisherigen iTANs. Durch das von den Banken behauptete hohe Sicherheitsniveau könnte das im Missbrauchsfall für den Kunden ein ziemliches Problem vor Gericht werden.

Gleichzeitig machen die Preise für die TAN-Generatoren übrigens deutlich, was für eine Gelddruckmaschine die ePerso-Kartenleser mit Verkaufspreisen im dreistelligen Bereich sind bzw. welche Preisklasse die ordentlichen Lesegeräte haben dürften, wenn man sie statt der unsicheren Basisleser in großen Mengen herstellen lässt.

Zusammenfassung:
– Die iTAN ist gegen verseuchte Computer anfällig. Dies ist derzeit das größte Problem beim Onlinebanking.
– Die Abschaffung der iTAN wird insgesamt betrachtet die Sicherheit erhöhen
– Die mTAN kann das Problem lindern, aber nicht lösen.
– Die mTAN bietet in bestimmten Szenarien einen geringeren Schutz als die iTAN
– Die chipTAN hat ein sehr hohes Sicherheitsniveau, kostet aber den Nutzer Geld
– Einige Nutzer werden durch diese Änderung ein niedrigeres Sicherheitsniveau als bisher haben. Sicheres Onlinebanking kostet extra.
Die Nutzung des chipTAN-Verfahrens kann ich nur empfehlen.

Meiner Meinung nach sollten die Banken die chipTAN als Standardverfahren verwenden und genauso wie sie den Kunden ec-Karten zur Verfügung stellen, kostenlose TAN-Generatoren anbieten.

Durch die Nutzung eines separaten Geräts für die Erzeugung der TANs dürfte das chipTAN-Verfahren übrigens deutlich sicherer sein als die eID-Anwendung des ePersos – obwohl die Hardware einen Bruchteil kostet. Mit einem ähnlichen Ansatz (sichere Eingabegeräte mit Display und Tastatur im Besitz des Nutzers) ließen sich auch EC-Kartenzahlungen deutlich sicherer gestalten – da gibt es nämlich auch schon Sicherheitslücken.

Auch bei digitalen Signaturen sollte ein sicheres Signiergerät den zu signierenden Inhalt in einem simplen Fomat (z. B. Plaintext oder Bitmap) nochmal auf einem eigenen Display anzeigen und nur genau das signieren, was angezeigt wurde. Aber bis sich so etwas etabliert, dürften Jahrzehnte vergehen.

ePerso: PIN-Diebstahl ohne Malware

2011-01-17 61 Kommentare

Der CCC hatte im September 2010 einen Angriff gegen den ePerso präsentiert: Ein Trojaner auf dem PC des Nutzers kann die PIN abfangen, wenn der Nutzer sie über die Tastatur eingibt. Das ist für jeden, der sich ein wenig auskennt, keine Überraschung – aber durchaus ein großes Problem für den realen Einsatz des Personalausweises.

Ich habe nun einen Angriff entwickelt, der in der Lage ist, die PIN des Nutzers zu stehlen, ohne Malware auf dem Rechner des Nutzers zu installieren. Wer sich das mal anschauen möchte, kann ja die Altersverifizierung für den (fiktiven) FSK18-Bereich der Piratenpartei-Website durchführen. (Die PIN wird bei der Demo natürlich nicht an den Server gesendet.) Wer den Angriff testen will, sollte das jetzt erstmal tun und nicht weiterlesen.

v

v

v

Man kann den Angriff auch ohne Ausweis, Lesegerät und AusweisApp testen: Einfach eine sechsstellige PIN ausdenken und so tun als sei die AusweisApp installiert, das Lesegerät angeschlossen und der Ausweis aufgelegt.

v

v

v

Der Angriff funktioniert ganz einfach: Mit JavaScript, HTML und Screenshots (also Bildern) wird eine AusweisApp im Browser simuliert. Der Nutzer denkt, er würde die echte AusweisApp sehen, und gibt seine PIN ein. In diesem Fall wird nach der PIN-Eingabe eine Auflösung angezeigt, bei einem echten Angriff bekäme der Nutzer eine Fehlermeldung zu sehen, damit er keinen Verdacht schöpft, und seine PIN würde an den Server geschickt. Die Fehlermeldung wäre auch nichts besonderes – bei den meisten Seiten funktioniert die Ausweisfunktion eh nicht. (Und auch sonst funktioniert an dem ganzen Projekt ziemlich wenig: Die Änderungs-Terminals spinnen, Sonderzeichen machen Probleme, und so weiter.

Bei dieser Simulation ist es nicht möglich, die PIN über die eingebaute Bildschirmtastatur einzugeben, die entsprechende Schaltfläche fehlt. Das hat allerdings nichts damit zu tun, dass das prinzipiell nicht möglich wäre, sondern dass ich faul bin und keine Lust hatte, noch ein Dialogfeld detailgetreu nachzubauen. Sollte also jemand als „wirksame“ Gegenmaßnahme vorschlagen wollen, die Bildschrimtastatur zu nutzen, kann ich das gerne noch nachreichen. Die Bildschirmtastatur schützt lediglich vor sehr einfachen Keyloggern, und vermittelt ansonsten nur ein falsches Gefühl der Sicherheit. Wer Ausweise missbrauchen will, wird sich beim Trojanerschreiben die Mühe machen, auch Eingaben über die Bildschirmtastatur zu erkennen – das ist keine Kunst, sondern Fleißarbeit.

Dieser Angriff nutzt keine Sicherheitslücke im Ausweis oder der AusweisApp aus, sondern die Tatsache, dass Nutzer nicht in der Lage sind, echt aussehende von echten Fenstern zu unterscheiden. Das könnte zwar zu der Behauptung führen, dass dieser Angriff -in der Theorie- gar kein richtiger Angriff sei – das Ergebnis ändert das aber nicht: Der Angreifer hat am Ende die PIN des Nutzers.

Diese Funktionsweise macht es umso schwieriger, den Angriff zu verhindern: Die letzte Sicherheitslücke in der AusweisApp, die ich gefunden hatte, ließ sich mit ein paar Zeilen Code und einem Update lösen. Dieses Problem hingegen lässt sich nur lösen, indem man den Nutzern beibringt, worauf sie zu achten haben – und sie dazu erzieht, auch tatsächlich daran zu denken, jedes mal auf diese Merkmale zu achten. Das ist allerdings sehr schwierig.

Bei unvorsichtigen Nutzern könnte dieser Angriff selbst dann funktionieren, wenn der Nutzer ein Lesegerät der höheren Sicherheitsstufe hat, bei denen man die PIN normalerweise über das Lesegerät eingibt. Eigentlich sollte es dem Nutzer auffallen, wenn er die PIN plötzlich am Rechner eingeben soll – aber wie viele Nutzer, die von den Sicherheitskonzepten keine Ahnung haben, werden die PIN trotzdem über die Computertastatur eingeben, wenn der Computer sie dazu auffordert und die Eingabe über das Lesegerät nicht akzeptiert?

Um sich gegen diesen Angriff zu schützen, muss man lernen, falsche von echten Fenstern zu unterscheiden. Im Browser wird die Website in einem bestimmten Bereich angezeigt. Lässt sich ein Fenster aus diesem Bereich heraus verschieben, dann handelt es sich zumindest um ein richtiges Fenster. Allerdings können Webseiten auch Popup-Fenster öffnen, die sich dann frei verschieben lassen. Bei allen gängigen Browsern kann die Website dabei zwar viele Teile des Browserfensters ausblenden, aber die Adressleiste (bzw. bei Opera eine dünne Leiste mit der Website-Adresse) bleibt immer stehen, eben um zu verhindern, dass ein Popup für ein echtes Fenster gehalten wird. Der „Verschiebetest“ zusammen mit einem kritischen Blick auf das Fenster ist also ein guter allgemeiner Anhaltspunkt.

Darüber hinaus hat die AusweisApp (bei angeschlossenem Lesegerät) ein Chip-Symbol in der Taskleiste neben der Uhr, welches bei aufgelegter Karte grün wird. Ist die AusweisApp aktiv, wechselt es die Farbe zu Blau. Das ist ein weiteres Sicherheitsmerkmal, auf das man achten sollte. Da ich nicht ausschließen möchte, dass es möglich ist, die AusweisApp zu aktivieren und dann irgendwie zu überlagern, würde ich den Verschiebetest zusätzlich empfehlen. Seltsam aussehende Schrift im AusweisApp-Fenster ist übrigens kein Hinweis auf eine Fälschung: Die Schriften sehen auch in der echten AusweisApp seltsam aus.

Man kann falsche Fenster also durchaus unterscheiden – aber die Hinweise, wie man es macht und dass man es machen solte, fehlen in den Hochglanzbroschüren zum Ausweis. Von sich aus kommen selbst Fachleute selten auf die Idee, diese Prüfungen zu machen, solange nicht irgendetwas Verdacht erregt. Eine gute Fälschung tut das aber nicht.

Ist der Angreifer im Besitz der PIN, reicht dies allein zwar noch nicht, um die Identität des Ausweisinhabers zu missbrauchen – die PIN existiert aber nicht ohne Grund und sollte nicht nur zum Spaß geheimgehalten werden. Ein Beispiel für einen Angriff, für den eine gestohlene PIN nützlich wäre, wurde auf dem 27C3 präsentiert.

Warum ich den Ausweis auch unabhängig von der Lücke ablehne, steht in diesem Beitrag. Auf weitere grundsätzliche Probleme wie die Beweislastumkehr, die für Ausweisnutzer ein ziemlicher Nachteil ist, werde ich in weiteren Beiträgen eingehen wenn/falls ich dafür Zeit finde. Ich kann nur davon abraten sich so einen Ausweis zu holen, bzw. wenn man schon einen hat, ihn zu nutzen. Auch wenn Alufolie immer an Verschwörungstheoretiker mit Aluhüten erinnert – ein paar Lagen davon, um den Ausweis gewickelt und an den Seiten umgefaltet, verhindern das Auslesen sowohl beim Ausweis als auch bei anderen RFID-Karten zuverlässig.

Noch ein kleiner Hinweis für die Presse: Ich bin immer noch kein CCC-Mitglied, obwohl ich letztes Mal nach den Falschmeldungen eingeladen wurde ;-)

Fragen die öffentlich beantwortet werden sollen/können, bitte über die Kommentarfunktion. Sonstige (An)fragen bitte über Jabber (XMPP, Google Talk) an janschejbal at jabber.ccc.de (das ist keine Mailadresse!) oder Mail an janhomepage [at] gmx punkt net. Telefon ist ungünstig, ggf. bitte Festnetznummer per Mail schicken.

Wie man Leute zum Gegner des ePerso macht

2010-11-14 7 Kommentare

Eigentlich habe ich die Idee eines ePerso an sich nicht generell abgelehnt. Man achte auf die Wortwahl: Nicht wirklich befürwortet, aber sowas hat auch einige Vorteile und ich war nicht wirklich überzeugt, dass die Gefahren durch politischen Missbrauch tatsächlich so groß sind, wie einige behauptet haben. (Das hat natürlich nichts mit der technischen Sicherheit zu tun, die konkrete Implementierung halte ich für, … suboptimal.)

Die Argumentation der strikten Gegner online nutzbarer Ausweisdokumente ist folgende: Sobald es eine leichte Möglichkeit gibt, die Identität des Gegenübers im Netz zu prüfen, könnte sich schleichend zur Selbstverständlichkeit entwickeln (oder politisch durchgesetzt werden), im Netz immer den Ausweis vorzuzeigen, was die Anonymität im Netz zerstören würde. Damit wären Privatsphäre und vor allem freie Meinungsäußerung mehr oder weniger tot.

Ich habe diese Gefahr bisher als eher nicht so groß gesehen, zumal der Einsatz des Personalausweises für die Seitenbetreiber teuer und bürokratisch sein soll, und war vorsichtig optimistisch – mit einer vernünftigen Technik, die nicht auf Wirtschaftsförderung sondern auf vernünftiges Funktionieren optimiert ist, hätte so eine sichere Ausweismöglichkeit durchaus auch Vorteile – sichere Logins, Bankkonten online eröffnen, Onlineshops die Ware vielleicht eher mal auf Rechnung/Bankeinzug rausrücken statt auf Vorkasse zu warten, und vieles mehr. Daher auch mein Standpunkt, die Idee eines ePerso an sich nicht generell abzulehnen.

Herr Axel Fischer, natürlich von der CDU, hat es aber geschafft, mich mit einem Schlag zu einem überzeugten Gegner des Konzepts zu machen. Er konnte einfach nicht anders, als genau den befürchteten Missbrauch unverzüglich zu fordern. Danke, Herr Fischer, dass Sie mir die Augen geöffnet haben. Ach, das ist übrigens nicht irgendwer, sondern der Vorsitzende der Enquete-Kommission „Internet und digitale Gesellschaft“, also quasi der Internetexperte der CDU.

Das meiste ist bei Netzpolitik schon gesagt worden. (Update: Dieser Heiseforumskommentar bringts auch auf den Punkt.) Die Möglichkeit, sich anonym und somit sicher vor Repressalien zu äußern, ist eine Voraussetzung für eine freie Meinungsäußerung. Diesen Grundpfeiler der Freiheit abschaffen zu wollen passt in meinen Augen zu totalitären Zensurstaaten – die Forderung kommt für mich der Forderung gleich, hier einen solchen Staat zu errichten. (Mir ist sooo klar was jetzt für ein Kommentar kommt. Er ist langweilig und weder lustig noch interessant noch nötig. Der erste der ihn postet bekommt nen Fisch in seinen Kommentar geklebt.) Jede Meinungsäußerung zuordnen zu können ist nämlich besonders dann wichtig, wenn man unliebsame Äußerungen zügig bestrafen will.

Nur eines finde ich an dieser Forderung wirklich schade: Dass sie nicht rechtzeitig vor meinen ganzen Interviews rauskam.

AusweisApp gehackt (Malware über Autoupdate)

2010-11-09 194 Kommentare

Gestern Abend wurde die AusweisApp freigegeben, und damit stand fest: Das wird für mich eine lange Nacht. Ich habe mir eine schöne Liste möglicher Angriffe zurechtgelegt. Wenn die einzelnen Angriffe klappen, werden sie einige hässliche Dinge ermöglichen. Ich bin mir recht sicher, dass einer der Angriffe in der Lage sein wird, die PIN und evtl. die aufgedruckte Kartenzugangsnummer zu klauen, ohne dass (wie beim CCC-Angriff) der Rechner des Nutzers verseucht werden muss. Ein anderer Angriff erlaubt es eventuell, dem Nutzer vorzutäuschen, dass er sich für etwas harmloses ausweist, während der Angreifer mit dessen Identität einkaufen geht. Eventuell kann man so auch ein Signaturzertifikat für die qualifizierten elektronischen Signaturen mit dem Namen des Opfers bekommen.

Da ich allerdings weder Lesegerät noch ePerso habe, konnte ich die Angriffe nicht ausprobieren. Also habe ich mir stattdessen die AusweisApp selbst vorgenommen. Von besonderem Interesse war dabei die Updatefunktion. Kann ein Angreifer diese kontrollieren, könnte es ihm gelingen, Malware auf dem Rechner des Users einzuspielen. Das wissen natürlich auch die Entwickler, und deswegen ist die Updatefunktion ordentlich gesichert: Zunächst wird vom Updateserver über eine HTTPS-geschützte Verbindung eine Versionsdatei geholt. Dort wäre für einen Angreifer normalerweise Schluss, denn HTTPS ist (halbwegs) sicher. Der Client überprüft auch, ob das Zertifikat gültig ist – da hört es aber auch schon auf. Der Client prüft nicht, ob das Zertifikat auch zum Servernamen passt! Somit braucht der Angreifer nicht ein gültiges Zertifikat für den Updateserver (welches er hoffentlich nicht bekommen sollte), sondern ein beliebiges gültiges Zertifikat (z. B. für seine eigene Website, welches er selbstverständlich bekommt – Nachtrag: Wir reden hier über gewöhnliche SSL-Zertifikate die es an jeder Ecke gibt, nicht über irgendwelche eID-Berechtigungszertifikate!). Das ist übrigens ein Fehler den man in Java leicht machen kann: Die eingebauten Libraries prüfen soweit ich weiß das Zertifikat, aber den Hostnamen muss man ausdrücklich selbst prüfen.

Mittels einer DNS-Manipulation (für die es im praktischen Einsatz zahlreiche Wege gibt, DNS ist ein völlig unverschlüsseltes Protokoll – zur einfachen Demonstration kann man die Hostsdatei manipulieren) können wir nun den Client überreden, sich zu unserem falschen Update-Server zu verbinden und dessen Zertifikat akzeptieren. Da ich kein eigenes SSL-Zertifikat habe, habe ich einfach das genommen, dessen Key Akamai vor ein paar Jahren freundlicherweise (unfreiwillig) öffentlich gemacht hat. Damit dieses Zertifikat als gültig angesehen wird, muss die Uhr auf dem Client verstellt werden – mit einem aktuellen Zertifikat würde das anders aussehen. (Ich hab auch noch andere, ebenfalls leider abgelaufene, Zertifikate getestet.)

Der Updatefunktion kann nun eine manipulierte Antwort untergeschoben werden, welche sie anweist, eine Datei von einer beliebigen URL herunterzuladen und zu installieren. Der Updater erwartet hierbei eine ZIP-Datei. Diese wird entpackt und dann sollte eigentlich eine bestimmte .msi-Datei darin ausgeführt werden. Hier waren die Entwickler allerdings schlau genug, noch eine Signatur einzubauen, die vor dem Ausführen geprüft wird. Hier ist also eigentlich wieder einmal Schluss. Allerdings wird die ZIP-Datei vor der Signaturprüfung bereits entpackt, und ZIP-Dateien können relative Pfadangaben enthalten. Mit einem (per Hexeditor) in der ZIP-Datei eingebauten „../../“ kann man aus dem temporären Verzeichnis ausbrechen und somit beliebige Dateien ins Dateisystem schreiben (directory traversal). Beispielsweise eine Schadsoftware ins Autostartverzeichnis. Vorhandene Dateien werden übrigens gnadenlos überschrieben.

Ein Dolev-Yao-Angreifer, d.h. ein Angreifer, welcher den Netzwerkverkehr beliebig manipulieren kann, jedoch nicht in der Lage ist als sicher geltende Verschlüsselung zu brechen oder den Client des Opfers vorher zu manipulieren, kann somit aufgrund zweier Implementierungsfehler in der AusweisApp über die Auto-Update-Funktion Schadsoftware einspielen.

Der Angriff ist gegen die aktuelle AusweisApp getestet, die sich bei der Installation als 1.0.1, beim Update als 1.0.0 identifiziert.

Diese Lücke können die Entwickler natürlich relativ einfach schließen. Aber was ist mit den anderen, sicherlich noch vorhandenen, unentdeckten Lücken? Mitgeliefert wird beispielsweise eine Java-VM der Version 6 Update 18 – aktuell ist Update 22. Die Kryptographie des Personalausweises selbst mag bewiesen sicher sein. In den umliegenden Protokollen jedoch erwarte ich die ein oder andere Lücke, von denen sich einige leicht, andere vielleicht gar nicht nachträglich stopfen lassen. Der Panzerschrank mag absolut unknackbar sein – was aber, wenn der Angreifer einfach den Besitzer unter falschem Vorwand bittet, ihn aufzuschließen, und/oder den ganzen Schrank mitnimmt?

Ich bedanke mich jedenfalls für diese nette Herausforderung der heutigen Nacht. Gute Sicherheitsmaßnahmen mit kleinen unscheinbaren Löchern, die kreative Kombinationen von Angriffen erfordern, nicht trivial, aber machbar. Genau nach meinem Geschmack. Hat Spaß gemacht! Den Preis, den diese Wirtschaftsförderungsmaßnahme gekostet hat, ist das allerdings nicht wert.

Die Dateien zum Demonstrieren des Angriffs gibts hier als base64-encodetes ZIP-File:


_=_ 
_=_ Part 001 of 001 of file ausweisapp-updatehack.zip
_=_ 

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
dFBLBQYAAAAACAAIAOoBAADKDgAAAAA=

(SHA1: 22b96851042bfece3c641851eaa6e890a7b28bff)

Kontakt/Fragen bitte über die Kommentarfunktion wenn es Zeit hat oder per Jabber (XMPP, Google Talk) an janschejbal at jabber.ccc.de (das ist keine Mailadresse!) wenn es dringend ist. Telefon ist ungünstig. Notfalls geht auch Mail an janhomepage [at] gmx punkt net.