edits on active attacks

svn:r773
This commit is contained in:
Roger Dingledine 2003-11-05 04:59:47 +00:00
parent 1520e93c14
commit d0ccf76035

View File

@ -1482,16 +1482,16 @@ need for this approach, when
the German government successfully ordered them to add a backdoor to the German government successfully ordered them to add a backdoor to
all of their nodes \cite{jap-backdoor}. all of their nodes \cite{jap-backdoor}.
\emph{Run a recipient.} By running a webserver, an adversary \emph{Run a recipient.} An adversary running a webserver
trivially learns the timing patterns of users connecting to it, and trivially learns the timing patterns of users connecting to it, and
can introduce arbitrary patterns in its responses. This can greatly can introduce arbitrary patterns in its responses.
facilitate end-to-end attacks: If the adversary can induce End-to-end attacks become easier: if the adversary can induce
users to connect to his webserver (perhaps by advertising users to connect to his webserver (perhaps by advertising
content targeted at those users), she now holds one end of their content targeted to those users), she now holds one end of their
connection. Additionally, there is a danger that the application connection. There is also a danger that application
protocols and associated programs can be induced to reveal protocols and associated programs can be induced to reveal information
information about the initiator. Tor does not aim to solve this latter problem; about the initiator. Tor depends on Privoxy and similar protocol cleaners
we depend on Privoxy and similar protocol cleaners. to solve this latter problem.
\emph{Run an onion proxy.} It is expected that end users will \emph{Run an onion proxy.} It is expected that end users will
nearly always run their own local onion proxy. However, in some nearly always run their own local onion proxy. However, in some
@ -1507,44 +1507,27 @@ by attacking non-observed nodes to shut them down, reduce
their reliability, or persuade users that they are not trustworthy. their reliability, or persuade users that they are not trustworthy.
The best defense here is robustness. The best defense here is robustness.
\emph{Run a hostile node.} In addition to being a \emph{Run a hostile OR.} In addition to being a local observer,
local observer, an isolated hostile node can create circuits through an isolated hostile node can create circuits through itself, or alter
itself, or alter traffic patterns to affect traffic at traffic patterns to affect traffic at other nodes. Nonetheless, a hostile
other nodes. (Its ability to directly DoS a neighbor is now limited node must be immediately adjacent to both endpoints to compromise the
by bandwidth throttling.) Nonetheless, in order to compromise the anonymity of a circuit. If an adversary can
anonymity of a circuit by its observations, a
hostile node must be immediately adjacent to both endpoints.
If an adversary can
run multiple ORs, and can persuade the directory servers run multiple ORs, and can persuade the directory servers
that those ORs are trustworthy and independent, then occasionally that those ORs are trustworthy and independent, then occasionally
some user will choose one of those ORs for the start and another some user will choose one of those ORs for the start and another
as the end of a circuit. When this happens, the user's as the end of a circuit. If an adversary
anonymity is compromised for those circuits. If an adversary
controls $m>1$ out of $N$ nodes, he should be able to correlate at most controls $m>1$ out of $N$ nodes, he should be able to correlate at most
$\left(\frac{m}{N}\right)^2$ of the traffic in this way---although an $\left(\frac{m}{N}\right)^2$ of the traffic in this way---although an
adversary adversary
could possibly attract a disproportionately large amount of traffic could possibly attract a disproportionately large amount of traffic
by running an OR with an unusually permissive exit policy. by running an OR with an unusually permissive exit policy, or by
degrading the reliability of other routers.
%% Duplicate.
%
%\emph{Run a hostile directory server.} Directory servers control
%admission to the network. However, because the network directory
%must be signed by a majority of servers, the threat of a single
%hostile server is minimized.
\emph{Selectively DoS a Tor node.} As noted, neighbors are
bandwidth limited; however, it is possible to open enough
circuits converging at a single onion router to
overwhelm its network connection, CPU, or both.
% We aim to address something like this attack with our congestion
% control algorithm.
\emph{Introduce timing into messages.} This is simply a stronger \emph{Introduce timing into messages.} This is simply a stronger
version of passive timing attacks already discussed earlier. version of passive timing attacks already discussed earlier.
\emph{Tagging attacks.} A hostile node could ``tag'' a \emph{Tagging attacks.} A hostile node could ``tag'' a
cell by altering it. This would render it unreadable, but if the cell by altering it. If the
stream were, for example, an unencrypted request to a Web site, stream were, for example, an unencrypted request to a Web site,
the garbled content coming out at the appropriate time would confirm the garbled content coming out at the appropriate time would confirm
the association. However, integrity checks on cells prevent the association. However, integrity checks on cells prevent
@ -1552,7 +1535,7 @@ this attack.
\emph{Replace contents of unauthenticated protocols.} When \emph{Replace contents of unauthenticated protocols.} When
relaying an unauthenticated protocol like HTTP, a hostile exit node relaying an unauthenticated protocol like HTTP, a hostile exit node
can impersonate the target server. Thus clients can impersonate the target server. Clients
should prefer protocols with end-to-end authentication. should prefer protocols with end-to-end authentication.
\emph{Replay attacks.} Some anonymity protocols are vulnerable \emph{Replay attacks.} Some anonymity protocols are vulnerable
@ -1560,11 +1543,11 @@ to replay attacks. Tor is not; replaying one side of a handshake
will result in a different negotiated session key, and so the rest will result in a different negotiated session key, and so the rest
of the recorded session can't be used. of the recorded session can't be used.
\emph{Smear attacks.} An attacker could use the Tor network to \emph{Smear attacks.} An attacker could use the Tor network for
engage in socially disapproved acts, so as to try to bring the socially disapproved acts, to bring the
entire network into disrepute and get its operators to shut it down. network into disrepute and get its operators to shut it down.
Exit policies can help reduce the possibilities for abuse, but Exit policies reduce the possibilities for abuse, but
ultimately, the network will require volunteers who can tolerate ultimately the network will require volunteers who can tolerate
some political heat. some political heat.
\emph{Distribute hostile code.} An attacker could trick users \emph{Distribute hostile code.} An attacker could trick users
@ -1573,7 +1556,7 @@ their connections---or worse, could trick ORs into running weakened
software that provided users with less anonymity. We address this software that provided users with less anonymity. We address this
problem (but do not solve it completely) by signing all Tor releases problem (but do not solve it completely) by signing all Tor releases
with an official public key, and including an entry in the directory with an official public key, and including an entry in the directory
listing which versions are currently believed to be secure. To that lists which versions are currently believed to be secure. To
prevent an attacker from subverting the official release itself prevent an attacker from subverting the official release itself
(through threats, bribery, or insider attacks), we provide all (through threats, bribery, or insider attacks), we provide all
releases in source code form, encourage source audits, and releases in source code form, encourage source audits, and