SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
CLIQZ @ BIG 2016…
Data Collection without Privacy
Side-Effects
Konark Modi
Josep M. Pujol
@konarkmodi
@solso
CLIQZ @ BIG 2016…
Data collection on Big Data
Where does the data of Big Data comes
from?
The Elephant in the room
Applications of Big Data
CLIQZ @ BIG 2016…
Who collects data on the Web?
Wired, Ebay and Meetic collect data as 1st
parties as a user visits/interacts with their sites.
However there are a lot of 3rd parties that also
collect data.
On CLIQZ’s paper: “Tracking the Trackers”. To
be presented at WWW 2016 [1]
>> 78% of page loads send information to at
least one 3rd party that is deemed unsafe wrt
privacy.
CLIQZ @ BIG 2016…
Motivation: A recurring real-life conversation
Hi, this is company X. CLIQZ anti-tracking is affecting us.
Can we talk?
We are not trackers. We only measure audiences (or
collect aggregated or measure goal conversion or site
performance metrics). We take privacy very seriously.
Sure
Understood, let us check what’s going on
Well, you are actually tracking users. See the
attachment. You have the ability to know that these
20 webpages were visited by the same person, and
to make things worse, you can derive his real
identity. Users privacy is at risk
Thanks a lot
No, no. We do NOT use that information at all, we
remove it as soon it is received. We are only interesting
in measuring XYZ.
But we just show you an example of tracking.
Intentionally or not does not should not matter,
right?
I repeat that we are NOT using this data at all for
anything, see our Privacy Policy. To implement our
service we require that data element that can be used as
user identifier, there is no other way…
There is another way. Happy to show you …
CLIQZ @ BIG 2016…
Motivation: A recurring real-life conversation
Unfortunately, they never come back L. We formulated 3 hypotheses:
1) They were interested in collecting data from users. They are
“intentionally” tracking.
2) They are not concerned about privacy side-effects. On the trade-off
between privacy and convenience, chose the later.
3) We could not successfully explain our alternative approach for
privacy-preserving data collection.
...mmm, thanks… ...er... ...we will get back to you...
Great! Looking forward to it.
There is another way. Happy to show you …
CLIQZ @ BIG 2016…
Motivation: A recurring real-life conversation
We hope that it is not #1, that’s why we decided:
•  To open-source a prototype of a Google Analytics look-
alike that does not rely on tracking. Hoping that the
code will be more explanatory.
•  To write this paper and presentation.
...mmm, thanks… ...er... ...we will get back to you...
Great! Looking forward to it.
There is another way. Happy to show you …
CLIQZ @ BIG 2016…
An Example of Unintentional Tracking
Google Analytics (GA)
•  GA is massive, present in
44% of all page loads.
•  GA does not offer any
service (public) that requires
to build the a session with all
user’s activity
•  GA actually cares a lot about
privacy
–  Ephemeral UIDs
–  Sanitization of URLs
CLIQZ @ BIG 2016…
Privacy Breaches are Unavoidable (even for GA)
wired.com/ 09:49:12
[137.9.10.X,
1140x645]
CLIQZ @ BIG 2016…
Privacy Breaches are Unavoidable (even for GA)
wired.com/ 09:49:12
[137.9.10.X,
1140x645]
ebay-kleinanzeigen.de/
s-muenchen/cyclocross/
k0l6411r200
09:50:02
[137.9.10.X,
1140x645]
CLIQZ @ BIG 2016…
Privacy Breaches are Unavoidable (even for GA)
wired.com/ 09:49:12
[137.9.10.X,
1140x645]
ebay-kleinanzeigen.de/
s-muenchen/cyclocross/
k0l6411r200
09:50:02
[137.9.10.X,
1140x645]
twitter.com/solso 09:52:10
[137.9.10.X,
1140x645]
CLIQZ @ BIG 2016…
Privacy Breaches are Unavoidable (even for GA)
wired.com/ 09:49:12
[137.9.10.X,
1140x645]
ebay-kleinanzeigen.de/
s-muenchen/cyclocross/
k0l6411r200
09:50:02
[137.9.10.X,
1140x645]
twitter.com/solso 09:52:10
[137.9.10.X,
1140x645]
www.meetic.com/
home/index.php
09:59:01
[137.9.10.X,
1140x645]
CLIQZ @ BIG 2016…
Privacy Breaches are Unavoidable (even for GA)
wired.com/ 09:49:12
[137.9.10.X,
1140x645]
ebay-kleinanzeigen.de/
s-muenchen/cyclocross/
k0l6411r200
09:50:02
[137.9.10.X,
1140x645]
twitter.com/solso 09:52:10
[137.9.10.X,
1140x645]
www.meetic.com/
home/index.php
09:59:01
[137.9.10.X,
1140x645]
analytics.twitter.com/
user/solso/home
10:05:45
[137.9.10.X,
1140x645]
CLIQZ @ BIG 2016…
wired.com/ 09:49:12
[137.9.10.X,
1140x645]
ebay-kleinanzeigen.de/
s-muenchen/cyclocross/
k0l6411r200
09:50:02
[137.9.10.X,
1140x645]
twitter.com/solso 09:52:10
[137.9.10.X,
1140x645]
www.meetic.com/
home/index.php
09:59:01
[137.9.10.X,
1140x645]
analytics.twitter.com/
user/solso/home
10:05:45
[137.9.10.X,
1140x645]
Last page is only accessible after login and
it contains my username => Personal
Identifiable Information (PII) leak.
IP: 137.9.10.XX https://www.google-
analytics.com/collect? … dl=https%3A%2F
%2Fanalytics.twitter.com%2Fuser%2Fsolso
%2Fhome& ... &vp=1140x645&...
Privacy Breaches are Unavoidable (even for GA)
CLIQZ @ BIG 2016…
Example: Counting Unique Visitors
wired.com/xyz 09:48:40 82.143.2.X
wired.com/xyz 09:48:42 137.9.10.X
wired.com/xyz 09:48:59 137.9.10.X
wired.com/xyz 09:49:12 137.9.10.X
4 people visited
wired.com/xyz?
1 person visited
wired.com/xyz 4 times?
How can it be resolved?
GA backend
CLIQZ @ BIG 2016…
Example: Counting Unique Visitors
wired.com/xyz 09:48:40 82.143.2.X
wired.com/xyz 09:48:42 137.9.10.X
wired.com/xyz 09:48:59 137.9.10.X
wired.com/xyz 09:49:12 137.9.10.X
4 people visited
wired.com/xyz?
1 person visited
wired.com/xyz 4 times?
How can it be resolved?
GA backend
wired.com/xyz 09:48:40 [82.143.2.X, 1320x910]
wired.com/xyz 09:48:42 [137.9.10.X, 1266x809]
wired.com/xyz 09:48:59 [137.9.10.X, 940x645]
wired.com/xyz 09:49:12 [137.9.10.X, 940x645]
GA backend
Identifying which records
come from the same
person to avoid over-
counting.
A UID is needed
4 visits, 3 unique visitors
CLIQZ @ BIG 2016…
Example: Counting Unique Visitors
wired.com/xyz 09:48:40 ---
wired.com/xyz 09:48:42 ---
wired.com/xyz 09:48:59 ---
wired.com/xyz 09:49:12 ---
4 people visited
wired.com/xyz?
1 person visited
wired.com/xyz 4 times?
How can it be resolved?
GA backend
wired.com/xyz 09:48:40 [82.143.2.X, 1320x910]
wired.com/xyz 09:48:42 [137.9.10.X, 1266x809]
wired.com/xyz 09:48:59 [137.9.10.X, 940x645]
wired.com/xyz 09:49:12 [137.9.10.X, 940x645]
GA backend
Identifying which records
come from the same
person to avoid over-
counting.
A UID is needed
4 visits, 3 unique visitors
wired.com/ 09:49:12
[137.9.10.X,
1140x645]
ebay-kleinanzeigen.de/
s-muenchen/cyclocross/
k0l6411r200
09:50:02
[137.9.10.X,
1140x645]
twitter.com/solso 09:52:10
[137.9.10.X,
1140x645]
www.meetic.com/
home/index.php
09:59:01
[137.9.10.X,
1140x645]
analytics.twitter.com/
user/solso/home
10:05:45
[137.9.10.X,
1140x645]
CLIQZ @ BIG 2016…
As long as aggregation of data per user on
the server-side is needed,
we will always incur on undesired privacy side-
effects.
CLIQZ @ BIG 2016…
Since server-side aggregation is the root of
the problem,
we should move the aggregation of data to
the client-side (i.e. the user’s browser)
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
Browser	 Browser
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser	
visit
wired.com/xyz unique-visit
wired.com/xyz
state = []
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser	
visit
wired.com/xyz unique-visit
wired.com/xyz
state = [
H(wired.com/xyz,
unique-visit,
timestamp)]
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser	
visit
wired.com/xyz unique-visit
wired.com/xyz
state = [
H(wired.com/xyz,
unique-visit,
timestamp)]
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
Browser	 Browser	
visit
wired.com/xyz unique-visit
wired.com/xyz
Count
Uniques
Count
Uniques
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
Browser	 Browser	
wired.com/xyz [137.9.10.X, 940x645] visit
wired.com/xyz unique-visit
wired.com/xyz
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser	
state = [
H(wired.com/xyz,
unique-visit,
timestamp)]
wired.com/xyz [137.9.10.X, 940x645] visit
wired.com/xyz unique-visit
wired.com/xyz
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser	
visit
wired.com/xyz unique-visit
wired.com/xyz
state = [
H(wired.com/xyz,
unique-visit,
timestamp)]
wired.com/xyz [137.9.10.X, 940x645] visit
wired.com/xyz unique-visit
wired.com/xyz
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser	
visit
wired.com/xyz unique-visit
wired.com/xyz
state = [
H(wired.com/xyz,
unique-visit,
timestamp)]
wired.com/xyz [137.9.10.X, 940x645] visit
wired.com/xyz unique-visit
wired.com/xyz
Possible if you control the
browser (i.e. CLIQZ).
But also possible with
HTML5 LocalStorage and
PostMessage APIs.
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz wired.com/xyz
3rd party
tracking
script
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
3rd party
tracking
script
Browser	 Browser	
visitwired.com/xyz
state = [
H(wired.com/xyz,
unique-visit,
timestamp)]
wired.com/xyz [137.9.10.X, 940x645] visit
wired.com/xyz unique-visit
wired.com/xyz
CLIQZ @ BIG 2016…
Counting Unique Visitors…
Server-side	Aggrega-on	
–	Google	Analy-cs	
wired.com/xyz [137.9.10.X, 940x645]
GA	Backend	 CGT	Backend	
Client-side	Aggrega-on	
–	CLIQZ	Green	Tracker	
Browser	 Browser	
visitwired.com/xyz
wired.com/xyz [137.9.10.X, 940x645] visit
wired.com/xyz unique-visit
wired.com/xyz
Count
Uniques
Count
Uniques
CLIQZ @ BIG 2016…
Beyond Counting Unique Visitors?
Working prototype of a GA-clone featuring:
–  Unique visits and page loads.
–  Returning customers.
–  Goal conversion to track campaigns.
–  Cross site correlations.
–  In-site click-troughs.
–  Visits and time in page per user (without beacons).
A privacy preserving tracking agent: green-tracker, which
implements all this 6 use-cases in less than 200 lines of code.
Demo: http://site1.test.cliqz.com/
CLIQZ @ BIG 2016…
Conclusions
Data collection based on server-side aggregation of user’s data is very
problematic as it implies tracking users.
Tracking leads to to privacy side-effects, we provided evidence of
privacy leaks on Google Analytics.
Tracking can be avoided if one switches the design pattern to client-
side aggregation.
To demonstrate the feasibility of client-side aggregation we build and
open-sourced a Google Analytics look-alike:
https://github.com/cliqz/green-tracker
that implements on a privacy preserving way a wide range of use-
cases that require tracking users.
CLIQZ @ BIG 2016…
Q&A
Thanks for your attention!
CLIQZ @ BIG 2016…
Appendix
CLIQZ @ BIG 2016…
Keeping State on the Client
Modern browsers have the ability to keep state via HTML5 LocalStorage.
Therefore, a – privacy preserving tracking script – can keep a persistent
state across multiple sites if loaded from an IFRAME
•  Looks pretty familiar, but is slightly different:
–  LocalStorage belongs to green-tracker.fbt.co (the collector backend)
–  Respects CORS
–  IFRAME is sandboxed (no access to Document)
–  Explicit control from site-owner (postMessage)
–  Explicit control from user (messages and state can be removed and inspect at will)
CLIQZ @ BIG 2016…
Limitations
As always, there are limitations that one must consider:
•  Deploy is not immediate. It requires code changes both in the
tracking script and collectors.
•  Unplanned use-cases might not be possible retrospectively.
•  Business logic of the data collector is explicit to the user.
•  The state of the client can become a privacy issue if not handled
properly; careful of not creating a duplicated history.
•  Browser might have factory-default options that prevent
LocalStorage to work as expected. For instance, Safari blocks 3rd
party cookies which affect LocalStorage, the user can change the
setting but this is sub-optimal.

Contenu connexe

Similaire à Data Collection without Privacy Side Effects

Smartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT NewsSmartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT News
Krishna Arani
 

Similaire à Data Collection without Privacy Side Effects (20)

Confection Investor Pitch Deck
Confection Investor Pitch DeckConfection Investor Pitch Deck
Confection Investor Pitch Deck
 
An indepth look at Google BigQuery Architecture by Felipe Hoffa of Google
An indepth look at Google BigQuery Architecture by Felipe Hoffa of GoogleAn indepth look at Google BigQuery Architecture by Felipe Hoffa of Google
An indepth look at Google BigQuery Architecture by Felipe Hoffa of Google
 
Corporates' malicious behaviour: Intent or accident?
Corporates' malicious behaviour: Intent or accident?Corporates' malicious behaviour: Intent or accident?
Corporates' malicious behaviour: Intent or accident?
 
Let’s Get Cirrus About Personal Clouds
Let’s Get Cirrus About Personal CloudsLet’s Get Cirrus About Personal Clouds
Let’s Get Cirrus About Personal Clouds
 
Mrmcd2017
Mrmcd2017Mrmcd2017
Mrmcd2017
 
Blackhat Analytics 2 @ Superweek
Blackhat Analytics 2  @ SuperweekBlackhat Analytics 2  @ Superweek
Blackhat Analytics 2 @ Superweek
 
Running a business on Web Scraped Data
Running a business on Web Scraped DataRunning a business on Web Scraped Data
Running a business on Web Scraped Data
 
Big Data Scotland 2017
Big Data Scotland 2017Big Data Scotland 2017
Big Data Scotland 2017
 
Release The Hounds: Part 2 “11 Years Is A Long Ass Time”
Release The Hounds: Part 2 “11 Years Is A Long Ass Time”Release The Hounds: Part 2 “11 Years Is A Long Ass Time”
Release The Hounds: Part 2 “11 Years Is A Long Ass Time”
 
Smartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT NewsSmartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT News
 
Outside the Comfort Zone: Cross Industry Use Cases in Big Data Analytics
Outside the Comfort Zone: Cross Industry Use Cases in Big Data AnalyticsOutside the Comfort Zone: Cross Industry Use Cases in Big Data Analytics
Outside the Comfort Zone: Cross Industry Use Cases in Big Data Analytics
 
Who? What? Why we better care?
Who? What? Why we better care?Who? What? Why we better care?
Who? What? Why we better care?
 
BSides Lisbon 2017: David Sopas's 'GTFO Mr. User'
BSides Lisbon 2017: David Sopas's 'GTFO Mr. User'BSides Lisbon 2017: David Sopas's 'GTFO Mr. User'
BSides Lisbon 2017: David Sopas's 'GTFO Mr. User'
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
South By South Best 2018
South By South Best 2018 South By South Best 2018
South By South Best 2018
 
Smart Data Analytics 2016
Smart Data Analytics 2016Smart Data Analytics 2016
Smart Data Analytics 2016
 
Less is More: Behind the Data at Risk I/O
Less is More: Behind the Data at Risk I/OLess is More: Behind the Data at Risk I/O
Less is More: Behind the Data at Risk I/O
 
ActivityStrea.ms: Is It Getting Streamy In Here?
ActivityStrea.ms: Is It Getting Streamy In Here?ActivityStrea.ms: Is It Getting Streamy In Here?
ActivityStrea.ms: Is It Getting Streamy In Here?
 
Progressing JavaScript and Apps the Web way…
 Progressing JavaScript and Apps the Web way…  Progressing JavaScript and Apps the Web way…
Progressing JavaScript and Apps the Web way…
 
Blackhat Analytics 3 @ superweek - Do be evil: Force awakens
Blackhat Analytics 3 @  superweek - Do be evil: Force awakensBlackhat Analytics 3 @  superweek - Do be evil: Force awakens
Blackhat Analytics 3 @ superweek - Do be evil: Force awakens
 

Dernier

Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
PirithiRaju
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Sérgio Sacani
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
PirithiRaju
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 

Dernier (20)

9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedConnaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdf
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
 

Data Collection without Privacy Side Effects

  • 1. CLIQZ @ BIG 2016… Data Collection without Privacy Side-Effects Konark Modi Josep M. Pujol @konarkmodi @solso
  • 2. CLIQZ @ BIG 2016… Data collection on Big Data Where does the data of Big Data comes from? The Elephant in the room Applications of Big Data
  • 3. CLIQZ @ BIG 2016… Who collects data on the Web? Wired, Ebay and Meetic collect data as 1st parties as a user visits/interacts with their sites. However there are a lot of 3rd parties that also collect data. On CLIQZ’s paper: “Tracking the Trackers”. To be presented at WWW 2016 [1] >> 78% of page loads send information to at least one 3rd party that is deemed unsafe wrt privacy.
  • 4. CLIQZ @ BIG 2016… Motivation: A recurring real-life conversation Hi, this is company X. CLIQZ anti-tracking is affecting us. Can we talk? We are not trackers. We only measure audiences (or collect aggregated or measure goal conversion or site performance metrics). We take privacy very seriously. Sure Understood, let us check what’s going on Well, you are actually tracking users. See the attachment. You have the ability to know that these 20 webpages were visited by the same person, and to make things worse, you can derive his real identity. Users privacy is at risk Thanks a lot No, no. We do NOT use that information at all, we remove it as soon it is received. We are only interesting in measuring XYZ. But we just show you an example of tracking. Intentionally or not does not should not matter, right? I repeat that we are NOT using this data at all for anything, see our Privacy Policy. To implement our service we require that data element that can be used as user identifier, there is no other way… There is another way. Happy to show you …
  • 5. CLIQZ @ BIG 2016… Motivation: A recurring real-life conversation Unfortunately, they never come back L. We formulated 3 hypotheses: 1) They were interested in collecting data from users. They are “intentionally” tracking. 2) They are not concerned about privacy side-effects. On the trade-off between privacy and convenience, chose the later. 3) We could not successfully explain our alternative approach for privacy-preserving data collection. ...mmm, thanks… ...er... ...we will get back to you... Great! Looking forward to it. There is another way. Happy to show you …
  • 6. CLIQZ @ BIG 2016… Motivation: A recurring real-life conversation We hope that it is not #1, that’s why we decided: •  To open-source a prototype of a Google Analytics look- alike that does not rely on tracking. Hoping that the code will be more explanatory. •  To write this paper and presentation. ...mmm, thanks… ...er... ...we will get back to you... Great! Looking forward to it. There is another way. Happy to show you …
  • 7. CLIQZ @ BIG 2016… An Example of Unintentional Tracking Google Analytics (GA) •  GA is massive, present in 44% of all page loads. •  GA does not offer any service (public) that requires to build the a session with all user’s activity •  GA actually cares a lot about privacy –  Ephemeral UIDs –  Sanitization of URLs
  • 8. CLIQZ @ BIG 2016… Privacy Breaches are Unavoidable (even for GA) wired.com/ 09:49:12 [137.9.10.X, 1140x645]
  • 9. CLIQZ @ BIG 2016… Privacy Breaches are Unavoidable (even for GA) wired.com/ 09:49:12 [137.9.10.X, 1140x645] ebay-kleinanzeigen.de/ s-muenchen/cyclocross/ k0l6411r200 09:50:02 [137.9.10.X, 1140x645]
  • 10. CLIQZ @ BIG 2016… Privacy Breaches are Unavoidable (even for GA) wired.com/ 09:49:12 [137.9.10.X, 1140x645] ebay-kleinanzeigen.de/ s-muenchen/cyclocross/ k0l6411r200 09:50:02 [137.9.10.X, 1140x645] twitter.com/solso 09:52:10 [137.9.10.X, 1140x645]
  • 11. CLIQZ @ BIG 2016… Privacy Breaches are Unavoidable (even for GA) wired.com/ 09:49:12 [137.9.10.X, 1140x645] ebay-kleinanzeigen.de/ s-muenchen/cyclocross/ k0l6411r200 09:50:02 [137.9.10.X, 1140x645] twitter.com/solso 09:52:10 [137.9.10.X, 1140x645] www.meetic.com/ home/index.php 09:59:01 [137.9.10.X, 1140x645]
  • 12. CLIQZ @ BIG 2016… Privacy Breaches are Unavoidable (even for GA) wired.com/ 09:49:12 [137.9.10.X, 1140x645] ebay-kleinanzeigen.de/ s-muenchen/cyclocross/ k0l6411r200 09:50:02 [137.9.10.X, 1140x645] twitter.com/solso 09:52:10 [137.9.10.X, 1140x645] www.meetic.com/ home/index.php 09:59:01 [137.9.10.X, 1140x645] analytics.twitter.com/ user/solso/home 10:05:45 [137.9.10.X, 1140x645]
  • 13. CLIQZ @ BIG 2016… wired.com/ 09:49:12 [137.9.10.X, 1140x645] ebay-kleinanzeigen.de/ s-muenchen/cyclocross/ k0l6411r200 09:50:02 [137.9.10.X, 1140x645] twitter.com/solso 09:52:10 [137.9.10.X, 1140x645] www.meetic.com/ home/index.php 09:59:01 [137.9.10.X, 1140x645] analytics.twitter.com/ user/solso/home 10:05:45 [137.9.10.X, 1140x645] Last page is only accessible after login and it contains my username => Personal Identifiable Information (PII) leak. IP: 137.9.10.XX https://www.google- analytics.com/collect? … dl=https%3A%2F %2Fanalytics.twitter.com%2Fuser%2Fsolso %2Fhome& ... &vp=1140x645&... Privacy Breaches are Unavoidable (even for GA)
  • 14. CLIQZ @ BIG 2016… Example: Counting Unique Visitors wired.com/xyz 09:48:40 82.143.2.X wired.com/xyz 09:48:42 137.9.10.X wired.com/xyz 09:48:59 137.9.10.X wired.com/xyz 09:49:12 137.9.10.X 4 people visited wired.com/xyz? 1 person visited wired.com/xyz 4 times? How can it be resolved? GA backend
  • 15. CLIQZ @ BIG 2016… Example: Counting Unique Visitors wired.com/xyz 09:48:40 82.143.2.X wired.com/xyz 09:48:42 137.9.10.X wired.com/xyz 09:48:59 137.9.10.X wired.com/xyz 09:49:12 137.9.10.X 4 people visited wired.com/xyz? 1 person visited wired.com/xyz 4 times? How can it be resolved? GA backend wired.com/xyz 09:48:40 [82.143.2.X, 1320x910] wired.com/xyz 09:48:42 [137.9.10.X, 1266x809] wired.com/xyz 09:48:59 [137.9.10.X, 940x645] wired.com/xyz 09:49:12 [137.9.10.X, 940x645] GA backend Identifying which records come from the same person to avoid over- counting. A UID is needed 4 visits, 3 unique visitors
  • 16. CLIQZ @ BIG 2016… Example: Counting Unique Visitors wired.com/xyz 09:48:40 --- wired.com/xyz 09:48:42 --- wired.com/xyz 09:48:59 --- wired.com/xyz 09:49:12 --- 4 people visited wired.com/xyz? 1 person visited wired.com/xyz 4 times? How can it be resolved? GA backend wired.com/xyz 09:48:40 [82.143.2.X, 1320x910] wired.com/xyz 09:48:42 [137.9.10.X, 1266x809] wired.com/xyz 09:48:59 [137.9.10.X, 940x645] wired.com/xyz 09:49:12 [137.9.10.X, 940x645] GA backend Identifying which records come from the same person to avoid over- counting. A UID is needed 4 visits, 3 unique visitors wired.com/ 09:49:12 [137.9.10.X, 1140x645] ebay-kleinanzeigen.de/ s-muenchen/cyclocross/ k0l6411r200 09:50:02 [137.9.10.X, 1140x645] twitter.com/solso 09:52:10 [137.9.10.X, 1140x645] www.meetic.com/ home/index.php 09:59:01 [137.9.10.X, 1140x645] analytics.twitter.com/ user/solso/home 10:05:45 [137.9.10.X, 1140x645]
  • 17. CLIQZ @ BIG 2016… As long as aggregation of data per user on the server-side is needed, we will always incur on undesired privacy side- effects.
  • 18. CLIQZ @ BIG 2016… Since server-side aggregation is the root of the problem, we should move the aggregation of data to the client-side (i.e. the user’s browser)
  • 19. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker Browser Browser
  • 20. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser
  • 21. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser visit wired.com/xyz unique-visit wired.com/xyz state = []
  • 22. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser visit wired.com/xyz unique-visit wired.com/xyz state = [ H(wired.com/xyz, unique-visit, timestamp)]
  • 23. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser visit wired.com/xyz unique-visit wired.com/xyz state = [ H(wired.com/xyz, unique-visit, timestamp)]
  • 24. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker Browser Browser visit wired.com/xyz unique-visit wired.com/xyz Count Uniques Count Uniques
  • 25. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker Browser Browser wired.com/xyz [137.9.10.X, 940x645] visit wired.com/xyz unique-visit wired.com/xyz
  • 26. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser state = [ H(wired.com/xyz, unique-visit, timestamp)] wired.com/xyz [137.9.10.X, 940x645] visit wired.com/xyz unique-visit wired.com/xyz
  • 27. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser visit wired.com/xyz unique-visit wired.com/xyz state = [ H(wired.com/xyz, unique-visit, timestamp)] wired.com/xyz [137.9.10.X, 940x645] visit wired.com/xyz unique-visit wired.com/xyz
  • 28. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser visit wired.com/xyz unique-visit wired.com/xyz state = [ H(wired.com/xyz, unique-visit, timestamp)] wired.com/xyz [137.9.10.X, 940x645] visit wired.com/xyz unique-visit wired.com/xyz Possible if you control the browser (i.e. CLIQZ). But also possible with HTML5 LocalStorage and PostMessage APIs.
  • 29. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz wired.com/xyz 3rd party tracking script wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker 3rd party tracking script Browser Browser visitwired.com/xyz state = [ H(wired.com/xyz, unique-visit, timestamp)] wired.com/xyz [137.9.10.X, 940x645] visit wired.com/xyz unique-visit wired.com/xyz
  • 30. CLIQZ @ BIG 2016… Counting Unique Visitors… Server-side Aggrega-on – Google Analy-cs wired.com/xyz [137.9.10.X, 940x645] GA Backend CGT Backend Client-side Aggrega-on – CLIQZ Green Tracker Browser Browser visitwired.com/xyz wired.com/xyz [137.9.10.X, 940x645] visit wired.com/xyz unique-visit wired.com/xyz Count Uniques Count Uniques
  • 31. CLIQZ @ BIG 2016… Beyond Counting Unique Visitors? Working prototype of a GA-clone featuring: –  Unique visits and page loads. –  Returning customers. –  Goal conversion to track campaigns. –  Cross site correlations. –  In-site click-troughs. –  Visits and time in page per user (without beacons). A privacy preserving tracking agent: green-tracker, which implements all this 6 use-cases in less than 200 lines of code. Demo: http://site1.test.cliqz.com/
  • 32. CLIQZ @ BIG 2016… Conclusions Data collection based on server-side aggregation of user’s data is very problematic as it implies tracking users. Tracking leads to to privacy side-effects, we provided evidence of privacy leaks on Google Analytics. Tracking can be avoided if one switches the design pattern to client- side aggregation. To demonstrate the feasibility of client-side aggregation we build and open-sourced a Google Analytics look-alike: https://github.com/cliqz/green-tracker that implements on a privacy preserving way a wide range of use- cases that require tracking users.
  • 33. CLIQZ @ BIG 2016… Q&A Thanks for your attention!
  • 34. CLIQZ @ BIG 2016… Appendix
  • 35. CLIQZ @ BIG 2016… Keeping State on the Client Modern browsers have the ability to keep state via HTML5 LocalStorage. Therefore, a – privacy preserving tracking script – can keep a persistent state across multiple sites if loaded from an IFRAME •  Looks pretty familiar, but is slightly different: –  LocalStorage belongs to green-tracker.fbt.co (the collector backend) –  Respects CORS –  IFRAME is sandboxed (no access to Document) –  Explicit control from site-owner (postMessage) –  Explicit control from user (messages and state can be removed and inspect at will)
  • 36. CLIQZ @ BIG 2016… Limitations As always, there are limitations that one must consider: •  Deploy is not immediate. It requires code changes both in the tracking script and collectors. •  Unplanned use-cases might not be possible retrospectively. •  Business logic of the data collector is explicit to the user. •  The state of the client can become a privacy issue if not handled properly; careful of not creating a duplicated history. •  Browser might have factory-default options that prevent LocalStorage to work as expected. For instance, Safari blocks 3rd party cookies which affect LocalStorage, the user can change the setting but this is sub-optimal.