تعتبر هجمات تزوير الطلبات عبر المواقع (CSRF) أسلوب للهجوم الإلكتروني ينتحل فيها المتسللون صفة مستخدم شرعي وموثوق، يمكن استخدام هجمات (CSRF) لتغيير إعدادات جدار الحماية أو نشر بيانات ضارة في المنتديات أو إجراء معاملات مالية احتيالية، ما يجعل هجمات (CSRF) مقلقة بشكل خاص هو أن المستخدمين الذين تم انتحال هوية حساباتهم لا يدركون عادةً وقوع الهجوم.
ما هي الأساليب التي تساعد في منع هجمات CSRF
1. استخدام رمز التزامن
تساعد رموز (CSRF) في منع هجمات (CSRF) لأن المهاجمين لا يمكنهم تقديم طلبات إلى الواجهة الخلفية بدون رموز صالحة، يجب أن يكون كل رمز (CSRF) سريًا ولا يمكن التنبؤ به وفريدًا لجلسة المستخدم، كما يجب على جانب الخادم إنشاء رموز (CSRF) المميزة وإنشاء رمز مميز واحد لكل طلب مستخدم أو جلسة، يعد استخدام الرموز المميزة المنفصلة لكل طلب أكثر أمانًا من استخدام كل جلسة لأنه يقصر فترة المهاجم لاستغلال الرموز المميزة المسروقة، ومع ذلك، يمكن أن يؤثر نمط الرمز المميز لكل طلب على قابلية الاستخدام.
على سبيل المثال، قد يعيق قدرة المتصفح على العودة إلى الصفحات السابقة برموز منتهية الصلاحية وقد يؤدي التفاعل مع صفحة سابقة إلى حدوث أمان (CSRF) بطريقة إيجابية زائفة، باستخدام نمط الرمز المميز لكل جلسة، يخزن الخادم قيمة كل رمز مميز في الجلسة، مما يسمح لجميع الطلبات اللاحقة باستخدامه طوال مدة الجلسة، إذا أصدر العميل طلبًا، فيجب على جانب الخادم التحقق من صلاحية الرمز ومقارنة الرمز لجلسة المستخدم، إذا لم يتمكن المكوِّن من جانب الخادم من تحديد رمز مميز في الطلب أو إذا وجد رمزًا مميزًا لا يتطابق مع قيمة جلسة المستخدم، فيجب عليه إلغاء الطلب.
ملاحظة: “CSRF” اختصار لـ “Cross-site Request Forgery”.
2. إرسال مزدوج لملفات تعريف الارتباط
طريقة ملف تعريف الارتباط المزدوج هي بديل للحفاظ على رمز (CSRF) على جانب الخادم، والتي يمكن أن تكون مشكلة، إنها تقنية عديمة الحالة وسهلة التنفيذ ترسل قيمًا عشوائية مرتين، ثم يتحقق الخادم من القيمتين العشوائيتين وملف تعريف الارتباط للتأكد من تطابقهما، قبل أن يقوم المستخدم بالمصادقة، يجب على الموقع إنشاء قيمة عشوائية قوية من الناحية المشفرة، وتعيينها كملف تعريف ارتباط منفصل على جهاز المستخدم، يوفر ملف تعريف الارتباط الإضافي، جنبًا إلى جنب مع معرف الجلسة طبقة إضافية من الدفاع، مما يتطلب من جميع طلبات المعاملات تضمين القيمة العشوائية.
يقبل الخادم الطلبات على أنها قانونية، فقط إذا كان كلا ملفات تعريف الارتباط متطابقين على جانب الخادم وإلا فإنه يرفض الطلبات، يمكن أن يساعد تضمين الرموز المميزة في ملفات تعريف الارتباط المشفرة، بالإضافة إلى ملفات تعريف ارتباط المصادقة في تعزيز أمان هذه التقنية، بمجرد فك التشفير، يجب أن يتطابق الخادم مع كل ملف تعريف ارتباط مع الرمز المميز المخفي، تضمن هذه التقنية أن المجالات الفرعية لا يمكنها الكتابة فوق ملفات تعريف الارتباط المشفرة ما لم يكن لديها معلومات مثل مفتاح التشفير.
تعد ملفات تعريف الارتباط التي تحتوي على قيم رمز مصادقة الرسائل المستندة إلى التجزئة (HMAC) خيارًا أبسط من ملفات تعريف الارتباط المشفرة، مما يتيح للرموز المميزة احتواء مفاتيح سرية لا يعرفها سوى الخادم، وهي تعمل بشكل مشابه لملفات تعريف الارتباط المشفرة والتي تعتمد أيضًا على المعلومات الحصرية للخادم، ولكنها تتطلب قوة حسابية أقل من التشفير وفك التشفير، يعمل كل من التشفير وملفات تعريف الارتباط المستندة إلى (HMAC) على تخفيف (CSRF) بشكل فعال لأن المهاجمين يفتقرون إلى المعرفة المطلوبة لإعادة إنشاء قيم ملفات تعريف الارتباط من الرموز المميزة المسروقة.
3. ملفات تعريف الارتباط في نفس الموقع
تساعد ملفات تعريف الارتباط في نفس الموقع في الدفاع ضد هجمات (CSRF) عن طريق تقييد ملفات تعريف الارتباط المرسلة جنبًا إلى جنب مع كل طلب، توفر قدرة عناصر (HTML) على إرسال ملفات تعريف الارتباط مع الطلبات فتحًا لـ (CSRF)، يمكن للمطور التأكد من أن ملفات تعريف ارتباط معينة فقط هي التي يمكنها مرافقة الطلب مع ملفات تعريف الارتباط الخاصة بالموقع نفسه، يقوم المتصفح بتخزين عدة عناصر عندما يقوم تطبيق ويب بتعيين ملفات التعريف على موقع ويب.
يحتوي ملف تعريف ارتباط الطرف الأول على حقل مجال يطابق عنوان (URL) في شريط عنوان المتصفح، بينما لا يتطابق مجال ملف تعريف ارتباط الطرف الثالث مع عنوان (URL)، غالبًا ما تستخدم تطبيقات الويب ملفات تعريف ارتباط الطرف الأول لتخزين معلومات الجلسة، بينما تستخدم أدوات التحليلات غالبًا ملفات تعريف ارتباط الطرف الثالث، تحتوي ملفات تعريف الارتباط الخاصة بالموقع نفسه على حقل إضافي يحدد ما إذا كان يمكن للمتصفح إرسال ملف تعريف ارتباط للطرف الأول مع طلبات من عناصر (HTML) من عناوين (URL) مختلفة، تتيح هذه الآلية للتطبيق تقييد الطلبات على المواقع التي لها نفس عنوان (URL).
ملاحظة: “HTML” اختصار لـ “HyperText Markup Language”.
ملاحظة: “URL” اختصار لـ “Uniform Resource Locator”.
4. تحسين قدرة المستخدم على التفاعل
في حين أن معظم تقنيات (CSRF) لا تتضمن تفاعل المستخدم، يمكن للمستخدمين المساعدة في تأمين المعاملات في بعض الحالات وطلب تفاعل المستخدم، حيث يساعد هذا في منع العمليات التي يقوم بها مستخدمون غير مصرح لهم، بما في ذلك هجمات (CSRF)، عند تنفيذها بشكل صحيح ويمكن أن توفر آليات إعادة المصادقة وتحديات (CAPTCHA) والرموز المميزة لمرة واحدة دفاعًا قويًا ضد هجمات (CSRF).
هذه التقنيات مفيدة ولكنها ليست عملية دائمًا، لأنها تخلق عقبات إضافية تؤثر على تجربة المستخدم، لذلك فإن هذا الأسلوب هو الأنسب للعمليات الهامة مثل: المعاملات المالية أو تعديلات تفاصيل الحساب أو تغيير كلمة المرور.
5. إجراء اختبارات أمان تطبيقات الويب المنتظمة
وذلك لتحديد هجمات (CSRF) حتى إذا تمت معالجة الثغرات الأمنية في تطبيقات الويب مع هجمات (CSRF) بنجاح، فقد تعرض تحديثات التطبيق وتغييرات التعليمات البرمجية التطبيق لـ (CSRF) في المستقبل، يساعد اختبار أمان التطبيق الديناميكي (DAST) على الفحص المستمر واختبار نقاط الضعف الأمنية المحتملة في تطبيقات الويب، بما في ذلك ثغرات (CSRF).
ملاحظة: “DAST” اختصار لـ “Dynamic Application Security Testing”.
تستهدف هجمات (CSRF) تطبيقات الويب باستخدام ملفات تعريف الارتباط والمصادقة، كما تمنح هجمات (CSRF) المتسللين حق الوصول الكامل إلى حسابات الهدف في التطبيق، مما يعني أن الدفاع ضد هجمات (CSRF) هو أمر أساسي في الأمن السيبراني للوصول إلى أمن كامل ومتكامل.