On Mon, 01 Jun 2015 07:43:50 +0000 Georg Koppen <gk@xxxxxxxxxxxxxx> wrote: > > My question is, what causes Tor Browser to set the SOCKS username to > > "--unknown--" and what the behavior should be in that case if: > > Ideally, "--unknown--" would only be used for requests originating > from privileged browser code and not belonging to a website/resource > a user requested. This would encompass things like extensions update > requests, browser update requests, blocklist checks, requests issued > by installed extensions to name just a few. In reality, however, we > are not there yet (see e.g. #13670, #15599, #15555, #15569 + plus > there is at least one bug I have not filed yet). Ah ok. That explains why I saw "--unknown--" when browsing reddit with my shim running. > > * The destination is a ".onion" address. > > #15499 should give you an idea (although I am not sure whether that > ticket is still valid) I think spacebook uses subdomains, but in the .onion space, so suffix based validation (socks username, and the requested destination both end in ".onion") is sufficient here. > > * The destination is a ".i2p" address. > > I don't know. Maybe we/you should coordinate that with the I2P folks? I'm fairly sure just matching on suffix is also ok here. > > * The destination is the I2P management console. > > > > I'm fairly sure this should be "deny". > > Sounds good. This is the only way I'm messing with/using the Isolation information currently. The management console appears to work. > > * The destination is any other address (will be dispatched over > > Tor if running, I don't think I will attempt to support I2P > > outproxies because they suck). (I think allow because things break > > otherwise?) > > I am not sure, honestly. What do you have in mind? > > [snip] > > > The final form of my shim will support running with any combination > > of "nothing" (Tor Browser just for the "privacy benefits", probably > > unsafe, I may reconsider this), I2P, and Tor (Though the most useful > > configuration is probably I2P + Tor). > > Sounds useful, indeed. But I think we should make clear to users that > this will not be a proper Tor Browser replacement as you need > knowledge of the browser state to make correct assumptions on whether > to put requests into the "--unknown--" bucket or not. And I currently > don't see how your shim is able to accomplish that. Well, it's real Tor Browser, just talking to an intermediary SOCKS proxy rather than the one exposed by Tor. I currently propagate the SOCKS username/password if possible (it's not for I2P, and no analog to the isolation exists, so stuff like new identity/new circuit will be a lot of work). Behavior without I2P running (or browsing stuff I dispatch to Tor) is identical to normal Tor Browser, given certain limitations[0]. Tor Browser already does the work of placing requests in the correct bucket for me, I'm just trying to use the work Tor Browser does to prevent cross protocol probing/attacks. Maybe the right thing to do here would be to dispatch based on the isolation info and not the destination, since that doesn't give away the presense of the shim: * If the socks username ends in ".i2p" send it to I2P regardless of destination. * If the socks username ends in ".onion" send it to Tor regardless of destination. * Otherwise send it to the default upstream provider (Tor in most cases). (Note: The I2P management interface is special cased, and always will be special cased, since it's extra sensitive.) But yeah. There will be tons of warning labels. Just trying to figure out a good way to get I2P and Tor to co-exist in a single Tor Browser instance while being relatively safe[1]. Regards, -- Yawning Angel [0]: The code assumes it's talking to a system tor instance (it doesn't launch Tor for you), my control port filter is present so circuit display is broken intentionally, etc. [1]: User safety is the #1 goal here, but I know my first stab at this probably won't be perfect. I think it will still be an improvement over "install foxyproxy with a bunch of regexes" since I do have the option of peeking at the isolation.
Attachment:
pgpoFoJiRMh0j.pgp
Description: OpenPGP digital signature
_______________________________________________ tor-dev mailing list tor-dev@xxxxxxxxxxxxxxxxxxxx https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev