Archiv

Archive for Januar 2011

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.