الخلاصة
- تسلسلت شهادة Flame المزورة إلى جذر Microsoft من دون استخراج مفتاحه الخاص. أتاحت حقول الإصدار المتوقعة وخاصية تصادم MD5 ببادئتين مختارتين أن يصح توقيع سلطة الترخيص على شهادتين مختلفتين، إحداهما بلا الامتداد الحرج الذي كان سيمنع استخدامها لتوقيع الشيفرة على إصدارات Windows الحديثة.
- لم يكن الإصلاح إلغاء شهادة منفردة. سحبت Microsoft الثقة من هرم الترخيص القديم كله، ونقلت البديل إلى جذر مستقل لا تثق به أجهزة Windows العادية، وأزالت توقيع الشيفرة، وقيدت السلسلة الجديدة بالترخيص، وعززت قناة التحديث وتوزيع قوائم عدم الثقة.
سلسلة صحيحة أجابت عن سؤال غير صحيح
في يونيو 2012 وجدت Microsoft ملفاً ذا توقيع رقمي يصل، عند التحقق، إلى سلطة جذرية تابعة لها. يبدو ذلك كإجابة عن سؤال: هل أصدرت Microsoft هذا الملف؟ لكنه في الحقيقة يجيب عن أسئلة أضيق: هل وقّع مفتاح معين هذا الملخص، وهل يقبل العميل سلسلة التفويض التي تقود إليه؟
لا يجيب التحقق وحده عما إذا كانت بنية أُنشئت لترخيص Remote Desktop مخولة بتوقيع برنامج أو تحديث نظام. هذه السلطة تتكون من سياسة الإصدار، واستعمال المفتاح، والاستعمال الموسع، والامتدادات الحرجة، وقواعد التطبيق، وحالة الثقة المحلية على الجهاز.
أعلنت النشرة الأمنية 2718704 وجود هجمات نشطة تستعمل شهادات غير مصرح بها مشتقة من سلطة Microsoft. قاد التحقيق إلى Terminal Server Licensing Service. كانت المهمة التجارية ضيقة، لكن الخدمة استخدمت خوارزمية قديمة وانتمت إلى هرم يستطيع إنتاج شهادات ذات قدرة على توقيع الشيفرة.
لذلك لم يكن الخلل مجرد بقاء MD5. فقد كان باب تسجيل خارجي لخدمة ترخيص يصل إلى جذر تُفهم سلطته في قرارات أعلى خطراً. تحولت وحدة الملكية المؤسسية إلى قابلية تقنية لتبادل الصلاحيات.
ينبغي ألا يسجل جرد PKI الجذر بوصفه «موثوقاً» فقط. يجب أن يذكر القرارات التي تستطيع كل سلسلة تحته تشغيلها: تنفيذ شيفرة، أو تعريف خادم، أو تسجيل جهاز، أو تفعيل منتج، أو قبول تحديث. إذا استطاع مُصدر منخفض الحساسية تفعيل قرار عالي الحساسية، فهناك ترقية صلاحية داخل رسم الثقة.
حين يصبح الإصدار المتوقع أداة توقيع
لم يتطلب التسجيل لشهادة الترخيص دخولاً إلى PKI الداخلية لـMicrosoft. كان التوقيع md5RSA، وفترات الصلاحية معروفة، والأرقام التسلسلية قابلة للتوقع باحتمال مرتفع. جمعت العملية بذلك الشروط التي تسمح بالحساب قبل أن توقع السلطة الشرعية.
في تصادم البادئتين المختارتين، يبني المهاجم مقدمتين مختلفتين. الأولى لكائن مشروع يقدمه إلى المُصدر، والثانية للشهادة التي يريد استعمالها. تُحسب لاحقتان تجعل الكائنين الكاملين ينتجان ملخص MD5 نفسه. توقع السلطة ملخص الكائن المشروع، لكن التوقيع يتحقق أيضاً على الآخر.
هذا ليس تعديلاً حراً لشهادة بعد إصدارها، وليس استرجاعاً للمفتاح الخاص. يتطلب الأمر التأثير في بنية الرسالة قبل الإصدار، وتوقع عدد كاف من الحقول، والحصول على عملية توقيع حقيقية. كانت خدمة الترخيص تؤدي تلك العملية ذات الامتياز.
يفصل الجرد التقليدي بين الخوارزمية وبوابة التسجيل وقالب الشهادة والجذر. كشف Flame أن الخطر في حاصل ضربها: دالة ضعيفة أمام التصادم، ومدخلات يصوغها طالب الشهادة، وحقول يمكن توقعها، وجذر يمنح النتيجة قيمة واسعة.
كان أي فصل حقيقي سيغير المسار: دالة مقاومة للتصادم، أو قيم إصدار غير متوقعة، أو جذر لا تقبله الأجهزة العامة، أو قيد غرض تفرضه جميع الأطراف. أمن PKI ليس عدد الضوابط المكتوبة، بل القدرة المتبقية بعد تركيبها.
التصادم لم يستخرج مفتاح Microsoft
خلص محلل التعمية Marc Stevens في CWI إلى أن Flame استخدم صيغة لم تكن معروفة آنذاك من هجوم التصادم ذي البادئتين المختارتين. لم يكن مجرد إعادة تطبيق مباشرة لبناء 2009 المنشور، وإن كانت البحوث السابقة قد أثبتت إمكان إكمال شهادتي X.509 مختلفتين إلى ملخص MD5 واحد.
هذا التفريق يحدد الاستجابة الصحيحة. لا تقول المصادر إن مفتاح جذر أو مفتاحاً وسيطاً لـMicrosoft قد سُرق. حافظت السلطة الشرعية على مفتاحها ونفذت توقيعاً عادياً. الذي انهار هو تفرد معنى التوقيع: موافقة على كائن واحد أصبحت موافقة على كائن ثان ذي صلاحية مختلفة.
ولا يصح التقليل من الحادث لأن المفتاح لم يغادر حمايته. حفظ المفتاح حد واحد فقط. فإذا وقعت CA بنيةً يؤثر فيها الخصم بدالة لا توفر مقاومة التصادم المطلوبة، أمكن نقل السلطة إلى الخارج من دون نقل السر.
ذكر RFC 6151 عام 2011 أن MD5 لم يعد مقبولاً حين تكون مقاومة التصادم مطلوبة، ومنها التوقيعات الرقمية، وميّز ذلك عن خصائص HMAC-MD5. لذلك لا يكفي إنذار يعثر على كلمة MD5. السؤال التشغيلي هو: من يصوغ الرسالة، وما الخاصية المطلوبة، وما القرار الذي سيرثه الكائن المصطدم؟
الامتداد الحرج كان أمراً بالرفض
احتوت شهادة الترخيص المعتادة على CRL Distribution Point وAuthority Information Access وامتداد Microsoft Hydra حرج. أما الشهادة المرتبطة بـFlame فلم تحتو الامتدادات المتوقعة بالصورة العادية.
كلمة «حرج» في X.509 ليست وصفاً للأهمية. إنها أمر إلى الطرف المعتمد: إذا لم يفهم الامتداد فعليه رفض الشهادة. ويوضح RFC 5280 أيضاً أن Key Usage وExtended Key Usage يقيدان الغرض معاً عند وجودهما.
نفذت Windows Vista والإصدارات الأحدث رفضاً متعلقاً بـHydra، ولذلك لم تكن شهادة الترخيص العادية صالحة لغرض المهاجم. وفق Microsoft، كان التصادم لازماً لصنع شهادة أخرى بلا القيد الحرج مع إبقاء ملخص MD5 الموقع. أما الأنظمة السابقة لـVista فكان الهجوم ممكناً عليها من دون التصادم. هذه نتيجة تخص سلوك أجيال Windows المذكورة، ولا يجوز تعميمها على كل مكتبة X.509.
وجود امتداد في قالب لا يجعله ضابطاً. يجب أن يكون داخل البيانات الموقعة، وألا يسقط في مسار إصدار بديل، وأن يحمل وسم الحرج حين يلزم، وأن يسبب رفضاً قابلاً للقياس في كل عميل مهم. لم يقنع Flame العميل الحديث بتجاهل قاعدة؛ بل قدم كائناً اختفت منه القاعدة.
ينبغي للاختبار أن يثبت الفشل المغلق: تُختبر الشهادة مع امتدادها، ومن دونه، ومع امتداد مجهول أو تالف. الدليل على تقييد الغرض هو «لا» التي يصدرها العميل فعلاً، لا نية القالب.
احتاج التوقيع إلى موضع للتسليم
أوضحت Microsoft أن انتحال Windows Update احتاج إلى الشهادة غير المصرح بها وإلى موضع رجل في الوسط. كان لا بد من إيصال الحزمة الموقعة إلى آلية التحديث. لا تصف المصادر استيلاءً على خوادم Windows Update المركزية.
اجتمعت ثلاث قدرات محدودة: أنشأت الشهادة منشأً يبدو مقبولاً؛ أتاح موضع الشبكة استبدال الرد؛ وقررت سياسة عميل التحديث هل يكفي التوقيع المتسلسل إلى جذر Microsoft لتفويض الحزمة.
يمنع هذا التفكيك خطأين. إلغاء الشهادة لا يلغي كل تسليم عدائي، وتقوية القناة لا تكفي مع بقاء شهادة شيفرة غير مشروعة مقبولة. هوية الموقع، وصلاحيته للمنتج المحدد، وسلامة النقل حدود مستقلة.
في المؤسسات تضيف الوكلاء وذاكرات التخزين وWSUS وSCCM وفحص TLS وحل الأسماء الداخلي مواضع قادرة على وضع كائن أمام المدقق. ليست هذه العناصر إسناداً للحادث، لكنها جزء من نموذج القدرة الذي ينبغي تدقيقه.
سحب الثقة من فئة كاملة
نقلت Microsoft ثلاث شهادات وسيطة إلى مخزن Windows غير الموثوق: شهادتي Microsoft Enforced Licensing Intermediate PCA وشهادة Microsoft Enforced Licensing Registration Authority CA (SHA1). ثم أبطلت هرم CA الخاص بترخيص Terminal Server، حاضره وماضيه.
كان الإجراء أوسع من الشهادة المرصودة عمداً. إذا تعذر حصر القوالب والشهادات الشقيقة والتاريخ بسرعة، يترك الإلغاء الضيق قدرة مجهولة. اختارت Microsoft إنهاء فئة السلطة لتقليل تقليد الهجوم، مع قبول أثر تشغيلي أكبر.
أصبح البديل أضيق: جذر مستقل لا تثق به أجهزة Windows العادية، ولا شهادات لتوقيع الشيفرة، وExtended Key Usage مخصص للترخيص وغير مستخدم للشيفرة. بقيت الوظيفة التجارية من دون أن ترث سلطة الجذر العام.
وعززت Microsoft Windows Update وأضافت آلية تلقائية لتحديث Disallowed Certificate Trust List. صار من الممكن نشر قرار عدم الثقة من دون انتظار تحديث يدوي منفصل كل مرة. تحولت القدرة على الرفض إلى مسار تشغيلي موزع.
إزالة السلطة لها كلفة تشغيلية
لم تُلغ تراخيص Terminal Server Client Access Licenses القائمة. لكن من أراد إعداد خادم ترخيص أو إعادة تفعيله أو تثبيت حزمة CAL جديدة احتاج إلى إعادة التفعيل بسبب تغير شهادات Product Activation Clearinghouse.
يكشف هذا التفصيل التزاماً خفياً. الثقة الواسعة تبدو رخيصة حتى يحين وقت سحبها. وإذا لم تعرف المؤسسة الأعمال المشروعة التابعة للجذر، فسوف تتردد بين إبقاء الخطر وإحداث عطل مجهول.
يجب تصميم الخروج مسبقاً: جرد العملاء المعزولين، وتوزيع مستقل لعدم الثقة، وجذر بديل، ومسار إعادة تفعيل، واتصال إداري، وإثبات أن السلسلة الجديدة لا تعيد سلطة توقيع الشيفرة. سرعة الإلغاء خاصية معمارية لا حيلة طارئة.
وفق مبدأ Lu Heng عن أولوية الشيفرة العاملة، الحالة الحاسمة هي ما تقبله الأجهزة فعلياً. سياسة معلنة لا تزيل سلسلة لا تزال موثوقة، وقائمة موزعة لا تحمي جهازاً لم يستقبلها. السيادة العملية على الثقة هي القدرة على تغيير حالة القبول لدى السكان المعنيين.
حدود الأدلة
تثبت المصادر الرسمية الاستغلال النشط والشهادة المزورة والاستجابة، لكنها لا تقدم عدداً كاملاً للضحايا أو لكل نشر Flame. ولا تسند الوثائق المستخدمة المسؤولية إلى دولة أو منظمة أو فرد؛ الإسناد خارج النطاق.
لا يعني التصادم استرجاع مفتاح أو تعديل أي شهادة قائمة اعتباطاً. والفرق بين ما قبل Vista وما بعده خاص بسلوك Windows الموصوف. احتاج انتحال التحديث إلى موضع تسليم ولم يكن اختراقاً موثقاً للخدمة المركزية.
استعمال SHA-1 في الهرم البديل حقيقة تاريخية لا ينبغي مساواتها بأثر رجعي بتصادم MD5 لعام 2012. توفر RFCs سياق المعايير لا تسلسل الحادث. ويُستخدم نصا Lu Heng إطاراً تحليلياً معلناً لا دليلاً على الوقائع.
المصادر
- النشرة الأمنية 2718704 من Microsoft
- إصدار النشرة الأمنية 2718704
- شرح هجوم التصادم في Flame
- تفاصيل التصادم ونشر تحديث Windows
- تحديث قائمة الثقة ونشرات يونيو 2012
- سبب إعادة تفعيل خوادم الترخيص
- CWI: صيغة تعمية جديدة في Flame
- تقرير CWI التقني
- RFC 5280
- RFC 6151
- Lu Heng: أولوية الشيفرة العاملة
- Lu Heng: سيادة البيانات
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات