Die meisten Scripte auf der Basis von PHP, arbeiten im Sinne der Benutzerfreundlichkeit, mit verschiedenen Sessions. Das gilt für Blogs, für Foren, die meisten Webseiten mit einem Login und natürlich auch soziale Netzwerke und andere Portale, bei denen mit sensiblen Daten gearbeitet wird. Die Session soll dabei helfen, dass der Benutzer sich nicht dauernd ein- und auszuloggen braucht und dass Daten innerhalb einer Webseite korrekt übergeben werden. Gibt es aber Sicherheitslücken innerhalb des Quellcodes, kann es passieren, dass Angreifer Zugriff auf diese Daten erhalten.
Lernen Sie in diesem Artikel, was Session Hijacking überhaupt ist, wie es in der Praxis funktioniert und wie das Session Hijacking unterbunden werden kann.
Was genau ist Session Hijacking?
Beim Session Hijacking werden die verschiedenen Sessions der Webseiten übernommen. Die große Gefahr liegt darin, dass der Benutzer nicht einmal bemerken würde, dass seine aktive Session von einem Angreifer übernommen wurde. Das Ziel beim Session Hijacking ist entweder ein Zugriff auf die Daten einer Webseite oder das Ausspähen von Aktivitäten. Im schlimmsten Fall wäre es sogar möglich, eine Session so zu manipulieren, dass der Benutzer mit einem Mal fingierte Daten zu sehen bekommt. Gerade beim Session Hijacking von Administratoren-Accounts sind mögliche Schäden innerhalb einer Webseite enorm und können zu einer ernsthaften Gefahr für Projekte im World Wide Web werden.
Der Sinn der Übernahme ist es, dass der Angreifer, ohne dass das Opfer es bemerkt, Zugriff auf die Session und den darin enthaltenen Daten bekommt. Da viele Webseiten auch in der heutigen Zeit noch auf unverschlüsselte Übertragung von Daten setzen, wird es dem Angreifer recht einfach gemacht, verschiedene Methoden zu der Übernahme der Sessions aufzugreifen und einzusetzen.
Wie funktioniert das Session Hijacking in der Praxis?
Grundsätzlich gibt es zwei verschiedene Methoden, die im Fall von Session Hijacking eingesetzt werden: Die Übernahme von TCP-Sessions oder die Übernahme von Sessions bei HTTP-Zugriffen. Generell lässt sich sagen, dass der erste Fall nur noch recht selten ist. Gefährlicher ist die Übernahme von Session bei Portalen oder anderen Webseiten auf der Basis von PHP und MySQL. Damit ein solcher Angriff funktioniert, muss in der Regel ein Fehler im Script vorliegen. Die Cross-Site-Scripting-Attacken haben sich zu einem Ärgernis für Programmierer entwickelt und können schon bei kleinen Sicherheitslücken innerhalb der Scripte möglich werden.
Ist eine solche Lücke entdeckt, kann der Angreifer die Übergabe der Session an den Benutzer im Klartext sehen. Dafür muss er jedoch entweder mittels eines Trojaners oder physischer Reichweite – etwa bei Verbindung im gleichen Netzwerk – anwesend sein. Ist der Datenverkehr erst einmal beim Angreifer gelandet, ist es relativ einfach, sich in die Session einzuklinken und sie entsprechend zu manipulieren.
Wie kann das Session Hijacking unterbunden werden?
Generell lässt sich sagen, dass die meisten Probleme mit dem Session Hijacking verhindert werden können, wenn auf eine hohe Sicherheit und Integrität im Code gesetzt wird. Da sich Fehler aber einfach nicht verhindern lassen, sollten auch Webseiten auf die Möglichkeiten der Verschlüsselung setzen.
Eine Webseite, die mit der Hilfe von HTTPS-Protokollen arbeitet, ist zum Beispiel beinahe völlig gegen solche Attacken abgesichert. Da die Daten für die Generierung einer Session nicht mehr unverschlüsselt übergeben werden, wird verhindert, dass die Session manipuliert werden kann. Eine Mischung aus Verschlüsselung und guter Programmierung sollte also verhindern, dass man zu einem Opfer einer solchen Attacke wird.
Hinterlasse einen Kommentar