Skip to content
GitLab
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
  • #10991
Closed
Open
Issue created Feb 21, 2014 by Yawning Angel@yawning

ScrambleSuit should delay packet morphing till the moment the packet gets sent

From looking at the ScrambleSuit code in phw's github repository, it looks like ScrambleSuit's packet morpher and IAT interact like thus:

  • In the receive callback
    1. Apply packet morphing for the length of the burst
    2. Add the burst's data to the IAT buffer
    3. Schedule a timer if not pending
  • In the timer
    1. Send up to the MTU worth of data from the IAT buffer
    2. Reschedule the timer if data remains

This probably should be:

  • In the receive callback
    1. Add the received data to the IAT buffer
    2. Schedule a timer if not pending
  • In the timer
    1. Send up to the MTU worth of data from the IAT buffer
    2. If the IAT buffer is empty, send padding
    3. Reschedule the timer if data remains

The first implementation will send an amount of random padding corresponding to the number of times the receive callback was invoked during the IAT delay. The second implementation sends 1 PRD sample worth of padding per write.

It is possible that the bandwidth/obfuscation tradeoff is desirable (the current implementation will have a more varied amount of total data transferred), but the actual packet sizes on the wire should look equally random for either implementation.

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