The experiment results are shown in Figure 3.
The number of outliers in this experiment was higher,
where 58 results were removed. Out of these values, 6
outliers were caused by the extremely high RTT val-
ues received for the real random value. The drop in
the top-5 and top-10 success rate in the figure for the
burst size of 1350 is due to the outlier being the actual
secret value. The figure is very similar to Figure 1: as
the burst size grows, a slowdown in the RTT values is
almost always due to finding the correct secret value.
The figure shows that as few as 500 packets suffice
to recognize the correct secret value in the top-5 with
≈ 50% success.
5 CONCLUSIONS AND FUTURE
WORK
We have demonstrated that a remote algorithmic com-
plexity attack, against randomized hash tables, is pos-
sible if the secret value is chosen from a small enough
space. More secret bits cause more effort, time and
space to be consumed in the information gathering
stage. Thus, it seems that a random value of 32
bits would render this attack impractical with today’s
technology. Note though that in this paper the at-
tacker iterates over all possible random values in a
brute-force manner, searching for bucket collisions.
However, the search space may be limited to a smaller
subset of random numbers by taking advantage of the
vulnerabilities in the Linux Random Number Gener-
ator as suggested in (Gutterman et al., 2006). This
might lead to a feasible attack against a server with a
longer secret value.
The Linux Routing Table cache which uses a hash
table, has also updated its hash function as a counter-
measure against the algorithmic complexity attack
with Linux version 2.4.2. In this patch, the routing
table cache also uses a random value as a parameter
to the hash function, but in order to increase the secu-
rity, this key is changed every 10 minutes. Since our
experiments show that when the random value is 13
bits long, testing all 8192 possibilities with 500 packet
bursts takes about 1 hour, this additional measure is
indeed helpful. However, changing the secret value is
not always easy: Doing so on a firewall like Netfilter
will potentially break existing connections since fu-
ture packets will be hashed to a different bucket and
not find the connection’s state.
REFERENCES
Boneh, D. and Brumley, D. (2003). Remote timing attacks
are practical. In Proceedings of the 12th USENIX Se-
curity Symposium.
Bounds, D. (2003). packit v1.0.
http://www.obtuse.
net/software/packit/
.
Crosby, S. and Wallach, D. (August 2003). Denial ofservice
via algorithmic complexity attacks. In Proceedings of
the 12th USENIX Security Symposium, pages 29–44.
Dean, D. and Stubblefield, A. (Aug. 2001). Using client
puzzles to protect TLS. In Annual USENIX Security
Symposium, page 178, Washington, D.C., USA.
Filter. Linux netfilter.
http://www.netfilter.org/
.
Gal, A., Probst, C., and Franz, M. (2004). Complexity-
based denial of service attacks on mobile-code sys-
tems. Technical Report 04-09, School of Informa-
tion and Computer Science, University of California,
Irvine.
Gal, A., Probst, C., and Franz, M. (2005). Average case vs.
worst case margins of safety in system design. In Pro-
ceedings of the 2005 New Security Paradigms Work-
shop (NSPW 2005), Lake Arrowhead, CA, USA.
Garfinkel, S. (1996). Script for a king. HotWired Packet.
Gutterman, Z., Pinkas, B., and Reinman, T. (2006). Anal-
ysis of the linux random number generator. In
IEEE Symposium on Security and Privacy, Berke-
ley/Oakland, CA, USA.
Jenkins, B. (1997). Jenkins’ hash.
http://
burtleburtle.net/bob/hash/doobs.html
.
Kohno, T., Broido, A., and Claffy, K. (2005). Remote phys-
ical device fingerprinting. In IEEE Symposium on Se-
curity and Privacy, Oakland, CA, USA.
Kuzmanovic, A. and Knightly, E. (2003). Low-rate TCP-
targeted denial of service attacks (the shrew vs. the
mice and elephants). In Proc. Sigcomm.
McCanne, S. and Floyd, S. ns network simulator.
http:
//www.isi.edu/nsnam/ns/
.
McIlroy, M. D. (1999). A killer adversary for quicksort.
Softw., Pract. Exper., 29(4):341–344.
Needham, R. M. (1993). Denial of service. In Proceedings
of the 1st ACM conference on Computer and commu-
nications security, pages 151–153, FairFax, VA, USA.
Paxson, V. (1999). Bro: a system for detecting network in-
truders in real-time. Computer Networks (Amsterdam,
Netherlands: 1999), 31(23–24):2435–2463.
RFC4418. Umac: Message authentication code using
universal hashing.
http://www.rfc-archive.org/
getrfc.php?rfc=4418
.
Shacham, H., Page, M., Pfaff, B., Goh, E.-J., Modadugu,
N., and Boneh., D. (2004). On the effectiveness of ad-
dress space randomization. In ACM Conf. Computer
and Communications Security (CCS), pages 298–307.
SYN flood (1996). SYN-flooding attacks.
http://www.
cert.org/advisories/CA-1996-21.html
.
SECRYPT 2007 - International Conference on Security and Cryptography
124