Letztes Wochenende wurde die erste erfolgreiche Man-in-the-middle attack auf Blizzards Authenticator bekannt. Ein WoW-Spieler meldete im Forum einen Account-Hack, der trotz Verwendung des Authenticators erfolgte.
Den Authenticator führte Blizzard vor geraumer Zeit ein, um das weit verbreitete Ausspähen von Accountdaten der World of Warcraft-Spieler zu erschweren und so für mehr Sicherheit zu sorgen. Beim Authenticator handelt es sich um ein bedrucktes DIGIPASS GO 6 von Vasco, einem belgischen Hersteller. Er generiert abhängig von der aktuellen Zeit One-time Passwörter, also Passwörter, die exakt 1 Mal innerhalb eines bestimmten Zeitfensters gültig sind. Das eigentliche Zeitfenster, innerhalb dessen das OTP gültig ist, ist ungefähr 30 Sekunden groß. Um dieses Zeitfenster herum existiert ein weiteres, etwas größeres Zeitfenster, in dem das OTP nicht mehr gültig ist, aber dennoch akzeptiert wird. Letzteres Zeitfenster hat den Zweck, auch Token, deren interne Uhr nicht ganz genau läuft, verwenden zu können. Auftretende Abweichungen der internen Uhr werden so vom Server erkannt und kompensiert.
Die Gültigkeit eines OTP verfällt automatisch, sobald der generierte Code einmal verwendet wurde. Dies erschwert das Ausspähen von Daten enorm, kann es aber nie ganz verhindern. Üblicherweise werden Accountdaten durch Keylogger ausgespäht, die sich auf dem Rechner des Opfers befinden. Bei der Verwendung statischer Kennwörter gestaltet sich das recht einfach: Die Daten werden ausgespäht, an den Angreifer gesendet und dieser hat nun alle Zeit der Welt, die Accountdaten zu benutzen.
Durch die Verwendung von OTPs wird dieser Vorgang für einen Angreifer erheblich aufwändiger. Zum Einen muss hierbei eine Reaktion durch den Angreifer nahezu in Echtzeit erfolgen, da, wie oben beschrieben, die Gültigkeitsdauer eines OTPs nur wenige Minuten beträgt. Zudem muss der Angreifer verhindern, dass das OTP zum Server gesendet werden kann, da anderenfalls das OTP ungültig würde.
Diese Methoden sind nicht neu, die Gefahr eines solchen Angriffs ist seit langem bekannt und keinesfalls auf Token des Herstellers Vasco beschränkt, alle Token basieren letztlich auf dem gleichen Grundprinzip. Hier irgendeine Verantwortlichkeit beim Hersteller zu suchen wäre also keinesfalls gerechtfertigt. Letztlich bleibt bei jeder Sicherheitsvorkehrung immer ein gewisses Restrisiko erhalten.
Neu ist hingegen, dass ein solcher Angriff erstmalig von einem WoW-Spieler beobachtet werden konnte (musste). Der Spieler versuchte, sich mit seinen Accountdaten und dem OTP im Spiel anzumelden. Unmittelbar nachdem er das OTP eingegeben hatte, crashte der WoW-Client. Und genau in diesem Moment reagierte der Angreifer und loggte sich mit den gerade eben ausgespähten Daten ein. Das deutet darauf hin, dass der eingesetzte Keylogger in Echtzeit kommuniziert. Zudem scheint er die weitere Anmeldung des Spielers zu verhindern, denn Zarakiteque schreibt in seinem Beitrag, dass er sich nach diesem Crash nicht mehr einloggen konnte. Dies gelang ihm erst dann wieder, nachdem er den vermutlichen Schädling auf seinem System identifiziert und unschädlich gemacht hatte. In seinem Fall handelte es sich um eine Datei namens emcor.dll, die sich in seinem Appdata/Temp-Verzeichnis befand.
Blizzard hat inzwischen bestätigt, dass es sich hierbei um eine Man-in-the-middle attack handeln muss und untersucht den Fall, weitere Informationen wird es sicherlich in naher Zukunft geben. Interessant finde ich, dass es sich hierbei offenbar um einen recht neuen Schädling handelt, Virenscanner entdeckten ihn noch nicht und via Google konnte der Spieler nur wenige Tage alte Informationen im Web finden (aktuell führen nahezu alle Suchergebnisse bei einer Suche nach emcor.dll zu Beschreibungen dieses Vorfalls).
Der Fall führt wieder deutlich vor Augen, dass jegliche Sicherheitsvorkehrungen auch umgangen werden können. Es wird sicherlich nie eine Lösung geben, die das Ausspähen von Logindaten (und die anschließende Nutzung) vollkommen verhindern kann. Jede Lösung wird letztlich nur den Aufwand erhöhen, der von einem Angreifer betrieben werden muss. Wenn der Aufwand irgendwann den Nutzen übersteigt, wird ein Angriff möglicherweise uninteressant.
Auch wenn ich es weiter oben bereits schrieb, möchte ich abschließend trotzdem noch einmal darauf hinweisen, dass für derartige Angriffe nicht allein die Produkte des Herstellers Vasco anfällig sind. Die Angriffe sind auch bei Token von RSA oder anderen Herstellern möglich. Vasco steht allein deshalb nun im Rampenlicht, weil dessen Produkte von Blizzard eingesetzt werden. Die Funktionsweise derartiger Token ist immer identisch, demzufolge funktioniert exakt diese hier eingesetzte Methode auch in der Praxis mit jedem beliebigen OTP-Generator sämtlicher Hersteller. Vasco ist hier also kein Vorwurf zu machen.
Dumm wäre es jetzt, OTPs generell abzulehnen, wie es in manchen Foren bereits geschieht. Auch wenn ein Angriff möglich bleibt: Er ist wesentlich schwieriger und mit höherem Aufwand durchführbar, als wenn allein Benutzername und Kennwort genutzt würden. Die Verwendung von OTPs erhöht in jedem Fall die Sicherheit, auch wenn sie Angriffe nicht vollends ausschließen kann. Hier ist (wieder einmal) der Anwender gefragt, der genügend Aufmerksamkeit und zusätzliche Absicherungen aufbringen muss, um das Einnisten eines Schädlings zu vermeiden. Sich allein auf die Verwendung einer bestimmten Maßnahme zu verlassen, reicht eben nicht.
Im übrigen setzen auch Paypal und eBay die Token von Vasco ein, diverse Banken nutzen sie ebenfalls und an vielen Stellen werden Lösungen von RSA eingesetzt. Ich bin gespannt, wann hier die ersten vergleichbaren Vorfälle bekannt werden.