Sicherheit bei gleichzeitigen Logins

Unbegrenzte Logins können schwerwiegende Fehler in der Geschäftslogik verbergen.

Ein Benutzer meldet sich an einem Laptop an. Sekunden später meldet sich dasselbe Konto in einem anderen Browser an. Dann auf einem Mobilgerät. Dann über einen API-Client. Alles funktioniert einwandfrei.

Das scheint unbedenklich zu sein, da viele Apps mehrere Geräte unterstützen. Aber man muss sich fragen: Sollte jede Anwendung unbegrenzte Sitzungen zulassen?

In einigen Systemen sind mehrere Sitzungen ein Feature. In anderen ist es eine Schwachstelle, die Angreifer nutzen, um unentdeckt zu bleiben. Dies ist eine Schwachstelle in der Geschäftslogik. Der Code funktioniert wie geplant, aber das Design selbst ist schwach.

Der Unterschied: • Traditionelle Bugs nutzen Programmierfehler aus. • Fehler in der Geschäftslogik nutzen Designentscheidungen aus.

Denken Sie an einen Movie-Streaming-Dienst. Wenn ein Abonnement es zehn Personen ermöglicht, gleichzeitig zu schauen, funktioniert das Login-System. Die Geschäftsregel hingegen versagt.

Dies gilt für das Bankwesen, Admin-Panels und SaaS-Produkte.

So testen Sie dies:

Apps mit hohen Sicherheitsanforderungen erzwingen oft diese Regeln:

Wenn ein Angreifer Anmeldedaten stiehlt, kann er ewig eingeloggt bleiben, wenn Sie unbegrenzte Sitzungen zulassen. Er bleibt aktiv, während der echte Benutzer ebenfalls aktiv bleibt. Keiner der beiden bemerkt den Eindringling.

Der Kontext ist entscheidend. Apps, die viele Sitzungen benötigen:

Apps, die eine strenge Kontrolle benötigen:

So beheben Sie es:

Suchen Sie nicht nur nach Code-Bugs wie SQL-Injection. Suchen Sie nach Lücken zwischen dem, was Ihre App tut, und dem, was Ihr Unternehmen erfordert.

Überprüfen Sie noch heute Ihre Sitzungsrichtlinien. Ihr größtes Risiko ist vielleicht kein fehlerhafter Code, sondern eine fehlerhafte Logik.

Quelle: https://dev.to/arashad_dodhiya_0e4bdba5a/concurrent-login-security-how-to-check-whether-multiple-sessions-are-allowed-1839