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