<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr"><div><div><div><div><div><div>Hello<br><br></div>I recently proposed a gsoc project realating to panopticlick and browser fingerprinting. But due non availability of mentor, <font><span style="font-weight:normal"><span name="Damian Johnson">Damian Johnson had to drop the idea from volunteer page.<br><br></span></span></font></div><font><span style="font-weight:normal"><span name="Damian Johnson">I am writing this email to ask if someone could be available as a mentor for the gsoc project relating panopticlick.<br></span></span></font></div><font><span style="font-weight:normal"><span name="Damian Johnson">I wrote some scripts to randomize browser fingerprint <a href="http://github.com/rohit-dua/selkie" target="_blank">github.com/rohit-dua/selkie</a> . You may want to check these out.<br><br></span></span></font></div><font><span style="font-weight:normal"><span name="Damian Johnson">Thanking you<span class="HOEnZb"><font color="#888888"><br></font></span></span></span></font></div><span class="HOEnZb"><font color="#888888"><font><span style="font-weight:normal"><span name="Damian Johnson">Rohit Dua<br></span></span></font></font></span></div><span class="HOEnZb"><font color="#888888"><font><span style="font-weight:normal"><span name="Damian Johnson">Delhi, India<br></span></span></font></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 2:45 AM, Damian Johnson <span dir="ltr"><<a href="mailto:atagar@torproject.org" target="_blank">atagar@torproject.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Rohit, sorry about the delay. I've been trying to get ahold of the<br>
project mentor for panopticlick but no luck, so I'm dropping it from<br>
the volunteer page. You're certainly still welcome to take it on, but<br>
for the purposes of GSoC we seem to be missing a potential mentor for<br>
it.<br>
<br>
Sorry about the confusion! -Damian<br>
<div><div><br>
<br>
On Thu, Feb 12, 2015 at 1:53 PM, Rohit Dua <<a href="mailto:8ohit.dua@gmail.com" target="_blank">8ohit.dua@gmail.com</a>> wrote:<br>
> Thank you all for replying.<br>
><br>
> I can summarize some points after reading the links provided.<br>
><br>
> The random fingerprint headless browser should not be connected with<br>
> Tor network as this can lead to more frequent blocking of exit<br>
> nodes(due to more scraping bots using exit nodes)<br>
><br>
> A random fingerprint should be better than current approach(single<br>
> fingerprint) because a company/government can easily block access to<br>
> that one static/single while this will be unlikely for a random<br>
> fingerprint from a very large dataset.(This will be very good for<br>
> headless browsing)<br>
><br>
> Faking a fingerprint requires several properties. But most of them can<br>
> be overwritten. Some of the ones with most problems:<br>
> 1.) Faking fonts: webkit does not provide way to manually<br>
> disable/enable selected fonts to be used. A way around this could be<br>
> to disable all fonts and then load random fonts using @font-face just<br>
> after javascriptObjectCleared, for each request.<br>
> 2.) Timezone could easily be faked after overwriting Date object.<br>
> 3.) Plugins/MimeTypes/navigator/colorDepth can be faked by overwriting<br>
> their object.<br>
> 4.) Window and Screen objects including<br>
> innerHeight/screenWidth/ScreenHeight can also be overwritten but only<br>
> for headless browsing as changing these will hinder the user view<br>
> experience.<br>
> 5.) Almost all browser unique features like<br>
> screen.mozBrightness,navigator.mozSms,InstallTrigger[FIREFOX],<br>
> navigator.webkitStartActivity,navigator.getStorageUpdates,window.chrome[CHROME]<br>
> can be added explicitly to dom for corresponding browser specific<br>
> fingerprint.<br>
> 6.) The fingerprint properties should be location specific(eg. the<br>
> accept-language headers should including the langauges of the<br>
> location) so as to avoid statistics based attack(based on location<br>
> data)<br>
> 7.) To avoid timing attack, a local proxy can be used which will add<br>
> an extra random delay time(based on location) in all TCP/IP packets<br>
> sent(including syn/ack)<br>
> 8.) Flash/Java has to disabled to avoid information leakage. While the<br>
> plugins can still be faked as available in the Plugins Object.<br>
> 9.) To avoid mouse cursor statistics based attack for headless<br>
> browser, mouse movements can be faked with certain degree of<br>
> randomness like a human.(several libraries are available for this.)<br>
><br>
> The headless bot can be built on a framework like qtwebkit.<br>
><br>
><br>
> Do you think headless browser with random fingerprint without Tor<br>
> usage will be a useful project?<br>
><br>
> -<br>
> Rohit Dua<br>
><br>
><br>
><br>
><br>
> On 2/12/15, Gunes Acar <<a href="mailto:gunes.acar@esat.kuleuven.be" target="_blank">gunes.acar@esat.kuleuven.be</a>> wrote:<br>
>> Hi Rohit,<br>
>><br>
>> Please check the ticket #11949 and the comment by Georg:<br>
>> <a href="https://trac.torproject.org/projects/tor/ticket/11949#comment:1" target="_blank">https://trac.torproject.org/projects/tor/ticket/11949#comment:1</a><br>
>><br>
>> TL;DR research on the advantages of randomization over the current<br>
>> approach (making everyone look like same) may be useful before starting<br>
>> with the actual implementation.<br>
>><br>
>> Also, please check this thread on the limitations of JS hooks:<br>
>> <a href="https://lists.torproject.org/pipermail/tbb-dev/2014-June/000073.html" target="_blank">https://lists.torproject.org/pipermail/tbb-dev/2014-June/000073.html</a><br>
>><br>
>> You can fool some fingerprinters by spoofing browser properties but more<br>
>> advanced scripts can easily uncover the real browser/device attributes<br>
>> by checking specific functionality [1] or using "side-channels" [2].<br>
>><br>
>> [1] see, "Evolution of functionality" subsection on<br>
>> <a href="https://seclab.cs.ucsb.edu/media/uploads/papers/sp2013_cookieless.pdf#page=10" target="_blank">https://seclab.cs.ucsb.edu/media/uploads/papers/sp2013_cookieless.pdf#page=10</a><br>
>><br>
>> [2] <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=418986" target="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id=418986</a>, see, esp.<br>
>> Camillo's test vectors.<br>
>><br>
>> Gunes<br>
>><br>
>> On 02/12/2015 06:12 PM, l.m wrote:<br>
>>> Hi,<br>
>>><br>
>>> For anonymous scraping it could certainly be useful. This poses a<br>
>>> problem as far as making Tor Project look as if it supports autonomous<br>
>>> anonymous scraping of web data. Ultimately this impression could lead to<br>
>>> even more blocking of Tor exits. Another problem with the idea of a<br>
>>> randomized fingerprint is that it breaks useability. It might be great<br>
>>> for scraping but web sites rely on knowing some of those parameters for<br>
>>> proper display. Finally it's worth mentioning that the goal of TBB<br>
>>> fingerprinting is to reduce entropy within TBB's user base. A random<br>
>>> fingerprint violates this constraint.<br>
>>><br>
>>> I'm not commenting on gsoc eligibility<br>
>> +1<br>
>> --just that it's an edge case<br>
>>> which will lead to blocking of Tor's exits. If more exit get blocked<br>
>>> then you cannot scrape.<br>
>>><br>
>>> --leeroy<br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> tor-dev mailing list<br>
>>> <a href="mailto:tor-dev@lists.torproject.org" target="_blank">tor-dev@lists.torproject.org</a><br>
>>> <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev" target="_blank">https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev</a><br>
>>><br>
>><br>
>> _______________________________________________<br>
>> tor-dev mailing list<br>
>> <a href="mailto:tor-dev@lists.torproject.org" target="_blank">tor-dev@lists.torproject.org</a><br>
>> <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev" target="_blank">https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev</a><br>
>><br>
> _______________________________________________<br>
> tor-dev mailing list<br>
> <a href="mailto:tor-dev@lists.torproject.org" target="_blank">tor-dev@lists.torproject.org</a><br>
> <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev" target="_blank">https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev</a><br>
_______________________________________________<br>
tor-dev mailing list<br>
<a href="mailto:tor-dev@lists.torproject.org" target="_blank">tor-dev@lists.torproject.org</a><br>
<a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev" target="_blank">https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev</a><br>
</div></div></blockquote></div><br></div>
</div></div></div><br></div>