【问题标题】:Mitigating the 'firesheep' attack in the application layer?减轻应用层的“firesheep”攻击?
【发布时间】:2011-04-30 08:23:11
【问题描述】:

人们推荐哪些方法来缓解网站应用程序的“Firesheep”方法?

我们已经考虑到这一点,并且从可用性的角度来看,除了加密网站的所有流量之外,减轻攻击对于 Web 开发人员来说可能是个问题。

我们提出的一个建议是使用基于路径的 cookie,并对发生帐户操作或个性化交互的特定路径的流量进行加密。然而,这使可用性变得复杂,因为站点的其余部分(未加密 - 未验证)位不知道用户是谁。

对于减轻这种攻击向量,同时保持可用的可用性水平,是否有人有任何其他建议?

【问题讨论】:

标签: security web-applications encryption cryptography


【解决方案1】:

Firesheep 不是什么新鲜事。会话劫持已经持续了二十多年。您不需要“加密”您的 cookie,这由您的传输层处理。 Cookie 必须始终为 cryptographic nonce

通常黑客只是通过在地址栏javascript:document.cookie='SOME_COOKIE' 中输入来设置自己的 cookie,FireSheep 是为害怕 1 行 JavaScript 的脚本小子准备的。但这并没有使这种攻击更容易执行。

如果您在会话的整个生命周期内不使用 HTTPS,那么 Cookie 可能会被劫持,而这是 OWASP A9 - Insufficient Transport Layer Protection 的一部分。但是您也可以使用 XSS 劫持会话。

1) 使用httponly cookies。 (使 JavaScript 无法访问 document.cookie,但您仍然可以使用 xss 进行会话骑行)

2) 使用“secure cookies”(可怕的名字,但它是一个强制浏览器仅使用 HTTPS 的标志。)

3) 使用Sitewatch(free)wapiti (open source) 扫描您的Web 应用程序以查找xss

也不要忘记 CSRF! (哪个firesheep没有解决)

【讨论】:

  • 是的。这不是什么新鲜事。你提到的新事物是脚本小子可以参与其中。这就是为什么它可能会出现这样的问题。我想保护我的用户。
  • @pobk 您应该在 Firesheep 之前启用这些安全功能。这个工具不会改变任何东西。
  • 我们的应用程序尽可能地安全(它符合 PCI DSS)...我们只是在保护我们的用户。
  • @pobk pci-dss 确实需要定期扫描,但是您的网络欣赏是否启用了我谈到的 2 个 cookie 标志?
  • 安全 cookie 未启用,因为会话用于个性化。我们不想通过 HTTPS 运行整个站点……那将是可用性的噩梦。可用性和网站个性化变得无限困难。
【解决方案2】:

有人尝试利用 HTML 5 中的“Web Storage”来存储共享密钥(在身份验证期间的 SSL 加密响应期间传递),javascript 使用该共享密钥来随时间改变会话 cookie?

这样,被盗的(未加密的)会话 cookie 只会在很短的时间内有效。

我的猜测是网络存储是按端口(除了主机)分段的,所以这是不可能的。只是把这个想法扔出去,以防有人想使用它。

【讨论】:

  • 攻击者只需将一些 javascript 注入到其中一个 HTTP 响应中,即可显示共享密钥。
【解决方案3】:

当用户登录时,将 IP 地址存储在会话中。

在此会话的每个后续请求中,检查 IP 地址是否与会话中存储的 IP 地址匹配。

【讨论】:

  • 恐怕这行不通。远程 IP 地址将在 firesheep 流行的情况下共享
  • 即使您还存储了 X-Forwarded-For HTTP 标头的值以及 IP 地址?
【解决方案4】:

我在 GitHub 上发现了一篇有趣的文章,其中描述了一种减轻 firesheep 攻击的方法。

https://github.com/blog/737-sidejack-prevention

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 2016-07-15
    • 2019-02-26
    • 1970-01-01
    • 2021-09-14
    • 2022-06-10
    • 2017-12-31
    • 1970-01-01
    相关资源
    最近更新 更多