stringtranslate.com

Отчеты об ошибках Windows

Отчет об ошибках Windows, отображающий сведения о проблеме с проводником Windows

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

История

Windows XP

Microsoft впервые представила функцию Windows Error Reporting в Windows XP . [1]

Windows Vista

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

Виндовс 7

Апплет «Отчеты о проблемах и решения» панели управления был заменен разделом «Обслуживание» Центра действий в Windows 7 и Server 2008 R2 .

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

Проектирование системы

WER — это распределенная система . Клиентское программное обеспечение обнаруживает состояние ошибки, генерирует отчет об ошибке, маркирует контейнер и сообщает об ошибке службе WER. Служба WER регистрирует возникновение ошибки, а затем, в зависимости от известной информации о конкретной ошибке, может запросить у клиента дополнительные данные или направить клиента к решению. Программисты обращаются к службе WER для получения данных для определенных отчетов об ошибках и для отладки на основе статистики.

Ошибки, собранные клиентами WER, отправляются в службу WER. Служба WER использует около 60 серверов, подключенных к сети хранения данных объемом 65 ТБ, в которой хранится база данных отчетов об ошибках, и сети хранения данных объемом 120 ТБ, в которой хранится до 6 месяцев необработанных CAB-файлов. Служба рассчитана на прием и обработку более 100 миллионов отчетов об ошибках в день, что достаточно для того, чтобы пережить коррелированные глобальные события, такие как интернет-черви . [8]

Он также может предоставлять услугу, где он считал объект сервером каталогов. Информация также хранится для сбора и связывания с объектом и ресурсом. Иногда служба каталогов не должна запоминать физический адрес сетевых ресурсов, предоставляя имя и находя ресурсы.

Ведра

В системе Microsoft Windows Error Reporting (WER) отчеты о сбоях организованы по «корзинам». Корзины классифицируют проблемы по: [9]

В идеале каждый контейнер содержит отчеты о сбоях, вызванных одной и только одной первопричиной. Однако есть случаи, когда это идеальное сопоставление один к одному не выполняется. Во-первых, эвристика, которая группирует сбои, может привести к тому, что один сбой будет приписан нескольким контейнерам; например, каждый раз, когда приложение со сбоем перекомпилируется, приложение будет иметь новую дату сборки модуля, и полученные сбои затем будут сопоставлены с несколькими контейнерами. Во-вторых, поскольку только определенная информация о состоянии сбоя учитывается в алгоритме группировки, несколько отдельных ошибок могут быть сопоставлены одному контейнеру; например, если приложение вызывает одну функцию, такую ​​как strlen, со строками, поврежденными по-разному различными дефектами базового кода, сбои могут быть сопоставлены одному контейнеру, поскольку они кажутся сбоями в одной и той же функции из одного и того же приложения и т. д. Это происходит, потому что контейнер генерируется на клиенте ОС Windows без выполнения какого-либо символьного анализа дампа памяти: модуль, который выбирает клиент Windows Error Reporting, является модулем наверху стека. Исследования многих отчетов приводят к выявлению модуля неисправности, который отличается от первоначального определения ковша. [14]

Стороннее программное обеспечение

Производители программного и аппаратного обеспечения могут получить доступ к своим отчетам об ошибках с помощью программы Microsoft Windows Dev Center Hardware and Desktop Dashboard (ранее Winqual ). [15] Чтобы гарантировать, что данные отчетов об ошибках поступают только инженерам, ответственным за продукт, Microsoft требует, чтобы заинтересованные поставщики получили цифровой идентификатор VeriSign Class 3 или сертификат DigiCert . [16] Цифровые сертификаты, предоставляемые более дешевыми поставщиками (такими как Thawte , Comodo , GlobalSign , GeoTrust , Cybertrust , Entrust , GoDaddy , QuoVadis, Trustwave , SecureTrust, Wells Fargo ) не принимаются. [17] [18] [19] [20] [21]

Производители программного и аппаратного обеспечения также могут замкнуть цикл со своими клиентами, связывая сигнатуры ошибок с ответами Windows Error Reporting. Это позволяет распространять решения, а также собирать дополнительную информацию от клиентов (например, воспроизводить шаги, которые они предприняли до сбоя ) и предоставлять им ссылки на поддержку.

Влияние на будущее программное обеспечение

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 crash reporter был использован подразделением TAO АНБ для взлома компьютеров Секретариата общественной безопасности Мексики . Согласно тому же источнику, отчеты о сбоях Microsoft автоматически собираются в базе данных XKeyscore АНБ , чтобы облегчить такие операции. [29]

Смотрите также

Ссылки

  1. ^ ab Что такое услуги WER?
  2. ^ Обзор настроек согласия WER и соответствующего поведения пользовательского интерфейса
  3. ^ 0x0 0x0 Решение
  4. ^ Отладка в (очень) больших масштабах: десять лет внедрения и опыта
  5. ^ Премия WER CACM Киншуман
  6. ^ API WER
  7. ^ Регистратор шагов по устранению неполадок в отчетах об ошибках Windows
  8. ^ Отладка в (очень) больших масштабах: десять лет внедрения и опыта
  9. ^ Как WER собирает и классифицирует отчеты об ошибках
  10. ^ "Значения NTSTATUS". Microsoft . Получено 2015-06-08 .
  11. ^ "Справочник кода проверки ошибок". Microsoft . Получено 2015-06-08 .
  12. ^ "Коды системных ошибок (Windows)". Microsoft . Получено 2015-06-08 .
  13. ^ "Значения HRESULT". Microsoft . Получено 2015-06-08 .
  14. ^ Блоги MSDN > Службы WER > Единственное, что постоянно — это изменение. Часть 1
  15. ^ "SysDev (был Winqual) website". Архивировано из оригинала 2018-08-03 . Получено 2012-11-07 .
  16. ^ Обновить сертификат подписи кода
  17. ^ Знакомство с отчетами об ошибках Windows
  18. ^ Головные боли при регистрации WinQual
  19. ^ Форум поддержки Microsoft: WER с приложением Thawte authenticode signature
  20. ^ Старое новое: как компания может получить доступ к данным отчетов об ошибках Windows?
  21. ^ Великое мошенничество с цифровыми сертификатами?
  22. ^ Письмо Стива Балмера: Связь с клиентами
  23. ^ Маркофф, Джон (9 октября 2006 г.). «Вызов для истребителей (опубликовано в 2006 г.)». The New York Times .
  24. ^ "Заявление о конфиденциальности Microsoft для сообщений об ошибках". Архивировано из оригинала 2012-10-10 . Получено 2007-10-07 .
  25. ^ Описание политики конфиденциальности конечного пользователя в отчетах об ошибках приложений при использовании Office
  26. ^ Беккер, Скотт (3 октября 2002 г.). «Отчеты об ошибках Microsoft способствуют усилиям по исправлению ошибок». Redmond Partner Channel . 1105 Redmond Media Group.
  27. ^ ab «Утечка данных из отчетов об ошибках Windows?». Websense Security Labs. 29 декабря 2013 г. Получено 4 января 2014 г.
  28. ^ «Первый этап протокола WER не зашифрован с помощью SSL в Windows». Microsoft. 11 марта 2014 г. Получено 10 января 2015 г.
  29. ^ Внутри TAO: документы раскрывают главное хакерское подразделение АНБ