快速的Google搜索不会显示注销Web应用程序(在线银行,亚马逊,Facebook等)是否很重要,或者是否可以安全地关闭选项卡或浏览器。我确定在某些电视节目中听说过最好注销...

如果我没有正确注销,我可能会面临什么威胁?

评论

考虑关闭标签页与不关闭标签页几乎相同。

@domen并非总是如此。参见例如我的答案。

在拉脱维亚SwedBank中,网上银行也使用IP地址。我想其他银行也这样做。现实生活中的示例:我在家中建立了两个Internet连接(基于打包的负载平衡),而我根本无法使用Internet银行业务,因为单击2或3次后,我注销了。我使用一个IP进行了身份验证,然后使用第二个IP提出了另一个请求。在这种情况下,无法窃取Cookie。

使用Rails应用程序无关紧要,因为“默认情况下,在Ruby on Rails Web应用程序中注销已中断” ... SCNR

请注意,LifeHacker上有此问题,显然这是一个常见问题...

#1 楼

这不是一个简单的,简单的问题。您需要考虑几个不同的方面,并且有几种不同的机制和对策适用于受几种不同客户端影响的几种不同情况下的几种不同威胁。让我们一次检查这些。 (最后会有一个TL; DR ...)


如果您使用的是公用计算机:登出。
任何服务您都需要保留一个帐户不应将其保留在可公开访问的计算机上。
如果您使用的是微不足道的不敏感服务:保持登录状态。
这仅适用于一次性的临时帐户,例如Internet广播,那里的免费访问无异于滋扰。

如果您使用的是Public Wifi:注销。
由于网络本身是不受信任的,因此存在一个明显的威胁:会话cookie盗窃。您的会话可能被劫持,并且某个人(网络上的其他人或热点本身)偷了您的会话cookie。当然,如果是这种情况,您可能不会知道,但是您可能也无法真正注销(如果是恶意网络或MITM,他们可以控制您的整个连接-他们可能会丢弃您的注销请求)。

这就是说,仅您的会话Cookie的第三方盗窃是一种有效的威胁(例如FireSheep),显式注销会阻止无限使用。 (基本上损坏可能已经发生,但这阻止了它继续。)

最好还是去一个受信任的网络,登录并显式注销,以防万一MITM阻止了您的注销。更好的办法是在受信任的站点上更改密码...但是最好不要从不受信任的网络访问不重要的敏感站点。


如果您使用的是全天应用程序:请保持登录状态。
对于您全天使用的服务,希望快速/轻松地访问,例如Facebook,电子邮件等-如果这是您自己在受信任的网络上的私人(或工作)计算机,则要长期保留浏览器的登录状态是明智的选择。

威胁:恶意旁观者

每次离开时都锁定计算机,甚至可以喝杯咖啡。如果您有一扇没有其他人可以通过的实体门,也可以锁定办公室。 (或者要有家庭办公室!),定期注销并重新登录。监视“您”发布的任何帖子。

威胁:其他站点可以注册您的登录名(例如,向您显示Facebook中的重要“赞”图标)。这是适用折衷方案的一部分,尽管存在更广泛的含义,但超出了此答案的范围。


如果您使用的是使用HTTP基本身份验证的任何应用程序(例如,许多路由器):请注销并关闭所有浏览器窗口。这是有趣的地方,这也适用于下一部分。

使用基本AuthN登录Web应用程序时,浏览器会缓存您的密码,并在每次请求时发送该密码。浏览器的BasicAuth机制没有会话的概念。即使您反复注销,Web应用程序(服务器端和客户端)都无法“杀死”会话。清除这些缓存的凭据的唯一方法是杀死浏览器进程。

但是。浏览器的选择对于“浏览器过程”的概念很重要。例如:


Chrome:每个标签都是一个单独的过程。但是,还有另一个“全局”父进程。所有选项卡进程都是该进程的子进程(在Windows中,又名“作业进程”),它们都通过父进程共享进程内存。如果您打开一个新窗口,也是如此。因此,尽管Chrome充分利用子进程与共享的父进程,使其选项卡特别生动,健壮,但缺点是共享进程状态。换句话说,从Chrome删除缓存的BasicAuth凭据的唯一方法是关闭所有Chrome窗口,最后一个关闭。仅关闭选项卡将无济于事。
IE:标签页/流程模型与Chrome浏览器相同(或相似)...除了一个例外。默认情况下,IE还在父进程的子进程中打开所有选项卡。 (实际上,这不是100%准确的-一些选项卡与其他选项卡共享一个子进程-但这在现实中并不重要)。但是,如果在IE命令行中添加“ -NoFrameMerging”,它将创建一个全新的IE父进程。此处的区别在于您可以创建一个新的父窗口以登录到路由器,然后在完成后仅关闭该窗口。这将清除您的BasicAuth缓存,而无需触摸任何其他打开的IE窗口。 (旁注:实际上也可以使用Chrome来做到这一点!但是,它涉及的更多,并且需要您在计算机上创建另一个浏览器配置文件。)



如果您使用的是敏感应用程序,例如银行应用程序-始终明确注销并关闭所有浏览器窗口。这部分比较复杂,但是上面已经介绍了很多依赖项。

威胁:恶意旁观者如上所述,锁定计算机是有道理的,但是无需进行以前的权衡。只需注销即可。

会话超时:此外,大多数敏感(例如银行业务)应用应实现某种形式的自动空闲超时,因此,如果您下午出门,会话将在某个时间点自动终止。这可能无助于解决此威胁,因为如果您走了4 1/2分钟以补充咖啡,那么恶意的旁观者可能会跳上您的计算机。

威胁:会话cookie盗窃

希望,敏感的应用程序正在积极地防止这种情况的发生,例如, HTTPS,IDS,地理/欺诈检测等。也就是说,关闭“机会窗口”还是有道理的,以防万一-纵深防御,以及所有这些。

会话超时:和以前一样,大多数敏感(例如银行)应用程序都应实现某种形式的自动空闲超时,并且也将有助于最大程度地减少这种威胁。但是,即使您确实知道此应用程序确实正确实现了空闲超时这一事实,攻击者仍然有很大的机会。也就是说,在相对安全的应用程序中这并不是什么威胁。

威胁:跨站点请求伪造(CSRF)

这是您需要担心的一个关于。

假设您已登录银行。在同一窗口中的其他选项卡中,您正在浏览某个可疑的网站。在查看此网站时,它可能正在暗中测试各种知名的银行,以查看您是否碰巧登录其中一个。如果是这样,它将发起CSRF攻击(并非所有银行站点都容易受到此攻击,但许多站点仍然存在)。 CSRF!

好。现在说您比其他人更聪明,不要在银行开通的同时浏览可疑站点。因此,完成银行业务后,请仔细关闭该标签。只有这样,您才打开一个新选项卡以浏览到躲避站点。嗯,问题是,您仍处于登录状态,并且会登录一段时间(通常大约30分钟,但可能最少10个小时或最多一个小时...)。 CSRF!

(请注意,此处的会话超时确实可以通过缩短机会窗口来提供帮助,但是在窗口内仍然有可能发生这种情况)。

嗯。好吧,我知道,让我们打开一个新的浏览器窗口!将其用于银行工作,然后再次关闭选项卡,然后为我想玩的恶意软件站点再次打开一个新的。糟糕,请参阅以上有关基本身份验证的部分-您选择的浏览器很重要。相同的进程族,并且此仍然打开的会话将在所有Windows之间共享,至少直到服务器达到空闲超时为止。假设尚未被选中。 CSRF!

好吧,再来一个。我在某处阅读了一篇冗长的文章,内容涉及我始终需要从敏感应用程序中注销的原因-因此,在进入犯罪网站之前,我只是这样做。不幸的是,该应用程序“忘记”执行正确的注销,它只是将我重定向到该应用程序之外(或擦除了我的cookie或...),而不是在服务器上使它无效... CSRF !!



那么,TL; DR?



如果您在此站点上关心自己的帐户:注销。
如果您关心自己的帐户,并且该帐户使用基本身份验证:注销并关闭所有浏览器选项卡和窗口。
如果您不关心自己的帐户-做什么都无所谓,请停止询问:-)。





聚苯乙烯我没有介绍Flash Cookie,非HTTP会话和集成Windows身份验证。适可而止。

评论


好东西!要注意的一件事是,在缓解会话Cookie盗窃的过程中,转到受信任的计算机并执行登录/注销操作均假定该应用程序为假。每个用户只允许一个有效的会话,建立会话将使前一个无效。不幸的是,在许多应用程序中情况并非如此(根据我的经验,大多数情况下允许同时登录)。

–罗里·麦库恩(Rory McCune)
13-10-14在20:35

@RoryMcCune没错!我实际上是在考虑将笔记本电脑从开放wifi转移到受信任的网络,在那里会话将保持不变(实际上,不一定……)。不过,您对不受信任的计算机是正确的。

–AVID♦
13-10-14在20:38

要弄清AviD答案的重要点:如果您真的很在乎帐户:杀死所有浏览器进程,包括所有插件生成(嵌入式PDF,音乐播放器和applet弹出窗口);然后仅访问该帐户的网站;然后在重新启动正常的浏览习惯之前先杀死所有内容。由于浏览器是趋向于更多并行性和共享而不是更少的“ Web操作系统”,因此在访问关键帐户时本质上确保没有并行性。

–LateralFractal
2013年10月15日0:00

顺便提一句,与AviD的第二个TL; DR要点有关:如果将WebDeveloper插件用于Firefox,则需要进行杂项|清除私有数据|清除HTTP身份验证。这将使您不必关闭所有选项卡和窗口。

–达伦·库克(Darren Cook)
13-10-15在0:11

应当注意,Chrome和其他一些浏览器具有“隐身窗口”,该窗口具有独立的凭据和cookie缓存。如果您打算打开隐身窗口来登录该站点,则此后不必关闭任何其他窗口。

– Jan Hudec
13-10-15在7:11

#2 楼

登录到Web服务时,cookie会植入浏览器中。该cookie具有唯一的ID值,该值可在您使用Web服务时以及以后再回来时标识您。如果以某种方式*该标识符被盗,拥有它的人可能会像使用您一样使用您的帐户。你们两个都不能使用标识符来告诉Web服务“嗨,我是Angelo Hannes”。不幸的是,这迫使您再次输入用户名和密码来登录。

“那么,那我该怎么办?”,您问。这得看情况。一些敏感的Web服务(银行,政府网站,保险公司等)的会话时间很短,即,在不使用该服务10-15分钟后,它们会使标识符失效。其他敏感的Web服务(基本上控制几乎所有其他帐户的电子邮件收件箱)并没有使会话真正失效,但是它们会应用IP地址限制(如果您使用其他IP地址的同一会话,则该会话是无效)。

TL; DR


公共计算机,额外的偏执狂,您认为您的会话受到影响,还是真的在意此服务?注销。
私人计算机,您认为您的会话很安全,并且您真的不关心此服务吗?可以保持登录状态。


*您的会话可以使用服务中的已知问题(例如,不使用HTTPS)或某些零日漏洞(例如新发现的)被盗。服务中的XSS攻击,浏览器中的新漏洞会泄露Cookie信息,或者您正在使用的计算机上安装的某些恶意软件会窃取会话信息(在这种情况下,它已经窃取了您的用户名和密码)。 br />

评论


因此,威胁是一样的,当我登录并注销时是否只会缩短时间范围?

–安吉洛·汉斯(Angelo.Hannes)
13-10-14在10:57

我想补充一点,XSS可用于执行请求伪造,在这种情况下,cookie的超时是无关紧要的。

–罗汉·杜尔维(Rohan Durve)
13-10-14在12:40

这意味着,如果我的笔记本电脑被盗,凭据将自动失效,因为IP会更改吗?

–努比亚水手
13-10-14在14:22

@ŁukaszL。一些服务有超时,其他服务没有超时。一些服务具有IP限制,而其他服务则没有。

–阿迪
13-10-14在14:56

如果您实际上在乎该服务(或破坏该服务可能导致攻击损害您所关心的服务,例如使用您的电子邮件帐户通过密码重置进入您的银行帐户),则永远不要在公用不受信任的计算机或公用wifi(从技术上讲,如果在整个连接中使用https,并且您的计算机和CA均未受到损害,则公用wifi很好)。

– jimbob博士
13-10-14在19:02

#3 楼

我将尝试以与上面已发布的相反的方式提供此问题的答案。

Web应用程序中的空闲会话有哪些风险?



通过XSS进行会话Cookie盗窃(如果会话未绑定到IP)

跨站点请求伪造(在空闲但仍经过验证的会话上)。

“中间人攻击”(使用SSLStrip嗅探的会话cookie或由于混合HTTPS信息泄露而造成的攻击)

开放式终端机(您离开午餐休息时,PayPal处于开放状态,旁边<插入随机网络罪犯的名字>,然后回来查看您的帐户为空,因为您没有注销)

超时
如前所述,某些安全关键型应用程序(例如银行网站)的超时值通常较低,为5十分钟
但是,这些应用程序通常还具有与会话绑定的随机排序CSRF预防令牌和IP。因此,即使您的Cookie受到威胁,如果安全性已得到正确实施,远程攻击者也无法对其进行处理。可用性。但是,它们确实支持登录通知,IP绑定到cookie。 Gmail或DropBox之类的应用程序支持两步SMS身份验证,以进一步提高安全性,并使来自新的不受信任的PC的会话盗用变得毫无用处。在以下位置打开:


公共终端(无论如何仍应使用私有浏览。FF上的Ctrl + Shift + P)
安全性较差的网站(由用户负责)从邪恶的饼干怪物那里保存他的饼干的安全性。


评论


一个有趣的攻击方法是查看位于NAT局域网上的中间嗅探器中的一个人是否可以破坏会话的加密,获取Cookie令牌对,伪造恶意的发布请求,使用封装的cookie令牌将其加密并形成数据并通过您的公共IP发送出去。

–罗汉·杜尔维(Rohan Durve)
13-10-14在13:08

#4 楼

未注销的最大威胁之一是使用公用计算机。根据浏览器的配置,仅关闭浏览器可能不会结束会话。如果用户忘记注销其OS用户(或者甚至可能无法注销),则其他人可以访问其Web应用程序。当然,这种情况不太可能发生。但是,Web应用程序通常可供大型用户组访问,并且某些用户可能使用公用计算机(大学,学校,图书馆)。

评论


尽管我确实只考虑了我的私有设备,但是提到公共可访问设备是个好主意。无人看管或丢失/被盗的设备也是如此。

–安吉洛·汉斯(Angelo.Hannes)
13-10-14在7:45

#5 楼


由于会话确实存在超时,因此在使用Web应用程序后,只有很短的一段时间我才能登录。


不一定是真的。根据网站实施会话管理的方式,他们可能会使用任意长时间的超时,甚至可能会使用在浏览器/操作系统重启后仍然存在的会话。

最终,是否应该明确注销取决于Web应用程序是。银行站点通常实现非常短的超时,社交网站通常实现实质上的永久登录,尤其是当它们也是身份提供者(OpenID等)时。

隐藏会话cookie通常并不容易,但是有可能并且显式注销可避免这种情况,通常应显式注销高价值网站。

评论


您能否更详细地介绍如何窃取会话cookie?通常是否可能,或者仅是由于未知或零时差攻击?这将有助于估计威胁。

–安吉洛·汉斯(Angelo.Hannes)
13-10-14在7:43

看一下Firefox扩展“ Firesheep”,了解窃取会话Cookie有多么容易。

–卡勒姆·威尔逊(Callum Wilson)
13-10-14在8:08

#6 楼

不要假定服务有超时。即使超时,攻击者也可以简单地收集您的cookie并通过一个简单的脚本使用它,该脚本将继续ping服务,发送cookie,刷新“最后一次看到”的时间戳。网站所有者可以通过多种方式保护自己免受此侵害,但不要信任网站所有者。窃取Cookie并不像听起来那样难(在youtube上进行的搜索可能会告诉您它到底有多简单),对于这种情况,您最好的保护措施就是注销。

#7 楼

如果您未注销,则登录cookie将在给定时间段内保持有效(取决于实现方式),因为服务器(运行Web应用程序的服务器)不知道您是否关闭了浏览器。如果某人窃取了您的cookie,则他或她可以使用它登录应用程序,甚至扩展有效性,因为大多数实现都具有到期日。

#8 楼

从安全角度来看,我认为答案很简单。完成站点注销后。完成浏览后,请清除缓存并删除历史记录等。甚至可以关闭浏览器后将其设置为清除所有内容。

留下尽可能少的痕迹。

请不要单击电子邮件中的任何弹出窗口或有趣的链接。注意从您认为自己所在的站点到另一个站点的重定向。