حماية الموقع وبياناته من الأولويات التي يهتم بها كل صاحب موقع، وتعتبر ثغرة تطبيقات الويب remote code execution أحد أشهر الثغرات التي تستهدف إما سرقة بيانات الموقع أو ربما يصل الأمر إلى إغلاق الموقع بالكامل.
عندما تعرف جيداً كيف تعمل هذه الثغرة وطرق التصدي لها، وقتها ستكون قادر على حماية موقعك وكذلك زوّارك من التعرض لأي سرقة بياناتك أو أضرار أخرى ناتجة عن اختراق الموقع باستخدام مثل هذه الثغرات.
في هذه المقالة سوف تتعرف بصورة واضحة على ثغرة تطبيقات الويب remote code execution وأنواعها المختلفة، وأيضا أهم التوصيات لحماية موقعك الووردبريس من الإصابة بها.
ماهي ثغرة تطبيقات الويب remote code execution؟
ثغرة تطبيقات الويب هي واحدة من الثغرات التي تصيب مواقع الووردبريس على وجه الخصوص، وأيضا تصيب الأنواع الأخرى من المواقع، ويكون الهدف من هذه الثغرة هو زرع أكواد خبيثة داخل الموقع من أجل تنفيذ عمليات قرصنة يكون هدفها غالباً سرقة بيانات أو التسبب في حدوث عطل للموق بالكامل.
غالباً ما يقوم القراصنة بتنفيذ هذه الثغرة من خلال نماذج ملىء البيانات داخل الموقع، مثل نموذج التسجيل بالموقع، أو نموذج تسجيل الدخول، بحيث يتم إدخال أكواد خبيثة داخل حقول النموذج بدلاً من إدخال بيانات حقيقية، وبالتالي يتم زرع هذه الأكواد الخبيثة داخل الموقع دون أن يشعر صاحب الموقع أو الزوّار بهذا الأمر إذا لم تكن هناك طرق مخصصّة للتصدي لهذا الهجوم داخل الموقع.
عندما ينجح القراصنة في حقن أكواد خبيثة داخل الموقع، تقوم هذه الأكواد بدورها في إرسال بيانات حساسة لهم مثل بيانات تسجيل الدخول وبيانات حول الملفات المخزنة على الموقع، وغيرها من البيانات التي يستخدمها القراصنة في أغراض خبيثة مثل سرقة بيانات أو إيقاف الموقع بالكامل.
أشهر أنواع ثغرة remote code execution
يستخدم القراصنة الكثير من الطرق الاحتيالية لمحاولة زرع الأكواد الخبيثة داخل الموقع، وهو ما أدى إلى وجود أنواع مختلفة من هذه الثغرة وفقاً للطريقة التي يتم استخدامها لزرع الأكواد التي من شأنها تنفيذ عمليات قرصنة داخل الموقع، وسوف نستعرض لك أشهر هذه الأنواع والحيل التي يتم استخدامها لتنفيذ الغرض الأساسي منها.
SQL Injections
هذا النوع يستهدف الوصول إلى قواعد بيانات المواقع وزرع أكواد خبيثة من شأنها أن تقوم بسرقة بيانات من داخل قواعد البيانات، أو ربما الحاق الضرر بالبيانات مثل حذفها أو تعديلها، ونسبة نجاح هذه الثغرة كبيرة جداً داخل المواقع التي لا تقوم بأي إجراءات حماية وتأمين لقواعد البيانات.
تشكل هذه الثغرة خطراً حقيقياً على الموقع، وذلك لأنه بمجرد الوصول إلى قواعد البيانات، فهناك الكثير من البيانات في خطر السرقة، مثل بيانات المستخدمين الشخصية، وبيانات الدفع المخزنة في قواعد البيانات مثل البطاقات البنكية وبيانات الحسابات البنكية وغيرها..
يستخدم القراصنة متصفّح الويب غالباً لتنفيذ هذه الثغرة، وذلك من خلال التلاعب برابط الوصول إلى البيانات الخاصة بمحتوى الموقع.
فمثلا إذا كان هناك متجر إلكتروني لبيع المنتجات، وكان هذا المتجر يعرض المنتجات للزوار من خلال تصنيف أسمه Plants في هذه الحالة عندما يقوم أحد الزوّار بالدخول إلى صفحة هذا التصنيف فإن الرابط يكون كالتالي:
http://www.Example.com/?category=plants
حتى الآن ليس هناك مشكلة ..
تبدأ المشكلة الحقيقية عندما يقوم القراصنة بإضافة رموز خاصة في نهاية رابط الوصول إلى المنتجات، مثل الشكل التالي:
www.Example.com/?category=plants'+OR+1=1--
لاحظت في الرابط الأخير وجود الرموز '+OR+1=1-- في نهاية الرابط، وهذا الرمز إذا تم إدراجه في رابط المتجر الذي لا يتم تأمينه بشكل جيد، فإنه يقوم بجلب كافة المنتجات المخزنة داخل قواعد البيانات جملة واحدة بدون استثناء، لكن إذا كان الموقع أو المتجر مؤّمن بشكل جيد فسوف يقوم بإظهار صفحة خطأ 404 عندما يحاول أحد القراصنة تنفيذ هذه الثغرة.
كان هذا مثال بسيط على فكرة تنفيذ ثغرة SQL Injections لكن الأمر يكون أكثر تعقيدا وأكثر ضرراً في حالة استهداف متاجر ومواقع كبيرة وتحتوي على بيانات حساسة وهامة.
Cross-Site Scripting (XSS)
هذه الثغرة هدفها الأساسي هو استغلال الأماكن التي يمكن إدخال بيانات فيها داخل الموقع، مثل نماذج ملء البيانات، ونماذج الإتصال، والجزء الخاص بكتابة ونشر التعليقات، وذلك من خلال استخدامها لكتابة أكواد خبيثة تقوم بإجراءات من شأنها التأثير على تجربة المستخدمين داخل الموقع.
أكثر المدونات التي تتأثر بهذه الثغرة هي المدونات التي توفّر صندوق التعليقات أسفل المقالات، وفي هذه الحالة يقوم القراصنة بكتابة أكواد برمجية بلغة Javascript بدلاً من كتابة تعليق نصي حقيقي، وتكون هذه الاكواد مضمنة داخل العنصر Script:
بهذه الطريقة يستطيع المهاجمون إظهار إعلانات خاصة بهم داخل الموقع بدون الحاجة إلى إختراق الموقع بالكامل مما يشكّل تجربة سيئة لزوار موقعك واحتمالية ظهور إعلانات مسيئة لقاعدة كبيرة من زوار موقعك وتضر باسمك التجاري.
هذه الثغرة تصيب المواقع التي لا تقوم بعمل تأمين لنماذج ملىء البيانات أو نماذج النصوص والتعليقات بها، لكن في حال تأمين هذه الحقول وعمل تحقق من البيانات التي يتم إدخالها بها فلن يكون هناك تأثير حقيقي لتلك الثغرة في هذه الحالة.
Directory Traversal
هذه الثغرة التي أحياناً يطلق عليها أيضا Path traversal لا تستهدف زوار الموقع على وجه الخصوص ولا قواعد البيانات غالباً، وإنما هي تركّز بصورة أكبر على الملفات الخاصة بالموقع داخل السيرفر.
يحاول القراصنة توقع المسار الخاص بملفات الموقع، والذي يكون غالباً باسم Public_html ويبدأون في العمل على معرفة أسماء باقي الملفات الموجودة في مسار الموقع، وعند القدرة على زرع ملف خبيث داخل ملفات الموقع، فإنه يكون من السهل في حالة المواقع الغير مؤمّنه بصورة جيدة أن يتم التلاعب بملفات الموقع وربما تنزيلها أو تعديلها أو حذفها بالكامل.
يقوم المخترقين بالبحث عن نقاط الضعف الموجودة في الموقع والوصول إلى بوابة تساعدهم على الدخول إلى مدير ملفات الموقع، ونسبة نجاح الثغرة تكون مرتفعة في المواقع التي ليس لديها أي أداة حماية منها.
أحد الأساليب التي يستخدمها المخترقون لتنفيذ هذه الثغرة هي استخدام رابط المواقع URL لزرع ملفات ضارة تساعدهم على الوصول إلى المسار الجذري الخاص بالموقع، مثل الرابط التالي:
http://Example.comr/get-files.jsp?file=report.pdf
كما تلاحظ أن الرابط الخاص بالموقع الغير أمن هو Example.com، لكن المخترقون يقومون بإضافة هذه التعريفات داخل الرابط بغرض تنفيذ أكواد برمجية خبيثة تساعدهم على تنزيل ملفات هامة توجد داخل مدير ملفات الموقع مثل ملف Report.php الظاهر في الرابط السابق.
لعلك تسأل الأن: كيف عرف المحترقون بأن هناك ملف داخل الموقع باسم Report.php؟!
بالفعل قبل أن يقوم المخترقون باستدعاء أي ملف لابد أن يكون لديهم علم بأسماء الملفات الموجودة داخل السيرفر، وذلك من خلال وضع علامات مثل ../../../.. في رابط الموقع بطريقة معينة تساعدهم على التنقل بسهولة داخل مدير الملفات والإطلاع على أسماء الملفات الموجودة به، وبالطبع هذا يحدث فقط إذا لم يكن الموقع لديهم أداة حماية من تلك الثغرات، وفي حال كان الموقع مؤمّن بصورة جيدة فإن الموقع سوف يظهر صفحة الخطأ 404 في كل مرة يحاول المخترقون كتابة علامات و رموز وشفرات في رابط الموقع.
كانت هذه أشهر الثغرات المتعلقة بثغرة حققن الأكواد الخبيثة remote code execution، ولعلك لاحظت مدى الضرر الذي يمكن أن يلحق بالموقع نتيجة إصابته بإحدى هذه الثغرات، سواء على مستوى السيرفر أو على مستوى الزوّار أو حتى ملفات الموقع، وفي الفقرات التالية سنعرض لك أهم التوصيات لتأمين موقعك وحمايته ضد تلك الأنواع من الثغرات الخبيثة.
طرق التصدي لثغرة تطبيقات الويب remote code execution
تنقسم إجراءات التأمين من هذه الثغرة إلى نوعين رئيسيين: الأول يتعلق بوعي مدير المدير وحرصه على تحديث البرمجيات الخاصة بموقع واستخدام كلمات مرورة قوية وهكذا.. والنوع الأخر متعلق باستخدام إضافات وأدوات الحماية والتصدي لتلك الثغرات، وفي الفقرات التالية نستعرض لك أبرز التوصيات التي تساعدك على حماية موقعك والحفاظ عليه من التعرض لهذه الهجمات التي قد تلحق الكثير من الضرر بالموقع.
اهتم بتحديث الموقع والإضافات
عند اهتمامك بتحدث الووردبريس الخاص بموقعك بصورة مستمرة، فإنه تكون هناك احتمالية أقل لتعرض موقعك للإصابة بثغرات مثل ثغرة Remote code execution.
يوفّر الووردبريس بصورة افتراضية التبويب (تحديثات) داخل لوحة التحكم، والذي يساعدك على التعرف على التحديثات الجديدة الخاصة بالنظام أو القوالب والإضافات:
كذلك من الضروري الإهتمام بتحديث القوالب والإضافات المنصبة على الموق بصورة مستمرة، والتأكد من أن النسخة المستخدمة داخل موقعك هي دائماً احدث نسخة تم إصدارها.
التحديثات الخاصة بالووردبريس وكذلك الإضافات والقوالب تقوم غالباً بالتركيز على حل أي مشكلات أمنية قد تتسبب في تعرض الموقع للإصابة بإحدى الثغرات، وبالتالي تقل فرصة إصابة الموقع بالهجمات في حال كان يستخدم إضافات وقوالب محدثّة بصورة مستمرة.
التحقق من صحة البيانات المدخلة في الموقع
لعلك لاحظت من كلامنا في الفقرات الأولى عن الثغرات أن أغلب الهجمات تتم من خلال كتابة أكواد خبيثة داخل نماذج ملء البيانات في الموقع، وبالتالي أحد الطرق الفعّالة للتصدّي لمثل تلك الهجمات هي التحقق من صحة البيانات التي يقوم الزوار بإدخالها داخل النماذج المختلفة في الموقع.
طبعا في الووردبريس غالباً ما يستخدم صاحب الموقع إضافات جاهزة لإنشاء نماذج إدخال البيانات مثل نماذج الاتصال والتعليقات وغيرها، وبالتالي من الضروري عند استخدامك إحدى هذه الإضافات أن تتأكد من أن الإضافة توفّر خاصية (التحقق من صحة النموذج) أو ما يسمى Form validation:
الإضافات التي توفر خاصية التحقق من صحة النموذج الخاص بملىء البيانات تقوم بفلترة النصوص والبيانات التي يتم إدخالها وحذف أي رموز أو أكواد خبيثة قد تشكل خطراً أمان الموقع، مثل أكواد لغة الجافا سكريبت التي يتم تضمينها داخل العنصر<Script> وغيرها، وبالتالي لا يتم السماح لهذه الأكواد بالوصول إلى بيانات حساسة داخل الموقع.
لا تمنح أعضاء الموقع إذن التعديل على الكود البرمجي
قم بمراجعة رتب الأعضاء داخل موقعك، وتأكد من أنك لا تعطي أحد الأعضاء رتبة أعلى من الصلاحيات المسموح له بها.
يوفّر الووردبريس طريقة سهلة للتحكم في رتب الأعضاء داخل الموقع والصلاحيات الخاصة بهم، فهناك رتبة (المحرر) و رتبة (المشترك) ورتبة (المدير) وغيرها من الرتب التي يمكنك الاختيار من بينها عند إضافة أحد الأعضاء لموقعك، لكن رتبة المدير فقط هي التي يكون لديها إذن التعديل على الكود البرمجي للموقع.
يمكنك التحكم في الرتبة الخاصة بأي عضو داخل موقعك من خلال تبويب الأعضاء في لوحة تحكم الووردبريس ثم الدخول إلى حساب العضو واختيار الرتبة المناسبة له من تبويب الرتبة:
إذا استطاع شخص ما إختراق الحساب الخاص بأحد الأعضاء المسموح لهم بالتعديل على الكود البرمجي للموقع، فإن هذا يشكل خطراً حقيقياً لى الموقع بالكامل، لذلك تعامل بحرص مع الرتب التي تقوم بتعيينها للأعضاء داخل موقعك.
استخدام أحد برامج حماية تطبيقات الويب WAF
أحد الطرق الفعال في التصدي لهجمات زر الأكواد الخبيثة Remote code execution هي برامج حماية تطبيقات الويب WAF.
مصطلح WAF هو اختصار إلى Web Application Firewall وهي نوع من برامج حماية تطبيقات الويب التي تلعب دوراً وسيطاً بين زوّار الموقع وبين السيرفر المشغّل للموقع بالكامل، بحيث تقوم باستقبال طلبات الزوّار وفلترتها والتأكد من عدم احتوائها على أغراض خبيثة، ثم تمريرها وتشغيلها بصورة طبيعية.
هل تذكر الثغرة الخاصة بتطبيقات الويب في قواعد البيانات SQL Injection التي تحدثنا عنها في بداية المقالة؟
إذا تم استخدام أحد الأوامر البرمجية الخاصة بهذه الثغرة وانت تستخدم برنامج WAF على موقعك، فلن يتم تنفيذ الأكواد الخبيثة، ومباشرة يتم حجب الزائر عن الدخول للموقع لفترة معينة، أو قد يقوم البرنامج بإظهار صفحة خطأ 404 أمامه لمنعة من الوصول إلى تنفيذ الاستعلامات التي يحاول تمريرها إلى السيرفر.
هناك الكثير من أنواع برامج WAF المناسبة لمواقع الووردبريس، لكن من الضروري التأكد من استخدام برنامج له شهرة وقادر على التصدي لأكبر كمية ممكنة من الهجمات المحتملة على الموقع من أجل حماية موقعك وتأمينه من مثل تلك الثغرات.
الفائدة
دائماً ما يحاول العابثون الوصول إلى اكتشاف طرق جديدة للوصول إلى غاياتهم التي تبدأ من إلحاق الضرر البسيط بالمواقع وتتطور إلى سرقة بيانات حساسة وربما إغلاق الموقع بالكامل، ويعتمد مدى تأثير هذه المحاولات على وعي صاحب الموقع والمستخدم احياناً.
لذلك كن حريصاً لى إعلام مستخدمين وزوار موقعك بإجراءات الحماية الموصي بها لعدم التعرض لتلك المحاولات العبثية.
من ناحية أخرى، إذا كان موقعك يحتوي على بيانات هامة وحساسة مثل ببيانات التعاملات البنكية الخاصة بالمستخدمين، فمن الضروري أن تستخدم أحد برامج حماية تطبيقات الويب مثل برامج WAF التي أشرنا إليه من أجل بناء جدار حماية قوي داخل موقعك يحافظ على كل من بيانات الموقع والمستخدمين.
اترك تعليقك