Ce qui se cache réellement derrière le «GDID» de Windows

Dans les Documents judiciaires du ministère américain de la Justice contre les membres présumés du groupe de hackers Scattered Spider Plus tôt ce mois-ci, un terme a fait son apparition sur la scène technologique: Les Global Device Identifier (GDID).

Sur Twitter/X, il a été immédiatement choqué: «Microsoft nous espionne avec une empreinte matérielle indélébile de 128 bits générée à partir de numéros de série!»

Réponse succincte: C'est faux. Réponse longue: La vérité est techniquement extrêmement excitante, mais elle est très différente de la demi-connaissance des médias sociaux. Jetons un coup d'œil sous le capot de Windows 11.

Myth-Busting: Ce qu'est vraiment la GDID

Jetons un coup d’œil à la procédure relative au dossier judiciaire (États-Unis v. Peter Stokes). C'est là que le GDID apparaît concrètement dans le format g:6755467234350028 Ouvrir.

Si vous convertissez ce nombre de décimales en hexadécimal, vous obtenez 0x0018000FC8CB93CC.

  1. Pas de 128 bits: C'est une simple Nombre de 64 bits.
  2. Aucun hachage de numéro de série matériel: Le dossier judiciaire indique explicitement qu'une Réinstaller Windows crée un tout nouveau GDID. Si l'ID était calculé à partir de numéros de série fixes de votre GPU ou de votre carte mère, il resterait identique après un formatage.

Qu'est-ce que la GDID? Simplifiez-les Device PUID (Passport Unique ID) de votre compte Microsoft? Pour ce faire, nous devons creuser plus profondément.

Comment fonctionne le chaos d'identité dans Windows?

Imaginez votre système Windows comme un hôtel:

  • wlidsvc.dll (Le réceptionniste): Lorsque vous vous connectez avec votre compte Microsoft, ce service appelle le serveur Microsoft (login.live.com) et dit: «Hey, je suis une nouvelle installation de Windows, donnez-moi un laissez-passer!» Le serveur génère un numéro unique (le Device PUID) et le renvoie.
  • Registry (le coffre-fort): Le système Windows écrit ce passeport non crypté dans votre coffre-fort local (le registre).
  • cdp.dll (Redirigé depuis VIP Manager): Le Connected Devices Platform Service extrait ce numéro du coffre-fort et connecte l'appareil au réseau mondial Microsoft (Device Directory Service). Cela permet de connaître des caractéristiques telles que Phone Link ou les Synchronisation du presse-papiers, quel appareil est actuellement en ligne.
  • dosvc.dll (Le statisticien): L'optimisation de la livraison pour les mises à jour lit l'ID et l'attache aux données de télémétrie.

En bref: Le GDID n'est pas calculé localement à partir de votre matériel, mais Attribué par le serveur Microsoft lors de l'inscription.

Le cheminement de la GDID à travers le système

L'ensemble de la pile ressemble à ceci de bas en haut:

Texte brut

[ Microsoft Server (login.live.com) ] │ (attribue Device PUID) ▼ [ wlidsvc.dll ] (Microsoft Account Service) │ (enregistre l'ID dans le registre) ▼ [ HKCU Registry ] │ (lire l'ID) ▼ [ cdp.dll ] (Connected Devices Platform) │ (Signale l'appareil à DDS) ▼ [ Delivery Optimization / Telemetrie ] (Spuckt UCDOStatus.GlobalDeviceId off)

Même si vous n'utilisez pas de compte Microsoft, la Connected Devices Platform (CDP) utilise un chemin d'accès anonyme pour gérer un identifiant similaire.

Trouvez votre propre GDID (Do It Yourself)

Vous voulez savoir à quoi ressemble votre propre GDID? Si vous êtes connecté avec un compte Microsoft, vous n'avez même pas besoin de droits d'administrateur. Une simple commande PowerShell suffit:

$hex = (Get-ItemProperty 'HKCU:\SOFTWARE \Microsoft \IdentityCRL \ExtendedProperties').LID "g:$([Convert]:ToUInt64($hex,16))»

Le résultat vous crache exactement le format g:<Nombre décimal> On le trouve aussi dans les dossiers des enquêteurs du FBI.

Remarque importante: Postez votre GDID jamais Publiquement sur les forums ou les captures d'écran! Avec votre SID utilisateur ou votre ID de compte, votre appareil peut être identifié de manière unique.

Est-ce qu'on va se débarrasser de cette partie?

Étant donné que le GDID est attribué côté serveur et ancré localement dans la structure d'identité, la simple suppression de dossiers de cache locaux n'aide pas, car l'ID est simplement extrait du registre.

Pour ceux qui veulent minimiser le suivi:

  • Désactiver les services de périphériques connectés: L'arrêt de CDPSvc et CDPUserSvc interrompt la synchronisation avec le Microsoft Device Graph.
  • Désactiver l'historique des activités: Dans les paramètres Windows, sous Confidentialité & Sécurité -> Historique des activités.
  • Nouvelle installation: Crée un tout nouveau GDID, mais le reconnecte immédiatement à votre compte Microsoft lors de votre prochaine connexion.

Une expérience intéressante à ce sujet peut également être trouvée, par exemple, dans la collection détaillée sur Github et it-connect.tech sur le sujet:

Appendix : Plongée profonde, blocage & Dommages collatéraux

Si vous souhaitez suivre le chemin exact du GDID à travers le système ou empêcher la transmission, vous trouverez ici les détails techniques sous le capot.

Plongée profonde: Comme le GDID dans le wlidsvc.dll forgé

Si vous voulez regarder plus loin dans le tissu binaire: Les wlidsvc.dll (Microsoft Account / Passport Service) est le seul service d'identité dans Windows qui utilise le terme GlobalDeviceId Contient en clair. Voici la logique complète du Device-Provisioning:

  • La clé aléatoire n'est pas l'ID: Si vous regardez le code, vous trouverez des appels tels que BCryptGenRandom ou CCryptRandom ::GenRandom. Mais cela produit pas GDID lui-même, mais uniquement la clé de périphérique locale (Device Key), BindDeviceToHardware utilise.
  • Attribution de serveur via SOAP: Le client envoie un DeviceAssociateRequest (Passport PPCRL SOAP) login.live.com. La réponse contient la structure XML <ps:DevicePUID>.
  • Analyse en texte clair: La méthode CAssociateDeviceRequest ::ParseResponseBody lit la valeur via XPath directement à partir du corps de réponse:
/S:Envelope/S:Body/ps:DeviceUpdatePropertiesResponse/HWPUIDFlipped
  • Persistance du registre: DeviceIdStore ::LogToRegistry place ensuite l'ID en texte clair dans votre user-hive (HKCU).

La magie des préfixes: 0018 vs. 0003

Si vous êtes dans votre registre HKCU \SOFTWARE \Microsoft \IdentityCRL \ExtendedProperties selon la valeur LID Rechercher (ou sous ...\Immersive \production \Token \{...}\DeviceId), vous voyez un nombre hexadécimal à 16 chiffres.

Les quatre premiers chiffres vous permettent de voir immédiatement à quoi vous avez affaire:

  • 0003... (User PUID): Identifie votre compte Microsoft spécifique.
  • 0018... (Dispositif PUID): C'est l'espace de l'équipement, parlez de votre GDID.

La valeur mentionnée dans le dossier judiciaire (0x0018000FC8CB93CC) C'est exactement dans cette 0018-classe d'équipement.

Comment l'appareil s'authentifie sur le graphique

Le cache de jeton de Windows (HKLM\SOFTWARE\Microsoft\IdentityCRL\NegativeCache \...) stocke les jetons spécifiques à l'appareil. Ceux-ci sont parfaitement adaptés aux points de terminaison utilisés par le Connected Devices Platform Service (cdp.dll) en cours d'exécution:

  • scope=service::dds.microsoft.com ::MBI_SSL_TOKEN _BROKER
  • scope=service::activity.windows.com ::MBI_SSL_SA_TOKEN _BROKER

Le service de compte Microsoft fournit donc non seulement l'ID, mais également les données d'accès appropriées pour livrer les données au Device Directory Service (DDS).

Peut-on supprimer ou bloquer le GDID?

Pouvez-vous simplement effacer la valeur du registre? Bien sûr. Est-ce que ça rapporte quelque chose? Non, non.

Après tout, le GDID n'est pas seulement sur votre PC, il est gravé sur les serveurs de Microsoft. La prochaine fois que votre boîte se connecte, Windows retire simplement l'ID et le réécrit dans le registre. Pour lutter efficacement contre la GDID, il n'est pas nécessaire de se pencher sur le système d'exploitation, mais Démarrer sur le réseau.

Selon l'état actuel des connaissances, il y a deux voies qui mènent à l'objectif. Mais cela ne peut se faire sans restrictions. Vous pouvez seulement choisir combien de dommages collatéraux vous voulez accepter.

Voie 1: La fusion nucléaire (empêcher complètement la création de GDID)

Si vous voulez bloquer l'émergence du GDID dès le départ, la communication n'a pas besoin d'avoir lieu. Pour bloquer la transmission, vous devez login.live.com Verrouiller au niveau du réseau.

  • L'effet: Si vous exécutez une nouvelle installation Windows directement à partir d'un bloqueur DNS, aucun GDID n'est enregistré auprès de Microsoft. D'un point de vue Microsoft, votre PC n'existe tout simplement pas.
  • Le crochet: login.live.com est le trou de l'aiguille pour l'ensemble du compte Microsoft. Si vous bloquez cela, Microsoft Store, OneDrive, Microsoft 365 et toutes les applications UWP basées sur un compte MS volent autour de vos oreilles.

Voie 2: La bombe de précision (interrompre le reporting uniquement)

Vous autorisez la génération, mais coupez les voies de télémétrie et de synchronisation de Windows. À cet égard, il y a lieu de login.live.com accessible, mais les services d'évaluation et de synchronisation sont déconnectés.

Si vous utilisez Pi-hole, AdGuard Home ou un DNS Technitium, vous pouvez le résoudre avec élégance à l'aide de jokers au niveau du réseau (qui hosts-Le fichier sous Windows ne contient malheureusement pas de jokers *).

Ensemble de règles sur l'exemple d'AdGuard Home:

||login.live.com^$dnsrewrite=0.0.0.0 ||dds.microsoft.com^$dnsrewrite=0.0.0.0 ||cdpcs.access.microsoft.com^$dnsrewrite=0.0.0.0 ||do.dsp.mp.microsoft.com^$dnsrewrite=0.0.0.0 ||activity.windows.com^$dnsrewrite=0.0.0.0

(Remarque : ||do.dsp.mp.microsoft.com^ directement l'ensemble du niveau d'optimisation de la livraison, y compris tous les sous-domaines régionaux).

Si vous souhaitez automatiser le tout localement sans tourner constamment sur le DNS, vous pouvez le script open source no-gdid (Licence MIT). Le script désactive les services CDPSvc, CDPUserSvc ainsi que DoSvc et retourne leurs points de terminaison, tandis que la connexion au compte MS reste intacte. (Avant, assurez-vous de faire une sauvegarde ou un instantané de machine virtuelle!)

Quels sont les services Windows qui s'effondrent? (Aperçu)

Chaque bloc DNS exige son tribut. Voici un aperçu de ce qui se passe lorsque vous tournez les vis de réglage:

Domaine bloquéRôle dans la chaîne GDIDQu'est-ce qui ne fonctionne plus après?
login.live.comDéploiement GDID & Jeton de connexionMassif : Compte MS, magasin, OneDrive, Office 365, applications UWP de compte.
dds.microsoft.com
cdpcs.access.microsoft.com
Enregistrement dans Device Graph (DDS)Confort: Smartphone Link (Phone Link), «Continuer sur PC», presse-papiers en nuage, partage à proximité.
do.dsp.mp.microsoft.com (+ sous-domaines)Delivery Optimization ReportingFaible: Distribution P2P du contenu des mises à jour & Store. Windows Update retombe proprement sur les téléchargements directs.
activity.windows.comHistorique des activitésMinimum: Négligeable sous Windows 11, car la chronologie (timeline) a été supprimée de toute façon.

Note sur le Microsoft Store: Si seuls les domaines de reporting sont bloqués, le magasin se comporte parfois un peu mal. Les téléchargements échouent lors de la première tentative, mais passent généralement après deux ou trois tentatives.

Pas de basculement, pas d'approbation

La frustration de la GDID est le manque total de transparence: Il y a pas d'interrupteur, pas d'écran de consentement et pas de documentation réelle de la part de Microsoft. Addendum : Il existe au moins un document dans lequel figure la GDID.. Avec une description médiocre:

Microsoft global device identifier. This is a identifier used by Microsoft internally.

Bien sûr, d'autres systèmes d'exploitation utilisent également des identifiants uniques: Apple a le UUID/DSID matériel, Les distros Linux utilisent les /etc/machine-id. La différence subtile: Sous Linux ou macOS, vous pouvez 1) voir ces identifiants ou/et 2) les contrôler à l'aide de moyens embarqués.

Windows cache complètement le GDID à l'utilisateur. Les curseurs habituels de « protection des données » dans les paramètres Windows n’ont en tout état de cause aucune incidence sur le transfert du GDID.

Conclusion

Le GDID n'est pas une puce d'espionnage sinistre cachée profondément dans le silicium, mais simplement un jeton attribué côté serveur pour l'écosystème de périphériques de Microsoft. D'accord, admettons-le, ce n'est pas beaucoup mieux maintenant.

Le fait que les forces de l'ordre utilisent ces identifiants pour assigner des activités suspectes (telles que des tunnels ngrok ou des connexions VPN) à un système spécifique, lorsqu'elles sont présentes et utilisables, montre une fois de plus:

L'anonymat sur le net nécessite une connaissance approfondie de la façon dont les systèmes d'exploitation modernes téléphonent à la maison.

Sources : windowslatest.com | it-connect.tech | heise.de | justice.gov | github.com | pcmag.com