Skip to content

Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 9

Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization".

Die verschiedenen Möglichkeiten zur Authentifizierung habe ich bereits beschrieben. Ebenso erste Angriffe: Default-Zugangsdaten und schlechte (= unsichere) Passwörter sowie Brute-Force- und Wörterbuch-Angriffe, die durch verräterische Fehlermeldungen erleichtert werden können. Ein weiteres Problem sind ungeschützt übertragene Zugangsdaten und die unsichere Verwendung von HTTPS. Aber auch Funktionen rund um die Passwortverwaltung können zu einer Schwachstelle werden, z.B. unsicher gespeicherte Passwörter. Auch nicht ungefährlich ist die Funktion zur Passwortänderung. Und auch der Passwort-Reset kann zur Gefahr werden. Ebenso wie eine

Unsichere "Recovery-Funktion"

Nachdem die Benutzer die Sicherheitsfrage korrekt beantwortet oder eine andere Voraussetzung erfüllt haben, mit der sie sich im Rahmen des Challenge-Response-Verfahrens ohne Passwort identifizieren können, muss das Passwort irgendwie auf einen neuen Wert gesetzt werden. Dafür gibt es verschiedene Möglichkeiten, die alle Raum für Designfehler lassen oder bereits selbst Designfehler sind:

  • Generell unsicher sind
    • die direkte Ausgabe des neu erzeugten Passworts,
    • die direkte Möglichkeit, ein neues Passwort zu setzen oder
    • die Einrichtung einer vollständigen Session, um den Benutzer sofort Zugriff auf die Anwendung zu geben.
    Gelingt es einem Angreifer, sich z.B. durch Raten der richtigen Antwort auf die Sicherheitsfrage als Benutzer auszugeben, hätte er in diesen Fällen sofort Zugriff auf das Benutzerkonto.
  • Ebenso unsicher ist es, das neue Passwort oder einen Link zur Passwortänderung an eine in der "Vergessenes Passwort"-Funktion eingegebene E-Mail-Adresse zu senden, denn die kann ein Angreifer nach seinen Wünschen eingeben.
  • Auch wenn ein neues Passwort oder ein Link zur Passwortänderung an die gespeicherte E-Mail-Adresse gesendet wird, kann das Verfahren unsicher sein, und zwar wenn das neue Passwort oder der Link vorhersagbar sind. Das kann z.B. passieren, wenn dem Angreifer der für die Erzeugung von Passwort oder Link verwendete Algorithmus bekannt ist und dafür dem Angreifer bekannte oder von ihm erratbare Parameter verwendet werden wie z.B. die Benutzer-ID oder die aktuelle Zeit. Der Angreifer kann dann das Passwort oder den Link selbst berechnen und nutzen.

Diese Möglichkeiten, bei denen ein Benutzer nach dem Bestehen des Challenge-Response-Verfahrens mehr oder weniger sofort Zugriff auf die Webanwendung erhält, werden noch unsicherer, wenn keine E-Mail mit einer Benachrichtigung über den erfolgreichen Reset des Passworts an die gespeicherte E-Mail-Adresse geschickt wird. Der Angreifer hat dann solange ungestörten Zugriff auf das betroffene Benutzerkonto, bis sich der Benutzer das nächste Mal selbst anmelden möchte und das mit seinem nun falschen Passwort nicht gelingt. Erst dann wird er merken, das irgend etwas nicht stimmt, und den Betreiber der Webanwendung informieren oder im Fall eines IoT-Geräts das auf den Ausgangszustand zurücksetzen. Sofern er nicht denkt, er hätte das Passwort vergessen, woraufhin er es nun selbst über die "Vergessenes Passwort"-Funktion zurück setzt. In dem Fall könnten Angreifer und Benutzer bis in alle Ewigkeit immer wieder abwechselnd das Passwort zurück setzen, um Zugriff auf Webanwendung oder IoT-Gerät zu erlangen.

Eine sichere Lösung

Eine sichere Lösung besteht z.B. darin, dem Benutzer an die gespeicherte E-Mail-Adresse einen eindeutigen, nicht erratbaren und nur kurze Zeit gültigen Link zu schicken, bei dessen Aufruf innerhalb der Gültigkeitsdauer der Benutzer auf eine Seite gelangt, auf der er ein neues Passwort eingeben kann.

Die Verwendung der gespeicherten E-Mail-Adresse sorgt dafür, das der Angreifer nicht seine eigene Adresse angeben kann. Um an diese E-Mail zu gelangen, müsste er also entweder Zugriff auf den Mail-Account seines Opfers haben oder die E-Mail im Rahmen eines Man-in-the-Middle-Angriffs abfangen bzw. lesen.

Der Link muss eindeutig und nicht erratbar sein, damit der Angreifer ihn nicht selbst berechnen und dann vor dem Benutzer nutzen kann. Ansonsten könnte er so lange Zugriff auf das Benutzerkonto erlangen, bis der Benutzer auf die ihm unverlangt zugesandte Mail reagiert.

Und der Link darf nur kurze Zeit gültig sein, damit ein irgendwann in falsche Hände gelangender Link nicht erneut verwendet werden kann. Da sich alle notwendigen Parameter im Link befinden, werden sie z.B. in Logfiles oder der Browser-History gespeichert, wo sie ausgespäht werden können.

Statt eines Links zu einer Seite zur Passworteingabe könnte auch ein zufällig erzeugtes, nur zum einmaligen Gebrauch innerhalb des Gültigkeitszeitraum vorgesehenes Passwort verschickt werden. Nachdem der Benutzer sich damit eingeloggt hat, würde er dann zum Setzen eines neuen Passworts gezwungen. Dieser Ansatz hat den Vorteil, das keine Spuren in Logfiles oder der Browser-History zurück bleiben.

Der Versand eines dauerhaft gültigen neuen Passworts in einer unverschlüsselten E-Mail ist unsicher, es würde ja auch niemand die Onlinebanking-PIN auf einer Postkarte verschicken.

Ach ja: Und falls Sie sich jetzt fragen, warum dem Benutzer nicht einfach sein altes Passwort mitgeteilt wird: Erstens wäre das genau so unsicher wie die Mitteilung eines dauerhaften neuen Passworts, und zweitens kennt die Webanwendung bzw. das IoT-Gerät das Passwort ja gar nicht. Denn aus Sicherheitsgründen wird ja nicht das Passwort selbst gespeichert, sondern nur dessen Hashwert. Und aus dem lässt sich das Passwort nicht wiederherstellen.

In der nächsten Folge geht es um weitere mögliche Schwachstellen in der und Angriffe auf die Authentifizierung. Und zwar zunächst um die "Remember me"-Option mancher Webanwendungen und IoT-Weboberflächen.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 10

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 11

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 12

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 13

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 14

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 15

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 16

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 17

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #2: Unsichere Authentifizierung/Autorisierung, Teil 18

Vorschau anzeigen
Weiter geht es mit der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP. Zur Zeit sind wir beim Punkt 2: "Insufficient Authentication/Authorization". Die ve

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #6: Unsichere Cloud-Interfaces

Vorschau anzeigen
Bei der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP sind wir bei Punkt 6 angekommen: "Insecure Cloud Interface". Oder auf deutsch: Unsichere Cloud-Int

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #7: Mobile Cloud-Interfaces

Vorschau anzeigen
Bei der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP sind wir bei Punkt 7 angekommen: "Insecure Mobile Interface". Oder auf deutsch: Unsichere Mobile-I