Sicherheit beim Login (Samuels Tutorials #13)

    • Offizieller Beitrag

    Nächster Beitrag: Ransomware auf dem PC...und jetzt?

    Letzter Beitrag: Hash, Salt und Pepper


    Achtung:

    Diese Beiträge sind teilweise älter als 2 Jahre. Ich kann keine Korrektheit der Inhalte garantieren. Ebenfalls können die Beiträge von meiner aktuellen Meinung abweichen. Ich finde sie dennoch informativ und würde sie ungern löschen. Für Fragen zu allen der Beiträgen stehe gerne zur Verfügung.



    Wer als normaler Benutzer einen Login nutzt, will eigentlich nur eine Sache. Sich einloggen - und das so einfach und unkompliziert wie möglich. Was will er auf keinen Fall und bekommt direkt einen Anfall, wenn er es sieht? Richtig, die eigentlich offensichtliche Frage, ob man ein Roboter ist oder nicht.

    Generell kann man folgendes sagen:

    Umso mehr Schutz bei einem Login, desto unzufriedener der Kunde.


    Nun stellt sich die Frage, wie man diese Unzufriedenheit so gering wie möglich hält und sich gleichzeitig effektiv vor Angriffen schützt.


    Einer der größten Gefahren bei einem Login, ist Bruteforce. Bedeutet, dass der Angreifer riesige Mengen an E-Mail-Adressen und häufig benutzte Passwörter an den Server schickt, in der Hoffnung, dass er an ein paar Accounts kommt. Die größte Gefahr dabei ist, dass er bei einem Erfolg, dieselbe E-Mail und Passwort bei einem anderen Anbieter ausprobieren kann. Sollte man fast überall dasselbe Passwort benutzen, hat man ein großes Problem.


    Lösung Nummer 1:

    Man zwingt den Benutzer lange Passwörter zu benutzen. In manchen Fällen dürfen sie nicht einmal "123" oder "qwertz" beinhalten, egal wie lange sie sind. Ist das Passwort dann noch länger als 17 Zeichen (mit Zahlen und Sonderzeichen) und das bei jedem Benutzer, ist man extrem sicher.

    + Hohe Sicherheit

    - Genervte Nutzer, die sich das Passwort nicht merken können


    Lösung Nummer 2:

    Gebe ich das Passwort oder E-Mail dreimal in Folge falsch ein, muss ich eine Minute warten. So hat der Angreifer keine Chance, nicht wahr?

    • Problem 1: Wenn ich die Seite aktualisiere, ist die Sperre immer noch da. Bedeutet, dass entweder meine IP, Gerätename oder ein Cookie gespeichert wurde. Eine IP ist nutzlos gegen ein Botnetz, der Gerätename ebenfalls und ein Cookie gelöscht werden. Eine große Firma oder Universität hat meistens eine übergeordnete IP-Adresse, über sie auf das Internet zugreift (NAT). Sollte diese gesperrt werden, kann sich niemand innerhalb dieses Netzwerkes mehr anmelden.
    • Problem 2: Wird der Benutzer falsch eingegeben, kann auch der Server den Account kurzzeitig sperren. Schnell wird jedoch klar, dass ich somit den Account einer anderen Person sperren kann. Es geht aber noch weiter. In einer großen Firma sind die E-Mail-Adressen meistens so aufgebaut: Nachname + Erster Buchstabe vom Vornamen@Firma.de. Kenne ich nun alle oder die meisten Mitarbeiter, so kann ich alle Accounts der Firma sperren.
    • Problem 3: Gebe ich eine E-Mail-Adresse zu oft ein, die nicht einmal registriert ist, kann sie nicht gesperrt werden. Gebe ich die richtige ein, wird sie gesperrt. Probiere ich nun 10000 E-Mail-Adressen aus, kann ich feststellen, welche davon, auf dieser Seite registriert sind. Habe ich diese Adressen, brauche ich bloß noch die Passwörter zu erraten.
    • Problem 4: Lassen wir nach z.B. 10 Versuchen den Benutzer sperren, zeigen es jedoch nicht an und sagen, dass entweder Passwort oder E-Mail falsch sind, können wir einen Angreifer einfach verwirren. So wird es weiter probieren, aber kein Erfolg haben. Hat ein hilfloser Benutzer jedoch sein Passwort vergessen und versucht ein paar Möglichkeiten durch, wird er sich nicht einmal anmelden können, auch wenn das Passwort und E-Mail richtig waren. Sehr benutzerunfreundlich.


    Lösung Nummer 3:

    Bei jeder Anmeldung wird eine Verzögerung eingebaut. Diese Methode wird jedoch direkt wieder überflüssig, wenn man einfach 1000 Verbindungen gleichzeitig öffnet.

    + Schutz gegen Angreifer mit wenig Ressourcen

    - Verzögerung bei dem normalen Benutzer


    Lösung Nummer 4:

    Captchas (Ich bin kein Roboter) sind eine sehr effektive Möglichkeit, sich gegen einen automatisierten Angriff zu schützen. Für einen Menschen leicht zu lösen, für einen Computer nicht. Es gibt jedoch auch neuere Versionen, bei denen das Feld erst auftaucht, wenn z.B. die Maus erst gar nicht bewegt wird oder in einer exakt geraden Linie.

    + Hoher Schutz

    + Einfach für den Betreiber

    - Extrem nervig für Benutzer

    - Lange Ladezeiten für Benutzer mit langsamem Internet


    3kurao.jpg