WikiDer > Отчеты об ошибках 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]
Смотрите также
Рекомендации
- ^ а б Что такое услуги 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: документы раскрывают главный хакерский отдел АНБ