Icônes SCW
héros bg sans séparateur
Blog

Programmierer erobern die Sicherheit: Serie „Teilen und Lernen“ — Schwächen beim Sitzungsmanagement

Jaap Karan Singh
Publié le 31 janvier 2019
Dernière mise à jour le 9 mars 2026

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Consulter la ressource
Consulter la ressource

Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine falsche Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Souhaitez-vous en savoir davantage ?

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstration
Partager sur :
marques LinkedInSocialLogo x
Auteur
Jaap Karan Singh
Publié le 31 janvier 2019

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Partager sur :
marques LinkedInSocialLogo x

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Consulter la ressource
Consulter la ressource

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

Nous sollicitons votre autorisation pour vous envoyer des informations sur nos produits et/ou des sujets connexes liés au codage sécurisé. Nous traitons toujours vos données personnelles avec le plus grand soin et ne les vendons jamais à d'autres entreprises à des fins de marketing.

Soumettre
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « Analytics ». Une fois que vous avez terminé, vous pouvez les désactiver à tout moment.

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Veuillez consulter le webinaire.
Veuillez commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Consulter le rapportRéserver une démonstration
Télécharger le PDF
Consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
Auteur
Jaap Karan Singh
Publié le 31 janvier 2019

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Partager sur :
marques LinkedInSocialLogo x

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Table des matières

Télécharger le PDF
Consulter la ressource
Souhaitez-vous en savoir davantage ?

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstrationTélécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus d'articles
Centre de ressources

Ressources pour débuter

Plus d'articles