quantisation error is smallest. This approach has the po-
tential to reduce the quantisation noise to a small margin,
independent of the clock frequency.
Synchronised sampling improves the accuracy of
clock-skew estimation, especially for low-resolution
timestamps, such as the 1 Hz timestamp of the HTTP
protocol. It not only improves the attack proposed by
Murdoch, but also opens the door for new clock-skew
based attacks which were previously infeasible. Further-
more, our technique could be used to improve the iden-
tification of hosts based on their clock skew as proposed
by Kohno et al. [4] if active measurement is possible.
In this paper we propose an algorithm for synchro-
nised sampling and evaluate it in different scenarios. We
show that synchronisation can be achieved, and main-
tained despite network jitter, for different timestamp
sources. Our evaluation results demonstrate that syn-
chronised sampling significantly reduces the quantisa-
tion error by up to two orders of magnitude. The greatest
improvement is achieved for low-frequency timestamps
over low network jitter paths.
The paper is organised as follows. Section 2 intro-
duces the concept of hidden services and describes the
threat model and current attacks. Section 3 provides nec-
essary background about remote clock skew estimation.
Section 4 describes new attacks possible using synchro-
nised sampling and explains how HTTP timestamps are
used for clock skew estimation. Section 5 describes our
proposed synchronised sampling technique. In Section
6 we show the improvements of synchronised sampling
over random sampling in a number of different scenarios.
Section 7 concludes and outlines future work.
2 Revealing Hidden Services
In this paper we focus on the Tor network [1], the lat-
est generation from the Onion Router Project [5]. Tor
is a popular, deployed system, suitable for experimenta-
tion. As of January 2008 there are about 2500 active Tor
servers. Our results should also be applicable to other
low-latency hidden service designs.
2.1 Threat Model
We will assume that the attacker’s goal is to link the
hidden service pseudonym to the identity of its opera-
tor (which in practice can be derived from the server IP
address). The attacks we present here do not require con-
trol of any Tor node. However, we do assume that our
attacker can access hidden services, which means she is
running a client connected to a Tor network.
We also assume that our attacker has a reasonably lim-
ited number of candidate hosts for the hidden service
(say, a few hundred). To mask traffic associated with hid-
den services, many of their hosts are also publicly adver-
tised Tor nodes, so this scenario is plausible. All of our
attack scenarios, with one notable exception, require that
the attacker can access the candidate hosts directly (via
their IP address). To obtain timestamps, we assume the
attacker is able to directly access either the hidden ser-
vice, or another application running on the target. Again,
since many hidden servers are also Tor nodes, it is plau-
sible that at least the Tor application is accessible.
Our attacker cannot observe, inject, delete or modify
any network traffic, other than that to or from her own
computer.
2.2 Existing Attacks
Øverlier and Syverson [6] showed that a hidden service
could be rapidly located because of the fact that a Tor
hidden server selects nodes at random to build connec-
tions. The attacker repeatedly connects to the hidden
service, and eventually a node she controls will be the
one closest to the hidden server. By correlating input and
output traffic, the attacker can discover the server IP ad-
dress.
Murdoch and Danezis [7] presented an attack where
the target visits an attacker controlled website, which in-
duces traffic patterns on the circuit protecting the client.
Simultaneously, the attacker probes the latency of all the
publicly listed Tor nodes and looks for correlations be-
tween the induced pattern and observed latencies. When
there is a match, the attacker knows that the node is on
the target circuit, and so she can reconstruct the path, al-
though not discover the end node.
Murdoch [3] proposed the most recent attack. The at-
tacker induces an on/offload pattern on the target by fre-
quently accessing the hidden service via the anonymisa-
tion network during on-periods, and staying silent during
off-periods. At the same time the attacker measures the
clock skew changes of the set of candidate hosts. The
induced load changes will cause temperature changes
on the target, which in turn cause clock skew changes.
Viewing the load inducement as covert channel, the at-
tacker can send a pseudorandom bit sequence and com-
pare it with the bit sequences recovered from all candi-
dates through the clock skew measurements. Increasing
the duration of the attack increases the accuracy to arbi-
trary levels.
3 Clock-Skew Estimation
All networked devices, such as end hosts, routers, and
proxies, have clocks constructed from hardware and soft-
ware components. A clock consists of a crystal oscilla-
tor that ticks at a nominal frequency and a counter that
counts the number of ticks. The actual frequency of a
device’s clock depends on the environment, such as the
temperature and humidity, as well as the type of crystal.