Was ist Session Hijacking und wie lässt es sich verhindern?
Session Hijacking (Kapern einer Sitzung) wird von Kriminellen eingesetzt, um Ihre Internetsitzung zu übernehmen, damit sie dieselben Aktionen wie Sie durchführen können. Dabei könnte es sich um alles mögliche handeln: Zugriff auf Ihr Bankkonto oder das Netzwerk Ihres Arbeitgebers oder auch das Ausführen von Ransomware.
Bei YouTuber Linus Sebastian endete das Session Hijacking darin, dass sein nach ihm benannter Kanal Linus Tech Tips für Krypto-Betrug ausgenutzt wurde. Seine Erklärung zu dem Angriff finden Sie hier.
Es gibt einige Vorkehrungen, die Website-Besitzer unternehmen können, um die Risiken eines Angriffs auf ihre Nutzer zu minimieren. In diesem Artikel schauen wir uns jedoch das ganze aus Sicht der Endbenutzer an. Wir erläutern im Detail, wie Session Hijacking funktioniert und was Sie selbst tun können, um sich vor dieser Art von Cyberangriff zu schützen.
Was ist eine Sitzung?
Bevor wir näher auf das Session Hijacking eingehen, lassen Sie uns zunächst die Frage klären, was eine Sitzung (engl. Session) ist.
In aller Kürze: Es handelt sich dabei um den Zeitraum, innerhalb dessen Sie auf einer Website eingeloggt bleiben dürfen, nachdem Sie Ihren Benutzernamen und Ihr Kennwort eingegeben haben.
Etwas ausführlicher: Ihr Computer nutzt zur Kommunikation mit Websites HTTP. Dabei handelt es sich um einen zustandsloses Protokoll und folglich wird jede Anfrage an die Website unabhängig voneinander behandelt. Oder anders ausgedrückt, der Kommunikationsaustausch über HTTP teilt der Website nicht mit, was zuvor abgelaufen ist. Wenn Sie also zum Beispiel eine Website aufrufen, auf der Sie sich bereits angemeldet haben, stellt HTTP diese Information der Website nicht zur Verfügung und Sie müssten sich erneut anmelden. Und bei jeder neu aufgerufenen Seite geht das Spiel von vorne los. Das wäre folglich ein furchtbares Benutzererlebnis.
Sitzungen lösen dieses Problem. Eine Sitzung bezieht sich auf alle Interaktionen zwischen einem Benutzer und einer Website innerhalb eines bestimmten Zeitfensters. In der Regel beginnt dieses mit der Authentifizierung und bis zu dem Zeitpunkt, an dem sich der Benutzer wieder abmeldet oder die Sitzung aufgrund von Inaktivität abläuft. Anders gesagt, wenn Sie sich auf einer Website anmelden, wird auf dem Host-Server eine Sitzung erstellt, die als Referenz für die ursprüngliche Authentifizierung dient. Solange diese Sitzung aktiv ist, können Sie sich frei innerhalb der Website bewegen, ohne sich erneut anmelden zu müssen. Die Sitzung wird erst beendet, wenn Sie sich ausloggen oder ein vorgegebener Zeitraum an Inaktivität abgelaufen ist. Ist die Sitzung einmal abgelaufen, müssen Sie sich wieder einloggen, um erneut auf Ihr Konto zugreifen zu können.
Was ist ein Sitzungsbezeichner bzw. eine Session ID?
Jeder Sitzung wird eine einzigartige Kennung zugewiesen, die auch als Sitzungsbezeichner, Sitzungs-ID oder Session ID bezeichnet wird. Diese Session ID wird dann verwendet, um Folgeanfragen zu identifizieren und zuzuordnen, die Sie während der laufenden Sitzung machen.
Die Session ID wird in der Regel in einem Cookie oder in der URL als ein Anfrageparameter gespeichert. Auf diese Weise kann der Server Sie erkennen und den Sitzungsstatus aufrechterhalten, unabhängig von den von Ihnen gemachten Anfragen oder den von Ihnen auf dieser Website besuchten Seiten. Während einer Sitzung kann ein Server relevante Benutzerdaten oder sitzungsspezifische Informationen speichern, wie Ihre Voreinstellungen, die Inhalte Ihres Warenkorbs, Ihre vorübergehenden Zugangsdaten und vieles mehr. Diese Daten werden häufig serverseitig gespeichert und der Session ID zugeordnet.
Während die Session ID eindeutig für einen sehr nützlichen Zweck konzipiert wurde, ist sie doch auch ausnutzbar, wenn sie nicht ordentlich abgesichert wird. Sollte es Angreifern gelingen, die Session ID abzufangen, können sie sich als deren Benutzer ausgeben und folglich auf dieselben Informationen zugreifen und dieselben Aktionen durchführen wie der Benutzer selbst.
Wie funktioniert Session Hijacking?
Angreifer können die unterschiedlichsten Methoden einsetzen, um eine Session ID abzufangen und sich unerlaubten Zugriff auf Benutzersitzungen zu verschaffen. Sobald die Kriminellen Kontrolle über die Sitzung haben, können sie alle Arten von bösartigen Aktivitäten durchführen. Dazu gehört unter anderem das Stehlen vertraulicher Daten, das Durchführen nicht genehmigter Geschäfte, das Ändern der Kontoeinstellungen oder sogar das Ausweiten ihrer Berechtigungen innerhalb des Systems.
Hier einige gängige Methoden, die beim Session Hijacking eingesetzt werden:
- Session Sniffing, mitunter auch als Session Sidejacking bezeichnet, ist eine Technik zum aktiven Session Hijacking, das auf die unsichere Übertragung der Session IDs abzielt. Während nahezu jede Website heutzutage Anmeldeseiten verschlüsselt, um die Passwörter zu schützen, sind bei einigen Websites jedoch die anderen Unterseiten nicht verschlüsselt. In diesem Fall können Angreifer sogenannte Paketsniffer einsetzen, um Ihren Netzwerkverkehr zu überwachen und Sitzungscookies nach dem Authentisierungspunkt abzufangen. Selbst wenn Ihr Passwort selbst nicht beeinträchtigt ist, können sich Angreifer dennoch auf allen unverschlüsselten Seiten des anvisierten Dienstes als Sie ausgeben.
- Cross-Site-Scripting (XSS) ist eine beliebte Methode des Session Hijackings. Bei einem XSS-Angriff manipulieren Cyberkriminelle anfällige Websites, indem sie clientseitige Skripts einspeisen, um die Richtlinie zur selben Herkunft zu umgehen. Dabei handelt es sich um eine wichtige Sicherheitsvorkehrung, mit der Browser steuern, wie Webseiten aufeinander zugreifen. Die Skripts führen schädlichen Code aus (in der Regel JavaScript), der die Session ID erfassen soll. Aus Sicht des Browsers erscheint die Website weiter als legitim, da der Inhalt immer noch von einem vertrauenswürdigen Server geladen wird.
- Sitzungsvorhersage: Einige Webseiten gehen beim Erstellen von Session IDs vorhersehbaren Mustern nach. Bei einem derartigen Angriff sammeln die Angreifer gültige Session IDs und analysieren diese, um den Algorithmus zu verstehen, nach dem diese erstellt werden. Je vorhersehbarer das Muster, desto einfacher lässt es sich ausnutzen. Sobald der Algorithmus geknackt wurde, können die Angreifer gültige Session IDs vorhersehen und selbst erstellen, um sie für bestimmte Benutzer einzusetzen.
- Session Fixation ist ein Angriff, bei dem die Session ID nicht mehr abgefangen wird. Stattdessen stehlen die Angreifer eine gültige ID, bevor Sie Ihre Anmeldedaten eingeben konnten und bringen Sie dazu, stattdessen diese Session ID zu verwenden (beispielsweise indem sie Ihnen einen bösartigen Link per E-Mail schicken). Sobald Sie sich dann über die gestohlene Session ID bei der Website angemeldet und authentisiert haben, können auch die Angreifer auf diese Sitzung zugreifen.
- Malware ist wahrscheinlich die gängigste Methode, um Browser-Informationen zu stehlen, wozu auch Session IDs gehören. Wie Linus Sebastian in seinem oben verlinkten Video erläutert, kann das sehr schnell passieren. Binnen Sekunden nach Installation der Malware können die Informationen abgegriffen worden sein.
Wie lässt sich Session Hijacking vermeiden?
Die folgenden Tipps sollen Ihnen helfen, nicht selbst Opfer eines derartigen Angriffs zu werden.
- Ausloggen: Beim Ausloggen auf einer Website wird die Session ID ungültig und kann nicht mehr missbraucht werden. Nichts leichter als das.
- Vorsicht bei Links: Ob per E-Mail, SMS oder in einem Beitrag in Social Media, Links sind nicht immer das, wonach sie aussehen. Anstatt Sie auf die erwartete Seite zu bringen, werden Sie möglicherweise auf eine Phishing-Seite umgeleitet, auf der Sie dazu gebracht werden sollen, Ihr Kennwort einzugeben oder Malware zu installieren. Während viele Phishing-Mitteilungen leicht zu erkennen sind, können andere extrem überzeugend sein. Seien Sie also immer extrem vorsichtig. Selbst wenn Sie auch nur den kleinsten Verdacht haben, dass eine Nachricht gefälscht sein könnte, klicken Sie nicht darauf. Verwenden Sie stattdessen Ihre Lesezeichen oder geben Sie die Adresse manuell im Browser ein.
- Geräte und Apps auf dem neusten Stand halten: Warten Sie nicht mit dem Installieren von Updates. Je schneller Sie sie installieren, umso kleiner ist das Zeitfenster, in dem Ihr Gerät aufgrund von Sicherheitslücken anfällig ist, die durch das Update behoben werden.
- Eines unserer Produkte einsetzen: Natürlich würde es uns sehr gefallen, wenn Sie unsere Produkte einsetzen, aber das ist natürlich nicht unbedingt erforderlich. Sollten Sie hingegen schon zu unseren Anwendern gehören, dann vielen Dank. Sie haben eine hervorragende Wahl getroffen. Davon abgesehen ist der Einsatz jeder namhaften und zuverlässigen Antivirus-/Antimalware-Lösung nützlich, um Angriffe abzuwehren. Wenn Malware gar nicht erst auf Ihren Computer gelangen kann, kann sie auch nicht Ihre Session IDs stehlen.
Noch eine Anmerkung zur mehrstufigen Authentisierung (MFA): Session Hijacking mag zwar MFA umgehen, sie ist ist aber dennoch unerlässlich und sollte wann immer möglich eingesetzt werden. Indem Sie diese Option aktivieren, können Sie das Risiko einer Kompromittierung Ihrer Konten minimieren.
Fazit
Bei Session Hijacking verschaffen sich Angreifer Kontrolle über eine gültige Session ID, um sich dann als deren Benutzer auszugeben und unberechtigte Aktionen durchzuführen. Es gibt unterschiedliche Methoden, um diesen Angriff durchzuführen, wie Session Sniffing, Cross-Site-Scripting, Sitzungsvorhersage und Session Fixation. Indem Sie die vorgenannten Tipps befolgen, können Sie Ihre Sitzungen sicherer gestalten und das Risiko senken, Opfer eines derartigen Angriffs zu werden.
Übersetzung: Doreen Schäfer