題:
我們需要註銷Web應用程序嗎?
Angelo.Hannes
2013-10-14 12:03:12 UTC
view on stackexchange narkive permalink

快速的Google搜索不會顯示註銷Web應用程序(在線銀行,亞馬遜,Facebook等)是否重要,或者如果我安全的話,只需關閉標籤或瀏覽器即可。我確定我在某些電視節目中聽說過最好註銷...

如果我沒有正確註銷,我會暴露給自己什麼潛在威脅?

考慮關閉選項卡與不關閉選項卡幾乎相同。
@domen並非總是如此。參見例如我的答案。
在拉脫維亞SwedBank中,網上銀行也使用IP地址。我想其他銀行也這樣做。現實生活中的示例:我在家中建立了兩個Internet連接(基於打包的負載平衡),而我根本無法使用Internet銀行業務,因為單擊2或3次後,我註銷了。我使用一個IP進行了身份驗證,然後使用第二個IP提出了另一個請求。在這種情況下,無法竊取Cookie。
使用Rails應用程序無關緊要,因為“ [[默認情況下,Ruby on Rails Web應用程序中的註銷已中斷](http://maverickblogging.com/logout-is-broken-by-default-ruby-on-rails -web-applications /)“ ... SCNR
感謝@thatguyfromoverthere的發現,我想念那一個!請注意,這種類型的錯誤在定制應用程序中非常常見,正如我在下面的評論中提到的那樣,它不僅僅是Rails。
-1
@domen關閉選項卡會影響某些方面。例如。對於基本身份驗證,如果您使用-NoFrameMerging或專用瀏覽將其打開。
附帶說明-在運行密碼保護程序之前,檢查您的關鍵應用程序是否確實強制進行重新認證很有趣,理想情況下是通過不同的方式(=如果您使用登錄名/密碼登錄,則使用SMS重新認證/確認)。關鍵操作(例如銀行電匯)。通常,在銀行環境中,有人設法查看您的帳戶是一件非常糟糕的事情。如果有人設法進行交易(轉帳),那將是一場災難。
我知道已經有很多回應,但是有一個黑客的助手,它會竊取您的Cookie,如果您不註銷,他們仍然可以在您瀏覽時瀏覽
@jcho360已經以幾種不同的方式在幾個答案中提到了這一點。這樣做有不同的方面,並不是那麼簡單。
請注意,[LifeHacker](http://lifehacker.com/do-i-really-need-to-log-out-of-webapps-1482782887)上對此問題進行了介紹,顯然這是一個常見問題...
八 答案:
AviD
2013-10-14 22:11:07 UTC
view on stackexchange narkive permalink

這不是一個簡單的,簡單的問題。您需要考慮幾個不同的方面,並且在受多個不同客戶端影響的幾種不同情況下,適用於幾種不同威脅的幾種不同機制和對策。讓我們一次檢查這些。 (最後會有一個TL; DR ...)

  • 如果您使用的是公共計算機:註銷。
    您擁有帳戶的任何服務都不應保留在可公開訪問的計算機上。

  • 如果您使用的是不敏感的臨時服務:請保持登錄狀態。
    這僅適用於一次性的臨時帳戶,例如至於互聯網廣播,放棄訪問無非是滋擾。

  • 如果您使用的是公共Wifi:註銷。
    由於網絡本身是不受信任的,因此有一個明顯的威脅:會話Cookie失竊。。您的會話可能被劫持了,並且有人(網絡上的其他人或熱點本身)偷了您的會話Cookie。當然,如果是這種情況,您可能會不知道,但是您可能也無法真正註銷(如果是惡意網絡或MITM,他們可以控制您的整個連接-他們可能會丟棄您的連接

    也就是說,僅您的會話Cookie的第三方盜竊是一種有效的威脅(例如 FireSheep),顯式註銷會阻止無限使用。 (基本上損壞可能已經發生,但是這阻止了它繼續。)

    最好是轉到受信任的網絡,登錄並明確註銷,以防萬一。 MITM阻止了您的註銷。最好在受信任的站點上更改密碼。但是最好不要從不受信任的網絡訪問不重要的敏感站點。

  • 如果您使用的是全天應用程序:請保持登錄狀態。
    對於您全天使用的服務,希望快速/輕鬆地訪問,例如Facebook,電子郵件等-如果這是您自己在受信任的網絡上的私人(或工作)計算機,則要長期保持瀏覽器登錄是明智的選擇。

    威脅:惡意旁觀者

    只要您走開,即使要喝杯咖啡,也要鎖定計算機。如果您有一扇沒有其他人可以通過的實體門,也可以鎖上辦公室。 (或者要有家庭辦公室!),請定期註銷並重新登錄。監視“您”發布的任何帖子。

    威脅:其他站點可以註冊您的登錄名 (例如,向您顯示來自Facebook的重要“贊”圖標)。這是適用折衷方案的一部分,儘管存在更廣泛的含義,但超出了此答案的範圍。

  • 如果您使用的是使用HTTP基本身份驗證的任何應用程序(例如,許多路由器):註銷並關閉 ALL 瀏覽器窗口。 這是有趣的地方,這也適用於下一部分。

    使用基本AuthN登錄到Web應用時,瀏覽器會緩存您的密碼,並在每次請求時發送該密碼。瀏覽器的BasicAuth機制沒有會話的概念。即使您反复註銷,Web應用程序-服務器端和客戶端都沒有“殺死”會話的任何方式。清除這些緩存的憑據的唯一方法是殺死瀏覽器進程。

    如何。瀏覽器的選擇對於“瀏覽器過程”的概念很重要。例如:

    • Firefox :始終打開一個進程,無論您打開了多少選項卡和窗口。

    • Chrome :每個標籤是一個單獨的過程。但是,還有另一個“全局”父進程。所有選項卡進程都是該進程的子進程(在Windows中又名“作業進程”),它們都是通過父進程共享進程內存。如果您打開一個新窗口,也是如此。因此,儘管Chrome充分利用子進程與共享的父進程,使其選項卡特別生動,健壯,但缺點是共享進程狀態。換句話說,從Chrome刪除緩存的BasicAuth憑據的唯一方法是關閉所有Chrome窗口,最後一個關閉。僅關閉選項卡將無濟於事。

    • IE :選項卡/進程模型與Chrome瀏覽器相同(或相似)...除了一個例外。通過默認,IE還會在父進程的子進程中打開所有選項卡。 (實際上,這不是100%準確的-一些選項卡與其他選項卡共享一個子進程-但這在現實中並不重要)。但是,如果在IE命令行中添加“ -NoFrameMerging ”,它將創建一個全新的IE父進程。此處的區別在於您可以創建一個新的父窗口以登錄到路由器,然後在完成操作後關閉 just 該窗口。這將清除您的BasicAuth緩存,而無需觸摸任何其他打開的IE窗口。 (旁注:實際上也可以使用Chrome來做到這一點!但是,它涉及的更多,並且需要您在計算機上創建另一個瀏覽器配置文件。)

  • 如果使用的是敏感應用程序,例如銀行應用程序-總是明確註銷並關閉 ALL 瀏覽器窗口。這部分要復雜一些,但是上面已經介紹了很多依賴項。

    威脅:惡意旁觀者如上所述,鎖定您的計算機是有道理的,但是無需進行以前的權衡。只需註銷即可。

    會話超時:此外,大多數敏感(例如銀行業務)應用 應該實現某種形式的自動空閒超時,因此,如果您下午出門,會話將在某個時間點自動終止。這可能無助於解決此威脅,因為如果您走了4 1/2分鐘以補充咖啡,那麼惡意的旁觀者可能會跳上計算機。

    威脅:會話Cookie盜竊

    希望,敏感應用正在積極地防止這種情況發生,例如, HTTPS,IDS,地理/欺詐檢測等。也就是說,關閉“機會窗口”還是有道理的,以防萬一-縱深防禦,以及所有這些。

    會話超時:以前,大多數敏感(例如銀行)應用程序應該實施某種形式的自動空閒超時,並且還將幫助最小化這種威脅。 但是,即使您確實知道此應用程序確實正確實現了空閒超時這一事實,攻擊者仍然有很大的機會。也就是說,在相對安全的應用程序中,這並不是什麼威脅。

    威脅:跨站請求偽造(CSRF)

    這是您需要擔心的。

    說您已登錄銀行。在同一窗口中的其他選項卡中,您正在瀏覽某個可疑的網站。在查看此網站時,它可能正在暗中測試各種知名的銀行,以查看您是否恰巧登錄其中之一。如果是這樣,它將發起CSRF攻擊(並非所有銀行站點都容易受到此攻擊,但許多站點仍然存在)。 CSRF!

    好的。現在說您比其他人聰明,不要在銀行開門的同時瀏覽可疑站點。因此,完成銀行業務後,請仔細關閉該標籤。只有 then ,您才能打開新標籤頁瀏覽到躲閃的站點。嗯,問題是,您仍處於登錄狀態,並且會登錄一段時間(通常大約30分鐘,但可能最少10個小時或最多一個小時...)。 CSRF!

    (請注意,此處的會話超時確實有助於縮短機會窗口,但在窗口內仍然有可能發生這種情況)。

    嗯。好吧,我知道,讓我們打開一個新的瀏覽器窗口!將其用於銀行工作,然後再次關閉選項卡,然後針對我喜歡玩的惡意軟件站點再次打開一個新文件夾。糟糕,請參閱以上有關基本身份驗證的部分-您選擇的瀏覽器很重要。

    除非您使用“隱身/私人瀏覽”或“ -NoFrameMerging ”標誌IE,您仍然處於同一進程族中,並且此仍然打開的會話將在所有窗口之間共享,至少直到服務器達到空閒超時為止。假設尚未被選中。 CSRF了!

    好吧,再說一遍。我在某處閱讀了一篇冗長的文章,內容涉及我始終需要從敏感應用程序中註銷的原因-因此,在進入犯罪網站之前,我只是這樣做。不幸的是,該應用程序“忘記”進行正確的註銷,它只是將我重定向到該應用程序之外(或擦除了我的cookie,或...),而不是在服務器上使它無效... / em>


那麼,TL; DR?

  • 如果您關心此站點上的帳戶:登出。
  • 如果您關心您的帳戶,並且該帳戶使用基本身份驗證,請執行以下操作:註銷並關閉所有瀏覽器選項卡和窗口。
  • 如果您不關心自己的帳戶-做什麼都無所謂,請停止詢問:-)。

P.S。我沒有介紹Flash Cookie,非HTTP會話和集成Windows身份驗證。適可而止。 sub>

好東西!要注意的一件事是,在緩解會話Cookie盜竊的過程中,轉到受信任的計算機並執行登錄/註銷操作均假定該應用程序為假。每個用戶只允許一個有效的會話,建立會話會使上一個無效。不幸的是,在許多應用程序中情況並非如此(根據我的經驗,大多數情況下允許同時登錄)。
@RoryMcCune是真的!我實際上是在考慮將筆記本電腦從開放wifi轉移到受信任的網絡,在那裡會話將保持不變(實際上,不一定……)。不過,您對不受信任的計算機是正確的。
還意識到我什至沒有提到有時註銷也無法完成工作……不是通過在服務器端殺死它,只是取消了客戶端cookie或其他類似的錯誤。通過所有這些隱含的假設是,如果您使用*登出,那麼*可以正常使用-這個假設並不總是成立。
要弄清AviD答案的重點:如果您真的對帳戶感興趣:殺死所有瀏覽器進程,包括所有插件生成(嵌入式PDF,音樂播放器和applet彈出窗口);然後僅訪問該帳戶的網站;然後在重新啟動正常的瀏覽習慣之前重新殺死一切。由於瀏覽器是趨向於更多並行性和共享而不是更少的“ Web操作系統”,因此在訪問關鍵帳戶時本質上確保沒有並行性。
順便提一句,與AviD的第二個TL; DR要點有關:如果將WebDeveloper插件用於Firefox,則需要進行雜項|清除私有數據|清除HTTP驗證。這將使您不必關閉所有選項卡和窗口。
當我的會話不安全時,關閉標籤/瀏覽器後,那麼在我使用它時也不安全,是嗎?因此,webapp本身沒有?
應當注意,Chrome和其他一些瀏覽器具有“隱身窗口”,具有獨立的憑據和cookie緩存。如果您打算打開隱身窗口來登錄該站點,則此後不必關閉任何其他窗口。
許多網站使用的“記住我”功能(至少沒有明確提到)。因此,即使在關閉瀏覽器並關閉機器之後,在您下次訪問該站點時,您也將自動登錄。通常,註銷也會停止“記住我”功能,因此這是登錄的另一點在敏感站點之外。
@JanHudec謝謝,我只是想知道。通常,我使用帶有很多打開標籤的Chrome瀏覽器,並使用Safari(在OSX上)執行敏感任務。隱身窗口將是一個不錯的選擇。
@LateralFractal非常正確,對於我在腳註中提到的插件,諸如Flash之類的東西(碰巧是最常見的,不僅存在,而且存在相關缺陷)。感謝其他插件示例。
@DarrenCook對此表示感謝!我一直在尋找該選項,忘了您只對WebDeveloper插件說過它...但是它將對使用該選項的小部分有所幫助:-)
@Angelo.Hannes“安全”是一個相對術語。如果您在共享過程中打開了會話(即未使用私有瀏覽或IE的NoFrameMerging),則-不一定*不安全*,但存在一定風險。例如。如果存在CSRF漏洞,則很容易受到其他選項卡的同時攻擊等。如果攻擊者竊取了您的會話cookie,則是否有與選項卡無關的風險,但這僅是關閉攻擊窗口的問題(因此,是的-不註銷後,與登錄時相比,您不會再感到不安全)。問題是可能不會超時...
@JanHudec是正確的,我只是順帶提及。
@CarlosCampderr的好點!我認為如果您要註銷,那麼您對“記住我”不感興趣,但是這種假設可能是錯誤的。另外,“記住我”功能通常是非常不安全的。
*威脅:惡意旁觀者*-由於[Dvorak](http://en.wikipedia.org/wiki/Dvorak_simplified_keyboard)混亂;大多數試圖“劫持”我的計算機的惡意旁觀者至少會損失一些時間;-)
@gerrit呵呵,是的,但這是默默無聞的安全-可能只需幾分鐘就可以買到。最終,他們將通過鍵盤的線將其撕裂,將碎片散落在整個房間中,然後插入自己的鍵盤。
@AviD是的,它不會阻止專注和專注的攻擊者,而且我也不認為這是一種認真的保護。但是,當我從字面上只喝茶或咖啡時,一分鐘可能就足夠了。
此建議是否仍然適用於[按返回按鈕/歷史記錄](http://security.stackexchange.com/q/8404/396)來對SAML /聯合cookie重新進行身份驗證?看到影響各種緩存指令的場景會很有趣...它可能記錄在Google的(舊版的)瀏覽器安全手冊中
Adi
2013-10-14 12:59:36 UTC
view on stackexchange narkive permalink

登錄到網絡服務時,cookie會植入瀏覽器中。該cookie具有唯一的ID值,該值可在您使用Web服務時以及以後再回來時標識您。如果某種方式*該標識符被盜,擁有它的人可能會像使用您一樣使用您的帳戶。

註銷,通常會使該標識符失效你和對手。你們兩個都無法使用標識符來告訴Web服務“ 嗨,我是Angelo Hannes ”。不幸的是,這迫使再次輸入用戶名和密碼進行登錄。

“那麼,那我該怎麼辦?”,您問。這要看情況。一些敏感的Web服務(銀行,政府網站,保險公司等)的會話時間很短,即,在不使用該服務10-15分鐘後,它們會使標識符失效。其他敏感的Web服務(基本上控制幾乎所有其他帳戶的電子郵件收件箱)實際上並不會使會話無效,但是它們會應用IP地址限制(如果您使用其他IP地址的同一會話,則該會話

TL; DR

  • 公用計算機,額外的偏執狂,您認為您的會話受到影響,還是真的在意此服務? 註銷

  • 私人計算機,您認為會話安全,並且真的不關心這項服務嗎? 可以保持登錄狀態


*您可以使用服務中的已知問題(不使用HTTPS,因為例如)或某些零日漏洞,例如服務中新發現的XSS攻擊,瀏覽器中的新漏洞會洩露Cookie信息,或者您正在使用的計算機上安裝的某些惡意軟件會竊取會話信息(嗯,如果它已經偷了您的用戶名和密碼)。

因此,威脅是一樣的,當我登錄並註銷時是否只會縮短時間範圍?
我想補充一點,可以利用XSS進行請求偽造,在這種情況下,cookie的超時無關緊要。
這意味著,如果我的筆記本電腦被盜,憑據將自動失效,因為IP會更改嗎?
@ŁukaszL。 _Some_服務有超時,其他服務沒有。 _某些_服務具有IP限制,而其他則沒有。
如果您實際上在乎該服務(或破壞該服務可能導致危害您所關心的服務的攻擊-例如,使用您的電子郵件帳戶通過密碼重設進入您的銀行帳戶),則應該“從不”使用在不受信任的公共計算機或公共wifi上使用該服務(從技術上講,如果整個連接的https都對,並且您的計算機和CA均未受損,則公共wifi很好)。
@drjimbob如果[Cotton Candy](http://www.fxitech.com/cotton-candy/what-is-it/)之類的USB計算機不是蒸汽機,則可以以這種方式安全使用不受信任的主機。
@LateralFractal-[硬件鍵盤記錄器](http://en.wikipedia.org/wiki/Hardware_keylogger)。 (確保使用2因子身份驗證,在這種情況下,您可能會很安全-如果您存儲的密碼在對手手中完全沒有用,但即使在這種情況下,為什麼也不要從您的2因子設備登錄)。
@drjimbob有一定程度的信任,因此,如果硬件也不受信任,那麼您當然僅限於可以隨身攜帶的任何個人計算機。但是,筆記本電腦非常大,而手機是無線電信標,因此具有KitKat大小的計算棒極具誘惑力。無頭計算機的目的是在藉入主機資源的同時,提供比OTP加密狗上256位種子更廣泛的受保護內容。儘管我對可能的蒸氣軟件並不陌生-取決於其插入方式,但唯一的主機資源應該是HDCP-HDMI監視器及其電源。
或換一種說法,*完美是善的敵人。*
@LateralFractal-它不使用不是您自己的鍵盤嗎?自從進入袖珍型移動設備時代以來,我就不記得曾經需要使用公共/不受信任的計算機來執行諸如檢查我的電子郵件(或更差的銀行帳戶)或登錄服務器之類的事情。我什至不是特別偏執。
@drjimbob實際上,最好的解決方案是電話可以選擇並使用其他資源(較大的顯示器,鍵盤,固定以太網等)。就目前的情況而言,消費者移動設備([post-Blackberry](http://goo.gl/ybm7Fl))的安全性比任何台式機(包括無頭台式機)低得多。但是我擔心我們已經偏離話題了。我們可以使用Chat進行進一步的闡述。
Rohan Durve
2013-10-14 18:03:47 UTC
view on stackexchange narkive permalink

我將嘗試以與上面已發布的相反的方式提供此問題的答案。

與Web應用程序中的空閒會話相關的風險是什麼?

  • 通過XSS進行會話Cookie盜竊(如果會話未綁定到IP)
  • 跨站點請求偽造(空閒時,
  • 中間攻擊中的人(使用通過SSLStrip嗅探的會話cookie或由於混合HTTPS信息洩露)
  • 打開終端(您在午餐時間休息了,PayPal在<旁邊打開,在此處插入隨機網絡罪犯的名字>,然後回來查看您的帳戶為空,因為您沒有註銷)

超時,如前所述,某些安全關鍵型應用程序(例如銀行網站)的超時值通常較低,通常為五到十分鐘。但是,這些應用程序通常還具有與會話綁定的隨機排序CSRF預防令牌和IP。因此,即使您的Cookie受到威脅,如果安全性得到正確實施,遠程攻擊者也將無法對其進行處理。

諸如FaceBook之類的其他網站通常不會超時,以更好地訪問或使用。 。但是,它們確實支持登錄通知,IP綁定到cookie。 Gmail或DropBox之類的應用程序支持兩步SMS身份驗證,以進一步提高安全性,並使如果來自新的不受信任的PC的會話盜用變得毫無用處。

因此,我唯一擔心的就是使會話保持打開狀態:

  • 公共終端(無論如何仍應使用私人瀏覽。在FF上為Ctrl + Shift + P)
  • 安全性較差的網站(用戶有責任保護自己的Cookie免受邪惡的Cookie怪物的攻擊)。
一個有趣的攻擊方法是查看位於NAT局域網上的中間嗅探器中的一個人是否可以破壞會話的加密,獲取Cookie令牌對,偽造惡意的發布請求,使用封裝的cookie令牌將其加密並形成數據並通過您的公共IP發送出去。
user31950
2013-10-14 12:22:41 UTC
view on stackexchange narkive permalink

不註銷的最大威脅之一是使用公用計算機。根據瀏覽器的配置,僅關閉瀏覽器可能不會結束會話。如果用戶忘記註銷其OS用戶(或者甚至可能無法註銷),則其他人可以訪問其Web應用程序。當然,這種情況不太可能發生。但是,Web應用程序通常可供大型用戶組訪問,並且某些用戶可能使用公用計算機(大學,學校,圖書館)。

儘管我確實只考慮了我的私有設備,但是提及公共可訪問設備是個好主意。無人看管或丟失/被盜的設備也是如此。
Lie Ryan
2013-10-14 12:23:54 UTC
view on stackexchange narkive permalink

由於會話確實存在超時,因此使用Web應用程序後,只有很短的一段時間我才能登錄。

不一定是真的。根據網站實施會話管理的方式,他們可能會使用任意長的超時時間,甚至可能使用在瀏覽器/操作系統重啟後仍然有效的會話。

最終,是否應該明確註銷取決於Web應用程序是什麼。 。銀行站點通常實現非常短的超時,社交網站通常實現實質上的永久登錄,尤其是當它們也是身份提供者(OpenID等)時。

隱藏會話cookie通常並不容易,但是有可能並且顯式註銷可以防止這種情況,通常應該顯式註銷高價值網站。

您能否更詳細地介紹如何竊取會話cookie?通常是否可能,或者僅是由於未知或零時差攻擊?這將有助於估計威脅。
請查看Firefox擴展“ Firesheep”,以了解竊取會話Cookie有多麼容易。
jpkrohling
2013-10-14 17:12:24 UTC
view on stackexchange narkive permalink

不要假定服務有超時。即使超時,攻擊者也可以簡單地收集您的cookie並通過一個簡單的腳本使用它,該腳本將繼續ping服務,發送cookie,刷新“最後一次看到”的時間戳。網站所有者可以通過多種方式保護自己免受此侵害,但不要信任網站所有者。竊取Cookie並不像聽起來那樣難(在youtube上進行的搜索可能會告訴您它到底有多簡單),對於這種情況,您最好的保護措施就是註銷。

Kees de Wit
2013-10-14 23:24:20 UTC
view on stackexchange narkive permalink

如果您未註銷,則登錄cookie在給定時間段內將保持有效(取決於實現方式),因為服務器(運行Web應用程序的服務器)不知道您是否關閉了瀏覽器。如果有人偷了您的Cookie,則他或她可以使用它登錄應用程序,甚至擴展有效性,因為大多數實現都具有到期日。

AquaAlex
2013-10-15 11:55:43 UTC
view on stackexchange narkive permalink

從安全角度來看,我認為答案很簡單。完成站點註銷後。瀏覽完成後,清除緩存並刪除歷史記錄等。甚至可以關閉瀏覽器後將瀏覽器設置為清除所有內容。

請不要再留下任何痕跡。

請不要單擊電子郵件中的任何彈出窗口或有趣的鏈接。注意從您認為自己所在的站點到另一個站點的重定向。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...