it-swarm.com.de

Müssen wir uns von Webanwendungen abmelden?

Eine schnelle Google-Suche zeigt nicht, ob es wichtig ist, sich von Webapps (Online-Banking, Amazon, Facebook usw.) abzumelden, oder ob ich sicher bin, nur den Tab oder den Browser zu schließen. Ich bin mir sicher, dass ich in einer Fernsehsendung gehört habe, dass es am besten ist, sich abzumelden ...

Welchen möglichen Bedrohungen bin ich ausgesetzt, wenn ich mich nicht ordnungsgemäß abmelde?

97
Angelo.Hannes

Dies ist keine triviale, vereinfachende Frage. Es gibt verschiedene Aspekte, die Sie berücksichtigen müssen, und verschiedene Mechanismen und Gegenmaßnahmen, die für verschiedene Bedrohungen in verschiedenen Szenarien gelten, die von mehreren verschiedenen Clients betroffen sind. Lassen Sie uns diese einzeln untersuchen. (Es wird eine TL geben; DR am Ende ...)

  • Wenn Sie einen öffentlichen Computer verwenden: LOG OUT.
    Jeder Dienst, bei dem Sie ein Konto führen, sollte nicht auf einem öffentlich zugänglichen Computer angemeldet bleiben.

  • Wenn Sie einen trivialen, unempfindlichen Dienst verwenden: BLEIBEN SIE ANGEMELDET.
    Dies gilt nur für wegwerfbare, temporäre Konten, z. B. für Internetradio, bei denen das Verschenken des Zugriffs nichts anderes als ein Ärgernis ist.

  • Wenn Sie Public Wifi verwenden: LOG OUT.
    Da das Netzwerk von Natur aus nicht vertrauenswürdig ist, gibt es eine große offensichtliche Bedrohung: Diebstahl von Sitzungscookies. Es ist möglich, dass Ihre Sitzung entführt wurde. und jemand - entweder jemand anderes im Netzwerk oder der Hotspot selbst - hat Ihr Sitzungscookie gestohlen. Wenn dies der Fall wäre, würden Sie es natürlich nicht wissen, aber dann können Sie sich möglicherweise auch nicht wirklich abmelden (wenn es sich um ein böswilliges Netzwerk oder MITM handelt, haben sie die Kontrolle über Ihre gesamte Verbindung - sie können Ihre einfach trennen Abmeldeanforderung).

    Das heißt, der Diebstahl nur Ihres Sitzungscookies durch Dritte IS eine gültige Bedrohung (z. B. FireSheep ) und das explizite Abmelden verhindert die unbegrenzte Verwendung. (Grundsätzlich kann der Schaden auftreten wurde bereits gemacht, aber dies verhindert, dass es weitergeht.)

    Noch besser wäre es, in ein vertrauenswürdiges Netzwerk zu gehen, sich anzumelden und sich explizit wieder abzumelden. nur für den Fall Das MITM hat Ihre Abmeldung blockiert. Besser noch ist es, Passwort ändern auf der vertrauenswürdigen Site ... Aber am besten niemals von einem nicht vertrauenswürdigen Netzwerk aus auf eine nicht triviale, sensible Site zugreifen.

  • Wenn Sie Ganztagsanwendungen verwenden: BLEIBEN SIE ANGEMELDET.
    Für Dienste, die Sie den ganzen Tag nutzen und auf die Sie schnell und einfach zugreifen möchten, z. Facebook, E-Mail usw. - WENN dies Ihr eigener privater (oder geschäftlicher) Computer in einem vertrauenswürdigen Netzwerk ist, ist es ein vernünftiger Kompromiss, Ihren Browser langfristig angemeldet zu lassen.

    BEDROHUNG: Böswilliger Zuschauer

    Sperren Sie Ihren Computer jedes Mal, wenn Sie weggehen, auch um eine Tasse Kaffee zu bekommen. Oder schließen Sie Ihr Büro ab, wenn Sie eine physische Tür haben, durch die niemand sonst hindurch kann. (Oder haben Sie ein Home Office, wheee!) Melden Sie sich regelmäßig ab und wieder an. Überwachen Sie alle Beiträge, die "Sie" machen.

    BEDROHUNG: Andere Websites können registrieren, dass Sie angemeldet sind (z. B. um Ihnen das wichtige "Gefällt mir" -Symbol von Facebook anzuzeigen). Dies ist Teil des geltenden Kompromisses, während es weitere Implikationen gibt, die für diese Antwort nicht relevant sind.

  • Wenn Sie verwenden Jede Anwendung, die die HTTP-Basisauthentifizierung verwendet (z. B. viele Router): ABMELDEN UND SCHLIESSEN [~ # ~] all [~ # ~] = BROWSER WINDOWS. Hier wird es interessant, und dies gilt auch für den nächsten Abschnitt.

    Wenn Sie sich mit Basic AuthN bei einer Webanwendung anmelden, speichert der Browser Ihr Kennwort zwischen und sendet es bei jeder Anforderung. Der BasicAuth-Mechanismus des Browsers hat kein Sitzungskonzept. Selbst wenn Sie sich wiederholt abmelden, hat die Webanwendung weder auf der Server- noch auf der Clientseite eine Möglichkeit, die Sitzung zu "beenden". Die einzige Möglichkeit, diese zwischengespeicherten Anmeldeinformationen zu löschen, besteht darin, den Browserprozess abzubrechen.

    [~ # ~] jedoch [~ # ~] . Ihre Wahl des Browsers ist für dieses Konzept des "Browserprozesses" von Bedeutung. Z.B.:

    • Firefox : Immer ein einzelner Prozess, egal wie viele Registerkarten und Fenster Sie öffnen.

    • Chrome : Jede Registerkarte ist ein separater Prozess. Es gibt jedoch einen anderen "globalen" übergeordneten Prozess. Alle Registerkartenprozesse sind untergeordnete Prozesse dieses Prozesses (im Windows-Sprachgebrauch als "Jobprozess" bezeichnet), und alle teilen sich den Prozessspeicher über den übergeordneten Prozess. Dies gilt auch, wenn Sie ein neues Fenster öffnen. Während Chrome die untergeordneten Prozesse mit gemeinsam genutzten übergeordneten Elementen in großem Umfang verwendet, sind die Registerkarten besonders lebendig und robust. Der Nachteil besteht jedoch darin, dass der Prozessstatus gemeinsam genutzt wird. Mit anderen Worten, die einzige Möglichkeit, zwischengespeicherte BasicAuth-Anmeldeinformationen aus Chrome] zu entfernen, besteht darin, alle Chrome Fenster, alle letzten Fenster zu schließen. Das Schließen der Registerkarte allein hilft nicht .

    • [~ # ~] dh [~ # ~] : Das Registerkarten-/Prozessmodell ist mit Chrome identisch (oder ähnlich) ... mit einer Ausnahme. Per default, IE öffnet auch alle Registerkarten in einem untergeordneten Element des übergeordneten Prozesses. (Tatsächlich ist dies nicht 100% genau - einige Registerkarten teilen sich einen untergeordneten Prozess mit anderen Registerkarten - aber das spielt in der Realität keine Rolle). Wenn Sie jedoch "-NoFrameMerging "In der Befehlszeile IE] wird ein völlig neuer IE übergeordneter Prozess erstellt. Der Unterschied besteht darin, dass Sie z. B. nur ein neues übergeordnetes Fenster erstellen können um sich bei Ihrem Router anzumelden und dann nur dieses Fenster zu schließen, wenn Sie fertig sind. Dies löscht Ihren BasicAuth-Cache, ohne andere offene Fenster zu berühren IE Fenster.) Randnotiz: Es ist tatsächlich möglich, dies mit Chrome auch! Es ist jedoch viel komplizierter und erfordert, dass Sie ein anderes Browserprofil auf Ihrem Computer erstellen.)

  • Wenn Sie sensible Anwendungen verwenden, z. Banking-Apps - IMMER AUSSCHLIESSLICH ABMELDEN UND SCHLIESSEN [~ # ~] alle [~ # ~] BROWSER-FENSTER. Dieser Teil ist etwas komplizierter. Viele der Abhängigkeiten wurden jedoch bereits oben behandelt.

    BEDROHUNG: Böswilliger Zuschauer Das Sperren Ihres Computers wie oben wäre sinnvoll, es besteht jedoch keine Notwendigkeit für einen Kompromiss von zuvor. Einfach abmelden.

    Sitzungszeitlimit: Darüber hinaus implementieren die meisten sensiblen (z. B. Bank-) Apps sollte eine Form des automatischen Leerlaufzeitlimits. Wenn Sie also für den Nachmittag ausgehen, wird Ihre Sitzung irgendwann automatisch beendet. Dies hilft bei dieser Bedrohung möglicherweise nicht weiter, da der böswillige Zuschauer möglicherweise nur auf Ihren Computer springt, wenn Sie 4 1/2 Minuten aussteigen, um Ihren Kaffee nachzufüllen.

    GEFAHR: Diebstahl von Sitzungscookies

    Hoffentlich verhindern sensible Apps dies aktiv, z. HTTPS, IDS, Geo-/Betrugserkennung usw. Trotzdem ist es immer noch sinnvoll, dieses "Zeitfenster" zu schließen, nur für den Fall - Tiefenverteidigung und all das.

    Sitzungszeitlimit: Wie zuvor implementieren die meisten sensiblen (z. B. Bank-) Apps sollte eine Form des automatischen Leerlaufzeitlimits und helfen minimieren auch dieser Bedrohung. Allerdings Auch wenn Sie wissen, dass diese App Leerlaufzeitlimits korrekt implementiert, gibt es für den Angreifer immer noch ein Zeitfenster. In einer relativ sicheren App ist dies jedoch keine große Bedrohung.

    BEDROHUNG: Cross Site Request Forgery (CSRF)

    Dies ist derjenige, über den Sie sich Sorgen machen müssen.

    Angenommen, Sie sind bei Ihrer Bank angemeldet. Im selben Fenster, auf einer anderen Registerkarte, durchsuchen Sie eine zweifelhafte Website. Beim Anzeigen dieser Website werden möglicherweise verschiedene bekannte Bank-Websites heimlich getestet, um festzustellen, ob Sie zufällig bei einer dieser Websites angemeldet sind. Wenn dies der Fall ist, wird der CSRF-Angriff aktiviert (nicht alle Bankseiten sind dafür anfällig, viele jedoch noch). CSRF'd !

    Okay. Sagen Sie jetzt, Sie sind schlauer als dieser andere Typ Und durchsuchen Sie keine verdächtigen Websites, während Ihre Bankseite geöffnet ist. Nachdem Sie auf Ihrer Bank fertig sind, schließen Sie die Registerkarte vorsichtig. Nur dann öffnen Sie einen neuen Tab, um zur zwielichtigen Seite zu navigieren. Das Problem ist, dass Sie immer noch angemeldet sind und dies für eine Weile tun wird (normalerweise etwa 30 Minuten, aber es können nur 10 oder bis zu einer Stunde sein ...). CSRF'd !.

    (Beachten Sie, dass das Sitzungszeitlimit hier hilfreich ist, indem das Zeitfenster verkürzt wird. Es besteht jedoch weiterhin die Möglichkeit, dass dies innerhalb des Fensters geschieht.).

    Hmm. Nun, ich weiß, lass uns ein neues Browserfenster öffnen! Verwenden Sie dies für die Bankarbeit, schließen Sie dann erneut die Registerkarte und öffnen Sie erneut eine neue für die Malware-Sites, mit denen ich gerne spiele. Hoppla, siehe den obigen Abschnitt über die Standardauthentifizierung - Ihre Wahl des Browsers ist wichtig.

    Es sei denn, Sie verwenden "inkognito/privates Surfen" oder "-NoFrameMerging "Flag für IE, Sie befinden sich immer noch in derselben Prozessfamilie, und diese noch offene Sitzung wird von allen Fenstern gemeinsam genutzt, zumindest bis der Server das Leerlaufzeitlimit erreicht es wurde noch nicht kooptiert. CSRF'd !

    Okay, noch eine, nur noch eine. Ich habe diesen überlangen Beitrag irgendwo gelesen, wie ich mich immer von meinen sensiblen Apps abmelden muss - also mache ich genau das, bevor ich zu meinen kriminellen Websites gehe. Leider hat die Anwendung "vergessen", sich ordnungsgemäß abzumelden. Sie leitet mich einfach aus der Anwendung weiter (oder löscht mein Cookie oder ...), anstatt es auf dem Server ungültig zu machen ... CSRF'd!


Also, TL; DR?

  • Wenn Sie sich für Ihr Konto auf dieser Website interessieren: LOG OUT.
  • Wenn Sie sich für Ihr Konto interessieren und es die Basisauthentifizierung verwendet: Melden Sie sich ab und schließen Sie alle Browser-Fenster und -Fenster.
  • Wenn Sie sich nicht für Ihr Konto interessieren - es spielt keine Rolle, was Sie tun, hören Sie auf zu fragen :-).

P.S. Ich habe Dinge wie Flash-Cookies, Nicht-http-Sitzungen und integrierte Windows-Authentifizierung nicht behandelt. Genug ist genug.

89
AviD

Wenn Anmelden bei einem Webdienst, wird ein Cookie in Ihren Browser eingefügt. Dieses Cookie hat einen eindeutigen ID-Wert, der Sie identifiziert, während Sie den Webdienst verwenden, und möglicherweise, wenn Sie später wiederkommen. Wenn diese Kennung irgendwie * gestohlen wurde, könnte die Person, die sie besitzt, möglicherweise Ihr Konto so verwenden, als wäre sie Sie.

Abmelden macht diese Kennung normalerweise sowohl für Sie als auch für den Gegner ungültig. Keiner von Ihnen kann die Kennung verwenden, um dem Webdienst " Hallo, ich bin Angelo Hannes" mitzuteilen. Das hat den unglücklichen Nebeneffekt, dass Sie gezwungen wird, Ihren Benutzernamen und Ihr Passwort erneut einzugeben, um sich anzumelden.

"Also, was soll ich dann tun?", Fragen Sie. Es hängt davon ab. Einige vertrauliche Webdienste (Banken, Regierungswebsites, Versicherungsunternehmen usw.) haben eine kurze Sitzungszeit, d. H. Sie machen die Kennung nach 10 bis 15 Minuten Nichtbenutzung des Dienstes ungültig. Andere vertrauliche Webdienste (E-Mail-Posteingang, der im Grunde fast alle Ihre anderen Konten kontrolliert) machen die Sitzung nicht so oft ungültig, wenden jedoch IP-Adressbeschränkungen an (wenn Sie dieselbe Sitzung von einer anderen IP-Adresse aus verwenden, ist dies die Sitzung ungültig gemacht).

TL; DR

  • Öffentlicher Computer, extra paranoid, Sie denken, Ihre Sitzung wurde kompromittiert, oder Sie interessieren sich wirklich für diesen Dienst? Abmelden.

  • Privater Computer, Sie denken, Ihre Sitzung ist sicher und Sie interessieren sich wirklich nicht für diesen Dienst? Es ist in Ordnung, eingeloggt zu bleiben.


* Ihre Sitzung kann aufgrund bekannter Probleme im Dienst (z. B. ohne HTTPS) oder einiger Zero-Day-Schwachstellen wie eines neu entdeckten XSS-Angriffs im Dienst, neuer Schwachstellen in Ihrem Browser, die Cookie-Informationen offenlegen, oder einiger gestohlen werden Auf dem Computer, den Sie verwenden, installierte Malware, die Sitzungsinformationen stiehlt (in diesem Fall hätte sie Ihren Benutzernamen und Ihr Kennwort bereits gestohlen).

40
Adi

Ich werde versuchen, eine Antwort auf diese Frage in umgekehrter Weise zu der oben bereits veröffentlichten zu geben.

Welche Risiken sind mit Leerlaufsitzungen in Webanwendungen verbunden?

  • Sitzungscookie-Diebstahl über XSS (wenn die Sitzung nicht an die IP gebunden ist)
  • Cross Site Request Forgery (in der inaktiven, aber noch authentifizierten Sitzung).
  • Man In The Middle Attacks (mit einem Sniffed-Session-Cookie mit SSLStrip oder aufgrund gemischter HTTPS-Informationen)
  • Terminal öffnen (Sie sind für eine Mittagspause mit offenem Paypal neben <hier den Namen eines zufälligen Cyberkriminellen einfügen> abgereist und sind zurückgekommen, um zu sehen, dass Ihr Konto leer ist, weil Sie nicht abgemeldet)

Zeitüberschreitung Wie bereits erwähnt, weisen bestimmte sicherheitskritische Anwendungen wie Bankwebsites niedrige Zeitüberschreitungswerte von im Allgemeinen fünf bis zehn Minuten auf. Diese Anwendungen verfügen jedoch im Allgemeinen auch über zufällige Sequenzierungs-CSRF-Präventionstoken und IPs, die an Sitzungen gebunden sind. Selbst wenn Ihr Cookie kompromittiert wird, kann ein Angreifer daher nichts damit anfangen, wenn die Sicherheit ordnungsgemäß implementiert wurde.

Andere Websites wie FaceBook haben im Allgemeinen keine Zeitüberschreitungen, um den Zugriff oder die Benutzerfreundlichkeit zu verbessern. Sie unterstützen jedoch die Anmeldungsbenachrichtigung und die IP-Bindung an das Cookie. Anwendungen wie Google Mail oder DropBox unterstützen 2-Schritt SMS Auth, um die Sicherheit weiter zu verbessern und Sitzungsdiebstahl unbrauchbar zu machen, wenn sie von einem neuen nicht vertrauenswürdigen PC stammen.

Daher wäre die einzige Sorge, die ich hätte, Sitzungen offen zu lassen für:

  • Öffentliche Terminals (Wo Sie sowieso privates Surfen verwenden sollten. Strg + Umschalt + P auf FF)
  • Websites mit schlechter Sicherheit (wo der Benutzer dafür verantwortlich ist, die Geheimhaltung seiner Cookies vor den bösen Cookie-Monstern da draußen zu bewahren).
11
Rohan Durve

Eine der größten Bedrohungen für das Nicht-Abmelden ist die Verwendung eines öffentlichen Computers. Abhängig von der Browserkonfiguration wird eine Sitzung möglicherweise nicht beendet, wenn Sie den Browser schließen. Wenn der Benutzer vergisst, seinen Betriebssystembenutzer abzumelden (oder möglicherweise nicht einmal dazu in der Lage ist), kann jemand anderes auf seine Webanwendung zugreifen. Dies ist natürlich kein sehr wahrscheinlicher Fall. Webapps sind jedoch häufig für eine große Benutzergruppe zugänglich, und einige Benutzer verwenden möglicherweise öffentliche Computer (Universitäten, Schulen, Bibliotheken).

4
user31950

Da eine Sitzung eine Zeitüberschreitung aufweist, ist es nur eine kurze Zeit, in der ich angemeldet bin, nachdem ich die Webanwendung verwendet habe.

Das ist nicht unbedingt wahr. Abhängig davon, wie die Site ihre Sitzungsverwaltung implementiert, können sie ein beliebig langes Zeitlimit verwenden und sogar Sitzungen verwenden, die den Neustart des Browsers/Betriebssystems überleben.

Ob Sie sich explizit abmelden sollten oder nicht, hängt letztendlich davon ab, um welche Web-App es sich handelt. Bank-Sites implementieren im Allgemeinen eine sehr kurze Zeitüberschreitung, Social-Networking-Sites implementieren im Allgemeinen eine permanente Anmeldung, insbesondere wenn sie auch Identitätsanbieter (OpenID usw.) sind.

Das Stehlen eines Sitzungscookies ist normalerweise nicht einfach, aber es ist möglich und das explizite Abmelden verhindert, dass Sie sich generell explizit für Websites mit hohem Wert abmelden sollten.

4
Lie Ryan

Gehen Sie nicht davon aus, dass ein Dienst eine Zeitüberschreitung aufweist. Selbst wenn es eine Zeitüberschreitung gibt, kann ein Angreifer einfach Ihr Cookie sammeln und es mit einem einfachen Skript verwenden, das den Dienst weiter pingt, Ihr Cookie sendet und den "zuletzt gesehenen" Zeitstempel aktualisiert. Es gibt verschiedene Möglichkeiten für Websitebesitzer, sich davor zu schützen, aber vertrauen Sie den Websitebesitzern nicht. Das Stehlen eines Cookies ist nicht so schwer, wie es sich anhört (eine Suche auf Youtube zeigt Ihnen möglicherweise genau, wie einfach es ist), und Ihr bester Schutz für diesen Fall besteht in der Tat darin, sich abzumelden.

3
jpkrohling

Wenn Sie sich nicht abmelden, bleibt das Anmelde-Cookie für einen bestimmten Zeitraum gültig (abhängig von der Implementierung), da der Server (auf dem die Webanwendung ausgeführt wird) nicht weiß, dass Sie Ihren Browser geschlossen haben. Wenn jemand Ihr Cookie gestohlen hat, kann er sich damit bei der Anwendung anmelden und sogar die Gültigkeit verlängern, da die meisten Implementierungen einen gleitenden Ablauf haben.

1
Kees de Wit

Aus Sicherheitsgründen ist die Antwort meiner Meinung nach einfach. Wenn Sie mit dem Abmelden einer Site fertig sind. Und wenn Sie mit dem Surfen fertig sind, löschen Sie Ihren Cache und löschen Sie den Verlauf usw. Sie können Ihren Browser sogar so einrichten, dass beim Schließen des Browsers alles gelöscht wird. Hinterlassen Sie so wenig Spuren wie möglich von dem, was Sie getan haben.

Und bitte klicken Sie nicht auf Popups oder lustige Links in E-Mails. Achten Sie auf Weiterleitungen von der Site, auf der Sie sich zu einer anderen Site befinden.

0
AquaAlex