
تقييم وخدمة مستقلّان لتبديل شهادات Secure Boot للأعوام 2011 إلى 2023 (CVE-2023-24932 / KB5025885). وضع التقييم فقط افتراضيًا؛ لا تبعيات، ولا شبكة، ولا تتبع.
سكربت PowerShell واحد ومستقل بذاته يقيّم وضع شهادات Secure Boot على جهاز Windows بخصوص الاستبدال 2011 ← 2023 (CVE-2023-24932 / KB5025885)، وفقط عندما تطلب منه ذلك صراحةً، يُشترك بالجهاز في خط أنابيب الصيانة من Microsoft.
نُشر بواسطة Exchange Technology Services للعملاء والشركاء الذين يديرون أجهزتهم الطرفية الخاصة بهم.
شهادات Secure Boot التي أصدرتها Microsoft في 2011 تنتهي صلاحيتها ويجري استبدالها بنسخ 2023.
| الشهادة | التاريخ | المخزن | الدور |
|---|
| Microsoft Corporation KEK CA 2011 | منتهية الصلاحية 24 يونيو 2026 | KEK | يصرّح بالتحديثات على DB وDBX |
| Microsoft UEFI CA 2011 | منتهية الصلاحية 27 يونيو 2026 | DB | يوقّع مُحمِّلات الطرف الثالث / خيارات ROM |
| Windows Production PCA 2011 | 19 أكتوبر 2026 | DB | يوقّع مُحمِّل إقلاع Windows |
لن يتوقف أي جهاز عن الإقلاع في أيٍّ من هذه التواريخ. توجيهات Microsoft هي أن الجهاز الذي يبلغ نهاية الصلاحية دون الشهادات الجديدة «سيظل يُقلع ويعمل بشكل طبيعي».
ما يُفقَد هو القدرة على تلقي تحديثات الأمان المبكرة للإقلاع — عمليات إبطال Secure Boot جديدة، وتخفيفات تجاوز BitLocker، وإصلاحات مُدير الإقلاع. هذا تراكُم للتعرض للخطر وليس انقطاعًا للخدمة.
بعد 19 أكتوبر 2026، سيتوقف الجهاز الذي لم يتلقَّ برنامجه الثابت Windows UEFI CA 2023
مطلقًا أيضًا عن التحقق من وسائط إقلاع Windows الموقَّعة حديثًا، وهو ما قد يؤثر على
وسائط الاسترداد والتثبيت وPXE.
KEK هي البوابة. بدون Microsoft Corporation KEK 2K CA 2023 في البرنامج الثابت،
لا يمكن لـ Windows Update تسليم تحديث DB إطلاقًا. الجهاز الذي يفتقدها لا يمكن معالجته
حتى تصل KEK عبر Windows Update أو تحديث BIOS من الشركة المصنعة (OEM). هذا هو
العائق الأكثر شيوعًا عمليًا، ويُبلغ السكربت عنه صراحةً بدلاً من كتابة قيمة
لن تُجدي نفعًا.
| الخاصية | التفاصيل |
|---|---|
| السلوك الافتراضي | التقييم فقط. لا كتابة إطلاقًا بدون -Apply. |
| التبعيات | لا شيء. لا وحدات نمطية، ولا مُثبِّت. Windows PowerShell 5.1. |
| الوصول إلى الشبكة | لا شيء. لا يتصل بأي مضيف أبدًا. |
| القياس عن بُعد / إعداد التقارير | لا شيء. كل ما يجده يطبعه على وحدة التحكم لديك. لا يغادر الجهاز أي شيء. |
| مفاتيح استرداد BitLocker | لا تُقرأ أو تُطبع أو تُنقل أبدًا. يتحقق فقط مما إذا كان حامي كلمة مرور الاسترداد موجودًا. |
ما تكتبه -Apply | قيمة سجل واحدة بالضبط: AvailableUpdates = 0x5944 تحت HKLM\SYSTEM\CurrentControlSet\Control\Secureboot. الاشتراك الموثَّق في KB5025885. إضافي — يضيف شهادة 2023 دون إزالة شهادة 2011. |
| إجراءات لا رجعة فيها | رفض صارم. بت الإبطال 0x80 في DBX دائم ما دام Secure Boot مفعَّلًا؛ يرفض السكربت أي قيمة تحمله ما لم يُمرَّر -AllowRevocation صراحةً. لا تمرِّره. |
| إعادة التشغيل | لا يعيد تشغيل الجهاز أبدًا ولا يطلب من المستخدم أي شيء. |
Windows PowerShell 5.1، بصلاحيات المسؤول — قراءة متغيرات UEFI تتطلب صلاحيات مرتفعة.
1. إلغاء حظر الملف (يحظر Windows السكربتات التي تم تنزيلها):
Unblock-File .\Invoke-SecureBootCertServicing.ps1
2. التقييم — آمن ولا يُجري أي تغييرات:
powershell.exe -ExecutionPolicy Bypass -File .\Invoke-SecureBootCertServicing.ps1
3. التطبيق، فقط إذا قال التقييم إن الجهاز جاهز:
.\Invoke-SecureBootCertServicing.ps1 -Apply -SuspendBitLocker
يُكتب التقرير باستخدام Write-Host، لذا يظهر على وحدة التحكم ويُسجَّله
Start-Transcript. إعادة التوجيه البسيطة > لن تلتقطه، ولن
يلتقطه أيضًا تمريره إلى أمر آخر.
Start-Transcript C:\Temp\secureboot.log
.\Invoke-SecureBootCertServicing.ps1
Stop-Transcript
للحصول على نسخة قابلة للقراءة آليًا، وهي مفيدة عند جمع النتائج عبر أسطول من الأجهزة:
.\Invoke-SecureBootCertServicing.ps1 -JsonPath C:\Temp\secureboot.json
| الحكم | المعنى | رمز الخروج |
|---|---|---|
ReadyToArm | KEK 2023 موجودة، DB لم تُرحَّل بعد، لم يتم الاشتراك. -Apply هي الخطوة التالية. | 0 |
HalfMigrated | البرنامج الثابت يثق بشهادة 2023 لكن الجهاز ما زال يُقلع بمُحمِّل موقَّع بشهادة 2011. جيد اليوم؛ لكنه سيفشل في الإقلاع إذا أُبطِلت شهادة 2011 يومًا ما. ما زال بحاجة إلى تحديث مُدير الإقلاع. | 0 |
HalfMigrated-Armed | كما سبق، ومُشترك بالفعل. أعد تشغيل الجهاز — لا تشغِّل -Apply مرة أخرى. | 0 |
AlreadyQueued | مُشترك، في انتظار الطرح التدريجي من Microsoft. | 0 |
InProgress / RebootPending | الصيانة جارية. أعد التشغيل وأعد التنفيذ لمتابعة التقدم. | 0 |
FullyMigrated | اكتمل. مُدير الإقلاع موقَّع بإصدار 2023. | 2 |
BlockedNoKek2023 | KEK 2023 مفقودة. ثبِّت تحديثات Windows المعلَّقة و/أو تحديث BIOS من الشركة المصنعة أولًا. | 3 |
BlockedFirmwareKek | البرنامج الثابت لا يحتوي على KEK موقَّعة بمفتاح النظام الأساسي (Platform Key) الخاص بهذا الجهاز. يتطلب تحديث BIOS من الشركة المصنعة (أو، على جهاز افتراضي، تحديثًا من المضيف). | 3 |
NotApplicable-* | BIOS تقليدي، أو Secure Boot معطَّل. | 2 |
Error | أبلغت الصيانة عن خطأ؛ رمز الخطأ مطبوع. | 0 |
يعرض التقرير حالة الصيانة وحالة الترحيل بشكل منفصل.
هاتان الحالتان تتعارضان فعلًا في الميدان. يمكن لجهاز أن يُبلِّغ UEFICA2023Status = Updated
بينما لا يزال ملفّا مُدير الإقلاع الثنائيان على القرص موقَّعين بإصدار 2011 — يحدث ذلك عندما
يكون البرنامج الثابت قد شُحِن بشهادة 2023 مُسجَّلة مسبقًا، فاكتمل جانب الشهادة بينما
لم يعمل جانب مُدير الإقلاع أبدًا. إن دمج الاثنين في حقل واحد يجعل التقرير يعرض ذلك الجهاز
على أنه منتهٍ بينما هو في منتصف الترحيل.
وللسبب نفسه، لا يستمد السكربت الحالة من WindowsUEFICA2023Capable.
تقول وثائق Microsoft عن تلك القيمة، حرفيًا: «للمرجعية فقط — لا تستخدم
هذا المفتاح عند الحصول على حالة تحديثات Secure Boot.» تُلتقط كأداة تشخيص فقط.
تغيّر خطوات الصيانة حالة البرنامج الثابت، وهو ما قد يُحرِّك قيم PCR الخاصة بـ TPM التي خُتِم عليها حامي BitLocker، وهو ما قد يُنتج طلب مفتاح استرداد عند الإقلاع التالي.
-Apply على نطاق واسع.-SuspendBitLocker يعلِّق الحماية عبر إعادة التشغيل التالية بحيث يُعاد ختم (re-seal)
التغيير دون طلب. يستأنف BitLocker تلقائيًا بعد ذلك.تُقرأ حالة BitLocker بثلاث طرق مستقلة (Get-BitLockerVolume وmanage-bde و
Win32_EncryptableVolume) ثم تُوحَّد النتائج. إذا اختلفت القارئات، أو إذا لم تستطع
أيٌّ منها قراءة وحدة التخزين، يرفض السكربت تغيير البرنامج الثابت بدلاً من التخمين.
| المعامل | الافتراضي | الغرض |
|---|---|---|
-Apply | معطَّل | تنفيذ الكتابة. بدونه، للقراءة فقط. |
-SuspendBitLocker | معطَّل | تعليق BitLocker عبر إعادة تشغيل الصيانة. |
-RebootCount | 1 | عدد مرات إعادة التشغيل التي سيُعلَّق عبرها (1–15). |
-JsonPath | لا شيء | كتابة التقييم أيضًا بصيغة JSON. |
-MountPoint | محرك النظام | وحدة التخزين المراد تقييمها. |
-ApplyValue | 0x5944 | قيمة DWORD الخاصة بـ AvailableUpdates. |
-AllowRevocation | معطَّل | مطلوب لأي قيمة تحمل بت الإبطال الدائم 0x80 في DBX. لا تمرِّر هذا. |
-AllowVirtualMachine | معطَّل | السماح بتفعيل جهاز افتراضي. |
-AllowServer | معطَّل | السماح بتفعيل إصدار Server. |
تُستبعَد الأجهزة الافتراضية افتراضيًا: تصل شهادة 2023 إلى خط الأساس للبرنامج الثابت عبر تحديث BIOS، ويأتي البرنامج الثابت للجهاز الافتراضي من مُشغِّل الأجهزة الافتراضية (hypervisor) — فالجهاز الضيف على مضيف غير مُحدَّث لا يمكنه إكمال الترحيل من تلقاء نفسه.
اختُبِر من البداية إلى النهاية على Windows 11 (الإصدار 26200، PowerShell 5.1، يعمل بحساب SYSTEM)، بواجهة UEFI مع تفعيل Secure Boot، وBitLocker مشفَّر بالكامل مع حاميات TPM + كلمة مرور الاسترداد (RecoveryPassword) على ملف تعريف PCR 7,11:
Windows UEFI CA 2023
بينما كان bootmgfw.efi ما زال موقَّعًا بشهادة Microsoft Windows Production PCA 2011 — ولم
يُبلِّغ عنه كمنتهٍ، على الرغم من أن ذلك الجهاز كان يُبلِّغ في الوقت نفسه
UEFICA2023Status = Updated وWindowsUEFICA2023Capable = 2.0x80 (رمز الخروج 1).-Apply القيمة 0x5944، وهو ما تأكد بقراءة سجل مستقلة.-SuspendBitLocker متبوعًا بإعادة تشغيل: عاد الجهاز بدون طلب استرداد،
واستأنف BitLocker تلقائيًا.Start-Transcript التقرير كاملًا؛ ولم تحتوِ مخرجات JSON على أي
بيانات لمفاتيح الاسترداد.لم يُلاحَظ بعد: جهاز يكمل الترحيل الكامل إلى FullyMigrated. الخطوة
الأخيرة محكومة بالطرح التدريجي لكل جهاز من Microsoft، وهو أمر خارج سيطرة أي أحد.
يُظهر السكربت السبب المُعلَن لتلك البوابة بدلاً من تركها كعملية بلا تأثير دون تفسير.
MIT — انظر LICENSE. مُقدَّم كما هو، دون أي ضمان. راجعه قبل تشغيله في بيئتك؛ فهو ملف واحد قابل للقراءة لهذا السبب بالضبط.