c) Local Shared Objects (Flash Cookies): Using
previous versions of Flash, developers could save in-
formation between sessions by using “normal” cook-
ies, but the process was considered difficult for de-
velopers to implement - creating a cookie requires
the use of a language outside Flash (like JavaScript
or ASP). In the Flash MX version, Macromedia intro-
duced the Local Shared Object (LSO), which provides
an easier way to store information (i.e. only requires
the use of ActionScript).
LSOs provide the only method by which a Flash
application can store information on a user’s com-
puter. Intended uses of the object include storing a
user’s name, a favourite colour, or the progress in a
game.
Works of (Nikiforakis et al., 2013), (Mayer and
Mitchell, 2012), and (Acar et al., 2014) show how
LSO can be used to track users, by performing a
browser fingerprinting.
The Electronic Privacy Information Centre
(EPIC) warns for the risks of identification of
individuals in an article regarding Local Shared
Objects
12
. According to EPIC “the Flash movie can
create a unique ID and store that ID in a Flash cookie
on a user’s computer. The Flash movie can then
communicate this information to a database, or other
applications. Subsequent visits of the same users
could be tracked by reading the ID contained in the
Flash cookie”.
Advantages: Flash cookies are a powerful way
to track users because they are still not properly
addressed by browsers and their management is not
trivial (i.e. management is not done together with
HTTP cookies). This lack of proper management
paves the way for exploiting this functionality for
tracking or fingerprinting.
Disadvantages: Because it requires the storing of
information, this technique is considered intrusive.
The use of this mechanism must abide to Article 5(3)
of Directive 2002/58/EC, amended by the Directive
2009/136/EC (also known as the ePrivacy directive),
which requires prior informed consent for storage or
access to information stored on a user’s equipment.
d) Web Storage (HTML5 Cookies): HTML5 intro-
duced two related mechanisms, similar to HTTP ses-
sion cookies, for storing name-value pairs on the cli-
ent side: sessionStorage and localStorage. Ac-
cording to the HTML Living Standard
13
: ”Storage ob-
ject provides access to a list of key/value pairs, which
are sometimes called items”.
12
Available at https://epic.org/privacy/cookies/flash.html
13
Available at https://html.spec.whatwg.org/
While sessionStorage is only stored during ses-
sion time and, therefore, has no useful application for
fingerprinting, localStorage, on the other hand, is
designed for storage that spans multiple windows, and
persists after the browser is closed.
Both, (Acar et al., 2014) and (Roesner et al.,
2012) refer to the use of the localStorage mechan-
ism as a way to perform browser fingerprinting.
Advantages: HTML’s localStorage might be a
concept somewhat obscure to most web users. The
functionalities of history, HTTP cookies and (normal)
cached content cleaning, available in most browsers
nowadays, might trick users into thinking that, once
used, all browsing content related data will be suc-
cessfully wiped from the system. Until browsers start
alerting the users of this data storing and provide a
simple mechanism to manage this type of data, users
will be exposed to the possibility of having a persist-
ent ID etched to their browser.
Disadvantages: In their nature, Flash’s Local Shared
Objects and HTML’s localStorage are cookies.
This means that the use of such mechanisms falls
under the Article 5(3) of Directive 2002/58/EC,
amended by the Directive 2009/136/EC, which re-
quires prior informed consent for storage or access to
information stored on a user’s terminal equipment. In
other words, websites using Flash or HTML5 cook-
ies must ask users if they agree with the storing of
data before the site starts to use them, risking penal-
ties when not abiding to these obligations.
4.9 Taxonomy
The taxonomy we present in Table 15 classifies each
technique according to the type of data that is collec-
ted. Whenever possible, categories were created to
group techniques according to the source of device-
related data that they explore (leftmost column). Ad-
ditional technique-related information is shown, such
as, the type of fingerprinting performed (browser,
cross-browser or both), if there is information written
to the client’s system (Active or Passive), and whether
the techniques rely on a comparison database to per-
form the fingerprinting.
It should be noted that the Flash retrieval of OS
features also comprises data about the Flash plu-
gin itself, therefore, providing information about the
browser (browser and cross-browser fingerprinting).
HTTP Header fields also allow both types of finger-
printing. This happens because properties, such as the
“User-Agent” field, provide both browser and system
information.
SECRYPT 2016 - International Conference on Security and Cryptography
280