
بحث وعرض عملي (PoC) لثغرة Spectre من النوع الثاني (CVE-2017-5715)، وهي ثغرة أمنية على مستوى العتاد (hardware) في القناة الجانبية (side-channel) تستغل التنفيذ التخميني لوحدة المعالجة المركزية والتنبؤ بالفروع. تشمل إعداد المختبر، تحديد الثغرة، شرح الاستغلال، تحليل توقيت ذاكرة التخزين المؤقت (cache-timing)، فيديو توضيحي، واستراتيجيات التخفيف.
ورقة بحثية متعمقة وإثبات مفهوم عملي (PoC) يستكشف هجمات التنفيذ التخميني على وحدات المعالجة الحديثة.
هذا المشروع عبارة عن استكشاف بحثي ومختبري لـ Spectre Variant 2 (CVE-2017-5715)، المعروف أيضًا باسم Branch Target Injection — وهي ثغرة جانبية على مستوى الأجهزة تؤثر على وحدات المعالجة التي تطبق التنفيذ التخميني والتنبؤ بالفروع.
كان الهدف من هذا المشروع هو:
⚠️ تنويه: تم تنفيذ هذا العمل بدقة في آلة افتراضية معزولة ومضبوطة لأغراض أكاديمية وتعليمية. لا يستهدف أو يؤثر على أي نظام إنتاجي، ولم يتم كتابة أي كود استغلال مملوك — بل تم استخدام مستودع SpectrePoC المتاح للجمهور لأغراض العرض التوضيحي.
CVE-2017-5715 هي ثغرة في المعالجات الدقيقة تسمح للمهاجم بخداع متنبئ الفروع في وحدة المعالجة لتنفيذ تعليمات على مسار "تخميني" غير صحيح. بينما تتخلص وحدة المعالجة بشكل صحيح من نتائج هذا التنبؤ الخاطئ، فإنها تفشل في مسح الآثار الجانبية بالكامل — وعلى رأسها التغييرات في حالة ذاكرة التخزين المؤقت. يمكن قياس هذه التغييرات المتبقية باستخدام تحليل التوقيت، مما يسمح للمهاجم باستنتاج بيانات سرية لم يكن ينبغي أن تكون متاحة أبدًا.
على عكس الأخطاء البرمجية التقليدية، يستغل Spectre تصميم الأجهزة لوحدات المعالجة الحديثة، مما يجعل تصحيحه بالكامل صعبًا للغاية ويتطلب مجموعة من التخفيفات على مستوى الميكروكود ونظام التشغيل والمُجمّع.
| المكون | التفاصيل |
|---|---|
| نظام التشغيل | Ubuntu 14.04 LTS |
| إصدار النواة | 4.4.0-148-generic |
| وحدة المعالجة | 12th Gen Intel® Core™ i5-12450H |
| المحاكاة الافتراضية | VMware Workstation |
| مستودع PoC | crozone/SpectrePoC |
sudo apt update
sudo apt install git
git clone https://github.com/crozone/SpectrePoC
cd SpectrePoC
make
يكشف Linux عن حالة الثغرات/التخفيفات مباشرة عبر sysfs:
grep . /sys/devices/system/cpu/vulnerabilities/*
أكد هذا أن وحدة المعالجة المختبرة كانت قابلة للتأثر بـ spectre_v2، بينما كانت الثغرات الأخرى ذات الصلة (Meltdown، L1TF، MDS) إما مخففة أو غير متأثرة.
./spectre.out
تقوم الأداة بالإبلاغ المتكرر عن نتائج Success إلى جانب "نتيجة" الثقة المستمدة من فروق توقيت ذاكرة التخزين المؤقت — كل قراءة ناجحة تمثل بايتًا واحدًا مسربًا من ذاكرة غير قابلة للوصول بخلاف ذلك، تم إعادة بنائه بالكامل عبر القناة الجانبية التخمينية.
تم تضمين شرح مسجل لكامل PoC — من إعداد البيئة إلى تسريب البيانات بنجاح — في هذا المستودع للتحقق البصري من الهجوم.
▶️ شاهد فيديو عرض PoC التوضيحي
📁 قم بتحديث المسار أعلاه بمجرد إضافة ملف الفيديو إلى مستودعك (مثلًا ضعه في مجلد
demo/أوmedia/وقم بتعديل الرابط وفقًا لذلك).
Indirect Branch Restricted Speculation (IBRS)، وتخفيفات مماثلة تقلل من التسرب عبر الحدود..
├── README.md
├── Research_Paper_-_CVE-2017-5715_Spectre_by_Shivam_Bhatt.pdf
└── demo/
└── spectre-poc-demo.mp4
Shivam Bhatt دبلوم دراسات عليا في الأمن السيبراني (مع مرتبة الشرف) — NAIT 🔗 لا تتردد في التواصل عبر LinkedIn أو التواصل للتعاون في أبحاث الأمن السيبراني.
⭐ إذا وجدت هذا البحث مفيدًا، فكر في وضع نجمة للمستودع!