
Le document de recherche, disponible en anglais et (partiellement) en allemand, fournit une analyse approfondie des fonctionnalités de télémétrie mises en œuvre par Microsoft dans le système d'exploitation Windows 10 de la société.
Le document est basé sur Windows 10 version 1607 Enterprise et couvre:
- une vue d'ensemble de la fonctionnalité de suivi des événements de Windows 10 pour la télémétrie ;
- une analyse technique sur la manière dont les données de télémétrie sont collectées et traitées ;
- une analyse des interfaces réseau et des connexions utilisées pour transférer les données de télémétrie ;
- une vue d'ensemble des capacités de configuration et de journalisation pour surveiller et contrôler la collecte de données de télémétrie.
Le rapport est plutôt technique et les premières pages ne sont disponibles qu’en allemand. Pour ceux qui ne comprennent pas cette langue, vous pouvez donc commencer par la page 10 où la partie en anglais débute avec un résumé.
Il y est expliqué notamment que :

Concepts et termes
La télémétrie collecte les données sur les pannes et l'utilisation du système. Ces données sont principalement produites par le mécanisme de journalisation principal de ce système d'exploitation - ETW (Event Tracing for Windows).
L'architecture d'ETW comprend les composants essentiels suivants: session, fournisseur, contrôleur et consommateur.
Sessions ETW
ETW écrit les événements consignés dans des tampons de noyau désignés. Les threads système livrent des événements consignés aux entités qui les consomment. Les événements consignés livrés peuvent prendre la forme de fichiers ou de fils de journalisation en temps réel. Les tampons de noyau multiples sont gérés par une seule entité de noyau appelée session ETW, également appelée enregistreur. Une session ETW peut être dans un état activé ou désactivé. Par défaut, ETW prend en charge 64 sessions fonctionnant simultanément.
Une session ETW peut être de l’un des types suivants: « Enregistreur de noyau NT » ou « Autre utilisateur ». Une session de type « enregistreur de noyau NT » obtient les données de journalisation fournies par des fournisseurs ETW prédéfinis. Une session de type « autre utilisateur » obtient des données de tous les autres fournisseurs ETW.
Fournisseurs ETW
Les données enregistrées sont générées et transmises aux sessions par les fournisseurs ETW associés à ces sessions. Les fournisseurs ETW sont des entités implémentées et déclarées à l'aide de l'interface de programmation d'application (API) ETW, dans le cadre de ressources utilisateur ou code noyau utilisant un code. L'entité déclarant un fournisseur ETW donné enregistre le fournisseur et lui génère un descripteur. Ce descripteur est utilisé pour référencer le fournisseur lorsque les données réelles sont enregistrées. Chaque fournisseur ETW est utilisé pour consigner une catégorie d'événements spécifique. Par exemple, le pilote TCP (Transmission Control Protocol) / IP (Internet Protocol) implémente les événements réseau de son propre fournisseur. Pour que les fournisseurs ETW transmettent activement les données, ils doivent être enregistrés et activés. Ceci informe le système d'exploitation de l'existence du fournisseur.
Contrôleurs ETW
La gestion des sessions ETW et l'association des fournisseurs ETW aux sessions ETW sont effectuées par des applications spéciales, appelées contrôleurs ETW. Un exemple de contrôleur ETW (en dehors du système d’exploitation principal, qui utilise directement l’ETW-API) est l’utilitaire xperf, distribué dans le cadre de Windows Performance Toolkit.7
Consommateurs ETW
Les données enregistrées gérées par des sessions et produites par les fournisseurs ETW sont consommées par les consommateurs ETW. Les consommateurs ETW sont des entités qui affichent et analysent les données consignées, telles que l'utilitaire xperf ou l'observateur d'événements de Windows. Les données enregistrées peuvent être livrées aux consommateurs ETW en temps réel ou être périodiquement vidées dans des fichiers.
La figure 2 illustre la relation entre les fournisseurs, les sessions et les consommateurs ETW (généralisés en tant qu'entités ETW dans la figure 2). Plusieurs fournisseurs ETW peuvent transmettre des données journalisées à une session ETW, et certains fournisseurs peuvent transmettre des données à plusieurs sessions. Une session fournissant des données journalisées aux consommateurs ETW sous la forme d'un journal en temps réel ne peut transmettre des données qu'à un seul consommateur. Une session fournissant des données journalisées aux consommateurs ETW sous forme de fichiers peut transmettre des événements aux consommateurs.
En résumé, ETW permet la journalisation des données pertinentes. Ces données sont produites par les fournisseurs ETW et stockées dans des tampons de noyau désignés. Les fournisseurs ETW fournissent les données consignées aux sessions ETW associées. Une session ETW est une entité du noyau qui gère les mémoires tampons désignées stockant les données consignées et fournit les données consignées aux consommateurs ETW. Un contrôleur ETW est une entité chargée d'associer des fournisseurs ETW à des sessions ETW et de gérer ces sessions. Cela peut impliquer, par exemple, de spécifier la manière dont une session ETW fournit des données aux consommateurs ETW et la taille des mémoires tampons du noyau désignées.
Quelques informations
Le rapport contient des informations intéressantes, même si aucun détail technique ne vous intéresse, comme le nombre de fournisseurs ETW (Event Tracing for Windows) associés à Autologger-Diagtrack-Listener et Diagtrack Listener pour chacun des niveaux de télémétrie pris en charge:
Sécurité - Fournisseurs 9 et 4 ETW
Basic - Fournisseurs 93 et 410 ETW
Amélioré - Fournisseurs ETW 105 et 418
Complet - Fournisseurs 112 et 422 ETW
Le niveau de télémétrie de sécurité est réservé aux éditions d'entreprise de Windows 10. Les utilisateurs de l’édition familiale peuvent choisir entre Base et Complète, et la différence entre les fournisseurs n'est pas aussi grande qu'on pourrait le penser en fonction de l'analyse.
Le nombre de fournisseurs ETW n’est pas en corrélation directe avec la quantité de données collectées ou leur qualité, d’après les chercheurs.
La liste des rapports indique les noms d'hôte et les adresses IP utilisés par le service de télémétrie de Windows 10 pour les communications basées sur un journal de connexion de 48 heures.
Dernier point mais non le moindre, il existe une annexe qui répertorie les fichiers exécutables externes. Tous ne sont cependant pas utilisés à des fins de télémétrie. Voici la liste des exécutables et des descriptions associées :
- % SystemRoot% \ System32 \ telsvc.exe : Pas de description disponible
- % SystemRoot% \ SysWow64 \ dtdump.exe : Pas de description disponible
- % SystemRoot% \ SysWow64 \ RdrLeakDiag.exe : Pas de description disponible
- % SystemRoot% system32 \ RdrLeakDiag.exe : Pas de description disponible
- % SystemRoot% \ system32 \ appidtel.exe : Pas de description disponible
- % SystemRoot% \ system32 \ disksnapshot.exe : Pas de description disponible
- % SystemRoot% \ system32 \ bcdedit.exe : Outil de gestion de la base de données de configuration de démarrage (BCD);
- % SystemRoot% \ system32 \ dxdiag.exe : Outil de collecte d'informations sur les périphériques.
- % SystemRoot% \ system32 \ dispdiag.exe : Outil pour la collecte et la journalisation d'informations sur des écrans.
- % ProgramFiles% \ internet explorer \ iediagcmd.exe : Pas de description disponible
- % SystemRoot% \ system32 \ icacls.exe : Outil pour afficher et modifier les listes de contrôle d'accès.
- % SystemRoot% \ system32 \ licensingdiag.exe : Pas de description disponible
- % SystemRoot% \ system32 \ ipconfig.exe : Outil pour afficher des informations sur le réseau et configurer les paramètres réseau.
- % SystemRoot% \ system32 \ msinfo32.exe : Outil permettant d'afficher des informations sur l'environnement matériel et logiciel déployé sur une plateforme.
- % SystemRoot% \ system32 \ logman.exe : Outil pour configurer et afficher des informations sur l'environnement ETW.
- % SystemRoot% \ system32 \ netsh.exe : Outil permettant d'afficher des informations sur le réseau et de configurer ses paramètres.
- % SystemRoot% \ system32 \ netcfg.exe : Outil pour installer l'environnement de pré-installation de Windows, une version allégée de Windows;
- % SystemRoot% \ system32 \ route.exe : Outil pour afficher et modifier la table de routage IP de la plateforme.
- % SystemRoot% \ system32 \ powercfg.exe : Outil de configuration des paramètres d'alimentation (par exemple, configuration du mode veille de la plateforme).
- % SystemRoot% \ system32 \ stordiag.exe : Pas de description disponible
- % SystemRoot% \ system32 \ settingsynchost.exe : Pas de description disponible
- % SystemRoot% \ system32 \ verifier.exe : Outil pour détecter et résoudre les problèmes de pilotes.
- % SystemRoot% \ system32 \ tracelog.exe : Outil de gestion de l'environnement ETW (par exemple, activation et désactivation de sessions ETW);
- % SystemRoot% \ system32 \ whoami.exe : Outil permettant d'afficher des informations sur l'utilisateur actuellement connecté au système. https
- % SystemRoot% \ system32 \ wevtutil.exe : Outil de gestion de l'environnement EventLog.
- % SystemRoot% \ system32 \ wscollect.exe : Pas de description disponible
Source : BSI
Voir aussi :




