【问题标题】:How secure are sessions?会话的安全性如何?
【发布时间】:2014-10-13 20:14:02
【问题描述】:

根据我对会话的了解和阅读,Facebook 等网站会在您的计算机上存储一个代码,您的计算机会在您每次访问其网站时将其发送回 Facebook。这样可以省去每次想查看新闻提要时都登录的麻烦。

我的问题是,这在某种程度上是安全的吗?没有人可以编写一个简单的程序来在您的计算机上找到此代码 - 就像 Facebook 一样?或者,如果您让您的极客朋友使用您的计算机,您怎么知道他没有复制您的会话代码而只是从其他地方使用您的帐户?

我了解到会话比 cookie 更安全,因为 cookie 实际上包含您的用户名、密码和其他重要信息等信息。但是,如果会话代码无论如何都可以提供对您整个帐户的访问权限,那么会话不是同样不安全吗?

是否还有其他我不知道的因素在起作用,或者会话真的这么不安全?

【问题讨论】:

  • 除了 cookie 之外,还有更好的方式在 http 请求之间传播状态吗?如果是这样,整个 Web 开发者世界都会乐于听到它。

标签: security session cookies


【解决方案1】:

我的问题是,这在某种程度上是安全的吗?没有人可以编写一个简单的程序来在您的计算机上找到此代码 - 就像 Facebook 一样?

是的。有人可以做到这一点。他们可以窃取您的会话凭据。如果您的计算机遭到入侵,您将无法在此基础上构建任何形式的安全性。如果你不能信任计算机,你就不能信任浏览器。如果你不能信任浏览器,你就不可能信任这个网站。

所以我们需要从一个基本假设开始。为了保护网站,我们必须假设浏览器(因此计算机)是安全的。

如果您可以在计算机上获取代码以搜索会话标识符,那么游戏就已经结束了,因为您通常可以在计算机上做得更糟。

或者如果你让你的极客朋友使用你的电脑,你怎么知道他没有复制你的会话代码而只是从其他地方使用你的帐户?

你没有。这就是为什么您不应该让朋友使用您的计算机的原因(以及其他原因)。

可以使用一些技术来验证会话来自特定计算机。但它们往往要么不安全(比如验证用户代理),要么脆弱(比如验证 IP 地址)。

我了解到会话比 cookie 更安全,因为 cookie 实际上包含您的用户名、密码和其他重要信息等信息。但是,如果会话代码无论如何都可以提供对您整个帐户的访问权限,那么会话不是同样不安全吗?

会话并不比 cookie 更安全,因为会话使用 cookie 进行识别。当然,具体数据不会离开服务器(因此不会泄露),但攻击者可以恢复会话。

是否还有其他我不知道的因素在起作用,或者会话真的这么不安全?

这里的关键是你想保护它。具体来说,什么威胁模型:

  • 一位朋友,您授予他对您计算机的管理员访问权限(让他们使用特权帐户借用)

    您无法可靠地防范这种情况。如果您的用户让其他人借用他们的计算机,那么作为网站运营商的您将无能为力,除非您根本不使用会话并要求用户对每个操作进行身份验证。

    干脆不要这样做,或者给他们一个干净的访客帐户。或者更好的是,使用 chromebook,让他们使用自己的帐户登录。

  • 攻击者在计算机上获取代码

    你无能为力。

  • 有人像网络数据包嗅探器一样窥探网络流量(只读)。

    使用 TLS (HTTPS)

  • 中间人攻击网络流量(读/写)

    使用 TLS (HTTPS)

  • 有人攻击服务器

    保护您的服务器!!!

一般来说,要弄清楚如何保护某些东西,您需要考虑攻击的来源。一些您根本无法防御的攻击。还有一些,你只需要对用户进行教育。

【讨论】:

  • 感谢您解决我的所有问题
【解决方案2】:

会话 ID 存储在 cookie 中,因此它们的安全性与 cookie 相同。

Cookie 由您的浏览器处理,浏览器会尽可能保护它们。

没有网站可以“向您的浏览器请求 cookie”(而 Facebook 不是这样做的)。相反,当访问 facebook.com 时,您的浏览器会发送您的 facebook.com cookie,而不是您的 google.com cookie。

当然,“编写一个简单的程序来查找此代码”很容易,但分发它就没有那么容易了(即您说的是分发恶意软件),而且 Facebook 绝对不是为了获取访问权限而做的到相关的会话 cookie。


还有几种额外的方法可以保护 cookie 免受未经授权的访问(在一定程度上)。其中之一是将它们设置为“仅 HTTP”,这样它们就无法在 Javascript 中访问(它们仍将被发送到 Facebook 的服务器,但浏览器不会将它们暴露给其他任何东西)。

请注意,cookie 确实与浏览器本身一样安全。如果您的浏览器被“入侵”(被您的极客朋友),那么您的 cookie 和会话也是如此。

【讨论】:

    猜你喜欢
    • 2012-04-27
    • 2020-04-16
    • 2021-12-03
    • 2012-10-07
    • 2010-11-13
    • 2014-03-22
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多