ما هي الثغرات ؟ وما الامثلة عليها ؟
ما هي الثغرات ؟
الثغرات هي أماكن خلل ونقاط ضعف في التطبيق يستطيع أي شخص تقني من خلالها إستغلال التطبيق لتنفيذ أوامر غير التي بُرمج التطبيق من اجلها لا تقتصر الثغرات على برمجيات سطح المكتب فقط ولكنها تمتد إلى كافة البرمجيات سواء المكتبات البرمجية وتطبيقات الويب وحتى في التحديثات الأمنية التي تصدرها الشركة المبرمجة للتطبيق لتفادي أخطاء سابقة فيه .
كيف يتم إكتشاف الثغرات ؟
لكي تصبح قادر على إكتشاف الثغرات البرمجية يجب أن تكون على علم باللغة التي كتب بها البرنامج وبيان أماكن الخلل هناك العديد من الطرق التي تمكنك من بيان أماكن الخلل في أي برنامج إذا لم تكن تملك الشيفرة البرمجية للتطبيق عن طريق إستخدام المنقحات مثل OllyDbg وغيره الكثير من المُنقحات التي تستخدم لمراقبة نشاط التطبيق ومعرفة أماكن الخطأ به هذا بالنسبة لتطبيقات سطح المكتب .
أما بالنسبة لتطبيقات الويب فهناك العديد من الطرق , والثغرات في تطبيقات الويب تنتج بمعرفة مسبقة بمشاكل برمجية في بعض الدوال في اللغة المستخدمة في برمجة التطبيق .
أمثلة لبعض الثغرات البرمجية
ثغرة File Include
وهي أحد الثغرات البرمجية التي مكن إستغلالها إذا وجدت في التطبيقات المكتوبة بلغة PHP حيث تمكن المخترف من رفع ملف SHELL إلى الموقع مما يمكنه من التلاعب بالموقع ..
لذلك تعد ثغرة File Include من أخطر أنواع الثغرات ..
ثغرة SQL Injection
وهذا أقل خطورة من النوع السالف ذكره وهي تحدث نتيجة إدخال متغير ما إلى إستعلام Query لقواعد البيانات دون تحديد نوع المتغير من ثم إدخال إستعلامات موجهه لإستغلال تلك الثغرة .
للحصول على المعلومات بشكل غير شرعي من قاعدة البيانات مثل الحصول على إسم المستخدم الخاص بالمدير وكلمة السر .
وتنقسم ثغرات ال SQL Injection إلى عدة أنواع منها .
-
Error based SQL Injection
-
Blind SQL Injection
والنوع الأول يكون إستغلال الثغرة ميسر ودون مشاكل ,
أما الثاني فله العديد من المشاكل مثل تخمين إسم ونوع الجدول والصفوف مما يؤدي إلى تأخر العملية ولكنها تتم في النهاية وهي تستهدف الكثير من لغات البرمجة مثل PHP
ASP.NET وغيرها من لغات البرمجة
ثغرة XSS
وهو أقل خطورة من الأنواع السابقة حيث يمكن من خلاله سحب الكوكيز الخاص بمستخدم معين .
الحماية من ثغرة XSS
الحماية من الثغراة البرمجية يقع على عاتق المستخدم والمبرمج .
دور المستخدم في حماية نفسه من الثغرات .
متابعة التحديثات الأمنية التي تصدر للتطبيقات لمعالجة الأخطاء البرمجية بها هذا للمستخدم العادي أما إذا كنت صاحب وقع أو مدير خادم إستضافة فيمكنك إيقاف إستغلال الثغرة عن
طريق عمل الرولات المخصصة لفلترة مثل تلك الثغرات الموجودة في الإسكربتات , غلق البورتات الغير مستخدمة وكذلك العمليات الغير مهمة .
دور المبرمج في حماية تطبيقاتة من الثغرات .
دور المبرمج في حماية تطبيقاتة من وجود علل وثغرات.