A Lesson In Timing Attacks
codahale.com
codahale.com
http://news.ycombinator.com/item?id=760917
It looks like kapitalx appended a query param (s=1) in order to avoid the duplicate url check.
The way I figure, which may be incorrect, is the following:
You have x options (here it is 16). x^2 gives us 256 different options for this example. However, if it's only correct correct half of the time then we have to repeatedly cut down our search which results in series:
sum (x^2)/(2n), n=1 to m
which is
(x^2 H_m) / 2
Is this correct? Could someone explain how many random extra comparisons would be needed to thwart a timing attack?
It just seems like it wouldn't be measurable, and I'd love to test it and prove myself wrong.
I wonder if this is more relavant in much higher profile attacks (cyberwar,etc) than in some webapp.
There are very common attack scenarios where the effect you're targeting is below the measurement threshold. For instance, "across the Internet", and "target is a compare implemented by memcmp". But there are others that aren't, and ways to pivot from one to the other (for instance, "buy account at same hosting provider").
The actual attack itself, mathematically, is very simple. It's high school statistics.
(Crosby & Wallach's stuff is advanced statistical filtering, but that's to get better measurements; the core of the attack is much simpler).