الثغرات البرمجية ماهي ؟ سببها وكيفية إكتشافها و أمثلة لها والحماية منها .

شارك المحتوى

نبذة عن الثغرات

    أولا ماهي الثغرات وتعريفها

                       الثغرات هي أماكن خلل ونقاط ضعف في التطبيق يستطيع أي شخص تقني من خلالها إستغلال التطبيق لتنفيذ أوامر غير التي بُرمج التطبيق من أجلها .

                       لا تقتصر الثغرات على برمجيات سطح المكتب فقط ولكنها تمتد إلى كافة البرمجيات سواء المكتبات البرمجية وتطبيقات الويب وحتى في التحديثات الأمنية التي تصدرها الشركة

                       المبرمجة للتطبيق لتفادي أخطاء سابقة فيه .

   كيف يتم إكتشاف الثغرات

                        لكي تصبح قادر على إكتشاف الثغرات البرمجية يجب أن تكون على علم باللغة التي كتب بها البرنامج وبيان أماكن الخلل به.

                       هناك العديد من الطرق التي تمكنك من بيان أماكن الخلل في أي برنامج إذا لم تكن تملك الشيفرة البرمجية للتطبيق عن طريق إستخدام المنقحات مثل OllyDbg وغيره الكثير من المُنقحات

                        التي تستخدم لمراقبة نشاط التطبيق ومعرفة أماكن الخطأ به هذا بالنسبة لتطبيقات سطح المكتب .

                       أما بالنسبة لتطبيقات الويب فهناك العديد من الطرق , والثغرات في تطبيقات الويب تنتج بمعرفة مسبقة بمشاكل برمجية في بعض الدوال في اللغة المستخدمة في برمجة التطبيق .

أمثلة لبعض الثغرات البرمجية

 ثغرة File Include

                    وهي أحد الثغرات البرمجية التي مكن إستغلالها إذا وجدت في التطبيقات المكتوبة بلغة PHP حيث تمكن المخترف من رفع ملف SHELL إلى الموقع مما يمكنه من التلاعب بالموقع ..

                    لذلك تعد ثغرة File Include من أخطر أنواع الثغرات ..

ثغرة SQL Injection

                    وهذا أقل خطورة من النوع السالف ذكره وهي تحدث نتيجة إدخال متغير ما إلى إستعلام Query لقواعد البيانات دون تحديد نوع المتغير من ثم إدخال إستعلامات موجهه لإستغلال تلك

 الثغرة .

                     للحصول على المعلومات بشكل غير شرعي من قاعدة البيانات مثل الحصول على إسم المستخدم الخاص بالمدير وكلمة السر .

 وتنقسم ثغرات ال SQL Injection إلى عدة أنواع منها .

1 – Error based SQL Injection

 2 – Blind SQL Injection

                      والنوع الأول يكون إستغلال الثغرة ميسر ودون مشاكل ,

                     أما الثاني فله العديد من المشاكل مثل تخمين إسم ونوع الجدول والصفوف مما يؤدي إلى تأخر العملية ولكنها تتم في النهاية وهي تستهدف الكثير من لغات البرمجة مثل PHP ,

                     ASP.NET وغيرها من لغات البرمجة .

ثغرة XSS

                   وهو أقل خطورة من الأنواع السابقة حيث يمكن من خلاله سحب الكوكيز الخاص بمستخدم معين .

  الحماية منها .

الحماية من الثغراة البرمجية يقع على عاتق المستخدم والمبرمج .

دور المستخدم في حماية نفسه من الثغرات .

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

                     طريق عمل الرولات المخصصة لفلترة مثل تلك الثغرات الموجودة في الإسكربتات , غلق البورتات الغير مستخدمة وكذلك العمليات الغير مهمة .

دور المبرمج في حماية تطبيقاتة من الثغرات .

دور المبرمج في حماية تطبيقاتة من وجود علل وثغرات

 

هذا كان بحث صغير قُمت به بناء على طلب أحدهم وكنت قد قمت بنشره على مدونتي المجانية السابقة

مُحمد الصايغ

مدير سيرفرات ومبرمج هاوي أحب البحث

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

هذا الموقع يستخدم خدمة أكيسميت للتقليل من البريد المزعجة. اعرف المزيد عن كيفية التعامل مع بيانات التعليقات الخاصة بك processed.