The #ChromeDevSummit site is live, happening Nov 12-13 in San Francisco, CA
Check it out for details and request an invite. We'll be diving deep into modern web tech & looking ahead to the platform's future.

تحديد الثغرة الأمنية

نظرًا لأنه ربما تكون هناك عمليات اختراق متعددة ومستقلة، حتى إذا كان بإمكانك البحث عن الثغرة الأمنية وإصلاحها، فنحن نوصي بمتابعة البحث عن الثغرات الأخرى. وابدأ الفحص بقراءة أهم الطرق التي يستولي بها أصحاب السلوك غير المرغوب فيه على المواقع الإلكترونية.

ستحتاج إلى ما يلي:

  • إمكانية دخول مشرف Shell/طرفي إلى خوادم الموقع: الويب وقواعد البيانات والملفات
  • معرفة بأوامر shell/الطرفية
  • استيعاب الشفرة (مثل PHP أو جافا سكريبت)
  • إمكانية تشغيل أداتي فحص عن الفيروسات

الإجراءات التالية:

سنتناول عدة طرق شائعة لاختراق الموقع. ونأمل أن تكون مشكلة موقعك ضمن إحدى الثغرات الأمنية هذه أو أن يساعد هذا في إلقاء الضوء على مزيد من الاحتمالات.

الرجاء ملاحظة اختلاف أدوات فحص الثغرات الأمنية عن أدوات فحص الفيروسات. ذلك أن أدوات فحص الثغرات الأمنية قد تكون أكثر شراسة بكثير ولها تأثير أكبر من جهة التسبب في أضرار غير مرغوب فيها على موقعك. والرجاء اتباع جميع التوجيهات، مثل الاحتفاظ بنسخة احتياطية من موقعك، قبل تشغيل أداة الفحص.

تشتمل الثغرات الأمنية التي يمكن التحقق منها على ما يلي:

1- جهاز الكمبيوتر المصاب بالفيروسات الذي يستخدمه المشرف

ربما يكون المخترق قد ثبت برامج تجسس على جهاز الكمبيوتر المصاب بفيروسات التابع للمشرف لتسجيل ضغطات المفاتيح التي يقوم بها مشرف الموقع.

  • افحص الأنظمة التي يستخدمها المشرف للتأكد من عدم إصابتها بالفيروسات. ونحن نوصي بتشغيل عدة أدوات فحص فيروسات معتبرة أو أدوات فحص الفيروسات على كل جهاز كمبيوتر يستخدمه المشرف في تسجيل الدخول إلى الموقع. ونظرًا لأن الإصابات الجديدة بالبرامج الضارة دائمًا ما تكون معدة لمراوغة أدوات الفحص، فلا يمكن الجزم بأن هذا الإجراء طريقة مضمونة في اكتشاف الفيروسات. ونظرًا لأن أدوات فحص الفيروسات قد تخرج بتقارير إيجابية غير صحيحة، يمكن أن يوفر تشغيل عدة أدوات فحص مزيدًا من نقاط البيانات لتحديد ما إذا كانت هناك ثغرة أمنية أم لا. جرب أيضًا فحص خادم الويب وجميع الأجهزة المستخدمة لتحديث الموقع أو النشر عليه، للتأكد من الأمان فحسب.
    • وفي حال اكتشاف أداة فحص الفيروسات لبرنامج تجسس، أو فيروس، أو حصان طروادة، أو أية برامج مريبة، يمكنك التحقق من سجلات الخادم على الموقع لفحص أنشطة المشرف الذي يملك جهاز الكمبيوتر المصاب.
    • ربما يكون قد تم تعديل ملفات السجل من قِبل مخترق. وإذا لم يكن الأمر كذلك، فيعد الربط بين اسم المستخدم التابع للمشرف والأوامر المريبة في ملف السجل دليلاً آخر على أن نظام المشرف قد تسبب في تعرض الموقع للخطر.

2- كلمات المرور الضعيفة أو المعاد استخدامها

توفر كلمة المرور الضعيفة إمكانية اختراق سهلة نسبيًا للمخترق، كما توفر له إمكانية الدخول المباشر إلى الخادم. أما كلمة المرور القوية فهي التي تتألف من مجموعة من الأحرف والأرقام وعلامات الترقيم، بدون استخدام كلمات أو كلمات عامية يمكن العثور عليها في القواميس. يجب عدم استخدام كلمات المرور إلا في تطبيق واحد، والامتناع عن إعادة استخدامها على مختلف المواقع في الويب. وعندما تتم إعادة استخدام كلمة المرور، لن يحتاج المخترق سوى النجاح في محاولة اختراق أمان تطبيق واحد فقط وبذلك يتمكن من العثور على تفاصيل الدخول وكلمة المرور ومن ثم يحاول إعادة استخدامها في أي مكان آخر.

  • في سجل الخادم، تحقق من عدم وجود نشاط غير مرغوب فيه، مثل تكرار محاولات تسجيل الدخول لمشرف ما أو تنفيذ المشرف لأوامر غير متوقعة. دوِّن ملاحظات بوقت حدوث الأنشطة المريبة نظرًا لأن معرفة وقت حدوث الاختراق أول مرة تساعد في تحديد النسخ الاحتياطية التي ربما تكون لا تزال نظيفة.

3- البرامج القديمة

تحقق من تثبيت أحدث إصدار من نظام التشغيل، ونظام إدارة المحتوى، والنظام المستخدم في التدوين، والتطبيقات، والمكوِّنات الإضافية، وما إلى ذلك على الخادم (الخوادم).

  • ابحث (عبر الويب مثلاً) عن جميع البرامج المثبتة لتحديد ما إذا كان إصدارك يتضمن استشارات حول الأمان. وإذا كان الأمر كذلك، فهناك احتمال أن يكون هناك برنامج قديم قد تسبب في تعرض موقعك للخطر.
  • ووفقًا لأفضل الممارسات، حاول دائمًا تحديث البرامج على خادمك، بغض النظر عما إذا كانت البرامج القديمة قد تسببت في حدوث مشكلات الثغرات الأمنية هذه المرة أم لا.

4- ممارسة الترميز المتساهلة، مثل عمليات إعادة التوجيه المفتوحة وإدخالات SQL.

  • عناوين URL لإعادة التوجيه المفتوحة
  • يتم ترميز عناوين URL لإعادة التوجيه المفتوحة بحيث تسمح تركيبة عنوان URL بإضافة عنوان URL آخر حتى يتمكن المستخدمون من الوصول إلى ملف مفيد أو صفحة ويب مفيدة على الموقع. على سبيل المثال:

    http://example.com/page.php?url=http://example.com/good-file.pdf
    ويمكن للمخترقين إساءة استخدام عناوين URL لإعادة التوجيه المفتوحة من خلال إضافة الصفحة غير المرغوب فيها أو صفحة البرامج الضارة إلى عنوان URL لإعادة التوجيه المفتوحة في الموقع، بشكل يشبه ما يلي:
    http://example.com/page.php?url=<malware-attack-site>

    • وإذا كانت هناك إساءة استخدام لموقعك من خلال عناوين URL لإعادة توجيه مفتوحة، فمن المرجح أن تلاحظ الرسالة في نماذج عناوين URL المقدمة في Search Console التي تتضمن عناوين URL لإعادة توجيه مفتوحة إلى وجهة غير مرغوب فيها.
    • ولحجب عناوين URL لإعادة التوجيه المفتوحة في المستقبل، تحقق مما إذا كان قد تم تمكين "السماح لعناوين URL لإعادة التوجيه المفتوحة" افتراضيًا في البرامج، وتحقق مما إذا كان يمكن للشفرة منع عناوين إعادة التوجيه خارج النطاق، وتحقق كذلك مما إذا كان يمكنك توقيع عنوان URL لإعادة التوجيه بحيث لا تتم إعادة التوجيه سوى لمن لديه عناوين URL المقسمة بشكل صحيح والتوقيع الكودي المناسب.
  • إدخالات SQL
  • تحدث إدخالات SQL عندما يتمكن هاكر من إضافة أوامر مراوغة في حقول إدخال المستخدم التي يتم تنفيذها من قِبل قاعدة البيانات. وتحدِّث إدخالات SQL السجلات في قاعدة البيانات بمحتوى غير مرغوب فيه أو بمحتوى ضار، وربما تنسخ بيانات قيِّمة لإخراج لدى المخترق. وإذا كان موقعك يستخدم قاعدة بيانات، خاصة إذا كانت لديك إصابة بنوع البرامج الضارة إدخال SQL، فمن المحتمل أن يكون موقعك قد تعرض للاختراق من قِبل إدخال SQL.

    • سجِّل دخولك إلى خادم قاعدة البيانات وابحث عن المحتوى المريب في قاعدة البيانات، مثل حقول النصوص العادية خلافًا لذلك التي تعرض حاليًا إطارات iframe أو نصوصًا برمجية.
    • بالنسبة إلى القيم المريبة، تحقق من أن إدخال المستخدم موثوقًا فيه وتم إنهاؤه بشكل سليم، وربما يكون تمت كتابته كتابة قوية حتى لا يتمكن أحد من تنفيذه كشفرة، وإذا لم يتم التحقق من إدخال المستخدم قبل معالجة قاعدة البيانات، فقد يكون إدخال SQL ثغرة أمنية بسبب جذري على موقعك.

الخطوة التالية

أما الخطوة التالية من العملية فهي تنظيف الموقع وصيانته.