Navigation und Service

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

In diesem Projektteil werden die Funktionalitäten und Eigenschaften der Microsoft Telemetriekomponente analysiert. Daneben wurde eine Empfehlung zur Konfiguration bzw. Abschaltung der Telemetrie in Windows 10 als eigenständiges Dokument erstellt.

Aufgrund der langen Laufzeit dieses Projekts wurde für dieses Arbeitspaket eine Differenz-Analyse zwischen der ursprünglichen Version Windows 10, Build 1607 und Windows 10 Enterprise LTSC 2019 (Build 1809) durchgeführt. Diese Version wird von Microsoft bis 2029 unterstützt. Dabei haben sich zum Teil gravierende Änderungen ergeben. So wurde bei nahezu unveränderter Architektur der Telemetrie die Fähigkeit, Programme und Funktionen zum Sammeln von Telemetriedaten auszuführen, gegenüber der Telemetriekomponente der Version 1607 erheblich erweitert.

Außerdem wurde eine Anleitung zur Abschaltung der Telemetrie unter Windows 10 Build 21H2 erarbeitet, wie auch Listen von URLs mit Telemetrie-Endpunkten.

Inhalt Analysedokument

1 Einleitung
1.1 Zusammenfassung
1.2 Executive Summar
1.3 Event Tracing for Windows
1.3.1 Konzept und Fachbegriffe
1.3.2 Initialisierung
2 Technische Analyse der Funktionalitäten
2.1 Telemetrie: Architektur
2.2 Telemetriedaten: Quellen
2.3 Telemetriedaten: Sammlung und Verarbeitung
2.4 Telemetrie: Netzwerkschnittstelle
2.5 Telemetrie: Überwachungsmöglichkeiten
3 Konfiguration und Logging
3.1 Konfiguration
3.2 Logging
Anhang
Literaturverzeichnis
Schlüsselworte und Abkürzungsverzeichnis

Zusammenfassung der Analyseergebnisse:

Ziel dieses Arbeitspaketes ist die Analyse der Funktionalitäten und Eigenschaften der Microsoft Telemetrie-Komponenten (im weiteren Verlauf auch als Telemetry bezeichnet), wie sie in Windows 10 implementiert sind. Ausgehend von den Anforderungen des Bundesamts für Sicherheit in der Informationstechnik liegt der Fokus auf Windows 10, Version 1607, 64 Bit, deutsche Sprache aus dem Long-Term Servicing Branch (LTSB). Die Telemetrie-Komponente sammelt Systemabsturz- und Nutzungsdaten (sogenannte Telemetriedaten) und lädt diese Daten auf von Microsoft betriebene Remote-Server hoch.

In einem dedizierten Dokument ist beschrieben, wie Telemetrie-Aktivität effektiv deaktiviert werden kann. Die wesentlichen Inhalte dieser Analyse sind:

  • Ein Überblick über die Systemprotokollierungsfunktionalitäten zur Erfassung von Telemetriedaten
  • Eine Analyse der Erfassung und Verarbeitung von Telemetriedaten
  • Eine Analyse der relevanten Netzwerkschnittstellen
  • Ein Ansatz zur Erkennung und Beobachtung von Telemetrie-Aktivitäten

Windows 10 verwendet „Event Tracing for Windows“ (ETW) für die Protokollierung von Telemetry-Daten. Die Entitäten, die Daten protokollieren (d.h. ETW-Anbieter) werden vom konfigurierten Telemetrie-Level definiert. Die Anzahl der ETW-Anbieter die mit den DiagTrack ETW-Sitzungen verbunden sind, schwankt signifikant zwischen den einzelnen Telemetrie-Leveln und unterscheidet sich basierend auf der eingesetzten Betriebssystemversion, sowie dem zugrunde liegenden Systemzustand. Der Systemzustand umfasst z.B. laufende Prozesse, installierte Software, Betriebssystemkonfiguration und so weiter.

Telemetrie-LevelETW-Anbieter
Tabelle: Telemetrie-Level und Anzahl der assoziierter ETW-Anbieter mit Diagtrack-Listener am Untersuchungsgegenstand
Security4
Basic410
Enhanced418
Full422

Aufgrund der durchgeführten Analyse lässt sich jedoch keine Verbindung zwischen Anzahl an ETW-Anbietern und Telemetrie-Datenmenge, sowie deren Qualität ableiten. Ein Vorschlag zur Erkennung, Beobachtung, und Analyse der gesammelten Telemetriedaten sowie der Aktivitäten der Telemetrie-Komponenten sind beschrieben.

Die Definition eines konfigurierten Telemetrie-Levels (d. h. die Anzahl der ETW-Anbieter, die abhängig vom konfigurierten Telemetrie-Level einer ETW-Sitzungen zugeordnet sind) wird durch Microsoft kontrolliert. Die notwendigen Metainformationen (d. h. GUIDs der designierten ETW-Anbieter) sind innerhalb der %ProgramData%\Microsoft\Diagnosis\DownloadedSettings\utc.app.json Datei gespeichert. Diese Datei wird von Microsoft kontrolliert und in regelmäßigen abständen erneuert, was den Eigenschaften der gesamten Konfigurations- und Protokollierungsfunktion eine Dynamik verleiht. Die Modifikation von Konfigurationsparametern kann auch im laufenden Systembetrieb durch geführt werden, da sie aus administrativer Sicht vollständig transparent ablaufen und ohne Zutun eines Anwenders erfolgen.

Die Telemetriekomponente bietet weiterhin die Funktionalität zusätzliche Programme oder auch einzelne Funktionen in Bibliotheken aufzurufen, um weitergehende Informationen wie bspw. Speicher-Dumps zur Ergänzung einer Fehlermeldung zu erheben. Die aufgerufenen Programme und Funktionen sind beschrieben und untersucht (eine Liste dieser Programme findet sich im Anhang des Analysedokuments); in der untersuchten Version war es über diese Funktionalität nicht möglich, entfernt die Ausführung beliebigen Programmcodes zu veranlassen (wie es beispielsweise möglich wäre, wenn Telemetry PowerShell.exe ausführen könnte). Eine Möglichkeit der De-Installation des Telemetrie-Frameworks würde dennoch die Angriffsoberfläche verringern, da so ausführbare Dateien entfernt würden, die mit höheren Rechten ausgeführt werden (und anfällig gegen Angriffe zur Privilegienerhöhung sein könnten, wie bspw. via Binary Planting) oder von Angreifern auf dem System zur Erhebung weiterer Informationen genutzt werden könnten (beispielsweise deutet die Datei disksnapshot.exe auf Funktionalität zur Erhebung von Daten hin).