الإبلاغ عن أخطاء ويندوز
الإبلاغ عن أخطاء ويندوز أو 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 Responses. تعمل خدمة الإبلاغ عن الأخطاء لويندوز كخدمة Windows ويمكن اختياريًا تعطيلها تمامًا متى ماشاء المستخدم. في حالة تعطل خاصية Windows Error Reporting نفسها، عندئذٍ لا يمكن إرسال تقرير عن الخطأ بأن العملية المتعطلة الأصلية قد تم إرسالها على الإطلاق. Kinshuman هو المصمم الأصلي لـ Windows Error Reporting في نظام التشغيل Vista وهو نفس التصميم والتنفيذ الموجود في إصدارات ويندوز الحالية.[3]
نبذة تاريخية
[عدل]ويندوز إكس بي
[عدل]قدمت شركة مايكروسوفت أولاً خدمة الإبلاغ عن الخطأ لـ ويندوز مع نظام التشغيل Windows XP .[1]
ويندوز فيستا
[عدل]تم تحسين الإبلاغ عن أخطاء ويندوز بشكل ملحوظ في نظام التشغيل Windows Vista . والأهم من ذلك، أنه تم إنشاء مجموعة جديدة من واجهات برمجة التطبيقات (APIs) العامة للإبلاغ عن حالات الفشل بخلاف تعطل التطبيقات وتوقفها.[4] يمكن للمطورين إنشاء تقارير مخصصة وتخصيص واجهة مستخدم إعداد التقارير. يتم توثيق واجهات برمجة التطبيقات الجديدة في MSDN. تم تجديد بنية وهندسة Windows Error Reporting مع التركيز على خواص ومعايير الموثوقية وتجربة المستخدم. يمكن لخدمة الإبلاغ عن أخطاء ويندوز الآن الإبلاغ عن الأخطاء حتى عندما تكون العملية في حالة سيئة للغاية، على سبيل المثال، إذا واجهت العملية استنفاد مكدس، وفساد PEB / TEB ، وإفساد الكومة، إلخ. في أنظمة التشغيل السابقة قبل Windows Vista ، يتم إنهاء العملية عادةً بصمت دون إنشاء تقرير خطأ في هذه الظروف. كما تم تقديم برنامج لوحة تحكم جديد، «تقارير المشكلات وحلولها»، مع الاحتفاظ بسجل لأخطاء النظام والتطبيقات والمشاكل، بالإضافة إلى تقديم حلول محتملة للمشاكل.
ويندوز 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 تيرابايت تخزن ما يصل إلى 6 أشهر من ملفات CAB الخام. يتم توفير الخدمة لتلقي ومعالجة أكثر من 100 مليون تقرير خطأ يوميًا، وهو ما يكفي للبقاء على قيد الحياة مع الأحداث العالمية المرتبطة مثل ديدان الإنترنت.[6]
المجموعات
[عدل]في نظام Microsoft Windows Error Reporting (WER)، يتم تنظيم تقارير الأعطال وفقًا لـ «مجموعات». تصنف المجموعات القضايا حسب:[7]
- اسم التطبيق،
- إصدار التطبيق،
- تاريخ بناء التطبيق،
- اسم الوحدة،
- نسخة الوحدة،
- تاريخ بناء الوحدة،
- رمز استثناء نظام التشغيل [8][9] / رمز خطأ النظام، [10][11]
- وحدة رمز الإزاحة.
من الناحية المثالية، تحتوي كل مجموعة على تقارير الأعطال الناتجة عن نفس الخطأ. ومع ذلك، هناك نوعان من الضعف في مجموعات WER ، أولاً: نقاط الضعف في الاستدلال التكثيفي، والتي تؤدي إلى رسم الخرائط للتقارير من الشوائب في عدد كبير جدا من المجموعات. على سبيل المثال، إذا قمت بترجمة التطبيق الخاص بك مرة أخرى دون أي تغييرات، فسيتغير تاريخ إنشاء الوحدة النمطية ولكن سيتم وضع نفس التعطل في مجموعة أخرى. ثانياً: نقاط الضعف في الاستدلال التوسعي، والتي تؤدي إلى تعيين أكثر من خطأ في نفس المجموعة. على سبيل المثال، في حالة تعطل عطلان مختلفان داخل دالة strlen ، فلن يكون هناك سوى مجموعة واحد لكليهما. يحدث هذا بسبب إنشاء المجموعة على عميل نظام التشغيل ويندوز دون إجراء أي تحليل للرموز على تفريغ الذاكرة. الوحدة النمطية التي يتم التقاطها من قبل العميل Windows Error Reporting هي الوحدة النمطية في الجزء العلوي من المكدس. ينتج عن تحقيقات العديد من التقارير وحدة نمطية للخطأ، وهي تختلف عن تحديد المجموعة الأصلي.[12]
برامج الطرف الثالث
[عدل]يمكن لمصنّعي البرامج والأجهزة الوصول إلى تقارير الأخطاء الخاصة بهم باستخدام برنامج Microsoft Dev Center لأجهزة سطح المكتب والأجهزة (سابقًا Winqual).[13] للتأكد من أن بيانات الإبلاغ عن الأخطاء تذهب فقط إلى المهندسين المسؤولين عن المنتج، تطلب Microsoft من البائعين المهتمين بالحصول على شهادة VeriSign Class 3 الرقمية أو شهادة DigiCert .[14] الشهادات الرقمية المقدمة من قبل مرخصين (مثل THAWTE ، Comodo ، GlobalSign ، GeoTrust ، Cybertrust ، Entrust ، GoDaddy أو، QuoVadis ، Trustwave ، SecureTrust ، Welles Fargo تعتبر غير مقبولة).[15][16][17][18][19]
يمكن لمصنّعي البرامج والأجهزة أيضًا إغلاق الحلقة مع عملائهم عن طريق ربط توقيعات الخطأ باستجابات الإبلاغ عن أخطاء ويندوز. يسمح ذلك بتوزيع الحلول بالإضافة إلى جمع معلومات إضافية من العملاء (مثل إعادة إنتاج الخطوات التي اتخذوها قبل التعطل) وتزويدهم بروابط دعم.
التأثير على البرامج المستقبلية
[عدل]أبلغت شركة مايكروسوفت أن البيانات التي تم جمعها من Windows Error Reporting قد أحدثت فرقًا كبيرًا في طريقة تطوير البرامج داخليًا. على سبيل المثال، في عام 2002، لاحظ Steve Ballmer أن تقارير الأخطاء مكنت فريق Windows من إصلاح 29 ٪ من جميع أنظمة تشغيل ويندوز وأخطاء XP في نظام التشغيل Windows XP المزود بحزمة الخدمة SP1. تم إصلاح أكثر من نصف أخطاء Microsoft Office XP باستخدام Office XP SP2.[20] يعتمد النجاح جزئيًا على مبدأ قاعدة 80/20 . تكشف بيانات الإبلاغ عن الأخطاء أن هناك مجموعة صغيرة من الأخطاء المسؤولة عن الغالبية العظمى من المشكلات التي يراها المستخدمون. يمكن أن يؤدي إصلاح 20٪ من عيوب التعليمات البرمجية إلى القضاء على 80٪ أو أكثر من المشكلات التي يواجهها المستخدمون. أكد مقال في صحيفة نيويورك تايمز أن بيانات الإبلاغ عن الأخطاء كانت مفيدة في إصلاح المشكلات التي شوهدت في إصدارات ويندوز التجريبية وويندوز فيستا ومايكروسوفت أوفيس 2007 .[21]
مخاوف الخصوصية واستخدامها من قبل وكالة الأمن القومي
[عدل]على الرغم من أن مايكروسوفت قد قدمت ضمانات للخصوصية، فإنها تقر بأنه يمكن تضمين معلومات التعريف الشخصية في بيانات الذاكرة والتطبيق التي تم تجميعها في 100-200 كيلوبايت "minidumps" وأن Windows Error Reporting يقوم بجمعها وإرسالها مرة أخرى إلى مايكروسوفت. تقوم مايكروسوفت أنه في حالة إرسال البيانات الشخصية إليهم، فلن يتم استخدامها لتحديد المستخدمين، وفقًا لسياسة الخصوصية لدى شركة مايكروسوفت.[22][23] ولكن في الإبلاغ عن المشكلات إلى مايكروسوفت، يحتاج المستخدمون إلى الوثوق بشركاء مايكروسوفت أيضًا. تم منح حوالي 450 شريكًا حق الوصول إلى قاعدة بيانات الإبلاغ عن الأخطاء لمشاهدة السجلات المتعلقة ببرامج تشغيل الأجهزة والتطبيقات الخاصة بهم.[24]
الإصدارات القديمة من WER ترسل البيانات دون تشفير؛ يستخدم فقط WER من Windows 8 تشفير TLS.[25] في شهر مارس من عام 2014، أصدرت شركة مايكروسوفت تحديثًا (KB2929733) لنظام التشغيل Windows Vista و 7 و Server 2008 الذي يشفر المرحلة الأولى من WER.[26]
في شهر ديسمبر بعام 2013، وجد مختبر مستقل أن WER يرسل المعلومات تلقائيًا إلى مايكروسوفت عند توصيل جهاز USB جديد بالكمبيوتر.[25]
وفقًا لـ Der Spiegel ، تم استغلال مراسل الأعطال في مايكروسوفت بواسطة وحدة TAO التابعة لوكالة الأمن القومي لاختراق أجهزة الكمبيوتر التابعة للأمانة العامة للمكسيك. وفقًا للمصدر نفسه، يتم حصاد تقارير تعطل مايكروسوفت تلقائيًا في قاعدة بيانات XKeyscore التابعة لوكالة الأمن القومي، من أجل تسهيل هذه العمليات.[27]
المراجع
[عدل]- ^ ا ب What are WER Services? نسخة محفوظة 4 مارس 2016 على موقع واي باك مشين.
- ^ An overview of WER consent settings and corresponding UI behavior نسخة محفوظة 4 مارس 2016 على موقع واي باك مشين. [وصلة مكسورة]
- ^ Debugging in the (Very) Large: Ten Years of Implementation and Experience نسخة محفوظة 28 مارس 2018 على موقع واي باك مشين.
- ^ WER APIs نسخة محفوظة 17 أبريل 2008 على موقع واي باك مشين.
- ^ Windows Error Reporting Problem Steps Recorder نسخة محفوظة 24 فبراير 2017 على موقع واي باك مشين.
- ^ Debugging in the (Very) Large: Ten Years of Implementation and Experience نسخة محفوظة 18 يونيو 2018 على موقع واي باك مشين.
- ^ How WER collects and classifies error reports نسخة محفوظة 15 مارس 2016 على موقع واي باك مشين.
- ^ "NTSTATUS values". Microsoft. مؤرشف من الأصل في 2019-01-20. اطلع عليه بتاريخ 2015-06-08.
- ^ "Bug Check Code Reference". Microsoft. مؤرشف من الأصل في 2016-06-24. اطلع عليه بتاريخ 2015-06-08.
- ^ "System Error Codes (Windows)". Microsoft. مؤرشف من الأصل في 2017-03-30. اطلع عليه بتاريخ 2015-06-08.
- ^ "HRESULT Values". Microsoft. مؤرشف من الأصل في 2019-01-26. اطلع عليه بتاريخ 2015-06-08.
- ^ MSDN Blogs > WER Services > The only thing constant is change – Part 1 نسخة محفوظة 5 مارس 2016 على موقع واي باك مشين.
- ^ SysDev (was Winqual) website نسخة محفوظة 3 أغسطس 2018 على موقع واي باك مشين.
- ^ Update a code signing certificate نسخة محفوظة 26 أغسطس 2016 على موقع واي باك مشين.
- ^ Introducing Windows Error Reporting نسخة محفوظة 20 نوفمبر 2015 على موقع واي باك مشين.
- ^ WinQual Registration Head Aches نسخة محفوظة 19 أكتوبر 2016 على موقع واي باك مشين.
- ^ Microsoft Support Forum: WER with Thawte authenticode signed app نسخة محفوظة 16 نوفمبر 2012 على موقع واي باك مشين.
- ^ The Old New Thing: How can a company get access to Windows Error Reporting data? نسخة محفوظة 1 أكتوبر 2009 على موقع واي باك مشين.
- ^ The great digital certificate ripoff? نسخة محفوظة 22 نوفمبر 2018 على موقع واي باك مشين.
- ^ Steve Ballmer's letter: Connecting to customers نسخة محفوظة 9 أبريل 2017 على موقع واي باك مشين.
- ^ A challenge for exterminators نسخة محفوظة 13 مايو 2013 على موقع واي باك مشين.
- ^ Microsoft Privacy Statement for Error Reporting نسخة محفوظة 10 أكتوبر 2012 على موقع واي باك مشين.
- ^ Description of the end user privacy policy in application error reporting when you are using Office نسخة محفوظة 25 أغسطس 2014 على موقع واي باك مشين.
- ^ Bekker، Scott (3 أكتوبر 2002). "Microsoft Error Reporting Drives Bug Fixing Efforts". Redmond Partner Channel. 1105 Redmond Media Group. مؤرشف من الأصل في 2017-02-02.
- ^ ا ب "Are Your Windows Error Reports Leaking Data?". Websense Security Labs. 29 ديسمبر 2013. مؤرشف من الأصل في 2020-06-30. اطلع عليه بتاريخ 2014-01-04.
- ^ "The first stage of the WER protocol is not SSL encrypted in Windows". Microsoft. 11 مارس 2014. مؤرشف من الأصل في 2015-01-10. اطلع عليه بتاريخ 2015-01-10.
- ^ Inside TAO: Documents Reveal Top NSA Hacking Unit نسخة محفوظة 6 فبراير 2019 على موقع واي باك مشين.