1.2. Empreinte digitale
L'empreinte digitale d'ordinateur ou empreinte
digitale de navigateur ; en anglais, device
fingerprint, machine
fingerprint ou browser fingerprint, est une
technique permettant de déterminer ou de distinguer de
manière anonyme un internaute ou un appareil afin de
surveiller ou observer son usage du web ou sa
localisation. Une empreinte digitale est
collectée sur un dispositif informatique distant pour effectuer une
identification, une reconnaissance ou une inspection.
C'est un système de traçage qui permet de
récolter des informations sur les activités
d'un appareil en ligne. De nos jours, il est
très utilisé sur des sites web pour identifier leurs
utilisateurs, construire des profils et proposer des publicités ou
réaliser des campagnes marketing très ciblées [27].
Une empreinte digitale est composée
d'une synthèse ou série d'informations, recueillie grâce
à un algorithme d'apprentissage profond, qui combinées forment
une signature unique pour l'appareil [28].
Les empreintes digitales rencontrent globalement deux
limites :
? Diversité : Deux appareils ne
doivent pas avoir la même empreinte mais en pratique un grand nombre
d'appareils ont souvent les mêmes données de configuration, et
donc possiblement la même empreinte.
? Stabilité : Les empreintes
digitales doivent restées les mêmes au fil du
temps cependant, la configuration d'un appareil peut changer.
Pour augmenter la stabilité nous pouvons réduire
le nombre de paramètres à ceux qui sont très peu
susceptibles de changer ; cependant, cela réduira la
diversité. Et une façon d'augmenter la diversité est de
récolter un plus grand nombre de paramètres de l'appareil ;
par contre, cela réduit la stabilité, car il y a alors un plus
grand nombre de paramètres qui peuvent changer au fil du temps.
On voit bien que l'amélioration de l'un a tendance
à avoir une incidence défavorable sur l'autre. Cependant dans le
cadre de notre projet dans lequel nous ne prévoyons qu'un tout petit
réseau où il y'a rarement des dizaines d'appareils identiques
comme des ordinateurs ou des imprimantes, il y'a donc moins de
diversité. De plus même s'il y aurait un problème de
stabilité, leur petit nombre dans le réseau fait en sorte que ce
ne soit pas un gros problème.
Il existe 3 façons de collecter les paramètres dont
nous avons besoin pour créer un jeu de données. [29].
La collecte passive se fait sans interrogation évidente
de l'appareil client, juste en surveillant ses communications. Une telle
collecte repose sur l'écoute des communications de l'appareil telles que
la configuration TCP/IP de l'appareil ou les paramètres de
la connexion sans fil.
La collecte active suppose que l'utilisateur accepte des
requêtes invasives c'est-à-dire qu'on collecte des informations
directement sur l'appareil en installant par exemple sur celui-ci un programme
exécutable chargé de faire ce travail et qui pourra avoir
accès à des informations qui ne sont disponible que de cette
façon comme l'adresse MAC.
Notre troisième classe de collecte, que nous appelons
la collecte d'empreinte digitale semi-passive, suppose qu'après que
celui qui veut générer l'empreinte aie initié une
connexion, il a par la suite la capacité d'interagir avec celui dont on
collecte l'empreinte sur cette connexion; par exemple un FAI (Fournisseurs
d'accès à internet) dans le milieu capable de modifier les
paquets en cours de route.
Les collectes passive et semi-passive ont pour avantages
qu'elles peuvent être effectuées alors que l'appareil en question
est derrière un NAT ou un firewall. Les collectes semi-passives et
actives peuvent se dérouler pendant une longue période de temps.
De plus, ces méthodes ne nécessitent pas la coopération
des appareils dont nous essayons de générer les empreintes.
Quelques outils de détection d'OS ou des paquets sont
scapy, Ethercap, Nmap, le pare-feu Netfilter grâce au kernel ou
encore dpkt.
Ces empreintes en plus d'identifier les objets sont surtout
très utiles pour identifier des appareils ou utilisateurs. Cela rendrait
la tâche Ceux qui tenteraient d'usurper l'identité d'un
utilisateur ou se faire passer pour un appareil du réseau.
L'implémentation de l'empreinte digitale par
apprentissage automatique est tout à fait possible et a
déjà été faite avec des projets tels que IoT
Sentinel. Les performances des algorithmes d'apprentissage dans la
prédiction ou l'identification ont fortement encouragé le
développement de projets dans ce sens.
|