Отчеты об ошибках Windows - Windows Error Reporting

В отчетах об ошибках Windows отображается подробная информация о проблеме с проводник Виндоус

Отчеты об ошибках Windows (WER) (кодовое название Watson) - это отчеты о сбоях технология введена Microsoft с Windows XP[1] и включен в более поздние версии Windows и Windows Mobile 5.0 и 6.0. Не путать с Доктор Ватсон инструмент отладки, который оставил дамп памяти на локальном компьютере пользователя, Windows Error Reporting собирает и предлагает отправить сообщение об ошибке отлаживать информация (а дамп памяти ) используя Интернет для Microsoft когда приложение вылетает или перестает отвечать на рабочем столе пользователя. Никакие данные не отправляются без согласия пользователя.[2] Когда аварийный дамп (или другая информация о сигнатуре ошибки) достигает сервера Microsoft, он анализируется, и информация о решении отправляется обратно пользователю, если таковая имеется. Решения обслуживаются с помощью отчетов об ошибках Windows. Отчет об ошибках Windows работает как Служба Windows. [3]

История

Windows XP

Microsoft впервые представил отчет об ошибках Windows с Windows XP.[1]

Виндоус виста

Отчет об ошибках Windows был значительно улучшен в Виндоус виста, когда публично API были введены для сообщения о сбоях, отличных от сбоев и зависаний приложений.[4] Используя новые API-интерфейсы, как описано в MSDN, разработчики могут создавать собственные отчеты и настраивать пользовательский интерфейс отчетов. Отчет об ошибках Windows также был переработан с упором на надежность и удобство для пользователей. Например, WER теперь может сообщать об ошибках даже из процессов в плохих состояниях, таких как стек исчерпания, повреждения PEB / TEB и куча повреждений, условия, которые в выпусках до Windows Vista привели к тихому завершению программы без сообщения об ошибке. Новый Панель управления Также был представлен апплет «Отчеты о проблемах и решения», в котором ведется учет ошибок и проблем системы и приложений, а также представлены возможные решения проблем.

Windows 7

Отчеты о проблемах и решения Панель управления апплет был заменен разделом обслуживания Центр поддержки Windows на Windows 7 и Сервер 2008 R2.

Новое приложение Problem Steps Recorder (PSR.exe) доступно во всех сборках Windows 7 и позволяет собирать действия, выполненные пользователем при возникновении сбоя, чтобы тестировщики и разработчики могли воспроизвести ситуацию для анализа и отладки.[5]

Системный дизайн

WER - это распределенная система. Клиентское программное обеспечение обнаруживает состояние ошибки, генерирует отчет об ошибках, маркирует сегмент и сообщает об ошибке в службу WER. WERservice записывает возникновение ошибки, а затем, в зависимости от информации, известной о конкретной ошибке, может запросить дополнительные данные у клиента или направить клиента к решению. Программисты обращаются к сервису WER для получения данных для конкретных отчетов об ошибках и для отладки на основе статистики.

Ошибки, собранные клиентами WER, отправляются в службу WER. В службе WER задействовано около 60 серверов, подключенных к сети хранения данных объемом 65 ТБ, в которой хранится база данных отчетов об ошибках, и к сети хранения данных объемом 120 ТБ, в которой хранятся необработанные файлы CAB за период до 6 месяцев. Услуга предназначена для получения и обработки более 100 миллионов отчетов об ошибках в день, что достаточно, чтобы пережить коррелированные глобальные события, такие как Интернет-черви.[6]

Он также может предоставить службу, в которой он считал объект сервером каталогов. Информация также сохраняется для сбора и ассоциируется с объектом и ресурсом. Иногда в службе каталогов пользователю не нужно запоминать физический адрес сетевых ресурсов, предоставляя имя и находя ресурсы.

Ведра

В системе отчетов об ошибках Microsoft Windows (WER) отчеты о сбоях организованы по «сегментам». Сегменты классифицируют проблемы по:[7]

  • Имя приложения,
  • Версия приложения,
  • Дата сборки приложения,
  • Название модуля,
  • Версия модуля,
  • Дата сборки модуля,
  • Код исключения ОС[8][9]/ Код системной ошибки,[10][11]
  • и смещение кода модуля.

В идеале каждая корзина содержит отчеты о сбоях, вызванных одной и только одной основной причиной. Однако есть случаи, когда это идеальное взаимно-однозначное сопоставление не выполняется. Во-первых, эвристика, согласно которой сбои группируются, может привести к тому, что один сбой будет отнесен к нескольким сегментам; например, каждый раз, когда приложение с ошибкой перекомпилируется, приложение будет иметь новую дату сборки модуля, и результирующие сбои затем будут отображаться в несколько сегментов. Во-вторых, поскольку в алгоритм сегментирования учитывается только определенная информация о состоянии отказа, несколько различных ошибок могут быть сопоставлены с одним сегментом; например, если приложение вызывает одну функцию, например Strlen со строками, поврежденными по-разному из-за различных дефектов базового кода, сбои могут быть сопоставлены с одним и тем же сегментом, потому что они кажутся сбоями в одной и той же функции из того же приложения и т. д. Это происходит потому, что сегмент создается на клиенте ОС Windows без выполнение любого анализа символов в дампе памяти: модуль, выбранный клиентом Windows Error Reporting, является модулем наверху стека. Изучение многих отчетов приводит к неисправному модулю, который отличается от исходного определения корзины.[12]

Стороннее ПО

Производители программного и аппаратного обеспечения могут получать доступ к своим отчетам об ошибках с помощью Microsoft Центр разработки для Windows Панель оборудования и рабочего стола (ранее Winqual ) программа.[13] Чтобы данные отчетов об ошибках передавались только инженерам, ответственным за продукт, Microsoft требует, чтобы заинтересованные поставщики получили VeriSign Цифровой идентификатор класса 3 или DigiCert сертификат.[14] Цифровые сертификаты, предоставляемые более дешевыми поставщиками (например, Thawte, Комодо, GlobalSign, GeoTrust, Cybertrust, Доверить, GoDaddy, QuoVadis, Trustwave, SecureTrust, Уэлс Фарго ) не принимаются.[15][16][17][18][19]

Производители программного и аппаратного обеспечения также могут замкнуть цикл со своими клиентами, связав сигнатуры ошибок с ответами отчетов об ошибках Windows. Это позволяет распространять решения, а также собирать дополнительную информацию от клиентов (например, воспроизводить шаги, которые они предприняли до крушение ) и предоставив им ссылки поддержки.

Влияние на программное обеспечение будущего

Microsoft сообщила, что данные, собранные с помощью отчетов об ошибках Windows, существенно повлияли на внутреннюю разработку программного обеспечения. Например, в 2002 г. Стив Баллмер отметил, что отчеты об ошибках позволили команде Windows исправить 29% всех ошибок Windows XP с помощью Windows XP SP1. Более половины всех Microsoft Office Ошибки XP были исправлены в Office XP SP2.[20] Успех частично основан на Правило 80/20. Данные отчетов об ошибках показывают, что существует небольшой набор ошибок, который отвечает за подавляющее большинство проблем, с которыми сталкиваются пользователи. Исправление 20% дефектов кода может устранить 80% и более проблем, с которыми сталкиваются пользователи. Статья в Нью-Йорк Таймс подтвердил, что данные отчетов об ошибках сыграли важную роль в устранении проблем, замеченных в бета-версиях Windows Vista и Microsoft Office 2007.[21]

Проблемы конфиденциальности и использование АНБ

Хотя Microsoft сделала гарантии конфиденциальности, они признают, что личная информация могут содержаться в памяти и данных приложения, скомпилированных в «минидампах» размером 100-200 КБ, которые Windows Error Reporting компилирует и отправляет обратно в Microsoft. Они настаивают на том, что в случае отправки личных данных в Microsoft, они не будут использоваться для идентификации пользователей, согласно заявлению Microsoft. политика конфиденциальности.[22][23] Но сообщая о проблемах в Microsoft, пользователи также должны доверять партнерам Microsoft. Около 450 партнеров получили доступ к базе данных отчетов об ошибках для просмотра записей, связанных с их драйверы устройств и приложения.[24]

Старые версии WER отправляют данные без шифрования; только WER из Windows 8 использует шифрование TLS.[25] В марте 2014 года Microsoft выпустила обновление (KB2929733) для Windows Vista, 7 и Server 2008, которое шифрует первый этап WER.[26]

В декабре 2013 года независимая лаборатория обнаружила, что WER автоматически отправляет информацию в Microsoft, когда к компьютеру подключается новое USB-устройство.[25]

Согласно с Der Spiegel, отчет о сбоях Microsoft использовался АНБ ТАО блок для взлома компьютеров Секретариат общественной безопасности Мексики. Согласно тому же источнику, отчеты о сбоях Microsoft автоматически собираются в АНБ. XKeyscore база данных, чтобы облегчить такие операции.[27]

Смотрите также

Рекомендации

  1. ^ а б Что такое услуги WER?
  2. ^ Обзор настроек согласия WER и соответствующего поведения пользовательского интерфейса
  3. ^ Отладка в (очень) большом масштабе: десять лет внедрения и опыта
  4. ^ API WER
  5. ^ Средство записи шагов для отчетов об ошибках Windows
  6. ^ Отладка в (очень) большом масштабе: десять лет внедрения и опыта
  7. ^ Как WER собирает и классифицирует отчеты об ошибках
  8. ^ «Ценности NTSTATUS». Microsoft. Получено 2015-06-08.
  9. ^ «Справочник по коду проверки ошибок». Microsoft. Получено 2015-06-08.
  10. ^ «Коды системных ошибок (Windows)». Microsoft. Получено 2015-06-08.
  11. ^ "Ценности HRESULT". Microsoft. Получено 2015-06-08.
  12. ^ Блоги MSDN> Сервисы WER> Единственное, что остается неизменным - это изменение - Часть 1
  13. ^ Сайт SysDev (был Winqual)
  14. ^ Обновить сертификат подписи кода
  15. ^ Представляем отчет об ошибках Windows
  16. ^ Голова регистрации WinQual болит
  17. ^ Форум поддержки Microsoft: WER с подписанным приложением Thawte Authenticode
  18. ^ Старая новая вещь: как компания может получить доступ к данным отчетов об ошибках Windows?
  19. ^ Великий грабеж цифрового сертификата?
  20. ^ Письмо Стива Балмера: Связь с клиентами
  21. ^ Вызов для истребителей
  22. ^ Заявление Microsoft о конфиденциальности для отчетов об ошибках
  23. ^ Описание политики конфиденциальности конечного пользователя в отчетах об ошибках приложений при использовании Office
  24. ^ Беккер, Скотт (3 октября 2002 г.). «Отчеты об ошибках Microsoft стимулируют усилия по исправлению ошибок». Партнерский канал Redmond. 1105 Редмонд Медиа Группа.
  25. ^ а б "Являются ли ваши отчеты об ошибках Windows утечкой данных?". Websense Security Labs. 29 декабря 2013 г.. Получено 4 января 2014.
  26. ^ «Первый этап протокола WER не шифруется SSL в Windows». Microsoft. 11 марта 2014 г.. Получено 10 января 2015.
  27. ^ Внутри TAO: документы раскрывают главный хакерский отдел АНБ