为何Http3没有Http2快速重置(CVE-2023-44487)攻击?
💡
原文中文,约1400字,阅读约需4分钟。
📝
内容提要
本文通过自动售货机的类比,解释了HTTP/2和HTTP/3的并发请求处理方式的不同。HTTP/2对并发请求量有限制,而HTTP/3对累计请求量有限制。HTTP/3的累计限制只有在总请求数达到之前的限制时才会增加,而不是像HTTP/2在重置数据流的时候。建议在HTTP/2中使用HTTP/3流限制。
🎯
关键要点
- HTTP/2 类比为低效的自动售货机,每次请求处理后立即接受新请求。
- HTTP/3 类比为更现实的自动售货机,只有在几乎空的时候才会重新补充。
- HTTP/2 对并发请求量有限制,而 HTTP/3 对累计请求量有限制。
- HTTP/3 的累计限制在总请求数达到之前的限制时才会增加。
- HTTP/2 的并发请求量可以被快速重置绕过,而 HTTP/3 的累计请求量在重置后不会立即更新。
- HTTP/3 可能存在漏洞,特别是在实现过程中出现奇怪情况时。
- IETF 建议在 HTTP/2 中使用 HTTP/3 流限制,未来的实现将如何处理这一问题值得关注。
- 在 HTTP/3 中,限制是由 QUIC 管理,针对的是流而非请求。
➡️