Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #6537

Closed (moved)
(moved)
Open
Created Aug 03, 2012 by Nick Mathewson@nickm👉

Possible timing side-channel in router selection

Robert Ransom found a possible timing side-channel in how we select routers by bandwidth: we finish faster if we're selecting a router earlier in the list than we do if we select a router later in the list. If this timing information is available on the wire, it could be used to tell which nodes a client is selecting based on how long it takes to pick them.

This is probably not an end-of-the-world attack, since:

  • There is a lot of noise in client timing information, especially in this case, since after picking a circuit we do a bunch of crypto, pk, and network ops too.
  • For exit nodes at least, we pick them at circuit_establish_circuit(), before we send any data to the network.
  • The timing information isn't likely to be finegrained enough to leak particular nodes; rather, if it is available at all, it is likelier to leak which general segment of the node list was selected.

Nevertheless, this isn't something we should even risk exposing, and there might be other factors here too that I'm not analyzing right. Better safe than sorry. Let's fix this one.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking