mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +01:00
edits on active attacks
svn:r773
This commit is contained in:
parent
1520e93c14
commit
d0ccf76035
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user