[tor-bugs] #20348 [Metrics/Censorship analysis]: kz no need tor, tor no need kz, if anybody want they can to use ultrasurf. cyberoam assists bloody dictatorships.

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Nov 27 08:29:06 UTC 2016


#20348: kz no need tor, tor no need kz, if anybody want they can to use ultrasurf.
cyberoam assists bloody dictatorships.
-----------------------------------------+-------------------------
 Reporter:  dcf                          |          Owner:
     Type:  project                      |         Status:  closed
 Priority:  Medium                       |      Milestone:
Component:  Metrics/Censorship analysis  |        Version:
 Severity:  Normal                       |     Resolution:  invalid
 Keywords:  censorship block kz          |  Actual Points:
Parent ID:                               |         Points:
 Reviewer:                               |        Sponsor:
-----------------------------------------+-------------------------

Comment (by dcf):

 Here's an alternate time hack that chops up and delays the first 64k
 bytes:
 {{{
 Bridge obfs4 23.92.21.42:39651 DED2D4BE3810BD422DC4B4EEC25A09A889922583
 cert=6u8GTZeQDJXfWjq5qlrMYpkWZ59o4REVLbCgkX0fmuomqc8e9wxEuQ0pV2nsbSAeYgmhVA
 iat-mode=0
 }}}
 [[Image(timing-unused-obfs4timekludge.png)]]
 Unlike the other things we've tried so far, this one breaks up the server
 sends during the initial obfs4 and TLS handshakes.

 The source code of this hack is at
 !https://www.bamsoftware.com/git/timekludge.git. It works by wrapping
 another pluggable transports executable; e.g.:
 {{{
 ServerTransportPlugin obfs4 exec /usr/local/bin/timekludge --
 /usr/local/bin/obfs4proxy
 }}}

 This is how the timing is begin modified:
 {{{
 func serverToClient(client, server net.Conn) error {
         var count int64
         for count = 0; count < 64000; {
                 sz := rand.Int63n(1024) + 256
                 delay := time.Duration(rand.Intn(15)+5) * time.Millisecond
                 n, err := io.CopyN(client, server, sz)
                 log.Printf("s2c: copy %d %v", n, err)
                 if err != nil {
                         return err
                 }
                 count += n
                 log.Printf("s2c: sleep %d ms", delay/time.Millisecond)
                 time.Sleep(delay)
         }
         _, err := io.Copy(client, server)
         return err
 }
 }}}

 I still don't have access to a test box in kz with which to test any of
 these ideas personally. Let me know if it would be helpful to you to have
 anything special running on one of the default bridges.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20348#comment:81>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list