Basically the defense is to enable HTTP pipelining and to randomize the size and the order of the pipeline queue for each connection. It's easy to do and doesn't cost us any overhead.
I think we should ask the researchers to test it out for us or give us their source code.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
The patch will have two parameters, which I am going to just hardcode in for now, but if anyone shows any interest in testing various values I can pretty easily convert them to about:config prefs.
maxrequests - the maximum number of requests to put into a pipeline
minrequests - the minimum number of requests to put into a pipeline
These are set right now to 12 and 4, respectively. There is a uniform distribution among the queue sizes between these two values. The request ordering should be randomized amongst all currently pending requests on a connection.
There are routinely enough requests to create 12-request pipelines. It is possible we could raise this value much higher (though there is a static compiled-in limit).
I think this one stands a decent chance of working with the right parameters, if the torified HTTP pipeline ends up behaving like I expect on the wire. But I could be wrong?
Patch is in my TBB firefox-6.0.1 branch awaiting merge. It should show up as 0006-Randomize-HTTP-pipeline-order-and-depth.patch in the src/current-patches directory of torbrowser.git.
Trac: Actualpoints: N/Ato 2 Status: new to closed Resolution: N/Ato fixed Points: N/Ato 2
I'm just using backport-to-mozilla to keep track of features that I think look interesting. There's a whole other process to actually add them to the Mozilla roadmap, land them, and so on. Don't get your hopes up too soon.