Отчеты об ошибках Windows - Windows Error Reporting
Отчеты об ошибках 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]
Смотрите также
Рекомендации
- ^ а б Что такое услуги WER?
- ^ Обзор настроек согласия WER и соответствующего поведения пользовательского интерфейса
- ^ Отладка в (очень) большом масштабе: десять лет внедрения и опыта
- ^ API WER
- ^ Средство записи шагов для отчетов об ошибках Windows
- ^ Отладка в (очень) большом масштабе: десять лет внедрения и опыта
- ^ Как WER собирает и классифицирует отчеты об ошибках
- ^ «Ценности NTSTATUS». Microsoft. Получено 2015-06-08.
- ^ «Справочник по коду проверки ошибок». Microsoft. Получено 2015-06-08.
- ^ «Коды системных ошибок (Windows)». Microsoft. Получено 2015-06-08.
- ^ "Ценности HRESULT". Microsoft. Получено 2015-06-08.
- ^ Блоги MSDN> Сервисы WER> Единственное, что остается неизменным - это изменение - Часть 1
- ^ Сайт SysDev (был Winqual)
- ^ Обновить сертификат подписи кода
- ^ Представляем отчет об ошибках Windows
- ^ Голова регистрации WinQual болит
- ^ Форум поддержки Microsoft: WER с подписанным приложением Thawte Authenticode
- ^ Старая новая вещь: как компания может получить доступ к данным отчетов об ошибках Windows?
- ^ Великий грабеж цифрового сертификата?
- ^ Письмо Стива Балмера: Связь с клиентами
- ^ Вызов для истребителей
- ^ Заявление Microsoft о конфиденциальности для отчетов об ошибках
- ^ Описание политики конфиденциальности конечного пользователя в отчетах об ошибках приложений при использовании Office
- ^ Беккер, Скотт (3 октября 2002 г.). «Отчеты об ошибках Microsoft стимулируют усилия по исправлению ошибок». Партнерский канал Redmond. 1105 Редмонд Медиа Группа.
- ^ а б "Являются ли ваши отчеты об ошибках Windows утечкой данных?". Websense Security Labs. 29 декабря 2013 г.. Получено 4 января 2014.
- ^ «Первый этап протокола WER не шифруется SSL в Windows». Microsoft. 11 марта 2014 г.. Получено 10 января 2015.
- ^ Внутри TAO: документы раскрывают главный хакерский отдел АНБ