Symfony 5.3中的新功能:更好的防御BREACH攻击(中文翻译)
什么是BREACH攻击?
BREACH
是针对HTTPS
的安全漏洞。使用HTTP压缩
时,可以首先执行盲目的蛮力搜索以猜测几个字节,然后进行分治式
搜索以扩展一个字节。对任意数量的内容进行正确的猜测。
简单理解 BREACH
: 在传输过程中,可以根据传输过程中的信息包, 推测Cookie等比较敏感的信息。BREACH
就是指通过HTTP压缩这个通道来完成这样的工作。
对策
如果攻击者可以读取您的加密流量的大小,并且还可以发出带有CSRF
令牌的任意数量的HTTP
请求,则您的站点将受到威胁。缓解此攻击的传统方法是禁用HTTP压缩
,这会严重损害性能。
另一个可能的解决方案是确保CSRF
令牌包括一些随机性,以防止响应中重复输出。这就是在Symfony 5.3中 CSRF令牌会自动随机化的原因。
该随机化过程对应用程序是透明的,因此您无需配置任何内容,也无需更改应用程序代码。如果由于此攻击而在使用HTTPS
时禁用了压缩,请升级到Symfony 5.3并再次启用压缩以提高站点性能。
从长远来看,这是为什么使用像Symfony这样的专业框架会更好的另一个原因。Symfony将保护您的应用程序和用户免受许多常见的安全漏洞的侵害,即使您不知道这些漏洞也是如此。