
برنامج تشغيل وضع kernel في Windows يقوم بحجب استغلال CVE-2017-11882 من خلال اعتراض إنشاء العمليات ومنع العمليات الفرعية الضارة الناتجة عن eqnedt32.exe.
برنامج تشغيل لويندوز يحيد CVE-2017-11882 : )
ينقسم هذا المشروع إلى برنامج تشغيل kernel ومكون إعلام في وضع المستخدم يتواصلان عبر جهاز مخصص باستخدام نموذج الاستدعاء المقلوب.
DriverEntry رد اتصال PsSetCreateProcessNotifyRoutineEx بحيث يتم استدعاء برنامج التشغيل بشكل متزامن عند إنشاء كل عملية على مستوى النظام، قبل بدء تنفيذ العملية الجديدة.ZwOpenProcess ويستعلم عن ProcessImageFileName لاسترجاع مسار NT الكامل. تقارن دالة RtlCompareUnicodeString اللاحقة مع eqnedt32.exe لتقرر ما إذا كانت هذه محاولة استغلال.CreateInfo->CreationStatus = STATUS_ACCESS_DENIED. هذه هي الطريقة الموثقة لإحباط إطلاق عملية من رد الاتصال.يستخدم الوكيل خيطين: مُوزع إدخال/إخراج يدير حلقة الاستدعاء المقلوب باستخدام WaitForSingleObject + GetOverlappedResult، وعامل واجهة مستخدم ينبثق التنبيهات ويعرضها باستخدام MessageBoxW. تتم إدارة المؤشرات من خلال غلاف صغير RAII AutoHandle.
يعتمد الاكتشاف بأكمله على PID الأصلي المبلغ عنه من kernel. يمكن للمهاجم الذي يستدعي NtCreateUserProcess مع PROC_THREAD_ATTRIBUTE_PARENT_PROCESS إعادة توجيه الحمولة إلى explorer.exe وتجنب الاكتشاف : )
لا يكتشف هذا الحل الاستغلالات المتقدمة التي تنفذ حقن العمليات أو تنفيذ الكود في الذاكرة. إنه يكتشف فقط الاستغلال الشائع لهذا CVE، الذي يطلق عملية جديدة (خبيثة).