Отчеты об ошибках Windows
Отчеты об ошибках Windows ( WER ) (под кодовым названием Watson) — это технология отчетов о сбоях, представленная Microsoft в Windows XP. [1] и включен в более поздние версии Windows, а также в Windows Mobile 5.0 и 6.0. Не путать со средством отладки «Доктор Ватсон» , которое оставило дамп памяти на локальном компьютере пользователя. Служба отчетов об ошибках Windows собирает и предлагает отправить об отладке информацию после ошибки ( дамп памяти ) через Интернет в Microsoft в случае сбоя приложения или перестает отвечать на рабочий стол пользователя. Никакие данные не отправляются без согласия пользователя. [2] Когда дамп сбоя (или другая информация о сигнатурах ошибок) достигает сервера Microsoft, он анализируется, и информация о решении отправляется обратно пользователю, если таковая имеется. Решения предоставляются с использованием ответов отчетов об ошибках Windows. Отчеты об ошибках Windows работают как служба Windows . [3] Кинсхуман Кинсхуман — первоначальный архитектор WER. WER также был включен в Ассоциации вычислительной техники (ACM) зал славы за его влияние на компьютерную индустрию. [4] [5]
История
[ редактировать ]Windows ХР
[ редактировать ]Microsoft впервые представила отчеты об ошибках Windows в Windows XP . [1]
Windows Виста
[ редактировать ]Отчеты об ошибках Windows были значительно улучшены в Windows Vista , когда были введены общедоступные API для сообщения о сбоях, кроме сбоев и зависаний приложений. [6] Используя новые API, описанные в MSDN, разработчики могут создавать собственные отчеты и настраивать пользовательский интерфейс отчетов. Отчеты об ошибках Windows также были переработаны с упором на надежность и удобство использования. Например, WER теперь может сообщать об ошибках даже в процессах в плохих состояниях, таких как исчерпание стека , повреждения PEB/TEB и повреждения кучи — условия, которые в выпусках до Windows Vista приводили к тихому завершению программы без отчета об ошибке. Также был представлен новый апплет панели управления «Отчеты о проблемах и решения», который ведет учет ошибок и проблем системы и приложений, а также представляет возможные решения проблем.
Windows 7
[ редактировать ]«Отчеты о проблемах и решениях» Апплет панели управления был заменен разделом «Обслуживание» Центра действий Windows в Windows 7 и Server 2008 R2 .
Новое приложение «Регистратор действий по устранению проблем» (PSR.exe) доступно во всех сборках Windows 7 и позволяет собирать данные о действиях, выполняемых пользователем при возникновении сбоя, чтобы тестировщики и разработчики могли воспроизвести ситуацию для анализа и отладки. [7]
Проектирование системы
[ редактировать ]WER — это распределенная система . Программное обеспечение на стороне клиента обнаруживает состояние ошибки, генерирует отчет об ошибке, маркирует корзину и сообщает об ошибке службе WER. ВЕРСлужба фиксирует возникновение ошибки, а затем, в зависимости от информации, известной о конкретной ошибке, может запросить дополнительные данные у клиента или направить клиента к решение. Программисты обращаются к службе WER для получения данных для конкретных отчетов об ошибках и для отладки на основе статистики.
Ошибки, собранные клиентами WER, отправляются в службу WER. Служба WER использует около 60 серверов, подключенных к сети хранения объемом 65 ТБ, в которой хранится база данных отчетов об ошибках, и сети хранения объемом 120 ТБ, в которой хранятся необработанные CAB-файлы за период до 6 месяцев. Служба рассчитана на получение и обработку более 100 миллионов отчетов об ошибках в день, что достаточно для выживания в взаимосвязанных глобальных событиях, таких как интернет-черви . [8]
Он также может предоставить услугу, если объект рассматривается сервером каталогов. Информация также сохраняется для сбора и связывается с объектом и ресурсом. Иногда пользователю службы каталогов не нужно запоминать физический адрес сетевых ресурсов, указывая имя и находя ресурсы.
Ведра
[ редактировать ]В системе отчетов об ошибках Microsoft Windows (WER) отчеты о сбоях организованы по «группам». Ведра классифицируют проблемы по: [9]
- Имя приложения,
- Версия приложения,
- Дата сборки приложения,
- Имя модуля,
- Версия модуля,
- Дата сборки модуля,
- Код исключения ОС [10] [11] /Код системной ошибки, [12] [13]
- и смещение кода модуля.
В идеале каждая корзина содержит отчеты о сбоях, вызванных одной и только одной основной причиной. Однако бывают случаи, когда это идеальное взаимно-однозначное отображение не соответствует действительности. Во-первых, эвристика, согласно которой групповые сбои могут привести к тому, что один сбой будет отнесен к нескольким сегментам; например, каждый раз, когда приложение с ошибкой перекомпилируется, приложение будет иметь новую дату сборки модуля, а возникшие сбои затем будут сопоставлены с несколькими сегментами. Во-вторых, поскольку в алгоритм группирования учитывается только определенная информация о состоянии сбоя, несколько различных ошибок могут быть сопоставлены с одним блоком; например, если приложение вызывает одну функцию, такую как strlen, со строками, поврежденными по-разному из-за разных дефектов базового кода, сбои могут быть сопоставлены с одним и тем же сегментом, поскольку они кажутся сбоями в одной и той же функции из одного и того же приложения и т. д. Это происходит потому, что сегмент создается на клиенте ОС Windows без выполнения какого-либо анализа символов в дампе памяти: модуль, выбираемый клиентом отчетов об ошибках Windows, является модулем на вершине стека. Исследования многих отчетов приводят к обнаружению сбойного модуля, который отличается от исходного определения сегмента. [14]
Стороннее программное обеспечение
[ редактировать ]Производители программного и аппаратного обеспечения могут получить доступ к своим отчетам об ошибках с помощью программы Microsoft Windows Dev Center Hardware and Desktop Dashboard (ранее Winqual ). [15] Чтобы гарантировать, что данные отчетов об ошибках передаются только инженерам, ответственным за продукт, Microsoft требует, чтобы заинтересованные поставщики получили цифровой идентификатор VeriSign класса 3 или DigiCert . сертификат [16] Цифровые сертификаты, предоставленные более дешевыми провайдерами (такими как Thawte , Comodo , GlobalSign , GeoTrust , Cybertrust , Entrust , GoDaddy , QuoVadis, Trustwave , SecureTrust , Wells Fargo ), не принимаются. [17] [18] [19] [20] [21]
Производители программного и аппаратного обеспечения также могут замкнуть круг общения со своими клиентами, связав сигнатуры ошибок с ответами отчетов об ошибках Windows. Это позволяет распространять решения, а также собирать дополнительную информацию от клиентов (например, воспроизводить действия, которые они предприняли до сбоя ) и предоставлять им ссылки на поддержку.
Влияние на будущее программное обеспечение
[ редактировать ]Microsoft сообщила, что данные, собранные с помощью отчетов об ошибках Windows, оказали огромное влияние на внутреннюю разработку программного обеспечения. Например, в 2002 году Стив Балмер отметил, что отчеты об ошибках позволили команде Windows исправить 29% всех ошибок Windows XP с помощью Windows XP SP1. Более половины всех ошибок Microsoft Office XP были исправлены с помощью Office XP SP2. [22] Успех частично основан на правиле 80/20 . Данные отчетов об ошибках показывают, что существует небольшой набор ошибок, ответственных за подавляющее большинство проблем, с которыми сталкиваются пользователи. Исправление 20% дефектов кода может устранить 80% и более проблем, с которыми сталкиваются пользователи. Статья в New York Times подтвердила, что данные отчетов об ошибках сыграли важную роль в устранении проблем, наблюдавшихся в бета-версиях Windows Vista и Microsoft Office 2007 . [23]
Проблемы конфиденциальности и использование АНБ
[ редактировать ]Хотя Microsoft предоставили гарантии конфиденциальности, они признают, что личная информация может содержаться в памяти и данных приложений, скомпилированных в «минидампы» размером 100–200 КБ, которые Windows Error Reporting компилирует и отправляет обратно в Microsoft. Они настаивают на том, что если личные данные будут отправлены в Microsoft, они не будут использоваться для идентификации пользователей, согласно политике конфиденциальности Microsoft . [24] [25] Но, сообщая о проблемах в Microsoft, пользователи также должны доверять партнерам Microsoft. Около 450 партнеров получили доступ к базе данных отчетов об ошибках для просмотра записей, связанных с их драйверами устройств и приложениями. [26]
Старые версии WER отправляют данные без шифрования; только WER из Windows 8 использует шифрование TLS. [27] В марте 2014 года Microsoft выпустила обновление (KB2929733) для Windows Vista, 7 и Server 2008, которое шифрует первый этап WER. [28]
В декабре 2013 года независимая лаборатория обнаружила, что WER автоматически отправляет информацию в Microsoft при подключении к ПК нового USB-устройства. [27]
По данным Der Spiegel , репортер Microsoft был использован подразделением TAO АНБ для взлома компьютеров Секретариата общественной безопасности Мексики . Согласно тому же источнику, отчеты Microsoft о сбоях автоматически собираются в базе данных XKeyscore АНБ , чтобы облегчить такие операции. [29]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б Что такое услуги WER?
- ^ Обзор настроек согласия WER и соответствующего поведения пользовательского интерфейса.
- ^ 0x0 0x0 Решение
- ^ Отладка в (очень) большом: десять лет внедрения и опыта
- ^ Премия WER CACM Kinshuman
- ^ API ВОЗ
- ^ Регистратор действий с отчетами об ошибках Windows
- ^ Отладка в (очень) большом: десять лет внедрения и опыта
- ^ Как WER собирает и классифицирует отчеты об ошибках
- ^ «Значения NTSTATUS» . Майкрософт . Проверено 8 июня 2015 г.
- ^ «Справочник по коду проверки ошибок» . Майкрософт . Проверено 8 июня 2015 г.
- ^ «Коды системных ошибок (Windows)» . Майкрософт . Проверено 8 июня 2015 г.
- ^ «Значения HRESULT» . Майкрософт . Проверено 8 июня 2015 г.
- ^ Блоги MSDN > Службы WER > Единственное, что постоянно, — это изменения. Часть 1.
- ^ «Веб-сайт SysDev (был Winqual)» . Архивировано из оригинала 3 августа 2018 г. Проверено 7 ноября 2012 г.
- ^ Обновите сертификат подписи кода.
- ^ Представляем отчеты об ошибках Windows
- ^ Регистрация WinQual Головные боли
- ^ Форум поддержки Microsoft: WER с приложением, подписанным аутентичным кодом Thawte
- ^ Старая новая вещь: как компания может получить доступ к данным отчетов об ошибках Windows?
- ^ Великий обман цифровых сертификатов?
- ^ Письмо Стива Балмера: Общение с клиентами
- ^ Маркофф, Джон (9 октября 2006 г.). «Вызов истребителям (опубликовано в 2006 г.)» . Нью-Йорк Таймс .
- ^ «Заявление о конфиденциальности Microsoft для отчетов об ошибках» . Архивировано из оригинала 10 октября 2012 г. Проверено 7 октября 2007 г.
- ^ Описание политики конфиденциальности конечного пользователя в отчетах об ошибках приложений при использовании Office.
- ^ Беккер, Скотт (3 октября 2002 г.). «Отчеты Microsoft об ошибках стимулируют усилия по исправлению ошибок» . Партнерский канал Редмонда . 1105 Редмонд Медиа Групп.
- ^ Jump up to: а б «Утечка данных из отчетов об ошибках Windows?» . Лаборатория безопасности Websense. 29 декабря 2013 г. Проверено 4 января 2014 г.
- ^ «Первый этап протокола WER не шифруется SSL в Windows» . Майкрософт. 11 марта 2014 года . Проверено 10 января 2015 г.
- ^ Внутри TAO: Документы раскрывают главное хакерское подразделение АНБ