如何减轻asp.net会话安全风险

时间:2010-12-21 22:58:22

标签: asp.net security session-state

我知道可以通过窃取asp.net会话cookie来劫持asp.net会话。我想我正在考虑通过不安全的Wi-Fi传输cookie。

除了使用SSL之外,还有标准的方法来保护这些信息吗?或者阻止劫持会话?

2 个答案:

答案 0 :(得分:1)

可悲的是,阻止cookie在重放攻击中使用的唯一方法是通过HTTPS发送它,因为这可以确保cookie本身是加密的,因此不会被窥探。

您是否见过Jeff Atwood的博客文章,Breaking the Web's Cookie Jar? Jeff更关注来自用户视角的问题,但无论如何都值得一读。以下是他们今天人们可以做的事情:

  

所以现在,你可以做些什么来保护自己,现在,

     
      
  1. 我们应该非常小心地浏览未加密的无线网络。

  2.   
  3. 养成通过HTTPS访问您的网络邮件的习惯。

  4.   
  5. 使用您用于提供HTTPS浏览的网站。

  6.         

    这是非常广泛的建议,上面提到了许多技术性的警告。但这是宣传风险和负责任地使用开放式无线网络的起点。

可能需要某种新的,更安全的cookie方法,但是谁知道是否有足够的牵引力来保证这种变化或者有足够的兴趣来推动采用。对于安全性至关重要的Web应用程序 - 想想医疗信息网站,金融网站等 - 唯一可行的选择是要求HTTS用于用户的整个浏览会话。

答案 1 :(得分:0)

除了在每个页面请求中要求身份验证信息之外,没有简单的解决方案(这是不切实际的,并且从未加密环境的安全角度来看更糟糕)。

为了在使用HTTP(无状态)时保持状态,必须使用cookie之类的东西。如果该cookie未经加密发送,则可由其他人使用。

作为旁注,如果你必须在会话被劫持和密码被泄露的两个邪恶之间挑选,你宁愿让会话被劫持。这就是为什么密码修改之类的更改需要重新进行身份验证以便被劫持的会话无法接管帐户本身的原因。当然,如果身份验证凭据未加密,也可以规避这一点。