it-swarm.com.de

Schutz von Keylogger-Webanwendungen

Ich versuche, die Sicherheit in einer Webanwendung zu verbessern. Die Anwendung hat eine Admin-Site und Keylogger sind ein Problem, das ich zu lösen versuche. Kann die Anwendung etwas tun, das verhindern kann, dass Keylogger richtig funktionieren? Ich habe über Keystroke-Interferenzsoftware gelesen (für jeden Benutzer-Tastendruck werden zufällig weitere Tastenanschläge hinzugefügt, die die Benutzereingabe nicht beeinträchtigen). Kann so etwas in Javascript ausgeführt werden?

21
Schockey

Viele Anwendungen machen einen vergeblichen Versuch, Keylogger und Spyware mithilfe verschlungener (und umständlicher) Passworteingabemethoden zu vereiteln. Keiner funktioniert gegen Keylogger und viele führen tatsächlich dazu, dass Benutzer WENIGER sicher sind, da sie die Verwendung von Kennwortmanagern erschweren.

Der beste Weg, um mit solchen Dingen umzugehen, ist die Verwendung von Einmalkennwörtern. Es gibt verschiedene Möglichkeiten, also lassen Sie mich zwei vorschlagen: TOTP ( RFC 6238 ) funktioniert mit vielen Software-Authentifikatoren (z. B. Google-Authentifikator), sodass es sowohl bequem als auch kostengünstig zu implementieren und kostenlos zu verwenden ist . Der Benutzer muss jedoch die Dinge einrichten und über ein Smartphone verfügen.

Ein anderer Ansatz ist es, ein Einmalpasswort per SMS zu senden. Dies ist etwas teurer (weil Sie die Nachricht senden müssen), aber es ist auch einfacher für den Benutzer (der nur ein Mobiltelefon und kein Setup benötigt).

56
Stephane

Wenn Sie isoliert mit Keyloggern arbeiten, ist es möglicherweise möglich, das Risiko zu verringern (z. B. Verwendung von Bildschirmtastaturen, 2FA oder ähnlichem). Wenn ein Angreifer jedoch die Möglichkeit hat, einen Keystroke-Logger auf dem System zu installieren, ist dies sehr wahrscheinlich (abgesehen von physischen Tastendruck-Loggern), dass sie privilegierten Zugriff auf das betreffende System haben und daher wahrscheinlich alle anderen von Ihnen eingerichteten Schutzmaßnahmen umgehen können (vorausgesetzt, sie sind dazu motiviert)

Da es sich beispielsweise um eine Webanwendung handelt, beispielsweise wenn Sie 2FA implementieren, wird nach der Authentifizierung des Benutzers ein Sitzungstoken ausgegeben, das im Allgemeinen so lange gültig bleibt, bis ein Leerlaufzeitlimit auftritt oder der Benutzer sich explizit abmeldet. Wenn ein Angreifer privilegierten Zugriff auf das System hat, kann er "Keep-Alive" -Anforderungen ausgeben, um eine Sperrung im Leerlauf zu verhindern, und die Browser-Injektion verwenden, um die Abmeldung zu verhindern.

Wenn Sie Bedenken haben, dass Benutzer von gefährdeten Clients auf ein privilegiertes System zugreifen, besteht die bessere Lösung darin, dedizierte/gesperrte Geräte zu verwenden und den Zugriff nur auf diese Geräte zu beschränken.

16
Rory McCune

JavaScript kann niedrige Systemaufrufe nicht steuern und ändern, um diese Tastenanschlagstörung zu erhalten. Selbst Softwareschutz im Benutzermodus wird durch Keylogging im Kernelmodus aufgehoben.

Sie können sich vor Hardware-Keyloggern schützen, indem Sie eine Bildschirmtastatur haben, die einfach zu implementieren sein kann.

Software-Keylogger sind leistungsfähiger. Smart Banking-Trojaner erfassen auch HTTP-Anfragen und Screenshots, wenn Sie auf der Banking-Website mit der Maus klicken. Einige auch einmalige Passwörter stehlen oder sie umgehen .

5
Cristian Dobre

Wenn Sie sich Sorgen über Keylogger machen, die Tastenanschläge protokollieren (manuelle Passworteingabe) oder kopieren/einfügen (Passwortmanager), müssen Sie die Maus verwenden:

  1. Zeigen Sie dem Benutzer eine virtuelle Tastatur, um das Kennwort einzugeben. Dies ist wirklich nicht sehr benutzerfreundlich und für die globale Verwendung schwer einzurichten (regionale Unterschiede im Tastaturlayout). Ich würde immer noch die "nicht so paranoiden" Benutzer ihr Passwort eingeben lassen, wie sie es gewohnt sind.

oder ein anderes (Peripherie-) Gerät:

  1. Zwei-Faktor-Authentifizierung über eine App oder SMS.
0
ST2OD