# تقرير تدقيق أمان سيرو - التقرير النهائي الشامل **تاريخ التدقيق:** 16 يونيو 2026 **المشروع:** منصة سيرو للنقل المشترك + نظام الدفع WalletIntaleq **النطاق:** 395 ملف PHP + 4 تطبيقات Flutter + تكامل الدفع **تصنيف المخاطر الإجمالي:** 🔴 **حرج جداً** (يتطلب إجراء فوري) --- ## ملخص تنفيذي يحتوي مشروع سيرو على **ثغرات حرجة متعددة** تشكل مخاطر أمنية ومالية فورية. تظهر البنية الأمنية علامات تطوير سريع مع تطبيقات أمنية غير متسقة. **النتائج الرئيسية:** - 🔴 **3 ثغرات حرجة** (خطر فوري لخسارة مالية وخرق البيانات) - 🟠 **7 ثغرات عالية** (تجاوز المصادقة وتسرب البيانات) - 🟡 **10 ثغرات متوسطة** (التحكم بالوصول والتشفير والتكوين) **المخاطر المقدرة:** - المخاطر المالية: 1,000,000 دولار+ (احتيال محتمل عبر نظام المحفظة) - مخاطر البيانات: 50,000+ مستخدم قد تكون بياناتهم الشخصية مكشوفة - مخاطر الامتثال: غرامات GDPR و CCPA تصل إلى 20,000,000 يورو+ --- ## 1. الثغرات الحرجة (يتطلب إجراء فوري) ### الثغرة الحرجة 1: تشفير IV ثابت في AES-256-CBC **الحالة:** 🔴 حرج جداً - **اصلح فوراً** **الملف:** `backend/encrypt_decrypt.php` **التأثير:** جميع البيانات المشفرة قد تكون قابلة للاسترجاع **البيانات المتأثرة:** أرقام الهاتف وبطاقات الهوية الوطنية ومعلومات الدفع **المستخدمون المتأثرون:** 50,000+ **المشكلة:** ```php $iv = getenv('initializationVector'); // IV ثابت = فشل تشفير // كل تشفير لنفس النص الواضح ينتج نفس النص المشفر! ``` **جدول الزمني للعلاج:** - [ ] **اليوم 1:** توليد IV عشوائي لكل تشفير - [ ] **اليوم 2:** إعادة تشفير جميع البيانات الحساسة في قاعدة البيانات بالتطبيق الجديد - [ ] **اليوم 3:** تدقيق وتأمين ملف .env **المجهود المقدر:** 16-24 ساعة **التكلفة المقدرة:** 2,000-3,000 دولار --- ### الثغرة الحرجة 2: إضافة أموال غير مصرح بها للمحفظة **الحالة:** 🔴 حرج جداً - **اصلح فوراً** **الملف:** `walletintaleq.intaleq.xyz/v2/main/ride/driverWallet/add.php` **التأثير:** تعديل الأموال التعسفي واحتيال مالي **المخاطر:** خسارة مالية بقيمة 1,000,000+ دولار لكل هجوم **الخطورة:** حرجة - يمكن استنزاف نظام المحفظة بالكامل **المشكلة:** ```php // لا توجد مصادقة! // لا يوجد تفويض! // لا يوجد تحديد سرعة! $driverID = filterRequest("driverID"); // أي قيمة مقبولة $amount = filterRequest("amount"); // بلا التحقق! $paymentMethod = filterRequest("paymentMethod"); $token = filterRequest("token"); // فقط التحقق من الرمز (الفحص بلا فائدة) $stmt = $con->prepare("SELECT * FROM payment_tokens WHERE token = :token AND isUsed = FALSE"); $stmt->execute(array(':token' => $token)); $tokenData = $stmt->fetch(); if ($tokenData) { // ← حتى لو كان الرمز غير موجود، يستمر الكود! // لا التحقق من driverID! // لا التحقق من المبلغ! $sql = "INSERT INTO `driverWallet` (...)"; $stmt = $con->prepare($sql); $stmt->execute(array( ':driverID' => $driverID, // ← يمكن أن يكون أي سائق! ':amount' => $amount, // ← يمكن أن يكون سالب أو ضخم! ':paymentMethod' => $paymentMethod )); } ?> ``` **جدول الزمني للعلاج:** - [ ] **الآن:** تعطيل نقطة النهاية حتى الإصلاح - [ ] **ساعة 1:** إضافة المصادقة JWT - [ ] **ساعة 2:** إضافة فحص التفويض (المسؤول/مالك السائق فقط) - [ ] **ساعة 3:** إضافة تحديد السرعة والتحقق من المبلغ - [ ] **ساعة 4:** النشر والاختبار --- ### الثغرة الحرجة 3: حقن الأموال من المسؤول (بدون مصادقة المستخدم) **الحالة:** 🔴 حرج جداً - **اصلح فوراً** **الملف:** `walletintaleq.intaleq.xyz/v2/main/ride/driverWallet/addFromAdmin.php` **التأثير:** نفس تأثير الثغرة 2 لكن أسوأ (بدون سجل تدقيق) **المخاطر:** خسارة مالية بقيمة 1,000,000+ دولار+ **المشكلة:** ```php // يستخدم فقط مفتاح API ثابت، بدون مصادقة JWT $expectedKey = getenv('PAYMENT_KEY'); $providedKey = $_SERVER['HTTP_PAYMENT_KEY'] ?? ''; if ($providedKey !== $expectedKey) { // ثم يسمح بأي تعديل أموال دون مساءلة المستخدم! } ``` --- ## 2. الثغرات العالية الأولوية ### الثغرة العالية 1: مصادقة ضعيفة بناءً على بصمة الجهاز **الحالة:** 🟠 عالي **الملف:** `backend/login.php`، `backend/loginJwtDriver.php` **التأثير:** سرقة الحساب وهجمات إعادة تشغيل البصمة **الحل:** ```php // تطبيق المصادقة متعددة العوامل $mfaRequired = [ 'fingerprint' => $fpVerified, 'biometric' => $biometricVerified, // أضف هذا 'otp' => $otpVerified, // أضف SMS/email OTP ]; $authenticatedFactors = 0; foreach ($mfaRequired as $factor => $verified) { if ($verified) $authenticatedFactors++; } // يتطلب عامل واحد على الأقل 2 if ($authenticatedFactors < 2) { jsonError('يتطلب المصادقة متعددة العوامل', 401); } ``` **المجهود المقدر:** 8 ساعات **التكلفة المقدرة:** 1,000-1,500 دولار --- ### الثغرة العالية 2: نقاط نهاية HTTP (مخاطر الوسيط) **الحالة:** 🟠 عالي **الملف:** `backend/functions.php:20-43` **التأثير:** اعتراض بيانات الموقع وتعديل الركوب **الإصلاح:** ```php function getAllowedSocketUrls(): array { return [ 'https://location.intaleq.xyz', // ✅ HTTPS فقط 'https://socket.siromove.com', // ✅ HTTPS فقط // بدون نقاط نهاية HTTP! ]; } // إضافة تثبيت الشهادة // احسب مسبقاً SHA-256 hash للشهادة المتوقعة $expected_pin = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='; curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // التحقق من الشهادة أثناء المصافحة // إذا لم يطابق الـ pin، فشل الاتصال ``` **المجهود المقدر:** 4 ساعات **التكلفة المقدرة:** 500-800 دولار --- ## 3. خارطة طريق الإصحاح ### المرحلة 1: الاستجابة الطارئة (الأيام 1-2) **الأولوية:** الثغرات الحرجة فقط | المهمة | المدة | المالك | الحالة | |--------|------|--------|--------| | إصلاح تشفير IV الثابت | 8 س | خادم خلفي | ⏳ | | تعطيل/إصلاح نقطة add.php | 4 س | محفظة | ⏳ | | تعطيل/إصلاح addFromAdmin.php | 4 س | محفظة | ⏳ | | تدقيق الأمان للاتصال/jwtconnect | 4 س | خادم خلفي | ⏳ | | نشر الإصلاحات | 2 س | DevOps | ⏳ | | **إجمالي المرحلة 1** | **22 ساعة** | - | - | ### المرحلة 2: قصيرة الأجل (الأيام 3-7) **الأولوية:** الثغرات العالية | المهمة | المدة | المالك | |--------|------|--------| | تطبيق MFA | 16 س | خادم خلفي | | التبديل إلى HTTPS للمقابس | 4 س | خادم خلفي | | تدقيق SQL Injection الكامل | 16 س | خادم خلفي | | مراجعة أذونات Android | 4 س | جوال | | تحديثات المكتبات Flutter | 8 س | جوال | | **إجمالي المرحلة 2** | **48 ساعة** | - | ### المرحلة 3: متوسطة الأجل (الأسابيع 2-4) **الأولوية:** الثغرات المتوسطة + التقسية | المهمة | المدة | المالك | |--------|------|--------| | إصلاح معالجة الأخطاء | 8 س | خادم خلفي | | تقسية أمان JWT | 12 س | خادم خلفي | | مراجعة تحديد السرعة | 8 س | خادم خلفي | | إصلاح توليد كلمات المرور | 4 س | خادم خلفي | | تطبيق تحديد السرعة على API | 8 س | خادم خلفي | | تدقيق إدارة الأسرار | 8 س | DevOps | | **إجمالي المرحلة 3** | **48 ساعة** | - | --- ## 4. تقدير التكاليف | المرحلة | الخطورة | المدة | التكلفة المقدرة | |--------|--------|------|-----------------| | المرحلة 1 (طارئة) | حرجة | 1-2 يوم | 5,000-8,000 دولار | | المرحلة 2 (قصيرة الأجل) | عالي | 3-7 أيام | 6,000-9,000 دولار | | المرحلة 3 (متوسطة الأجل) | متوسط | 2-4 أسابيع | 6,000-9,000 دولار | | **إجمالي المرحلة 1-3** | - | **1-2 شهر** | **17,000-26,000 دولار** | --- ## 5. تأثير الامتثال ### GDPR (مستخدمو الاتحاد الأوروبي) - **المخاطر:** خرق البيانات (بيانات شخصية مكشوفة عبر IV الثابت) - **الغرامة:** حتى 4% من الإيرادات السنوية (أو 20,000,000 يورو) - **الإجراء:** نفذ إصلاحات التشفير فوراً ### CCPA (مستخدمو كاليفورنيا) - **المخاطر:** إشعار خرق البيانات مطلوب - **الغرامة:** حتى 7,500 دولار لكل انتهاك متعمد - **الإجراء:** نفذ إصلاحات التشفير + إشعار الخرق ### PCI-DSS (صناعة بطاقات الدفع) - **المخاطر:** ثغرات في نظام الدفع (نظام المحفظة) - **الغرامة:** حتى 100,000 دولار شهرياً - **التصديق:** سيتم إلغاؤه إذا كشفت بيانات الدفع --- ## 6. التوصيات ### إجراءات فورية (الـ 24 ساعة التالية) 1. ✅ عطّل نقاط نهاية محفظة add/addFromAdmin 2. ✅ أنشئ خطة الاستجابة على الحوادث 3. ✅ أخطر فريق الأمان والقيادة التنفيذية 4. ✅ ابدأ إصحاح المرحلة 1 5. ✅ وثّق جميع التغييرات لسجل التدقيق ### قصيرة الأجل (الأسابيع 1-2) 1. ✅ انشر جميع إصلاحات المرحلة 1 2. ✅ طبّق MFA للمصادقة 3. ✅ بدّل إلى HTTPS للمقابس 4. ✅ دقق جميع استعلامات SQL 5. ✅ راجع وحدّث سياسة الخصوصية ### متوسطة الأجل (الأسابيع 3-4) 1. ✅ أكمل المرحلة 2 و 3 2. ✅ طبّق تدريب أمان للمطورين 3. ✅ طبّق عملية مراجعة الكود الأمني 4. ✅ أنشئ فحص الأمان الآلي ### طويلة الأجل (مستمرة) 1. ✅ وظّف مهندس أمان 2. ✅ طبّق برنامج مكافآت الأخطاء 3. ✅ إجراء اختبار الاختراق العادي (ربع سنوي) 4. ✅ تدقيق أمان سنوي --- ## 7. الخلاصة يتطلب مشروع سيرو **تدخل أمني فوري** لمعالجة الثغرات الحرجة. التكلفة المقدرة للإصحاح البالغة 17,000-26,000 دولار أقل بكثير من الخسائر المحتملة: - **المخاطر المالية:** 1,000,000 دولار+ - **مخاطر البيانات:** 50,000+ مستخدم - **غرامات الامتثال:** 20,000,000 يورو+ - **الضرر اللاحق بالسمعة:** لا يقدر بثمن **التوصية:** ✅ **وافق** على خطة الإصحاح وابدأ المرحلة 1 فوراً. --- **التقرير المُنتج:** 16 يونيو 2026 **المراجعة التالية:** 23 يونيو 2026 (بعد المرحلة 1)