Windows-Fehlerberichterstattung - Windows Error Reporting

Image
Windows-Fehlerberichterstattung, in der Problemdetails zu einem Problem mit Windows Explorer angezeigt werden

Windows Error Reporting ( WER ) (Codename Watson) ist eine Crash-Reporting- Technologie, die von Microsoft mit Windows XP eingeführt und in späteren Windows-Versionen sowie Windows Mobile 5.0 und 6.0 enthalten ist. Nicht zu verwechseln mit dem Debugging-Tool von Dr. Watson , das den Speicherauszug auf dem lokalen Computer des Benutzers belassen hat. Windows Error Reporting sammelt und bietet an, Post-Error- Debug- Informationen (einen Speicherauszug ) über das Internet an Microsoft zu senden , wenn eine Anwendung abstürzt oder reagiert nicht mehr auf dem Desktop eines Benutzers. Ohne Zustimmung des Benutzers werden keine Daten gesendet. Wenn ein Absturzspeicherauszug (oder andere Fehlersignaturinformationen) den Microsoft-Server erreicht, wird er analysiert und Informationen zu einer Lösung werden an den Benutzer zurückgesendet, sofern verfügbar. Lösungen werden mithilfe von Windows-Fehlerberichterstattungsantworten bereitgestellt. Die Windows-Fehlerberichterstattung wird als Windows-Dienst ausgeführt .

Geschichte

Windows XP

Microsoft hat erstmals die Windows-Fehlerberichterstattung mit Windows XP eingeführt .

Windows Vista

Die Windows-Fehlerberichterstattung wurde in Windows Vista erheblich verbessert , als öffentliche APIs eingeführt wurden, um andere Fehler als Anwendungsabstürze und Hänge zu melden. Mithilfe der neuen APIs, wie in MSDN dokumentiert, können Entwickler benutzerdefinierte Berichte erstellen und die Berichtsbenutzeroberfläche anpassen. Die Windows-Fehlerberichterstattung wurde ebenfalls überarbeitet, wobei der Schwerpunkt auf Zuverlässigkeit und Benutzererfahrung lag. Beispielsweise kann WER jetzt Fehler auch von Prozessen in fehlerhaften Zuständen wie Stack- Erschöpfung, PEB / TEB-Beschädigungen und Heap-Beschädigungen melden. Diese Bedingungen hätten in Releases vor Windows Vista zu einer stillen Programmbeendigung ohne Fehlerbericht geführt. Ein neues Control Panel- Applet, "Problemberichte und Lösungen", wurde ebenfalls eingeführt, das System- und Anwendungsfehler und -probleme aufzeichnet und mögliche Lösungen für Probleme vorstellt.

Windows 7

Der Problemberichte und -lösungen Control Panel Applet wurde durch den Wartungsbereich des ersetzt Windows - Action Center auf Windows 7 und Server 2008 R2 .

Eine neue App, Problem Steps Recorder (PSR.exe), ist in allen Builds von Windows 7 verfügbar und ermöglicht die Erfassung der von einem Benutzer während eines Absturzes ausgeführten Aktionen, sodass Tester und Entwickler die Situation für Analyse und Debugging reproduzieren können.

System-Design

WER ist ein verteiltes System . Die clientseitige Software erkennt einen Fehlerzustand, generiert einen Fehlerbericht, beschriftet den Bucket und meldet den Fehler an den WER-Dienst. Der WER-Dienst zeichnet das Auftreten des Fehlers auf und fordert dann abhängig von den über den jeweiligen Fehler bekannten Informationen möglicherweise zusätzliche Daten vom Client an oder leitet den Client an eine Lösung weiter. Programmierer greifen auf den WER-Dienst zu, um Daten für bestimmte Fehlerberichte und für statistikbasiertes Debugging abzurufen.

Von WER-Clients gesammelte Fehler werden an den WER-Dienst gesendet. Der WER-Dienst verwendet ungefähr 60 Server, die mit einem 65-TB-Speicherbereichsnetzwerk verbunden sind, in dem die Fehlerberichtsdatenbank gespeichert ist, und einem 120-TB-Speicherbereichsnetzwerk, in dem CAB-Rohdateien für bis zu 6 Monate gespeichert sind. Der Dienst wird bereitgestellt, um weit über 100 Millionen Fehlerberichte pro Tag zu empfangen und zu verarbeiten. Dies reicht aus, um korrelierte globale Ereignisse wie Internetwürmer zu überstehen .

Es kann auch den Dienst bereitstellen, bei dem das Objekt vom Verzeichnisserver berücksichtigt wurde. Informationen werden auch gespeichert, um sie zu sammeln und mit dem Objekt und der Ressource zu verknüpfen. Manchmal muss sich der Verzeichnisdienst des Benutzers nicht die physische Adresse einer Netzwerkressource merken, indem er den Namen angibt und die Ressourcen sucht.

Eimer

Im Microsoft Windows-System zur Fehlerberichterstattung (WER) sind Absturzberichte nach "Buckets" organisiert. Buckets klassifizieren Probleme nach:

  • Anwendungsname,
  • Anwendungsversion,
  • Anwendungserstellungsdatum,
  • Modulname,
  • Modulversion,
  • Erstellungsdatum des Moduls,
  • OS-Ausnahmecode / Systemfehlercode,
  • und Modulcode-Offset.

Im Idealfall enthält jeder Bucket Absturzberichte, die von einer und nur einer Grundursache verursacht werden. Es gibt jedoch Fälle, in denen diese ideale Eins-zu-Eins-Zuordnung nicht der Fall ist. Erstens kann die Heuristik, dass Gruppenfehler dazu führen können, dass ein einzelner Fehler mehreren Buckets zugeordnet wird. Beispielsweise hat die Anwendung jedes Mal, wenn eine Anwendung mit einem Fehler neu kompiliert wird, ein neues Modulerstellungsdatum, und die daraus resultierenden Fehler werden dann mehreren Buckets zugeordnet. Zweitens können mehrere unterschiedliche Fehler einem einzelnen Bucket zugeordnet werden, da nur bestimmte Informationen über den Fehlerstatus in den Bucketing-Algorithmus einbezogen werden. Wenn eine Anwendung beispielsweise eine einzelne Funktion wie strlen mit Zeichenfolgen aufruft, die auf unterschiedliche Weise durch unterschiedliche zugrunde liegende Codefehler beschädigt wurden, können die Fehler demselben Bucket zugeordnet werden, da es sich anscheinend um Abstürze in derselben Funktion derselben Anwendung usw. handelt tritt auf, weil der Bucket auf dem Windows-Betriebssystemclient generiert wird, ohne dass eine Symbolanalyse für den Speicherauszug durchgeführt wird: Das Modul, das vom Windows-Fehlerberichterstattungsclient ausgewählt wird, ist das Modul oben im Stapel. Untersuchungen vieler Berichte führen zu einem fehlerhaften Modul, das sich von der ursprünglichen Bucket-Bestimmung unterscheidet.

Drittanbietersoftware

Software- und Hardwarehersteller können mit dem Windows Dev Center- Programm für Hardware und Desktop-Dashboard (ehemals Winqual ) von Microsoft auf ihre Fehlerberichte zugreifen . Um sicherzustellen, dass die Fehlerberichtsdaten nur an die für das Produkt verantwortlichen Ingenieure gehen, verlangt Microsoft, dass interessierte Anbieter eine digitale VeriSign Class 3-ID oder ein DigiCert- Zertifikat erhalten. Digitale Zertifikate von günstigeren Anbietern (wie Thawte , Comodo , GlobalSign , GeoTrust , Cybertrust , Entrust , GoDaddy , QuoVadis, Trustwave , SecureTrust und Wells Fargo ) werden nicht akzeptiert.

Software- und Hardwarehersteller können auch den Kreis mit ihren Kunden schließen, indem sie Fehlersignaturen mit Windows-Fehlerberichterstattungsantworten verknüpfen. Dies ermöglicht das Verteilen von Lösungen sowie das Sammeln zusätzlicher Informationen von Kunden (z. B. das Reproduzieren der Schritte, die sie vor dem Absturz unternommen haben ) und das Bereitstellen von Support-Links.

Auswirkungen auf zukünftige Software

Microsoft hat berichtet, dass die aus der Windows-Fehlerberichterstattung gesammelten Daten einen großen Unterschied in der Art und Weise gemacht haben, wie Software intern entwickelt wird. Zum Beispiel stellte Steve Ballmer im Jahr 2002 fest, dass das Windows-Team durch Fehlerberichte 29% aller Windows XP-Fehler mit Windows XP SP1 beheben konnte. Über die Hälfte aller Microsoft Office XP-Fehler wurde mit Office XP SP2 behoben. Der Erfolg basiert teilweise auf der 80/20-Regel . Daten zur Fehlerberichterstattung zeigen, dass es eine kleine Anzahl von Fehlern gibt, die für die überwiegende Mehrheit der Probleme verantwortlich sind, die Benutzer sehen. Durch die Behebung von 20% der Codefehler können 80% oder mehr der Probleme behoben werden, auf die Benutzer stoßen. Ein Artikel in der New York Times bestätigte, dass Fehlerberichtsdaten maßgeblich zur Behebung von Problemen beigetragen haben, die in den Beta-Versionen von Windows Vista und Microsoft Office 2007 aufgetreten sind .

Datenschutzbedenken und Verwendung durch die NSA

Obwohl Microsoft Datenschutzgarantien gemacht hat, erkennen sie an, dass personenbezogene Daten in den Speicher- und Anwendungsdaten enthalten sein können, die in den 100-200 KB "Minidumps" zusammengestellt wurden, die Windows Error Reporting kompiliert und an Microsoft zurücksendet. Sie bestehen darauf, dass personenbezogene Daten, die an Microsoft gesendet werden, gemäß den Datenschutzbestimmungen von Microsoft nicht zur Identifizierung von Benutzern verwendet werden . Bei der Meldung von Problemen an Microsoft müssen Benutzer jedoch auch den Partnern von Microsoft vertrauen. Rund 450 Partnern wurde Zugriff auf die Fehlerberichtsdatenbank gewährt, um Datensätze zu ihren Gerätetreibern und Apps anzuzeigen.

Ältere Versionen von WER senden Daten ohne Verschlüsselung. Nur WER unter Windows 8 verwendet die TLS-Verschlüsselung. Im März 2014 veröffentlichte Microsoft ein Update (KB2929733) für Windows Vista, 7 und Server 2008, das die erste Stufe von WER verschlüsselt.

Im Dezember 2013 stellte ein unabhängiges Labor fest, dass WER automatisch Informationen an Microsoft sendet, wenn ein neues USB-Gerät an den PC angeschlossen wird.

Laut Der Spiegel wurde der Microsoft-Crash-Reporter von der TAO- Abteilung der NSA ausgenutzt , um sich in die Computer des mexikanischen Sekretariats für öffentliche Sicherheit zu hacken . Laut derselben Quelle werden Microsoft-Absturzberichte automatisch in der XKeyscore- Datenbank der NSA erfasst, um solche Vorgänge zu vereinfachen.

Siehe auch

Verweise