Opened 14 months ago

Last modified 3 months ago

#25574 new defect

Eliminate "silent-drop" side channels in Tor protocol

Reported by: mikeperry Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: guard-discovery-stats
Cc: dmr Actual Points:
Parent ID: Points: 10-30
Reviewer: Sponsor: SponsorV-can

Description (last modified by dmr)

There are lots of ways to inject data into Tor streams, and this is a vector of attack for guard discovery and confirmation ("DropMark" attack):

I have a branch that tries to eliminate a pile of these from a while ago, but it has lots of false positives due to the common occurrence of invalid stream IDs in practice (see #25573).

I think we may want to do #25573 before trying to merge that branch.

Child Tickets

#25573closedTrack half-closed stream IDsCore Tor/Tor

Change History (7)

comment:1 Changed 14 months ago by nickm

I really want to ask for a proposal on this -- if only a formal list of the stuff you want to change here.

comment:2 Changed 11 months ago by dmr

Cc: dmr added

comment:3 Changed 11 months ago by asn

Milestone: Tor: unspecified

comment:4 Changed 10 months ago by dmr

Description: modified (diff)

Adding parenthetical to tie that term 'DropMark' to the paper (it might not otherwise be obvious by context).

comment:5 Changed 4 months ago by mikeperry

Points: 30

comment:6 Changed 4 months ago by mikeperry

Points: 3010-30

comment:7 Changed 3 months ago by cypherpunks

there are lots of ways to do it, but the dropmark paper says:

We used relay drop cells because they do not raise any log message.

why is that?

i found some history:

Once-upon-a-time DROP cells were getting logged. Roger //'ed it out in '06 cause it was "loud":

(:thinkingface: how was that "loud"? was anything besides attackers sending DROP cells in 2006?)

mikeperry replaced the //'ed log line with return 0 in 2018:

But even if tor had no silent drops relays could still embed timing signals like Jann Horn demonstrates here:;a=blob;f=README (what ticket number is that?)

Note: See TracTickets for help on using tickets.