Conseils, services, ingénierie en informatique. Mise en place de solutions technologiques, et support, pour les entreprises.

Note utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs

 


Nous montrons ici comment la multitude de capteurs sur un téléphone portable peut être utilisée pour construire une empreinte digitale, ou empreinte numérique du téléphone (un fingerprinting ). Une telle empreinte digitale peut être utilisée pour désanonymiser les appareils mobiles lorsqu'ils se connectent à un sites Web, ou à des applications mobiles, et comme deuxième facteur d'identification des utilisateurs à un serveur distant. Ces travaux permettent aussi de s'authentifier sans mot de passe. Nous présentons deux implémentations: une basée sur l’analyse de la réponse en fréquence du système haut-parleur-microphone, et une autre basée sur l'analyse d'un accéléromètre avec calibration. Notre empreinte digiale basée sur un accéléromètre est particulièrement intéressante car l'accéléromètre est accessible via JavaScript ( https://consultingit.fr/fr/formation-devenez-developpeur-javascript-framework-angularjs ) fonctionnant dans un navigateur Web mobile sans demander d'autorisations ou en informer l'utilisateur. L'association à but non lucratif, reconnue d'utilitée publique LGHM présente les résultats de son expérience à ce jour, en ayant mesuré les capteurs d'une multitude d'appareils mobiles. Nous montrons que l'entropie de l'empreinte digitale des capteurs est suffisante pour identifier de manière unique un appareil parmi des milliers d'appareils, avec une faible probabilité d'erreur ou de collision.

De nombreux services Internet nécessitent des identifiants fiables pour identifier leurs visiteurs et écarter les fraudeurs qui ne respectent pas les conditions générales d'utilisation. L'identifiant le plus simple, un cookie Web, il fonctionne bien, mais n'est pas fiable au cas où les utilisateurs bloquent les cookies tiers ou utilisent la navigation privée. Cela a conduit au développement de mécanismes plus performants tels que par exemple les "supercookies". Le projet Panopticlick a montré que les navigateurs de bureau sont suffisamment différents entre eux pour permettre de les identifier. Cependant, le projet a noté que les mobile navigateurs, en particulier sur iOS, sont trop similaires pour que cette application puisse les fingerprinter, enfin, les identifier, de manière précise.

Les travaux en cours pour faire de l'identification fingerprinting sur les capteurs:

 

Une question? Posez-la ici

Besoin d'aide pour éviter que vos clients fraudent?

 

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs : gyroscope

 

La mesure du décalage et de la sensibilité du gyroscope nécessiterait de soumettre l'appareil à une rotation de vitesse angulaire constante à différentes vitesses - une expérience difficile à réaliser même en laboratoire.

 

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs: Boussole, magnétomètre:

 

Nous avons réalisé des expériences sur le magnétomètre (boussole) qui nous ont convaincus que, bien que la boussole soit une source possible de données d’identifcation, les particularités du capteur font qu'une utilisation de ce capteur pour identification fingerprinting est en pratique possible. Considérons que la compensation est évidente à partir de la géométrie des mesures sur le terrain dans plusieurs directions, il existe également des effets de mémoire qui peuvent perturber la lecture. De plus, la variabilité du champ magnétique terrestre peut être parfois significatif (par exemple près d'objets métalliques, ou cages de Farraday), et parfois subtiles, rendant les corrections difficiles et l'étude sujette aux erreurs.

La lectures de la boussole (magnétomètre) prises sur deux appareils différents au même emplacement sur une surface plane, montre des variations. Les études sont basées en sortie d'usine de l'appareil (avec une composante Z stable - remarque: le même appareil produit une valeur Z variable entre les séries, au même endroit). Le décalage est évident et la sensibilité se voit clairement. Différentes mesures au même endroit physique peuvent produire des résultats différents, ce qui démontre des effets de mémoire difficiles à corriger.

 

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs : capteur de lumière:

 

les capteurs de lumière ne fournissent que des mesures aléatoires. Les éléments sont sujets au bruit en raison d'une obstruction partielle du capteur; ainsi, les mesures sur la lumière sont difficiles à réaliser. En reverse engineering ingénierie inverse de certaines applications (voir mode opératoire pour reverser une app mobile avec le projet Ponephone https://www.consultingit.fr/fr/ponephone#decompilation ) Un manque de lumière pendant un temps important indique que l'utilisateur peut dormir. Beaucoup d'utilisateur dorment avec leur téléphone sur la table de nuit, dans le noir total.

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs :  GPS

 

GPS: un récepteur GPS triangule l'emplacement d'un téléphone en calculant sa distance avec au moins 3 satellites GPS. Les distances sont calculées en mesurant le temps que passe le signal d'un satellite au récepteur GPS. le temps de trajet est mesuré à l'aide d'une horloge construite dans le récepteur GPS. Des travaux antérieurs de T. Kohno, A. Broido, K.C. Claffy https://ieeexplore.ieee.org/document/1453529 ont montré qu'un décalage d'horloge pouvait identifier l'horloge. cependant, les récepteurs GPS modernes utilisent une 4ème mesure satellite ce qui permet de prendre en compte ce biais.

 

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs : écran tactile:

 

Le capteur d'écran tactile est monté sur l'écran du téléphone. Un processus d'assemblage inexact peut entraîner un mauvais alignement de l’écran tactile avec la matrice. Cela peut amener l’utilisateur à taper par erreur sur une zone d'écran visée. Ce désalignement peut servir à l'identification. Cependant, comme il est généralement très petit et passe généralement inaperçu par l'utilisateur, il est difficile à mesurer. Une piste possible pour mesurer serait, par exemple, d'enregistrer les emplacements exacts des touches de l'utilisateur sur l'écran. Appuyer sur les emplacements de chaque touche et les comparer avec l'emplacement réel de la touche sur l'écran peut permettre de calculer le désalignement.

 

 

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs : appareil photo:

 

Il y a quelques études qui traitent de l'identification utilisant le biais des pixels. Le gain de sortie de chaque pixel est une fonction linéaire de l'intensité réelle
de lumière frappant ce pixel. Ce biais linéaire est généralement appelé bruit de motif; J. Lukáš, J. Fridrich and M. Golja http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.156.3496&rep=rep1&type=pdf proposent une méthode pour déterminer le bruit du motif de référence d'un appareil photo à l'aide de 300 images prise par l'appareil photo. Cela sert d'empreinte numérique unique pour l'appareil photo. On montre que cela permet d'associer avec une bonne probabilité une nouvelle image avec l'appareil photo qui l'a pris. L'étude a été réalisée à l'aide de 9 appareils photos et l'identification fingerprinting est donc possible avec le capteur appareil photo.

 

 

Une question? Posez-la ici

Besoin d'aide pour éviter que vos clients fraudent

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs : pourquoi?


Pourquoi réaliser une identification fingerprinting (prises d'empreintes digitales, ou empreintes numériques) des téléphones portables?

Le besoin d’identification robuste est encore plus nécéssaires de nos jours. Une des raisons majeure est que par exemple, les sites Webs souhaitent identifier les visiteurs pour éviter la fraude, en particulier au moment du paiement https://www.zataz.com/piratage-chez-bureau-vallee/ . Deuxièmement, les services cloud qui développent des applications mobiles, nécessitent souvent des authentifications, et un téléphone puissant, peut servir à bruteforcer certains jetons. L'éditeur peut demander à retrouver le téléphone d'où est partie la requête.

Considérons le scénario suivant: un utilisateur se fait bloquer par une application cloud et l'application installe un identifiant unique sur l'appareil. Plus tard, l’utilisateur réinitialise l’appareil à ses paramètres de base (factory default) en supprimant ainsi l'application et ses identifiants uniques générés. L'utilisateur réinstalle ensuite l'application et se connecte à nouveau au service cloud. À ce stade, le service ne peut pas dire s'il a déjà vu l'appareil auparavant. Cette simple astuce peut permettre à un utilisateur mal intentionné, qui a été bloqué, de se reconnecter au service à l'aide d'une autre "identité".

Plus généralement, l'identification d'appareil en ligne est un sujet d'intérêt pour les réseaux publicitaires et les services de sécurité. La nécessité d'identifier les appareils à distance est toujours confrontée à des préoccupations d'informations qui les identifient et qui peuvent être mal utilisées. Évoluant rapidement, les technologies mobiles posent de nouveaux défis à la préservation de la confidentialité des utilisateurs et l'un de nos objectifs dans ce document est d'explorer ces défis et pour pouvoir les utiliser dans la conception des futures applications sur les appareils mobiles.

Pour obtenir un identificateur unique robuste pour les appareils mobiles, de nombreux développeurs d’applications se sont tournés vers un ID matériel qui résiste à une réinitialisation de l'appareil aux paramètres d'usine. Une étude récente montre que 8% des applications Android utilisent l'International Identité d'équipement mobile (IMEI) en tant qu'identifiant unique de du matériel. Ce type de pratique est mal vue par Apple qui interdit sur l'app store les applications qui lisent les Universal Device ID (UDID) de l'iphone.

Nous montrons que la multitude de capteurs sur un smartphone moderne peut être utilisée pour construire un identifiant de périphérique unique robuste, ou empreinte digitale, indépendant de l'état du logiciel et qui résiste et survit à une réinitialisation matérielle d'usine. Nos résultats montrent qu'une empreinte digitale unique peut être réalisée sans utiliser les identifiants matériels traditionnels tels que l'IMEI ou UDID. Par conséquent, simplement interdire l'accès d'une application à l'identifiant UDID de l'appareil est une politique de confidentialité inefficace.


Une expérience d'identification fingerprinting peut être facilement faite à l'aide de 2 capteurs:

 

Le système haut-parleur-microphone: le système de fingerprinting utilise les haut-parleurs pour émettre une séquence de sons à différentes fréquences et enregistre les signaux résultants à l'aide du microphone. L'empreinte numérique est calculée en regardant l'amplitude et la distorsions de fréquence dans les signaux enregistrés.

L'accéléromètre: l'accéléromètre mesure les forces dans chacune des trois dimensions. Une amélioration dans l'étalonnage de l'accéléromètre aboutit à une mise à l'échelle et translation spécifiques de la valeur mesurée. En interrogeant à plusieurs reprises l'accéléromètre, nous estimons ces erreurs d'étalonnage en résolvant un problème de mise en forme et utilisation des six valeurs résultantes (deux pour chaque dimension) comme empreinte numérique.

 

Sur Android:

 

l'ID de périphérique: pour les développeurs Android, la méthode getDeviceId de la classe Manager renvoie l'ID unique d'un téléphone, par exemple, l'IMEI pour les téléphones GSM et le MEID ou ESN pour les téléphones CDMA. Cependant, aucun ID de ce type n'existe pour les appareil mobiles ne disposant pas de capacités de téléphonie.

L'addresse MAC: on peut facilement récupérer l'adresse MAC de l'une des interfaces réseau de l'appareil (par exemple lorsqu'il se connecte en WiFi et Bluetooth). Cependant, le propriétaire d'un appareil peut changer l'adresse MAC de l'appareil. Par exemple, voir l'application «MAC Address Ghost» https://play.google.com/store/apps/details?id=diewland.changemac .

Le Numéro de série: le champ SERIAL de la classe Build contient un numéro de série matériel, s'il est disponible sur l'appareil. Ce champ n'est disponible que sur la version 2.3 minimum et ultérieures d'Android.

L'ID ANDROID: ID constant de la classe Settings.Secure qui est un nombre 64 bits aléatoire généré au premier démarrage de l'appareil et reste constant pour la durée de vie de l'appareil, voir sur https://developer.android.com/reference/android/provider/Settings . Cependant, la valeur peut changer si une réinitialisation d'usine est effectuée.

 

Sur IOS:


UDID: l'identifiant unique de périphérique (UDID) est la méthode classique pour l'identification d'un appareil iOS. Il est récupéré à l'aide de la propriété uniqueIdentier de la Classe UIDevice. Cependant, depuis iOS 5, il est constament modifié https://developer.apple.com/documentation/uikit/uidevice .


identifierForVendor: Ceci est une propriété de l'UIDevice qui est uniquement disponible dans iOS 6 et versions ultérieures. C'est une chaîne alphanumérique qui identifie de façon unique un périphérique pour le fournisseur d’applications, c’est-à-dire différentes applications récupéreront différents identifiants. Cependant, la valeur de cet identifiant est supprimée une fois que l'utilisateur désinstalle la dernière application d'un fournisseur particulier. S'il réinstalle une application de ce fournisseur, un nouvel identifiant sera généré.

Advertising Identifier: Ceci est une propriété de la Classe ASIdentiferManager qui n'est disponible que sur iOS 6 et ultérieure. C’est une chaîne alphanumérique unique à chaque appareil et est destinée à être utilisée par les annonceurs dans le but de publicitée ciblée, https://developer.apple.com/documentation/adsupport/asidentifiermanager . La valeur de cet identifiant est réinitialisée une fois qu'elle est effacée par l'utilisateur.

Adresse MAC: comme sous Android, une adresse MAC alternative peut être forgé par le propriétaire de l'appareil.


Utilisation des capteurs pour l'identification, le fingerprinting

L'observation clé derrière ce travail est que les instances matérielles d’un capteur particulier sont assez différentes, principalement en raison des imperfections dans la fabrication et le processus d'assemblage.

Ces variations introduisent des biais dans les données échantillonnées lues à partir du capteur qui sont uniques au capteur spécifique.
De plus, ces variations sont constante pendant toute la durée de vie du capteur. En mesurant ces imperfections, nous pouvons identifier de manière cohérente les appareils portant ces capteurs. Nous commençons par définir différents types de biais de capteur, puis on le compare avec un aperçu des types de capteurs déja connus.

Les types de Biais

Biais linéaire:

pour de nombreux types de capteurs, la valeur de leurs mesures peuvent être assimilées à une fonction linéaire de la vraie valeur qu'ils mesurent, c'est-à-dire vm = vtS + O. Ici vm et vt sont les valeurs mesurées et vraies, tandis que S et O sont la sensibilité et le décalage du capteur (dans d'autres les mots S et O sont les paramètres d'étalonnage spécifiques du capteur). Idéalement, les valeurs des paramètres devraient être S = 1 et O = 0. Un biais linéaire approximatif peut être trouvé dans les accéléromètres, les gyroscopes https://reliablecomputing.eu/baharev-gyro.pdf ,https://www.hindawi.com/journals/js/2010/967245/ les magnétomètres , et les pixels de l'apparei photo http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.471.1243&rep=rep1&type=pdf . Nous notons que dans la plupart des capteurs, un biais linéaire n'est qu'une approximation du biais réel.

Certains capteurs manifestent également des aléas et une quantification de bruits, tandis que d’autres capteurs présentent des effets, où la valeur mesurée dans une dimension affecte
les mesures dans les autres dimensions. Un autre biais est le décalage linéaire important dans la dérive d'horloge. La différence entre l'heure d'une horloge interne et l'heure réelle lue sur un serveur de temps varie linéairement au fil du temps. Ici, la sensibilité de l'horloge est également appelé décalage d'horloge.

La tolérance: pour certains capteurs, leurs mesures peuvent ne pas être modélisées comme une simple fonction linéaire de la vrai valeur. Dans de tels cas, les mesures se feront dans une plage prédéterminée par rapport à la valeur réelle. Par exemple, le gain de sortie d’un microphone pour une fréquence peut varier de 2 dB de puissance réelle.

En plus du biais de la mesure réelle - un capteur peut présenter des variations dans le temps pour produire des mesures. Les données des capteurs sont souvent collectées
lorsque le matériel déclenche une interruption, signalant que de nouvelles lectures sont disponibles. Le moment de cette interrupttion peut varier selon les appareils, puis il peut être utilisé dans le cadre d'un schéma d'identification. La temporisation d'interruption est relativement difficile à accéder à partir du code d'application, mais elle peut tout de même être un élément viable dans une plus grande empreinte digitale (fingerprinting) .

Les capteurs communs

Notre objectif est de réaliser une étude complète sur les capteurs qui sont généralement disponibles sur les appareils mobiles, sur lesquels il est possible d'appliquer des techniques d’identification spécifiques: Audio, Accéléromètre, Gyroscope, Magnétomètre, Lumière ambiante, GPS, Écran tactile, Caméra.

 

 

 

Une question? Posez-la ici

Besoin d'aide pour éviter que vos clients fraudent


Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs :Audio:

 


Identification fingerprinting de l'appareil grâce au microphone

La spécificité principale d'un microphone et d'un haut-parleur est la réponse graphique de fréquence. Pour le microphone, la réponse en fréquence est son gain de sortie normalisé sur une gamme de fréquences donnée. Inversement, la fréquence d’un haut-parleur soit la réponse en fréquence est son intensité audio de sortie normalisée sur une gamme de fréquences donnée.


Idéalement pour les deux appareils, la réponse en fréquence doit être la même pour toute la plage. Cependant, un microphone est typique mais un haut-parleur a une courbe de réponse qui varie à travers différentes fréquences. Ces variations dépendent de la conception de l'appareil audio. En raison d'incohérences de fabrication, les fréquences
réponses de chaque occurrence d'un microphone ou d'un haut-parleur ne sont pas identiques même s'ils sont du même modèle. La réponse d'un appareil pour chaque fréquence a une tolérance par rapport à sa réponse spécifiée par le fabricant. Une tolérance typique pour les microphones et haut-parleurs est de 2 dB. Cette variance de réponse en fréquence donne naissance à un premier schéma d'empreinte digitale, enfin numérique, de fingerprinting.

 

Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs: accéléromètre

 

Fingerprinting en utilisant l'accéleromètre


Un accéléromètre mesure la force d'accélération qui est appliquée à un appareil le long des trois axes physiques. Rappelons que la lecture du capteur, vm, le long de l'axe v est liée à
l'accélération réelle du dispositif, vt, sur cet axe, comme suit:
vm = vtSv + Ov. Ici, Sv et Ov sont les paramètres de qualité et de décalage de l'accéléromètre - notez que pour un capteur tridimensionnel, il existe 6 capteurs.

Notre jeu "Findus Lasagna run" sur Apple Iphone IOS a été un POC pour cette étude, pour tenter d'identifier, fingerprinter les appareils IOS. Malheureusement Apple n'a pas autorisé la mise de cette application sur l'apple Store. Maintenant nous travaillons sur des appareils jailbeakés, et installons ce que nous voulons.

Nous pouvons utiliser un principe de base d'accélération bien connue pour mesurer le décalage de l'accéléromètre - la gravité de la Terre (dénoté par la force g)
Au repos, le téléphone connaît une accélération d'une grandeur exactement de g. L'orientation de cette accélération dépend de l'orientation relative du téléphone par rapport à la surface de la Terre.

Fonctionnement du fingerprinting

L'accéléromètre est pratique pour capter des empreintes, enfin, numériques, ou fingerpringing, pour des raisons fondamentales: l’utilisateur transfère souvent l'appareil entre son bureau, sa poche, et son sac à main; Lorsque l'appareil ne bouge pas, l'amplitude du vecteur d'accélération sur le dispositif est égal à g; enfin, l'accélération peut être mesurée par une application Android qui ne nécessite aucune autorisation, permission https://www.consultingit.fr/fr/ponephone#Injectiondespermissions , de plus, les navigateurs iOS et Android exposent cette fonction sur les sites Web sans en avertir l'utilisateur. Voir https://www.researchgate.net/publication/339496042_Learning-based_Practical_Smartphone_Eavesdropping_with_Built-in_Accelerometer

Contrairement à l'empreinte numérique basée sur l’audio, il n’existe pas de moyen efficace d'introduire un signal dans l'accéléromètre sans mouvement, à savoir exercer une force d'accélération connue; au lieu de cela, nous adoptons une approche consistante qui vise à effectuer des mesures de fond et d'attendre qu’il y ait suffisamment de données pour estimer les paramètres d'étalonnage de l'accéléromètre. Nous effectuons une mesure chaque fois que le téléphone est en position de repos, ou plus précisément, quand le téléphone est à une vitesse constante (pas d’accélération). Notez que dans la plupart des cas raisonnables, il est très peu probable qu'un téléphone ne soit pas au repos pendant une période prolongée. La détection du téléphone au repos est relativement simple: le vecteur d'accélération mesuré doit être statique et sa magnitude devrait être à peu près égale à 5.

Supposons que tout au long de nos mesures, l'appareil est couché à plat et toujours sur une table et donc l'axe Z enregistrera pratiquement toute l'accélération due uniquement à la gravité de la Terre. Si le paramètre de sensibilité Sz est connu, il est alors facile d’estimer le décalage par rapport à une seule mesure zm: Oz = zm gSz. Malheureusement, étant donné un dispositif arbitraire Sz est inconnu et nous avons donc besoin deux mesures - une avec l'appareil orienté vers le haut (zm +) et une face vers le bas (zm). En utilisant ces deux nombres on peut calculer les deux paramètres de biais pour l'axe Z6.

Nous verrons que cette méthode donne des résultats très satisfaisants ce qui entraîne une variété de paramètres expérimentaux même si la surface sur laquelle repose le téléphone n'est pas parfaitement à niveau. Cette méthode peut être exercée sans la coopération de l'utilisateur car il est tout à fait plausible que l'utilisateur laisser son appareil face vers le haut, et parfois vers le bas sur une table ou un bureau. Nous notons qu'en rassemblant plus de données et en appliquant un traitement plus sophistiqué, les six variables de l'accéléromètre peuvent être mesurées en même temps, sans aucune restriction sur l'orientation de l'appareil.


Utilisation d'une page Web pour réaliser une emprinte numérique, fingerprinting de l'acceleromètre

Nous avons commencé par créer une application Android pour suivre les lectures de l'accéléromètre, filtrer toute instabilité, et effectuer les calculs simples nécessaires à l’établissement
Sz et Oz pour un smartphone donné. Bien que l'application ne nécessite aucune autorisation pour accéder à l'accéléromètre (il n'est pas considéré comme un capteur sensible par le frameworks Android), il serait bon d'obtenir l'autorisation INTERNET pour prendre en compte de ses résultats.

Nous avons donc plutôt construit un POC JavaScript léger mis en œuvre qui s'exécute entièrement dans le navigateur mobile.

Une implémentation contenue dans une page web a l'avantage que l'utilisateur n'a pas besoin d'installer quoique ce soit
En supposant que l'utilisateur peut être convaincu de laisser son appareil vers le haut puis vers le bas pendant un certain temps, une simple visite sur un site Web peut entraîner le
calcul de différence d'accélération. Pour collecter des données d'accéléromètre en JavaScript, nous ajouter une fonction pour la gérer: window.ondevicemotion

événements:

window.ondevicemotion = function(event) {
var x = event.accelerationIncludingGravity.x;
var y = event.accelerationIncludingGravity.y;
var z = event.accelerationIncludingGravity.z;
...
}

La première fois que notre fonction est appelée, nous effaçons tout l'écran et définissons un message texte qui indique à l'utilisateur comment procéder. Chaque lecture de l'accéléromètre entraîne une nouvelle appel de la fonction, où nous recueillons des données par lots qui sont relativement uniforme (pour éviter le bruit) et pointons dans la direction qui nous intéresse (soit l’axe Z positif ou négatif, c’est-à-dire à l'écran de l'appareil). Quand on rassemble assez de données Z positives ou négatives, nous demandons à l'utilisateur de poser l'appareil afin que nous puissions terminer le processus de collecte. Enfin, lorsque suffisamment de données sont collectées, nous estimons les Sz et Oz de l'appareil et affichons le résultat sur notre site Web pour une analyse future. Nous générons également un nombre aléatoire et définissons un cookie avec celui-ci dans le navigateur de l'utilisateur.
Le cookie est aussi envoyé au serveur pour analyse.

 

Les résultats

 

Résultats de l'empreinte numérique fingerprint du périphérique. L'expérience d'impression des données issues de l'accéleromètre a produit assez données pour rendre possible un calcul direct. Dans un traitement, nous créons une liste de toutes les différences entre les deux conclusions des dispositifs. Nous constatons que dans 95% des cas, pour la distance Oz
est de 0,045 (en d'autres termes, 95% des appareils à deux soumissions avaient une distance plus petite que cela). Pour Sz, cette distance est 0,0037.
Lorsque nous avons utilisé ces distances dans 95% des cas, pour vider le diagramme de dispersion Oz-Sz en blocs de taille égale et compté les points de données dans chaque bloc (Cxy) - nous étions capable de calculer l’entropie globale de la distribution :

Dans cette configuration la plus restrictive, nous avons réussi à identifier correctement 298 des 3583 dispositifs à deux soumissions, un taux de réussite de 8,3%. Quand nous avons seulement regardé deux dispositifs de soumission et éliminé encore ceux dont la distance en Oz ou Sz était supérieure au 95% de taux d'erreur, nous avons pu identifier 543 appareils, soit 15,1%. Tandis que ces chiffres peuvent sembler faibles, nous devons rappeler que dans cette procédure d’identification, nous utilisons uniquement l'accéléromètre, et dans juste une seule de ses dimensions.

Amélioration du taux d'identification via l'agent utilisateur (ou user agent)

La chaîne User-Agent identifie le type d'appareil qui se connecte à un site web. La combinaison du User-Agent et les entrées d'accéléromètre, cependant, ont augmenté le nombre
d'appareils correctement identifiables à 1 900 appareils ou 53%. La suppression des dispositifs du 95% d'erreur a encore augmenté le taux de reconnaissance correct à 58,7%. Cela montre que l’empreinte digitale (numérique) de l’accéléromètre peut être très efficace à différencier des appareils avec des chaînes d'agent utilisateur identiques.


Les risques et dangers d'un tel fingerprinting

L'identification de l'appareil via les empreintes digitale numérique (ou fingerprinting ) de ses capteurs n'est pas sans danger. ainsi des utilisations malveillantes voient le jour. Dans le contexte de la vie privée par exemple, il vaut la peine d’envisager la possibilité d'utiliser des méthodes efficaces pour atténuer cette menace pour les utilisateurs mobiles.

Pour tout capteur particulier, la faisabilité d'empreinte numérique fingerprinting peut être pratiquement éliminée en calibrant bien le capteur au moment de la fabrication. Un logiciel peut peut être ajouter une valeur aléatoire au capteur sortie au niveau du système d'exploitation. Cette valeur peut rester constante pendant l'utilisation continue de l'appareil, permettant aux logiciels tels que les jeux mobiles d'éviter de calibrer le capteur si nécessaire. Pendant les périodes de longue inactivité, la valeur aléatoire peut changer — ce qui invaliderait toute les empreintes digitales numériques ou fingerprinting , de l'appareil qui ont peut-être déjà été collectées.

Nous pensons également que nous avons également présenté de bons arguments pour réévaluer l'état des données de capteur conférées par les navigateurs et systèmes d'exploitation mobiles. Jusqu'à présent, les flux de données tels que les lectures de l'accéléromètre n'ont pas été considérées comme des informations sensibles, mais nous avons déclaré qu’ils peuvent être utilisés pour identifier et suivre les appareils. En tant que systèmes d'exploitation pour smartphones et à propos des technologies de navigateur il faudrait prévoir un contrôle des capteurs de l'appareil avec des demandes autorisations plus poussées.

Les empreintes digitales numériques des capteurs, fingerprinting de capteurs ,https://www.researchgate.net/publication/224127988_Source_Camera_Identification_Using_Enhanced_Sensor_Pattern_Noise ont reçu des modificatins importantes ces dernières années, principalement dans le contexte de la désanonymisation des photos par exemple, en les corrélant à des images avec une source connue. Les images prises par différents appareils photo sont traité pour dériver un modèle de bruit de référence qui est spécifique pour chaque capteur. Sur la base de ce modèle, des images sont associées à leur source la plus probable.

Les algorithmes d’extraction du bruit sont un élément essentiel de cette approche, et proposent quelques améliorations supplémentaires.
Le pipeline de capture d'images est étudié ici: https://www.researchgate.net/profile/Oya_Celiktutan2/publication/3455433_Blind_Identification_of_Source_Cell-Phone_Model/links/00b7d52cc7a4559fbe000000/Blind-Identification-of-Source-Cell-Phone-Model.pdf où différentes étapes du processus sont révélées pour introduire des artefacts distincts. Ces artefacts peuvent être utilisés pour concevoir des algorithmes d'identification plus robustes.

Outre les excellents travaux de fingerprinting mobile menés par Hristo Bojinov , Dan Boneh ,Yan ichalevsky , sous le direction de Gabi Nakibly, il a également été démontré que les stockages flash (à semi-conducteurs) contiennent des défauts uniques qui peuvent être fingerprintés ou faire l'objet de fingerprinting. Tous les deux effets de couplage et de synchronisation sont considérés par https://link.springer.com/chapter/10.1007/978-3-642-21599-5_14 , et il s'est avéré produire des mécanismes d'identification réalisables. la principale difficulté est d’appliquer le fingerprinting sur les dispositifs biliaires est la tendance constante à utiliser des Puces Flash de style eMMC https://nanoscalereslett.springeropen.com/articles/10.1186/1556-276X-9-526 , qui cachent une grande partie des données brutes en construisant dans une logique complexe de nivellement de l'usure.

Il y a des travaux qui visent à fingerprinter via le Web qui vont au-delà des cookies HTTP standards. Ces travaux sont basés sur des fonctionnalités liées au logiciel plutôt
que matériel. (voir https://panopticlick.eff.org/static/browser-uniqueness.pdf ) a montré que la configuration du système tels que la résolution de l’écran, les plugins de navigateur et polices système ainsi que le contenu des en-têtes HTTP - User-Agent et Accept - permettent de créer une empreinte digitale numérique d'un appareil. Ces études, ( https://www.microsoft.com/en-us/research/publication/host-fingerprinting-and-tracking-on-the-webprivacy-and-security-implications/ ont également montré qu'une bonne identification de l'appareil peut également être obtenue en utilisant les valeurs du User-Agent, de l'adresse IP, des cookies et identifiants de connexion. Ces valeurs peuvent être trouvées en utilisant les journaux standard du trafic Web vers le serveur web en installant un prox http et en récoltant les données.

Au cours des dernières années, il a été démontré que les sites Web identifient un client Web sur la base de «super-cookies» https://panopticlick.eff.org/static/browser-uniqueness.pdf . Ce sont des identifiants qui sont stockés sur l'hôte local dans divers moyens persistants hors du contrôle d'un navigateur, par conséquent, le navigateur ne peut pas imposer cette restriction standard des cookies HTTP.

Certains travaux portent sur un fingerprint distant via le réseau. L'exemple le plus connu est celui ci, https://ieeexplore.ieee.org/document/1453529 , qui a montré comment mesurer le décalage d'horloge d'un appareil à l'aide du Trafic ICMP et TCP. Le décalage de l’horloge représente un bon identificateur d'appareil. Il y a aussi un groupe de travail qui propose des méthodes d'empreintes digitales à distance basées sur le traffic réseau sans fil, par exemple, l'analyse radiométrique de IEEE 802.11
et les émetteurs. Voir https://dl.acm.org/doi/10.1145/1409944.1409959, l'identification de la phase du signal du bluetooth et les transmetteurs, voir aussi http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.9684 , ou analyse temporelle de la sonde 802.1 dans le cadre de requêtes Wifi https://dl.acm.org/doi/10.1145/1352533.1352542.


Traqueurs d'empreintes numériques fingerprinting mobile sur capteurs : Conclusion

 

Nous avons présenté une nouvelle approche de l’identification fingerprinting qui permet de reconnaître les appareils en s'appuyant sur des identifiants softs (qui peuvent être perdus après un hard reset d'usine). Notre méthode d'empreinte digitale numérique de fingerprinting exploite le capteur de variations d'étalonnage dans le système haut-parleur-microphone
et dans l'accéléromètre. Ces identifications basées sur l'accéléromètre sont particulièrement efficaces car elles peuvent être captées par un code Web non fiable exécuté dans un navigateur mobile.

  

Cet article reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit. J'espère que ça vous a plu. Vos commentaires/remarques sont les bienvenus: