Freitag, 3. September 2010 |
In About Security #217 wurden die Stellen aufgeführt, an denen ungeschützt übertragene Zugangsdaten von einem Dritten beobachtet werden können. Selbst wenn man davon ausgeht, dass nur vertrauenswürdige Personen zum Zugriff auf die beteiligten Komponenten autorisiert sind, besteht immer noch die Möglichkeit, dass sich ein Angreifer Zugriff darauf verschafft hat.
Wie in About Security #217 indirekt aufgeführt, durchlaufen die Daten nach der Eingabe durch den Benutzer oft mehrere Netze, bevor sie bei der Webanwendung ankommen: Ausgehend vom Rechner des Benutzers wandern die Daten durch dessen lokales Netz in das seines Zugangsproviders, weiter über den Internet-Backbone in das Netz des Zugangsproviders der Webanwendung, dann in deren lokales Netz bis sie letztendlich auf dem Server der Webanwendung ankommen. Auf jedem beteiligten Rechner, Router, ... können sie dabei beobachtet werden. Und angesichts der Möglichkeit, eine Verbindung über einen anderen Rechner umzuleiten, wie es in About Security #57 ff. beschrieben wurde, ist das nicht mal auf die direkt beteiligten Komponenten beschränkt.
Im eigenen lokalen Netz wird oft auf die sichere Übertragung vertraulicher Daten verzichtet, da man den eigenen Benutzern vertraut und die i.A. auch andere Möglichkeiten haben, an die Daten zu gelangen. Dabei wird übersehen, das einem Angreifer das Eindringen in das Netz gelungen sein kann, dem die ungeschützt übertragenen Zugangsdaten sehr gelegen kommen, um danach Zugriff auf ihm bisher unzugängliche Bereiche des Netzes zu erlangen.
Selbst wenn die Anmeldung über das verschlüsselte HTTPS statt des unverschlüsselten HTTP erfolgt, gibt es noch mehrere Stellen, an denen die Zugangsdaten ungeschützt sein können:
Ein weiteres Problem bei der Verwendung von HTTPS ist die Frage nach dem richtigen Zeitpunkt für den Wechsel vom ungeschützten HTTP zum geschützte HTTPS. Oft wird die Seite für die Anmeldung über HTTP geladen und erst beim Versenden der Zugangsdaten zu HTTPS gewechselt. Dies ist aber unsicher, schon die Anmeldeseite muss über HTTPS geladen werden. Nur so kann der Benutzer sicher sein, dass er die richtige Seite verwendet und die eingegebenen Daten auch wirklich an den gewünschten Server geschickt werden. Ansonsten könnte ein Angreifer im Rahmen eines Man-in-the-Middle-Angriffs die Anmeldeseite so manipulieren, dass die Zugangsdaten an seinen Server und/oder unverschlüsselt geschickt werden.
Zuerst wird ein Anmeldevorgang komplett durchlaufen, dabei werden alle zwischen Client und Server ausgetauschten Daten aufgezeichnet. Danach werden alle anderen Aktionen ermittelt, bei denen die Zugangsdaten vom Client zum Server oder vom Server zum Client übertragen werden.
Jedes Mal, wenn die Zugangsdaten
- in der URL
oder
- in einem Cookie
oder
- vom Server zum Client
übertragen werden, wird untersucht, was passiert und wieso es passiert
(wobei man bei der Untersuchung der eigenen Anwendung den Vorteil hat, das
genau zu wissen und nicht nur aus dem Umständen schließen zu
können). Danach wird geprüft, ob und wie ein Angreifer die
Anwendungslogik manipulieren kann, um an die Zugangsdaten anderer Benutzer
zu gelangen.
Als Klartext übertragenen Zugangsdaten können leicht entdeckt werden und sind daher auch während der Übertragung zwischen Client und Server gefährdet. Werden keine Zugangsdaten beobachtet, müssen alle kodierten Daten daraufhin untersucht werden, ob sie sich dekodieren oder entschlüsseln lassen und dabei die gesuchten Zugangsdaten preis geben.
Werden die Zugangsdaten über HTTPS übertragen, die Anmeldeseite aber über HTTP, ist ein Man-in-the-Middle-Angriff möglich (s.o.). Als Gegenmaßnahme muss bereits die Anmeldeseite über HTTPS übertragen werden.
In der nächsten Folge wird die Untersuchung kodierter Daten beschrieben.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!