REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES

Similar documents
BUFFERING AND INSERTING TEXT INPUTS

MULTIPLE TIER LOW OVERHEAD MEMORY LEAK DETECTOR

VOICE AND TOUCH BASED INPUT

ADAPTIVE USER INTERFACE BASED ON EYE TRACKING

Automatically Generating and Rendering Native Advertisements

Technical Disclosure Commons

Displaying web pages within a software keyboard

Synchronizing Media Content In A Shared Virtual Reality Environment

Notification Features For Digital Content In A Mobile-Optimized Format

Preferential Resource Delivery Via Web Proxy or Web Browser

Handwriting recognition for IDEs with Unicode support

Selecting native ad units using gestures

Pipeline To Generate Training Data For Image Recognition

On-Device troubleshooting for conferencing and enterprise equipment

Disabling facial unlocking using facial expression

Summarizing Existing Conversation For Newly Added Participants In Online Communication

Conversion of a 3D scene into video

EFFICIENT TRAINING FOR MACHINE LEARNING MODELS ON EMBEDDED AND/OR LOW-POWER DEVICES

Secure web proxy resistant to probing attacks

ALTERNATIVE CHARGE CONTROL SYSTEM FOR MERCHANDISE DISPLAY SECURITY SYSTEM

SYSTEMS AND METHODS FOR ROUTING COMMUNICATIONS IN A COMPUTER NETWORK

Gesture-Based Controls Via Bone Conduction

Direct Handwriting Editing

TIME DILATION CONTROLS FOR CAMERAS

Control of jitter buffer size using machine learning

Group Targeting for Video Ads Based on Location Context

Navigation of blogs related by a tag

Automatic information protection when device camera is operated by secondary user

DYNAMICALLY CACHING VIDEO CONTENT BASED ON USER LIKELIHOOD OF INTERACTING WITH CONTENT ELEMENT

Technical Disclosure Commons

Voice activated spell-check

SERVICE LEVEL AGREEMENT ENFORCEMENT AND MEASUREMENT OF NETWORK SLICES

Ranking trip search results based on user travel history

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

Replay Real World Network Conditions To Test Cellular Switching

255, 255, 0 0, 255, 255 XHTML:

Prediction and Selection of Sequence of Actions Related to Voice Activated Computing Systems

SECURITY SOLUTION FOR KUBERNETES USING CLOUD-NATIVE VIRTUAL NETWORK FUNCTIONS

Detection of lost status of mobile devices

CSC 170 Fall 2017 Dr. R. M. Siegfried. Study Guide for Final Exam

Seamless transfer of ambient media from environment to mobile device

"METHOD FOR IMPROVED BANDWIDTH UTILIZATION IN DATA DOWNLOADING SYSTEMS USING INTELLIGENT DYNAMIC CONNECTION LIMIT STEPPING"

TEMPORAL/SPATIAL CALENDAR EVENTS AND TRIGGERS

SYSTEM AND METHOD FOR SPEECH RECOGNITION

Actions on Landing Pages

Automatic event scheduling based on weather conditions

Optec WiFi Board

TOTAL INTERNAL REFLECTION BASED ANGLE FILTER FOR SIDE IMAGE MITIGATION IN A CURVED LIGHTGUIDE

DETECTION OF POSITION FIXED CONTENT ITEM SLOTS AND CONTROL OF CONTENT DISPLAYED THEREIN

Context based automatic responses

Vehicle To Android Communication Mode

Artificial Intelligence Powered Brand Identification and Attribution for On Screen Content

Computer Basics. Lesson 1 Introduction to Computers. Edited by C. Rhodes 08/11

Providing link suggestions based on recent user activity

Software is a computer that tells the computer how to perform particular.

Analysis of cells within a spreadsheet

SOCIAL NETWORK BASED AUTHENTICATION FOR SECURE ACCESS

CISC 1600, Lab 3.1: Processing

Advanced Intrusion Detection

CHAPTER 3 WEB DESIGN BASICS KEY CONCEPTS

User`s Manual. xiaomi-mi.com

HARDWARE. There are a number of factors that effect the speed of the processor. Explain how these factors affect the speed of the computer s CPU.

Robocall and fake caller-id detection

Polite mode for a virtual assistant

LECTURE 05 WEB DESIGN

Programming Fundamentals

Reporting road hazards using in-vehicle camera

TIMING-BASED ASSISTANT CONTROLS

Intelligent Generation of Physical Products

GCE A level 1103/01 COMPUTING CG3

An Eye Tracking System For Smart Devices

SMART LIVE CHAT LIMITER

SYSTEM AND METHOD FOR FACILITATING SECURE TRANSACTIONS

Technical Disclosure Commons

Decision on opposition

Method Of Password Entering And Storing

SSD Admission Control for Content Delivery Networks

ANALYZING AND TRANSFORMING TIME DIVISION MULTIPLEXING EQUIPMENT STRUCTURE

Terminology, Types of Computers & Computer Hardware

PRE-ARRIVAL DESTINATION PREPARATION

Geo-Restricted In-Video Annotations

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

Fundamentals of Programming Session 1

APPLICATIONS ON TOP OF DNA CENTER: TOPOLOGY EVOLUTION BASED ON CUSTOMER NETWORK DYNAMICS

LANGUAGE RUNTIME NON-VOLATILE RAM AWARE SWAPPING

Flying Start AS Computer Science. September 2015

COMPUTER HARDWARE RAYMOND ROSE

ALL ABOUT COMPUTERS 2

IMAGE ACQUISTION AND PROCESSING FOR FINANCIAL ANALYSIS

Dawood Public School Computer Studies Course Outline for Class V

Computer Graphics 1 Instructor Information. Books. Graphics? Course Goals and Outcomes. Where are computer graphics? Where are computer graphics?

Elementary Technology Skills Scope and Sequence STANDARD. Grade Levels. 1. Basic Operations and concepts

(12) Patent Application Publication (10) Pub. No.: US 2016/ A1

Hashing technique to optimally balance load within switching networks

Input And Output Method Of Personalized Answers With Chatbot

INFORMATION TECHNOLOGY CONCEPTS (391) OPEN EVENT

System and method for encoding and decoding data files

Forms Desktop for Windows Version 4 Manual

CISC 1600, Lab 2.1: Processing

Windows 8. For Tablets DUMPS' by Andy Rathbone

Transcription:

Technical Disclosure Commons Defensive Publications Series January 19, 2016 REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES Mike West Dominic Battré Follow this and additional works at: http://www.tdcommons.org/dpubs_series Recommended Citation West, Mike and Battré, Dominic, "REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES", Technical Disclosure Commons, ( January 19, 2016) http://www.tdcommons.org/dpubs_series/117 This work is licensed under a Creative Commons Attribution 4.0 License. This Article is brought to you for free and open access by Technical Disclosure Commons. It has been accepted for inclusion in Defensive Publications Series by an authorized administrator of Technical Disclosure Commons.

West and Battré: REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES ABSTRACT A data transformation system transforms a data representation of an image displayed by an application such as a web browser. The system receives a data representation of an image. The system fetches a stored seed value associated with a user profile. The system performs a transformation of the data representation of the image based on the seed value. The seed value updates occasionally. Transforming the image using a sporadically-changing seed value reduces canvas-based fingerprinting granularity. PROBLEM STATEMENT Browser fingerprinting is a technique of identifying a user by extracting user identification information when the user visits various websites through web browsers. The fingerprinting information may incorporate, for example, browser and operating system types and versions, screen resolution, hardware configurations, and plugins. "Canvas fingerprinting" is a browser fingerprinting technique that allows websites to reliably generate a unique identifier for a user that the user cannot easily reset. Canvas fingerprinting enables persistent tracking across the web. The technique uses the browser to render a complex image, capture the actual pixel values, and hash the values to create the actual fingerprint data. The technique monitors unique font rendering in a predictable fashion based on machine-specific characteristics. The operating system, video card, video card drivers, monitor size, and other factors, all join together to produce slightly different results for the same code on two different computers. Canvas fingerprinting makes use of all these factors. Published by Technical Disclosure Commons, 2016 2

Defensive Publications Series, Art. 117 [2016] There are a number of things that users can do to block canvas fingerprinting. For example, users can disable read access to the canvas elements. However, as a wide variety of sites rely on being able to read data out of `<canvas>` elements, disabling read access to canvas elements may not be an optimum solution. Therefore, there are opportunities for alternate methods of defense against browser fingerprinting techniques that identify users. DETAILED DESCRIPTION The systems and techniques described in this disclosure relate to a data transformation system that transforms a data representation of an image displayed by an application such as a web browser. The system can be implemented for use in an Internet, an intranet, or another client and server environment. The system can be implemented locally on a client device or implemented across a client device and server environment. The client device can be any electronic device such as a mobile device, a smartphone, a tablet computer, a handheld electronic device, a desktop computer, a laptop computer, a networked gaming console, an electronic book, etc. Fig. 1 illustrates an example method 100 to perform a transformation of a data representation of an image. The system receives 110 a data representation of an image. The image may be a complex image, a two dimensional image, a bitmap image, a binary image, text, etc. The image may be drawn in a drawable region defined in a programming language that is used to structure and present content in a user interface of an application, for example, a web browser application. The application may be associated with the user profile stored at a server of the data transformation system. http://www.tdcommons.org/dpubs_series/117 3

West and Battré: REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES The data representation of the image may be in the form of x and y coordinates, height and width values, RGB (Red Blue Green) individual pixel values, etc. The form may be defined in a library associated with the programming language. The programming language uses the data representation of the image to render images on the user interface of the application. The system may receive the data representation using a function written in another programming language. The system fetches 120 a stored seed value associated with the user profile. The system associates a unique seed value with each of the stored user profiles. The seed value may be a random value or a fixed formula-based value. The system may generate the value when the user creates the user profile with the system. Alternatively, or additionally, the system may change the value every time a user session terminates with the application or when the user attempts to erase user activity retained in memory at the application such as by clearing a browser cache. The system performs 130 a transformation of the data representation of the image based on the random seed value. The stored seed value may store decodable or direct information about the transformations that the system may perform on the data representation of the image. The system decodes or reads the information and accordingly performs one or more transformations. The transformations may include jitter into the data representation of the image that is not perceivable by a user. The transformation may include modifying individual pixels by tiny amounts, for example, modifying 132 from rgb(255, 255, 255) to rgb(255, 255, 254), skewing 135 the image by some marginal amount which may introduce sub-pixel artifacts, and/or scaling 137 the image by some marginal amount, for example, from 0.01% to -0.01%. Although Fig.1 shows three example transformations, 132, 135, and 135, the system is capable of performing various other possible transformations. The system may perform the one or more Published by Technical Disclosure Commons, 2016 4

Defensive Publications Series, Art. 117 [2016] transformations cumulatively, sequentially, or both based on the stored seed value. The sequence may be defined in the stored seed value associated with the user profile. The subject matter described herein this disclosure can be implemented in software and/or hardware (for example, computers, circuits, or processors). The subject matter can be implemented on a single device or across multiple devices (for example, a client device and a server device). Devices implementing the subject matter can be connected through a wired and/or wireless network. Such devices can receive inputs from a user (for example, from a mouse, keyboard, or touchscreen) and produce an output to a user (for example, through a display and/or a speaker). Specific examples disclosed are provided for illustrative purposes and do not limit the scope of the disclosure. http://www.tdcommons.org/dpubs_series/117 5

West and Battré: REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES DRAWINGS Fig. 1 Published by Technical Disclosure Commons, 2016 6