نحن في عام 2025، وبينما تعمل فرق الأمن على تحصين محيطها، تعج القوائم البريدية لـ Linux Kernel بتهديد جديد. أكدت مجموعة تحليل التهديدات (TAG) التابعة لجوجل (TAG) تسليح CVE-2025-38352.
هذا ليس خطأ في تلف الذاكرة من النوع العادي. إنه خطأ معقد يعتمد على التوقيت حالة السباق مقيم في عمق النظام الفرعي لمؤقت وحدة المعالجة المركزية POSIX في نواة لينكس. قد يبدو للوهلة الأولى أن هذه الثغرة التي حصلت على درجة 7.4 في CVSS يمكن التحكم بها للوهلة الأولى، ولكن لا تنخدع بهذه الدرجة. في أيدي بائعي برامج التجسس التجارية، تم بالفعل استخدام هذه الثغرة الأمنية كسلاح لتحقيق نتائج موثوقة تصعيد الامتيازات المحلية (LPE) على أجهزة أندرويد المصححة بالكامل، متجاوزةً بذلك إجراءات التخفيف الحديثة مثل KASLR وPAN.
بالنسبة لمهندس أمن النخبة، يمثل CVE-2025-38352 ذروة استغلال "السباق إلى الاستخدام بعد الفراغ". فهو يستغل الفجوة المجهرية بين دخول عملية ما في حالة "زومبي" وقيام النواة بتنظيف مؤقتاتها. تتخلى هذه المقالة عن الملخصات عالية المستوى لإجراء تشريح جراحي لـ kernel/time/posix-cpu-timers.cوفيزياء الاستغلال، وسبب أن التحليل الزمني القائم على الذكاء الاصطناعي هو الطريقة الوحيدة لاكتشاف ما فات المدققين البشريين.
عيب النواة القاتل: رقصة سبينلوك المكسورة
لفهم الثغرة CVE-2025-38352، يجب أن ننظر إلى كيفية تعامل نواة Linux Kernel مع التزامن أثناء إنهاء العملية. تنبع الثغرة من انتهاك الذرية في كيفية معالجة kernel لمؤقتات وحدة المعالجة المركزية المنتهية الصلاحية أثناء محاولة مؤشر ترابط في الوقت نفسه حذفها.
مسار الشفرة الضعيفة
يكمن الخلل في التعامل مع_مع_مؤقتات_cposix_cpu_timers() الدالة. هذه الدالة مسؤولة عن تكرار قائمة المؤقّتات النشطة وتشغيل تلك التي انتهت صلاحيتها. وبشكلٍ حاسم، لتنفيذ هذا التكرار، يجب أن تحتفظ ب تنهيدة و-> سيجلوك.
ومع ذلك، قبل التصحيح، كان المنطق يحتوي على تسلسل قاتل:
- قفل الاستحواذ: تكتسب النواة
تنهيدة و-> سيجلوكلاجتياز قائمة المؤقت. - السقوط للتعامل مع إمكانية انتهاء صلاحية محددة (على وجه التحديد
cpuclock_perthread)، الرمز بإيجاز يسقط القفل لإجراء عملية التحقق أو إعادة الإصدار. - الاستخدام: يُعيد الحصول على القفل ويشرع في إلغاء الاستدلال على كائن المؤقت.
نافذة السباق
وداخل هذه النافذة المجهرية - حيث يتم إسقاط القفل - يضرب المهاجم.
يقوم مؤشر ترابط متزامن (مؤشر ترابط B) بإصدار استدعاء مؤقت_حذف(). نظرًا لأن القفل مجاني، يستحوذ عليه مؤشر الترابط B بنجاح، ويزيل المؤقت من القائمة، ويحرر الذاكرة عبر kfree_rcu أو إلغاء تخصيص البلاطة.
عندما يقوم الخيط A (سياق الضحية) بإعادة الحصول على القفل، فإنه يحمل مؤشرًا إلى بوزيكس_كبوتيمر بنية لم تعد موجودة من الناحية الفنية. يشرع في الكتابة إلى هذه الذاكرة (على سبيل المثال، تحديث وقت انتهاء الصلاحية)، مما يؤدي إلى تشغيل الاستخدام بعد التحرر من الاستخدام (UAF) اكتب.

تسليح الزومبي استغلال البدائيون المستغلون
غالبًا ما تتم مقارنة استغلال حالة سباق النواة بالفوز باليانصيب. ومع ذلك، فإن مطوري الثغرات المتقدمة لا يلعبون النرد؛ بل يتلاعبون باللعبة. في سياق CVE-2025-38352، يتلاعب المهاجمون باللعبة باستخدام عمليات الزومبي.
1. توسيع النافذة (تقنية "الزومبي")
قد تكون نافذة السباق القياسية بعرض بضعة نانوثانية فقط. لجعل الاستغلال موثوقًا (معدل نجاح 90%+)، يستخدم المهاجمون حالة الخروج من العملية.
عن طريق تفريخ عملية فرعية وخروجها - ولكن بشكل متعمد لا جنيها (عبر waitpid)-تدخل العملية في خروج_زومبي الحالة. في هذه الحالة، تبقى بنية المهمة في الذاكرة، لكن منطق التنظيف معلق. اكتشف المهاجمون أن تشغيل عمليات المؤقّت على عملية زومبي يجبر النواة على الدخول في مسار شيفرة برمجية أبطأ وأكثر تعقيدًا ضمن posix_cpu_cpu_timer_delوتوسيع نافذة السباق بشكل مصطنع من نانو ثانية إلى ميكروثانية.
2. سلوب فنغ شوي (رش الكومة)
بمجرد تشغيل UAF، تقوم النواة بكتابة البيانات إلى فتحة ذاكرة محررة. إذا كانت تلك الفتحة فارغة، تتعطل النواة (DoS). للحصول على الجذر، يجب على المهاجم استبدال كائن المؤقت المحرر بحمولة.
يستفيد المهاجمون من مخصص SLUB سلوك يمكن التنبؤ به (الدخول الأخير، الخروج الأول).
- مجاناً: قم بتشغيل السباق لتحرير
المؤقتالبنية. - الرذاذ: إغراق كومة النواة على الفور بكائنات يتحكم بها المستخدم بنفس الحجم بالضبط (على سبيل المثال، باستخدام
إرسال رسالةالبيانات الإضافية أوالمفتاح_المتسلسلكائنات). - الفساد تكتب النواة معتقدةً أنها تقوم بتحديث المؤقِّت إلى كائن المهاجم. إذا قام المهاجم برش بنية تحتوي على مؤشر دالة (على سبيل المثال، كائن
tty_structأوعمليات_الملف)، تقوم النواة بالكتابة فوق ذلك المؤشر. - التنفيذ: عندما يقوم المهاجم باستدعاء الكائن الذي تم رشه (على سبيل المثال، إغلاق الملف)، تقفز النواة إلى العنوان الذي تم الكتابة عليه -> سلسلة ROP -> الجذر.

ما بعد سيزكالر: لماذا فشل التشويش التقليدي
لم يتم اكتشاف CVE-2025-38352 من قبل أدوات التشويش الآلية مثل سيزكولر من جوجل لسنوات. لماذا؟
التشويش التقليدي الموجه بالتغطية التقليدية هو الاحتمالية. يقوم بإلقاء استدعاءات عشوائية على النواة على أمل تعطلها.
- لا يفهم التوقيت.
- لا يفهم التبعيات الحكومية (على سبيل المثال، "يجب أن يخرج الخيط (أ) بينما يحذف الخيط (ب) مؤقّتًا").
الاحتمالية الإحصائية لوصول مشوش أعمى إلى حالة السباق المحددة هذه، مع العملية في زومبي الدولة منخفضة بشكل فلكي.
حل الذكاء الاصطناعي: التحليل الزمني لـ Penligent's Temporal Analysis
يسلط هذا الفشل في الأدوات التقليدية الضوء على ضرورة التحليل المنطقي القائم على الذكاء الاصطناعي. هذا هو المكان Penligent.ai يغير النموذج من "التشويش" إلى "الاستدلال".
يستخدم Penligent نظامًا متخصصًا وكيل ذكاء اصطناعي مدرك للتوقيت مصممة لاصطياد الأخطاء في التزامن:
1. التعرف على أنماط التزامن
بدلاً من المدخلات العشوائية، يقوم نموذج Penligent بتحليل مصدر Kernel Source AST (شجرة بناء الجملة المجردة). ويحدّد "الأزواج الخطرة" - وهي عبارة عن استدعاءات تعدّل نفس المورد المشترك (في هذه الحالة بوزيكس_كبوتيمر) ولكن تتبع مسارات قفل مختلفة. لقد تم وضع علامة مؤقت_حذف و التعامل مع_مع_مؤقتات_بوسكس_cpu_cpu_timers كهدف تصادم عالي الاحتمالية.
2. توسيع نافذة السباق عبر الذكاء الاصطناعي
لا يكتفي Penligent بتنفيذ المكالمات؛ بل يقوم بتنسيقها. وإدراكًا منه للحاجة إلى توسيع نافذة السباق، يستنتج الذكاء الاصطناعي تلقائيًا خروج_زومبي تقنية من خلال تحليل تقارير الثغرات السابقة "Ref-Count". وأنشأت إثباتًا للمفهوم الذي أوقف برمجيًا وحدة المعالجة المركزية (باستخدام جدولة_العائد أو حواجز الذاكرة الواسعة) لضمان التصادم.
بالنسبة لمهندس الأمن، يعني هذا أن Penligent يتجاوز مجرد الإبلاغ عن "الأخطاء المحتملة" إلى تقديم الثغرات التي تم التحقق منها وتسليحها التي توضح المخاطر الحقيقية للرمز.
المعالجة واكتشاف الفريق الأزرق
يتضمن الإصلاح، الذي تم دمجه في نواة لينكس في أواخر عام 2025، فحصًا منطقيًا وليس مجرد قفل.
الإصلاح:
في Run_posix_posix_cpu_timers()، تتحقق النواة الآن صراحةً مما إذا كانت (tsk->>خروج_الحالة). إذا كانت المهمة ميتة بالفعل أو تحتضر، فإنها تجهض معالجة المؤقت على الفور. يزيل هذا بشكل فعال متغير "Zombie" من المعادلة.
استراتيجيات الكشف (EDR/Syslog):
يجب أن تبحث الفرق الزرقاء عن مؤشرات الاختراق (IoC) التالية على خوادم لينكس/أندرويد
- تذبذب المؤقت عالي التردد: عملية إنشاء وحذف آلاف مؤقتات POSIX بسرعة في الثانية الواحدة.
- فيضانات الزومبي تراكم غير عادي لـ
Zعمليات الحالة التي تفرز بسرعة ولا يتم جنيها. - تلوث النواة:
dmesgسجلات تظهر "أعطال الحماية العامة" أو "تلف البلاطة" فيكميلوك-192(أو حجم اللوح المحدد للمؤقتات على قوسك).
الخاتمة
يعدّ CVE-2025-38352 بمثابة تذكير احتفالي بأن الشيفرة البرمجية القديمة هي حقل ألغام. فقد كُتبت شيفرة مؤقت POSIX منذ عقود، ومع ذلك فقد احتوت على ثغرة كامنة تتطلب استخدام الذاكرة المعقدة في عام 2025 كسلاح.
بالنسبة لمهندس الأمن المتمرس، فإن الدرس المستفاد واضح: مستقبل البحث عن الثغرات الأمنية لا يتعلق بالعثور على تدفقات المخازن المؤقتة البسيطة. بل يتعلق بفهم البُعد الرابع من الشيفرة، وهوالوقت. وطالما أن النواة تستخدم آليات قفل معقدة، ستظل ظروف السباق هي "جواهر التاج" للاستغلال.

