اقرأ في هذا المقال
تزوير الطلبات عبر المواقع، والمعروف أيضًا باسم (CSRF) هو هجوم يخدع بموجبه المهاجم الضحية للقيام بأعمال نيابةً عنها، يعتمد تأثير الهجوم على مستوى الأذونات التي يمتلكها الشخص الضحية، تستفيد مثل هذه الهجمات من حقيقة أن موقع الويب يثق تمامًا بالمستخدم.
ما هو هجوم تزوير الطلب عبر المواقع CSRF
تزوير الطلب عبر المواقع هو ثغرة أمنية على الويب تتيح للمهاجمين حث المستخدمين على القيام بإجراءات لا ينوون القيام بها، حيث يسمح للمتسلسل بالخداع جزئيًا باتباع نفس سياسة الأصل، والتي تم تصميمها لمنع مواقع الويب المختلفة من التدخل مع بعضها البعض.
يتسبب المهاجم في قيام المستخدم الضحية بتنفيذ إجراء دون قصد، على سبيل المثال، قد يكون هذا لتغيير عنوان البريد الإلكتروني على حسابهم أو لتغيير كلمة المرور الخاصة بهم أو لإجراء تحويل أموال، اعتمادًا على طبيعة الإجراء، قد يكون المهاجم قادرًا على التحكم الكامل في حساب المستخدم، إذا كان لدى المستخدم المخترق دور متميز داخل التطبيق، فقد يتمكن المهاجم من التحكم الكامل في جميع بيانات ووظائف التطبيق.
ملاحظة: “CSRF” اختصا ر لـ “Cross-Site Request Forgery”.
آلية تنفيذ هجمات CSRF
- هناك جزءان رئيسيان لتنفيذ هجوم طلب التزوير عبر المواقع، الأول هو خداع الضحية للنقر فوق ارتباط أو تحميل صفحة، يتم ذلك عادةً من خلال الهندسة الاجتماعية والروابط الخبيثة، الجزء الثاني هو إرسال طلب قانوني المظهر من متصفح الضحية إلى موقع الويب.
- يتم إرسال الطلب مع القيم التي اختارها المهاجم بما في ذلك أي ملفات تعريف ارتباط ربطها الضحية بهذا الموقع، بهذه الطريقة، يعرف الموقع أن هذه الضحية يمكنها القيام ببعض الإجراءات على الموقع، سيتم اعتبار أي طلب يتم إرساله باستخدام بيانات اعتماد (HTTP) أو ملفات تعريف الارتباط، على الرغم من أن الضحية سترسل الطلب بناءً على أمر المهاجم.
ملاحظة: “HTTP” اختصا ر لـ “-HyperText Transfer Protocol”.
- عندما يتم تقديم طلب إلى موقع ويب، يتحقق متصفح الضحية مما إذا كان لديه أي ملفات تعريف ارتباط مرتبطة بأصل هذا الموقع والتي يجب إرسالها مع طلب (HTTP) إذا كان الأمر كذلك، يتم تضمين ملفات تعريف الارتباط هذه في جميع الطلبات المرسلة إلى هذا الموقع، تحتوي قيمة ملف تعريف الارتباط عادةً على بيانات المصادقة وتمثل ملفات تعريف الارتباط هذه جلسة المستخدم، يتم ذلك لتزويد المستخدم بتجربة سلسة، بحيث لا يُطلب منه المصادقة مرة أخرى لكل صفحة يزورها.
- إذا وافق موقع الويب على ملف تعريف ارتباط الجلسة واعتبر أن جلسة المستخدم لا تزال صالحة، فيجوز للمهاجم استعمال (CSRF) لإرسال الطلبات كما لو كانت الضحية ترسلها، لا يستطيع موقع الويب التمييز بين الطلبات التي يرسلها المهاجم وتلك التي يرسلها الضحية نظرًا لأنه يتم دائمًا إرسال الطلبات من متصفح الضحية باستخدام ملف تعريف الارتباط الخاص به، يستفيد هجوم (CSRF) ببساطة من حقيقة أن المتصفح يرسل ملف تعريف الارتباط إلى موقع الويب تلقائيًا مع كل طلب.
- لن يكون التزوير عبر الموقع فعالاً إلا إذا تمت مصادقة الضحية، هذا يعني أنه يجب تسجيل دخول الضحية حتى ينجح الهجوم، نظرًا لاستخدام هجمات (CSRF) لتجاوز عملية المصادقة، فقد تكون هناك بعض العناصر التي لا تتأثر بهذه الهجمات على الرغم من أنها ليست محمية ضدها، مثل المحتوى المتاح للجمهور، على سبيل المثال، يعتبر نموذج الاتصال العام على موقع ويب آمنًا من (CSRF)، لا تتطلب نماذج (HTML) أن يكون للضحية أي امتيازات لتقديم النموذج، ينطبق (CSRF) فقط على المواقف التي يكون فيها الضحية قادرًا على أداء إجراءات لا يمكن للجميع الوصول إليها.
ملاحظة: “HTML” اختصا ر لـ “HyperText Markup Language”.
الشروط الرئيسية لتنفيذ هجمات CSRF
لكي يكون هجوم (CSRF) ممكنًا، يجب أن توفر ثلاثة شروط رئيسية:
- تطبيق إجراء ذو صلة: قد يكون هذا إجراءً مميزًا، مثل تغيير الأذونات للمستخدمين الآخرين أو أي تعديلات على البيانات الخاصة بالمستخدم مثل تغيير كلمة المرور الخاصة بالمستخدم.
- معالجة الجلسة المستندة إلى ملفات تعريف الارتباط: يتضمن تنفيذ الإجراء إصدار واحد أو أكثر من طلبات (HTTP)، ويعتمد التطبيق فقط على ملفات تعريف الارتباط للجلسة لتحديد المستخدم الذي قدم الطلبات، حيث لا توجد آلية أخرى لتتبع الجلسات أو التحقق من طلبات المستخدمين.
- لا توجد متطلبات غير متوقعة: حيث لا تحتوي الطلبات التي تنفذ الإجراء على أية معلومات لا يمكن للمهاجم تحديد قيمها أو تخمينها، على سبيل المثال، عند التسبب في قيام المستخدم بتغيير كلمة المرور الخاصة به، لا تكون الوظيفة عرضة للخطر إذا احتاج المهاجم إلى معرفة قيمة كلمة المرور الحالية.
حتى إذا تمت معالجة الثغرات الأمنية في تطبيقات الويب من هجمات (CSRF) بنجاح، فقد تعرض تحديثات التطبيق وتغييرات التعليمات البرمجية التطبيقات لـ (CSRF) في المستقبل، لذلك يجب اختبار أمان تطبيقات الويب واختبار نقاط الضعف الأمنية المحتملة في تطبيقات الويب باستمرار.