压缩整个响应,但Cookie除外

时间:2016-07-07 19:22:09

标签: asp.net cookies gzip breach-attack

如何告诉ASP.Net压缩响应,而不是响应中的Cookie?所以HTML输出,但不是cookie。

背景:BREACH

BREACH Attack仍为unsolved。它适用于包含秘密的TLS安全的gzip压缩响应。

您登录的任何网站都应该启用HTTPS,并且会继续在其响应中发回一个Cookie,该Cookie具有攻击者定位的完美秘密,因为如果他们能够获取它们已经拿到了你的令牌,可以像你一样伪装。

对此没有令人满意的解决方案,但一个强有力的缓解措施是分别压缩秘密或根本不压缩秘密。另一种是包括CSRF令牌。对于显示提交表单数据结果的页面,CSRF令牌很好,因为我们无论如何都需要这样做,并且缓存在性能方面不是那么重要。但对于静态页面,我们需要能够缓存,这使得CSRF令牌的权重过大。

如果我们可以告诉ASP.Net不要压缩cookie,那些响应中唯一的秘密,我们就可以了:

  • 缓存适用于需要它的静态页面
  • HTTPS和gzip同时处于播放状态,gzip只关闭了响应的一点点
  • BREACH死了

那么,这是可能的,如果是这样的话怎么样?我甚至可以使用类似HttpModule的东西来执行gzip步骤,只要它不会让你受到腐败的反应。

某种类型的补丁或模块只是将gzip压缩上下文(主要提议的解决方案与BREACH分离)会更好,但这似乎要求太多。

请注意,安全社区似乎存在冲突,即BREACH是否可以用于首先获取cookie /会话令牌:

It can. It can't.

0 个答案:

没有答案