Compatibility Mode - Hacking-Lab LiveCD

16 downloads 187 Views 1MB Size Report
Facebook App Fingerprintr. Facebook App ... SMS token. ✦ Mail link .... Weakness in browser that allows to access the
Identifying Users with Browser Fingerprinting

Walter Sprenger Compass Security AG

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

AGENDA Browser Fingerprinting Identifying Users Live Demo Browser GeoLocation Live Demo

© Compass Security AG

www.csnc.ch

Seite ‹#›

Browser Fingerprinting

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

EFF - Panopticlick Panopticlick from Electronic Frontier Foundation  Showed that the fingerprint of a browser is unique  Cookies are not used for the fingerprint  Test your browser: panopticlick.eff.org

© Compass Security AG

www.csnc.ch

Seite ‹#›

Browser Fingerprint More than 40 usable Parameters Par2

Categories     

Par1

HTTP Request Headers JavaScript Java Applet Flash HTML5 Features

ParX

Calc-Hash

Parameters with most Entropy  User-Agent string  Font-List  Installed Plugins

© Compass Security AG

www.csnc.ch

Seite ‹#›

Identify Users An Internet User    

enters his password 8 times a day has 25 Web-Accounts Remembers 6.5 different passwords Uses one password for about 3.9 web sites

Reference: "A Large Scale Study of Web Passwords Habits", Dinei Florêncio, Cormac Herley, WWW '07

Interesting sites  Large user bases  User is author or can create apps  Security is not main goal of site

⇒ Ideal: Social Networking Sites

© Compass Security AG

www.csnc.ch

Seite ‹#›

Proof-of-Concept Fingerprintr

Fingerprintr    

Create Fingerprint Compare Fingerprint Configure Parameters used for fingerprint Store data in database

Facebook App  Create Fingerprint

© Compass Security AG

www.csnc.ch

Seite ‹#›

Facebook App Fingerprintr Facebook App

Fingerprintr

Direct Access

Admin-Interface

© Compass Security AG

www.csnc.ch

Seite ‹#›

Live Demo: Identifying Users with Browser Fingerprinting

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

Screenshot: Fingerprintr

© Compass Security AG

www.csnc.ch

Seite ‹#›

Screenshot: Fingerprintr

© Compass Security AG

www.csnc.ch

Seite ‹#›

Screenshot: Fingerprintr

© Compass Security AG

www.csnc.ch

Seite ‹#›

Why using Browser Fingerprinting?

Why should you want to identify users with browser fingerprinting?

© Compass Security AG

www.csnc.ch

Seite ‹#›

Fraud Detection Fraud Detection  Create browser profiles of users  Verify profile when ordering, transfering money  Detect session hijacking attacks

In Case of different Fingerprints  Re-authenticate user  Enforce another identifying parameter  Security question  SMS token  Mail link

© Compass Security AG

www.csnc.ch

Seite ‹#›

Session Tracking User Friendly  Replace Cookies functionality (if cookies are not allowed or deleted)  Track User spanning multiple sessions  Persistent identification (Remember Me-Functionality)

Marketing / Statistics  Record and analyze user behaviour  Improve data quality of address databases

© Compass Security AG

www.csnc.ch

Seite ‹#›

Investigations Identify the name of    

Stalkers Anonymous WebMail senders Malicious Blogger Hackers

 Resolve IP-Address to user name without court order

© Compass Security AG

www.csnc.ch

Seite ‹#›

Pitfalls with Browser Fingerprinting Problems with Browser Fingerprint  Fingerprint changes with browser modifications  Browser/Plugin update  New plugins  New fonts  New applications on system  The more parameters are used for the fingerprint…  The better the uniqueness among many browsers  The lower the chance of not identifying the same browser again  Cross-Domain  Websites must include JavaScript (like Google Analythics)  Browser parameters sometimes differ on different sites/servers (eg. order of font list)

© Compass Security AG

www.csnc.ch

Seite ‹#›

Evercookie

Reference: http://samy.pl/evercookie/

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

Storage used by Everycookie Storage of Evercookie             

Standard HTTP Cookies Local Shared Objects (Flash Cookies) Silverlight Isolated Storage Storing cookies in RGB values of auto-generated, force-cached PNGs using HTML5 Canvas tag to read pixels (cookies) back out Storing cookies in Web History Storing cookies in HTTP Etags Storing cookies in Web cache window.name caching Internet Explorer userData storage HTML5 Session Storage HTML5 Local Storage HTML5 Global Storage HTML5 Database Storage via SQLite

© Compass Security AG

www.csnc.ch

Seite ‹#›

Evercookie Framework Framework Features/Advantages  Works cross browser  Read all storage locations  Recover deleted cookies

Proof-of-Concept  http://samy.pl/evercookie/

© Compass Security AG

www.csnc.ch

Seite ‹#›

Live Demo: Evercookie

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

Browser GeoLocation

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

Locate Mobile Phones and Laptops?

The localization of mobile phones has been known for a long time. (GPS, Cell-ID, HLR lookups, Silent SMS, iPhone Tracking, etc.)

But did you know that your laptop can be localized as well?

© Compass Security AG

www.csnc.ch

Seite ‹#›

Live Demo: GeoLocation

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

Sample of GeoLocation maps.google.com

© Compass Security AG

www.csnc.ch

Seite ‹#›

Disable GeoLocation Internet Explorer 9 options

Firefox about:config

© Compass Security AG

www.csnc.ch

Seite ‹#›

JavaScript Code Snippet GeoLocation JavaScript var mylat; var mylong; // geolocation supported? if (navigator.geolocation) { // get coordinates navigator.geolocation.getCurrentPosition( function (position) { mylat=position.coords.latitude; mylong=position.coords.longitude; } )}; © Compass Security AG

www.csnc.ch

Seite ‹#›

Browser Localization explained How does Browser Localization work?  JavaScript in HTML page requests coordinates  Browser binary retrieves list of access points (MAC, SSID, signal-strength) from the wireless network card  List of access points is sent to geolocation service provider  Geolocation service provider returns latitude/longitude, postal address and accuracy information

GeoLocation Service Providers     

Skyhook Wireless Google Apple Navizon Xtify

© Compass Security AG

www.csnc.ch

Seite ‹#›

Browser Localization explained POST https://www.google.com/loc/json {"version":"1.1.0","request_address":true, "access_token": "2:2wKdveEadfvychcI:-dadsf7uYNAnQLZO", "wifi_towers":[ {"mac_address":"00-11-22-33-44-55", "ssid":“WLANDefault","signal_strength":-55}, {"mac_address":“aa-bb-cc-dd-ee-ff", "ssid":"OpenRG","signal_strength":-84}]}

© Compass Security AG

www.csnc.ch

Seite ‹#›

Browser Localization explained JSON Response {"location": {"latitude":47.2353182, "longitude":9.1869627, "address":{ "country":"Switzerland", "country_code":"CH", "region":"St Gall", "county":"Toggenburg", "city":"Nesslau-Krummenau", "street":"Ämelsbergstrasse", "street_number":"1658", "postal_code":"9652"}, "accuracy":33.0}} © Compass Security AG

www.csnc.ch

Seite ‹#›

Update WiFi/Coord Databases Updating the GeoLocation Database  StreetView cars  Navigation providers (TomTom, Navigon, etc.)  Contracts with 3rd parties (taxi, buses, garbage collection)  Every user of location services help to update the database  iPhone with GPS/WLAN/CellID Information  Browser with geolocation services  For example  4 WiFi MAC addresses are submitted from a client  3 are known in geolocation database  The new MAC address is inserted into the database accordingly

© Compass Security AG

www.csnc.ch

Seite ‹#›

Usage of GeoLocation Services What could this be used for?

Locate Users  An application that collects MAC addresses of WiFi access points and sends this information to the surveyor  Weakness in browser that allows to access the Geolocation API without prompting the user

Find Criminals  Find the location of criminals without court order  Location information is much more accurate than IP to Location

© Compass Security AG

www.csnc.ch

Seite ‹#›

Live Demo: GeoLocation Trojan

Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona

Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch

Voting!

© Compass Security AG

www.csnc.ch

Seite ‹#›

Discussion

Questions?

© Compass Security AG

www.csnc.ch

Seite ‹#›

Contact Compass Security Network Computing Werkstrasse 20 Postfach 2038 CH - 8645 Jona [email protected] | www.csnc.ch | +41 55 214 41 60 Secure File Exchange: www.csnc.ch/filebox PGP-Fingerprint:

© Compass Security AG

www.csnc.ch

Seite ‹#›

References Identifying Users  http://panopticlick.eff.org/  http://samy.pl/evercookie/

GeoLocation  http://code.google.com/intl/de-CH/apis/gears/api_geolocation.html  http://www.mozilla.com/de/firefox/geolocation/  http://diveintohtml5.org/geolocation.html

© Compass Security AG

www.csnc.ch

Seite ‹#›