
تحليل تعليمي لـ CVE-2023-4863 (تجاوز سعة المخزن المؤقت للكومة في libwebp) مع أدوات كشف الفريق الأزرق وماسح WebP ثابت ومدقق Java دفاعي ومختبر Docker معزول مع تحليل ذاكرة Valgrind.
| الاسم الكامل | GitHub | البريد الإلكتروني | الموقع الإلكتروني | |
|---|---|---|---|---|
| Keyvan Arasteh | @keyvanarasteh | [email protected] | keyvanarasteh | qline.tech |
| الاسم الكامل | رقم الطالب |
|---|---|
| Batuhan Seydi Çelik | 2520****1006 |
| اسم المقرر | رمز المقرر | الساعات المعتمدة | المتطلبات المسبقة | الفصل الدراسي |
|---|---|---|---|---|
| اختبار الاختراق وتحليل الثغرات | BGT006 | 3 ECTS | أساسيات الشبكات، CLI لينكس | ربيع 2025-2026 |
تم إعداد هذا المشروع لتحليل ثغرة CVE-2023-4863 (تجاوز سعة المخزن المؤقت في الكومة لمكتبة libwebp) لأغراض تعليمية، ولإظهار كيفية اكتشاف مثل هذه الحالات الشاذة في الأنظمة من جانب الدفاع (الفريق الأزرق) بشكل عملي.
أثرت هذه الثغرة بشكل مباشر على العديد من النظم البيئية في عالم الويب:
ReadHuffmanCodes بتخصيص مساحة في الذاكرة للجدول أقل من اللازم.BuildHuffmanTable)، يحدث كتابة تتجاوز حدود الذاكرة المخصصة (Out-Of-Bounds Write).استناداً إلى مبادئ الأمان، لا يتم تضمين أي كود هجومي حقيقي (exploit) في النظام. يتم اختبار الثغرة بشكل هيكلي.
src/blue_team/webp_scanner.py: يقوم بفحص هياكل أجزاء (chunks) WebP بشكل ثابت واكتشاف الأحجام غير الطبيعية.src/blue_team/WebpValidator.java: مثال على كود جافا دفاعي يحاكي سيناريوهات رفع الملفات (file upload)، ويمنع التزوير في الحجم باستخدام منطق الفشل السريع (fail-fast)، ويعمل دون تعطل في حالة الملفات التالفة (لا يلقي استثناءات).src/red_team/poc.py: مُنتج اختبار تعليمي لا يحتوي على أي حمولة حقيقية، ولكنه يُبلغ عن حجم جزء زائف (60MB) عن قصد لاختبار ما إذا كانت أدوات تحليل الفريق الأزرق ستنبه.libwebp-1.3.1 المصابة. تحليل ديناميكي عبر Valgrind باستخدام سكريبت analyze_memory.sh لفحص أخطاء الذاكرة (كتابة غير صحيحة).يتم تسجيل نتائج الأمان عبر نظام تسجيل JSON، ويتم تصورها بشكل غير متزامن ومباشر باستخدام لوحة تحكم الفريق الأزرق (HTML/JS/CSS) الموجودة في مجلد src/public.
