Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Отчет об ошибках Windows с отображением сведений о проблеме с проводником Windows

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

История [ править ]

Windows XP [ править ]

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

Windows Vista [ править ]

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

Windows 7 [ править ]

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

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

Системный дизайн [ править ]

WER - это распределенная система . Клиентское программное обеспечение обнаруживает состояние ошибки, генерирует отчет об ошибках, маркирует сегмент и сообщает об ошибке в службу WER. Служба WER записывает возникновение ошибки, а затем, в зависимости от информации, известной о конкретной ошибке, может запросить дополнительные данные у клиента или направить клиента к решению. Программисты обращаются к сервису 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 Dev Center Hardware and Desktop Dashboard (ранее Winqual ). [13] Чтобы данные об ошибках передавались только инженерам, ответственным за продукт, Microsoft требует, чтобы заинтересованные поставщики получили цифровой идентификатор VeriSign Class 3 или сертификат DigiCert . [14] Цифровые сертификаты, предоставляемые более дешевыми поставщиками (такими как Thawte , Comodo , GlobalSign , GeoTrust , Cybertrust , Entrust , GoDaddy ,QuoVadis , Trustwave , SecureTrust , Wells Fargo ) не принимаются. [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% и более проблем, с которыми сталкиваются пользователи. Статья в New York Timesподтвердил, что данные отчетов об ошибках сыграли важную роль в устранении проблем, замеченных в бета-версиях 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 был использован отделом TAO АНБ для взлома компьютеров Секретариата общественной безопасности Мексики . Согласно тому же источнику, отчеты о сбоях Microsoft автоматически собираются в базу данных XKeyscore NSA , чтобы облегчить такие операции. [27]

См. Также [ править ]

  • Winqual
  • Доктор Ватсон (отладчик)

Ссылки [ править ]

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