Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional security section on fragmentation reassembly attacks #444

Merged
merged 9 commits into from Apr 24, 2017
19 changes: 19 additions & 0 deletions draft-ietf-quic-transport.md
Expand Up @@ -2697,6 +2697,25 @@ also be forward-secure encrypted. Since the attacker will not have the forward
secure key, the attacker will not be able to generate forward-secure encrypted
packets with ACK frames.

## Stream Fragmentation and Reassembly Attacks

An adversarial endpoint might intentionally fragment the data on
stream buffers in order to cause disproportionate memory commitment.
The adversarial endpoint would open a stream,
and send some STREAM frames containing arbitrary
fragments of the stream content.

The attack is mitigated if flow control windows correspond to
available memory. However, some receivers will over-commit memory and advertise
flow control offsets in the aggregate that exceed actual available memory.
The over-commitment strategy can lead to better performance when
endpoints are well behaved, but renders endpoints vulnerable to
the stream fragmentation attack.

QUIC deployments SHOULD provide mitigations against the stream fragmentation
attack. Mitigations could consist of avoiding over-committing memory, delaying
reassembly of STREAM frames, implementing heuristics based on the
age and duration of reassembly holes, or some combination.

# IANA Considerations

Expand Down