Windows 오류 보고

Windows Error Reporting
Windows 탐색기 문제에 대한 자세한 내용을 표시하는 Windows 오류 보고

Windows Error Reporting (WER; Windows 오류 보고) (코드네임 Watson)는 MicrosoftWindows[1] XP에서 도입한 크래시 보고 기술이며 이후 Windows 버전 및 Windows Mobile 5.0 및 6.0에 포함되어 있습니다.Windows Error Reporting은 사용자의 로컬 머신에 메모리 덤프를 남겼던 Dr. Watson 디버깅툴과 혼동하지 않도록 어플리케이션이 크래쉬하거나 사용자의 데스크톱에서 응답을 정지했을 때 인터넷을 사용하여 오류 디버깅 정보(메모리 덤프)를 수집하여 Microsoft에 전송합니다.사용자의 [2]동의 없이 데이터가 전송되지 않습니다.크래시 덤프(또는 기타 에러 시그니처 정보)가 Microsoft 서버에 도달하면 분석되어 이용 가능한 경우 솔루션에 대한 정보가 사용자에게 반환됩니다.솔루션은 Windows 오류 보고 응답을 사용하여 제공됩니다.Windows 오류 보고는 Windows 서비스로 실행됩니다.[3] Kinshuman은 WER의 원조 설계자입니다.WER는 컴퓨팅 업계에 미치는 영향도 인정받아 ACM 명예의 전당에 이름을 올렸습니다.[4] [5]

역사

윈도 XP

MicrosoftWindows XP [1]Windows 에러 리포트를 최초로 도입했습니다.

윈도 비스타

Windows 에러 리포팅은, 애플리케이션의 크래시나 [6]행업 이외의 에러를 리포트하기 위해서 퍼블릭 API가 도입된 Windows Vista 로 큰폭으로 개선되었습니다.개발자는 MSDN에서 문서화되어 있는 새로운 API를 사용하여 커스텀 보고서를 작성하고 보고서 사용자 인터페이스를 커스터마이즈할 수 있습니다.Windows 에러 리포트도, 신뢰성과 유저 익스피리언스에 중점을 두고 개량되었습니다.예를 들어, WER는 스택의 고갈, PEB/TEB의 파손, 히프의 파손 , Windows Vista보다 전의 릴리스에서는 에러 리포트 없이 사일런트프로그램이 종료되는 등, 불량 상태의 프로세스에서도 에러를 리포트할 수 있게 되었습니다.새로운 제어판 애플릿인 "Problem Reports and Solutions"도 도입되어 시스템 및 응용 프로그램의 오류와 문제를 기록하고 문제에 대한 가능한 해결책을 제시합니다.

윈도 7

Windows 7 및 Server 2008 R2의 Windows 관리 센터의 [Maintenance]섹션으로 [Problem Reports and Solutions Control Panel]애플릿이 대체되었습니다.

새로운 앱인 문제 단계 기록기(PSR.exe)는 Windows 7의 모든 빌드에서 사용할 수 있으며 사용자가 크래시 발생 시 수행한 작업을 수집하여 테스터와 개발자가 분석 및 [7]디버깅을 위해 상황을 재현할 수 있도록 합니다.

시스템 설계

WER는 분산 시스템입니다.클라이언트 측 소프트웨어는 오류 상태를 검출하여 오류 보고서를 생성하고 버킷에 라벨을 지정하여 오류를 WER 서비스에 보고합니다.WER 서비스는 오류 발생을 기록한 다음 특정 오류에 대해 알려진 정보에 따라 클라이언트에 추가 데이터를 요청하거나 클라이언트에 솔루션을 제공할 수 있습니다.프로그래머는 WER 서비스에 액세스하여 특정 오류 보고서 및 통계 기반 디버깅 데이터를 가져옵니다.

WER 클라이언트가 수집한 오류는 WER 서비스로 전송됩니다.WER 서비스에는 오류 보고서 데이터베이스를 저장하는 65TB 스토리지 영역 네트워크에 연결된 약 60대의 서버와 120대의 서버가 사용됩니다.최대 6개월의 원시 CAB 파일을 저장하는 TB 스토리지 영역 네트워크입니다.이 서비스는 하루에 1억이 넘는 에러 리포트를 수신 및 처리하도록 프로비저닝되어 있습니다.이는 인터넷 [8]웜 등 관련된 글로벌이벤트에도 충분히 대응할 수 있습니다.

또, 디렉토리 서버에 의해서 오브젝트를 고려한 서비스도 제공할 수 있습니다.또한 수집하기 위해 정보가 저장되고 개체 및 리소스와 연결됩니다.디렉토리 서비스는 사용자가 이름을 지정하고 리소스를 찾아 네트워크리소스의 물리 주소를 기억할 필요가 없는 경우가 있습니다.

버킷

Microsoft Windows 에러 리포트(WER) 시스템에서는, 크래시 리포트는 「버킷」에 따라서 정리됩니다.버킷은 다음을 [9]기준으로 문제를 분류합니다.

  • 응용 프로그램 이름,
  • 응용 프로그램 버전,
  • 응용 프로그램 빌드 날짜,
  • 모듈명,
  • 모듈 버전,
  • 모듈 제조일,
  • OS 예외[10][11] 코드/시스템 오류 코드,[12][13]
  • 및 모듈 코드 오프셋.

각 버킷에는 하나의 근본 원인에 의해 발생하는 크래시 보고서가 포함되어 있는 것이 이상적입니다.그러나 이 이상적인 일대일 매핑이 해당되지 않는 경우가 있습니다.첫째, 그룹 장애로 인한 단일 장애의 원인이 여러 버킷에 있다는 경험입니다. 예를 들어 장애가 발생한 응용 프로그램이 다시 컴파일될 때마다 응용 프로그램에 새로운 모듈 빌드 날짜가 지정되고 그 결과 발생한 장애가 여러 버킷에 매핑됩니다.둘째, 장애 상태에 대한 특정 정보만 버킷링 알고리즘에 반영되므로 여러 개의 개별 버그를 단일 버킷에 매핑할 수 있습니다.예를 들어 응용 프로그램이 다른 기본 코드 결함으로 인해 다른 방식으로 손상된 문자열을 가진 strlen과 같은 단일 함수를 호출하면 장애가 동일한 buc에 매핑될 수 있습니다.같은 어플리케이션 등에서 같은 기능에서 크래쉬 하는 것처럼 보이기 때문에 ket.이 문제는 메모리 덤프에서 심볼 분석을 수행하지 않고 Windows OS 클라이언트에서 버킷이 생성되기 때문에 발생합니다.Windows Error Reporting 클라이언트가 선택하는 모듈은 스택 상단의 모듈입니다.많은 보고서를 조사하면 원래 버킷 [14]판별과는 다른 장애 모듈이 생성됩니다.

서드파티 소프트웨어

소프트웨어 및 하드웨어 제조업체는 Microsoft의 Windows Dev Center Hardware and Desktop Dashboard([15] Winqual) 프로그램을 사용하여 오류 보고서에 액세스할 수 있습니다.에러 리포트 데이터가 제품을 담당하는 엔지니어에게만 전달되도록 하기 위해 Microsoft에서는 VeriSign Class 3 Digital ID 또는 DigiCert [16]증명서를 취득할 것을 요구하고 있습니다.Thawte, Comodo, GlobalSign, GeoTrust, Cybertrust, Entrust, GoDaddy, QuoVadis, Trustwave, SecureTrust, WellsFargo 등의 저렴한 프로바이더에 의해 제공되는 디지털 인증서는 허용되지 않습니다.[17][18][19][20][21]

소프트웨어 및 하드웨어 제조업체는 오류 서명을 Windows 오류 보고 응답에 링크하여 고객과의 루프를 닫을 수도 있습니다.이를 통해 솔루션 배포 및 고객으로부터 추가 정보 수집(: 크래시 전에 수행한 절차 재현) 및 지원 링크를 제공할 수 있습니다.

미래의 소프트웨어에 미치는 영향

Microsoft 는, Windows 에러 리포팅으로부터 수집된 데이터가, 사내에서 소프트웨어를 개발하는 방법에 큰 차이를 가져왔다고 보고했습니다.예를 들어 2002년 Steve Ballmer는 오류 보고서를 통해 Windows 팀은 Windows XP SP1에서 발생한 모든 Windows XP 오류의 29%를 수정할 수 있었다고 지적했습니다.모든 Microsoft Office XP 오류의 절반 이상이 Office XP [22]SP2에서 수정되었습니다.성공은 부분적으로 80/20 법칙에 기초한다.에러 리포트 데이터를 보면, 유저가 볼 수 있는 문제의 대부분을 담당하는 작은 버그 세트가 있는 것을 알 수 있습니다.코드 결함의 20%를 수정하면 사용자가 겪는 문제의 80% 이상을 제거할 수 있습니다.New York Times 기사에서 오류 보고 데이터가 Windows Vista 및 Microsoft Office 2007 [23]베타 릴리스에서 발생한 문제를 수정하는 데 중요한 역할을 했음이 확인되었습니다.

NSA에 의한 프라이버시 문제 및 사용

Microsoft 에서는 프라이버시 보증을 실시하고 있습니다만, Windows 에러 리포팅이 컴파일 해 Microsoft 에 반송하는 메모리 및 애플리케이션 데이터에는, 개인을 특정할 수 있는 정보가 포함되어 있을 가능성이 있습니다.그들은 개인 데이터가 마이크로소프트에 전송될 경우 마이크로소프트의 개인 정보 [24][25]보호 정책에 따라 사용자 식별에 사용되지 않을 것이라고 주장한다.그러나 Microsoft에 문제를 보고할 때 사용자는 Microsoft의 파트너도 신뢰해야 합니다.약 450명의 파트너가 장치 드라이버[26]앱과 관련된 기록을 보기 위해 오류 보고 데이터베이스에 액세스할 수 있습니다.

이전 버전의 WER는 암호화 없이 데이터를 전송합니다.Windows 8의 WER만이 TLS [27]암호화를 사용합니다.2014년 3월에 Microsoft는 [28]WER의 첫 번째 단계를 암호화하는 Windows Vista, 7 및 Server 2008용 업데이트(KB29733)를 릴리스했습니다.

2013년 12월, 한 독립 연구소에서 새로운 USB 장치를 [27]PC에 연결하면 WER가 자동으로 Microsoft에 정보를 전송하는 것을 발견했습니다.

Der Spiegel에 따르면, MS 크래시 리포터는 NSA의 TAO 부대에 의해 멕시코 공안국의 컴퓨터를 해킹하기 위해 악용되었다고 한다.같은 소식통에 따르면 Microsoft 크래시 리포트는 NSA의 XKeyscore 데이터베이스에서 자동으로 수집되어 이러한 [29]작업을 용이하게 합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b WER 서비스란?
  2. ^ WER 동의 설정 및 해당 UI 동작 개요
  3. ^ 0x0 0x0 솔루션
  4. ^ (매우 큰) 디버깅:10년간의 도입과 경험
  5. ^ WER CACM상 킨슈만
  6. ^ WER API
  7. ^ Windows 오류 보고 문제 단계 레코더
  8. ^ (매우 큰) 디버깅:10년간의 도입과 경험
  9. ^ WER에서 오류 보고서를 수집하고 분류하는 방법
  10. ^ "NTSTATUS values". Microsoft. Retrieved 2015-06-08.
  11. ^ "Bug Check Code Reference". Microsoft. Retrieved 2015-06-08.
  12. ^ "System Error Codes (Windows)". Microsoft. Retrieved 2015-06-08.
  13. ^ "HRESULT Values". Microsoft. Retrieved 2015-06-08.
  14. ^ MSDN 블로그 > WER 서비스 > 항상 바뀌는 것은 변화뿐– 파트 1
  15. ^ SysDev(Winqual) 웹사이트
  16. ^ 코드 서명 인증서 업데이트
  17. ^ Windows 오류 보고서 소개
  18. ^ WinQual 등록 헤드애치
  19. ^ Microsoft 지원 포럼: Thawte 오센티코드 서명된 앱을 사용한 WER
  20. ^ 오래된 신기능: 기업이 Windows 오류 보고 데이터에 액세스하는 방법
  21. ^ 훌륭한 디지털 인증서 바가지요?
  22. ^ Steve Ballmer의 편지: 고객과의 연결
  23. ^ 구제업자의 과제
  24. ^ 오류 보고서를 위한 Microsoft 개인 정보 보호 정책
  25. ^ Office 사용 시 응용 프로그램 오류 보고에서 최종 사용자 개인 정보 보호 정책에 대한 설명
  26. ^ Bekker, Scott (3 October 2002). "Microsoft Error Reporting Drives Bug Fixing Efforts". Redmond Partner Channel. 1105 Redmond Media Group.
  27. ^ a b "Are Your Windows Error Reports Leaking Data?". Websense Security Labs. 29 Dec 2013. Retrieved 4 January 2014.
  28. ^ "The first stage of the WER protocol is not SSL encrypted in Windows". Microsoft. 11 March 2014. Retrieved 10 January 2015.
  29. ^ 인사이드 TAO: 주요 NSA 해킹 유닛을 폭로하는 문서