Re: [tor-dev] How to distribute Tor with other software

2014-11-20 Thread David Stainton


Greetings,


olde thread resurrection:

Earlier Meejah pointed out that the tor control port can be used to create tor 
hidden services.
Now that tor trac ticket #11291 
(https://trac.torproject.org/projects/tor/ticket/11291) is resolved this will 
actually be usable?

There are deployment issues. The program must run as a user who is a member of 
the tor group in order to read the hostname file
and thus retrieve the onion address. With the current upstream master tor you 
can use the HiddenServiceDirGroupReadable option, like this:

SETCONF hiddenservicedir=/var/lib/tor-alpha-hidden-services/hiddenService01 
hiddenserviceport="80 127.0.0.1:8080" HiddenServiceDirGroupReadable=1

This should result in the hostname file being readable by the tor group.


Is anyone else working on tor hidden service file sharing and or tor controller 
written in golang?

I've implemented a golang api for creating and destroying tor hidden services 
using the control port...
and a golang commandline tool for sharing directories via http + tor hidden 
service similar to carml pastebin or onionshare.

If we write these tools in golang then we can use a deterministic build system 
much like the recent
gitian golang deterministic builds for golang pluggable transports.



Cheers,

David



signature.asc
Description: Digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Using Shadow to increase agility of Sponsor R deliverables

2014-11-20 Thread David Goulet
On 20 Nov (14:45:12), Rob Jansen wrote:
> Hi David, Roger,

Hello!

> 
> I think it would be great if we could show off some HS performance 
> improvements at the next Sponsor R PI meeting in January, both as a way to 
> show that we are making progress on the performance front and also to help 
> demonstrate our agility and how quickly we can get results on new designs. 
> I’m here to advocate the use of Shadow to help in this regard.
> 
> So far, the list of deliverable that we could possibly show improvements is 
> quite small:
> https://trac.torproject.org/projects/tor/wiki/org/sponsors/SponsorR#Tickets
> 
> From the list of completed tickets, the only one that stands out to me as 
> providing a performance boost is #13211 (Allow optimistic data on connections 
> to hidden services):
> https://trac.torproject.org/projects/tor/ticket/13211
> 
> This seems like a somewhat small change; despite that, do we think this may 
> be something worth simulating to verify it works as expected and understand 
> the extent to which it reduces time to first byte for HS downloads?
> 
> Are there other HS performance improvements that we think may be ready by 
> January?

Here is what we (Karsten, George and me) are up to on that front for
January. (Please guys, feel free to fill the blank if I am missing
anything).

We are aware of the january deadline so we've split up the work in two
parts. George/Karsten are working on a proposal to gather HS statistics
on the real Tor network to answer some questions that are presented
here.

https://people.torproject.org/~karsten/volatile/238-hs-relay-stats-2014-11-20.txt

On my part, I have a chutney network with an HS and clients that fetch
data on it. I'm currently working on instrumenting the HS subsystem so
we can gather performance data and analyze it for meaningful pointers on
where are the contention points, confirm expected behaviors, etc...
I'll begin soon updating the following ticket with more information on
the work I'm doing. (I'm in Boston right now collaborating with Nick for
the week so things are a bit more slow on this front until monday).

https://trac.torproject.org/projects/tor/ticket/13792

This could be used also with shadow I presume. Since the deadline is
near us, I choose chutney for simplicity reasons here. I'll have a talk
with Nick tomorrow on how we can possibly have this instrumentation
upstream (either logs, controller event or/and tracing).

Please note that Karsten is helping everyone here for both parts! :).

On the host side of HS (meaning the HS relay itself), we have profiled
an HS service that is being hammered with hundreds of connections. The
client has been fixed to handle that also btw (#13698). I've talked this
one out with Nick also and we have an idea for a solution that is in the
mention in the ticket. Fixing that would in theory improve quite a bit
the host side performance of HS. You can find the info here.

https://trac.torproject.org/projects/tor/ticket/13739

Things are going forward, we still have some work ahead to gather the HS
performance baseline and start trying to improve it. I'm fairly
confident that the performance statistics in a private network will give
us a good insight on the current situation.

Feel free to propose anything that could be useful to make this thing
more efficient/faster/useful :).

Cheers!
David

> 
> Best,
> Rob


signature.asc
Description: Digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


[tor-dev] Using Shadow to increase agility of Sponsor R deliverables

2014-11-20 Thread Rob Jansen
Hi David, Roger,

I think it would be great if we could show off some HS performance improvements 
at the next Sponsor R PI meeting in January, both as a way to show that we are 
making progress on the performance front and also to help demonstrate our 
agility and how quickly we can get results on new designs. I’m here to advocate 
the use of Shadow to help in this regard.

So far, the list of deliverable that we could possibly show improvements is 
quite small:
https://trac.torproject.org/projects/tor/wiki/org/sponsors/SponsorR#Tickets

From the list of completed tickets, the only one that stands out to me as 
providing a performance boost is #13211 (Allow optimistic data on connections 
to hidden services):
https://trac.torproject.org/projects/tor/ticket/13211

This seems like a somewhat small change; despite that, do we think this may be 
something worth simulating to verify it works as expected and understand the 
extent to which it reduces time to first byte for HS downloads?

Are there other HS performance improvements that we think may be ready by 
January?

Best,
Rob
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] high latency hidden services

2014-11-20 Thread Michael Rogers
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 09/11/14 18:33, Mansour Moufid wrote:
> Has there been research on integrating high-latency message
> delivery protocols with the hidden service model of location
> hiding?  The SecureDrop or Pynchon Gate protocols sound like good
> starting points. I would love to participate, and encourage
> everyone to start in this direction (in your copious free time ;).

This issue has just come up on the guardian-dev list, so we're moving
the conversation over here. Context quoted below.

On Thu, Nov 20, 2014, at 09:46 AM, Michael Rogers wrote:
> On 20/11/14 14:21, Nathan of Guardian wrote:
>>> If we simply use Tor as a low-latency transport for
>>> asynchronous messaging then we're limited to Tor's threat
>>> model, i.e. we can't prevent traffic confirmation attacks. If
>>> we revive one of the remailers or build a new system then we're
>>> limited to a small number of users, i.e. a small anonymity set.
>>> So ideally we'd find some way of adding high-latency mix-like
>>> features to Tor.
>> 
>> How much difference in latency are we talking about? Can we just
>>  introduce some sort of randomness or delay into our existing 
>> stacks/protocols?
> 
> If we add delays at the application layer then those delays will
> be the same all along the Tor circuit. So from the point of view of
> an adversary doing a traffic confirmation attack against Tor, the
> delays are irrelevant: the adversary sees the same pattern of
> delays at both ends of the circuit, so the ends are still
> correlated with each other.
> 
> To decorrelate the traffic entering Tor from the traffic leaving
> Tor we need to delay the traffic at each hop. Ideally we'd go
> further than that and decouple high-latency traffic from circuits,
> so that traffic could enter Tor on one circuit and leave on another
> circuit, long after the first circuit was closed. But that's a much
> harder problem than adding a delay at each hop, I think.
> 
>>> Done right, this could provide a large anonymity set for the 
>>> high-latency users and improve the traffic analysis resistance
>>> of Tor for the low-latency users at the same time, by providing
>>> a pool of latency-insensitive traffic to smooth out the bursty 
>>> low-latency traffic between relays.
>> 
>> I think this really makes the case, why a native Tor-based 
>> messaging channel/layer/link/substrate should be implemented.
> 
> Great! Maybe we should move this discussion to the thread on
> tor-dev that Mansour Moufid started recently?

Cheers,
Michael
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBCAAGBQJUbgMZAAoJEBEET9GfxSfMWegIAL/IQj7uOVSqd3kG+SSj/bCx
RxyAkYmvS9josfDdtyOqDEJ3wMUcjMK313SPOA6vFWkkDYPqkbrXPwWCFMLJK/2m
qVJ/ZItrno0RiOpTBEij2s7/VYW5ECzYjZUe3+O8lveYLz6k7IXXRiVkJt3y1oFn
ze2Hl4XqTi7/rwaE9Q6JPfMBk4zcH4POtUaEYdpDME60QQQ8HRn0s2W9QlWihvrT
ALhBqWXqZAZwEw1iKokT4XG/6HhGSs0WKgL53+wjfHTb6UdRTCas+nc/YuBuOVun
45OWmI8DuUG6YgxT5NEHKUL+OGts4ikoJ2TZwZ7Xjhd4zrgU+bZXTXDOQgUmJTY=
=rcBt
-END PGP SIGNATURE-
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] Feedback on obfuscating hidden-service statistics

2014-11-20 Thread Karsten Loesing
On 20/11/14 13:42, George Kadianakis wrote:
> "A. Johnson"  writes:
> 
> George and I have been working on a small proposal to add two 
> hidden-service related statistics: number of hidden services and 
> total hidden-service traffic.

 Great, I’m starting to focus more on this project now. Well,
 actually I’m going on a trip for a week today, but *then* I’m
 focusing more on this project :-)
>>>
>>> Sounds great!  We're meeting every Tuesday at 16:00 UTC in #tor-dev.
>>> Feel free to drop by.
>>
>> Excellent. I won’t be there this coming Tuesday, but I’ll be there the next 
>> Tuesday.
>>
>>> Replicas mean that each descriptor is stored under two identifiers, so
>>> that's two places.  Further, descriptor identifiers change once per
>>> day, so during a 24-hour period, there are up to four descriptor
>>> identifiers for a hidden service.
>>
>> That makes sense. It would be nice if the statistics would allow you
>> to identify how long (i.e. how many hour periods) each descriptor was
>> observed being published. That would allow us to figure out if there
>> are lots of short-lived services or fewer long-lived
>> services. Publishing statistics every hour would pretty much take care
>> of this. If you are really set on 24 hours, then perhaps you could add
>> the total number of published descriptors in addition to the number of
>> *unique* published descriptors.
>>
>> Also, my suggestion about using additive noise applies equally well to
>> the descriptor statistics. And multiplicative noise is a *bad idea* if
>> you don’t have some adjustment for small values (e.g. 10% noise of a 0
>> value is 0, and 10% of 1 is only 0.1).
>>
>>> We have been thinking about many more hidden-service related
>>> statistics in a separate document.  We're currently discussing whether
>>> we should turn it into a tech report, because we'll probably not want
>>> to implement most of those statistics.  If you have remarks or more
>>> ideas, please feel free to edit the document.  We're going to have a
>>> public review round for this, too, but that might not happen in the
>>> next week or two.
>>>
>>> https://etherpad.wikimedia.org/p/hs_stats_78281091
>>
>> Great! I think we should go for at least a little more data in the
>> current proposal (what is the timeline for this, btw?). I think we
>> should come up with a list of statistics we might imagine gathering
>> and identify the subset of those that we’re comfortable gathering at
>> this point. For example, I think failure statistics is much more
>> innocuous than other data, and those would be very useful. For
>> example, they would help us understand how to improve the protocol is
>> failing, and it might help us identify misuse of hidden services
>> (e.g. by botnets clients stupidly looking for non-existent descriptors
>> or by malicious crawlers attempting to brute force descriptors). So
>> here are some ideas:
>>   1. Number of fetch requests for descriptors that don’t exist (number of 
>> fetch requests that do succeed would of course be very useful as well)
>>   2. Number of descriptor publishes to the wrong HSDir (actually I suspect 
>> that the HSDir doesn’t check this and wants to be accepting of any publish)
>>   3. Number of rendezvous circuits that never connect (from the RP 
>> perspective)
>>   4. Number of rendezvous circuits on which no data cells are ever sent
>>
> 
> (CC'ed [tor-dev])

Thanks, George, for moving the discussion here.

Here's the latest proposal draft where I incorporated Aaron's suggestions:

https://gitweb.torproject.org/user/karsten/torspec.git/blob/refs/heads/hs_stats:/proposals/238-hs-relay-stats.txt

If people on this list have more feedback, please reply here.  Thanks!

All the best,
Karsten


> Thanks for the input Aaron!
> 
> The timeline here is that we are hoping the proposal _and_ the
> implementation to be ready by mid-December. Then we are hoping that we
> can deploy the code to a few relays so that we have some data by January.
> 
> So, time is tight.
> 
> I'm currently OK with the two statistics in:
> https://people.torproject.org/~karsten/volatile/238-hs-relay-stats.txt
> 
> I feel that any other statistics will need to be carefully analyzed.
> We should add the ideas you mentioned in the etherpad, and get them
> included in the tech report (which we are also hoping to have ready in
> some form by mid-January).
> 
> The tech report is supposed to contain and analyze most of the HS
> statistics we can think of. It will likely contain many stats that we
> will never do, but also some stats that might be a good idea. The good
> ones we should eventually integrate to the Tor proposal and write code
> for.
> 
>>> Thanks for the very valuable input!  Let me know if the following
>>> draft looks okay, and I'll start another thread on tor-dev@.
>>>
>>> https://people.torproject.org/~karsten/volatile/238-hs-relay-stats-2014-11-20.txt
>>
>> "Lab(\epsilon/C)” -> "Lap(\epsilon/C)” (that was my mistake. I think

Re: [tor-dev] Feedback on obfuscating hidden-service statistics

2014-11-20 Thread George Kadianakis
"A. Johnson"  writes:

 George and I have been working on a small proposal to add two 
 hidden-service related statistics: number of hidden services and 
 total hidden-service traffic.
>>> 
>>> Great, I’m starting to focus more on this project now. Well,
>>> actually I’m going on a trip for a week today, but *then* I’m
>>> focusing more on this project :-)
>> 
>> Sounds great!  We're meeting every Tuesday at 16:00 UTC in #tor-dev.
>> Feel free to drop by.
>
> Excellent. I won’t be there this coming Tuesday, but I’ll be there the next 
> Tuesday.
>
>> Replicas mean that each descriptor is stored under two identifiers, so
>> that's two places.  Further, descriptor identifiers change once per
>> day, so during a 24-hour period, there are up to four descriptor
>> identifiers for a hidden service.
>
> That makes sense. It would be nice if the statistics would allow you
> to identify how long (i.e. how many hour periods) each descriptor was
> observed being published. That would allow us to figure out if there
> are lots of short-lived services or fewer long-lived
> services. Publishing statistics every hour would pretty much take care
> of this. If you are really set on 24 hours, then perhaps you could add
> the total number of published descriptors in addition to the number of
> *unique* published descriptors.
>
> Also, my suggestion about using additive noise applies equally well to
> the descriptor statistics. And multiplicative noise is a *bad idea* if
> you don’t have some adjustment for small values (e.g. 10% noise of a 0
> value is 0, and 10% of 1 is only 0.1).
>
>> We have been thinking about many more hidden-service related
>> statistics in a separate document.  We're currently discussing whether
>> we should turn it into a tech report, because we'll probably not want
>> to implement most of those statistics.  If you have remarks or more
>> ideas, please feel free to edit the document.  We're going to have a
>> public review round for this, too, but that might not happen in the
>> next week or two.
>> 
>> https://etherpad.wikimedia.org/p/hs_stats_78281091
>
> Great! I think we should go for at least a little more data in the
> current proposal (what is the timeline for this, btw?). I think we
> should come up with a list of statistics we might imagine gathering
> and identify the subset of those that we’re comfortable gathering at
> this point. For example, I think failure statistics is much more
> innocuous than other data, and those would be very useful. For
> example, they would help us understand how to improve the protocol is
> failing, and it might help us identify misuse of hidden services
> (e.g. by botnets clients stupidly looking for non-existent descriptors
> or by malicious crawlers attempting to brute force descriptors). So
> here are some ideas:
>   1. Number of fetch requests for descriptors that don’t exist (number of 
> fetch requests that do succeed would of course be very useful as well)
>   2. Number of descriptor publishes to the wrong HSDir (actually I suspect 
> that the HSDir doesn’t check this and wants to be accepting of any publish)
>   3. Number of rendezvous circuits that never connect (from the RP 
> perspective)
>   4. Number of rendezvous circuits on which no data cells are ever sent
>

(CC'ed [tor-dev])

Thanks for the input Aaron!

The timeline here is that we are hoping the proposal _and_ the
implementation to be ready by mid-December. Then we are hoping that we
can deploy the code to a few relays so that we have some data by January.

So, time is tight.

I'm currently OK with the two statistics in:
https://people.torproject.org/~karsten/volatile/238-hs-relay-stats.txt

I feel that any other statistics will need to be carefully analyzed.
We should add the ideas you mentioned in the etherpad, and get them
included in the tech report (which we are also hoping to have ready in
some form by mid-January).

The tech report is supposed to contain and analyze most of the HS
statistics we can think of. It will likely contain many stats that we
will never do, but also some stats that might be a good idea. The good
ones we should eventually integrate to the Tor proposal and write code
for.

>> Thanks for the very valuable input!  Let me know if the following
>> draft looks okay, and I'll start another thread on tor-dev@.
>> 
>> https://people.torproject.org/~karsten/volatile/238-hs-relay-stats-2014-11-20.txt
>
> "Lab(\epsilon/C)” -> "Lap(\epsilon/C)” (that was my mistake. I think
> having the added noise both parameterized and included in the reported
> statistics is an idea worth thinking about. Making it a parameter
> allows you to easily change it without upgrading. Including it in the
> statistics would allow us to correct better for noise if different
> relays might be adding different amounts of noise due to inconsistent
> opinions of the noise parameter (if this should never happen, then I
> guess this wouldn’t be necessary).
>
> So again, sorry that I’m not g