هجوم ال (Buffer Overflow) وطريقة منعه في الويندوز


من اهم انواع الهجمات الالكترونية في عالم الانترنت اليوم هو هجوم ال (buffer overflow) والغاية منه جعل نظام التشغيل او احد برامجه الملحقة او اي برنامج اخر مشبوه (يتم ارساله عبر الانترنت وزرعه في الجهاز الضحية) يقوم بالتجاوز على مساحة الخزن المخصصة له اثناء التنفيذ مما يجعله يكتب الى ذاكرة غير مخصصة له وهو الامر الذي يؤثر على كيفية تنفيذ البرامج الاخرى التي حين تريد التنفيذ فأنها تجد بيانات غير معرفة في الذاكرة المخصصة لها (قام البرنامج المخترق بوضعها هناك) مما يسبب فشل في عمل الكثير من البرامج في جهاز الضحية وقد يصل الامر الى ضياع الكثير من البيانات المهمة وحتى ان يضرب النظام ويحتاج الى فرمتة لأعادته الى الحياة مجدداً.

slide_32

 السؤال الان: كيف يمكننا الاستفادة من امكانيات نظام التشغيل خاصتنا (الويندوز في هذه الحالة) لضمان عدم حصول ذلك؟

قبل البدء لا بد من الاشارة الى ملاحظة مهمة جداً: في عالم الانترنت وتكنولوجيا المعلومات لا يوجد شيء اسمه حماية كاملة 100% ولا يوجد طريقة تمنع الاختراق بشكل نهائي. كل ما يستطيع خبير الامنية ومختصها فعله هو تقليل الخطر وعمل ما يسمى

raise the bar for the attacker

اي تصعيب الامور على المهاجم ولكن لا تتوقعوا ان هناك وصفة سحرية تخلصك من كل انواع الاختراق او تمنع اختراقاً معيناً بشكل كامل ونهائي ولذا اقتصى التنويه.

هذا الكلام ينطبق على كل وسائل الحماية المشروحة والتي سيتم شرحها في المستقبل من قبلنا او من قبل اي شخص اخر 🙂

والجواب ببساطة: بأستخدام احد خصائص نظام الويندوز والمسماة (data execution prevention) والتي يمكن الوصول اليها بأتباع الخطوات التالية:

  • انقر نقرة يمين على (my computer) في الويندوز 8 او 10.
  • اختر (properties) لتظهر الواجهة التالية:

1.png

نختار الخيار المؤشر في الصورة اعلاه لتظهر النافذة التالية:

2

ننقر على تبويب (advanced) ومنه نختار (settings) في حقل ال (performance) وننقر عليها لتظهر النافذة التالية:

3

من هذه النافذة نختار تبويب (data execution prevention) لتظهر الواجهة التالية:

4

الان النظام (بالنسبة للويندوز 10 ) يكون بالشكل المبين اعلاه وهو قد اختار بشكل تلقائي (turn on DEP …. For windows programs and services only) اي انه قد قام بتفعيل خيار حماية الجهاز والنظام من التجاوز على ذاكرة البرامج الاخرى فيما يخص نظام التشغيل وبرامجه وملحقاته فقط اي انه لو كان هناك برنامج قمنا بتنزيله من الانترنت وهو مضروب (hacked) ويحتوي على (script) يجعله ينفذ هجوم ال (buffer overflow) فلن يحمينا نظام الويندوز من ذلك لأننا اخترنا ان نحميه من نفسه ومن برامجه وملحقاته فقط.

اما اذا اردنا ان نفعل الحماية على كل البرامج فنختار الخيار الاخر (turn on DEP for all programs and services except those I select) وهنا اذا نقرنا على (apply) ثم (ok) فأن هذه الطريقة للحماية ستطبق على كل البرامج والخدمات في الجهاز (وهي الحماية التامة طبعاً من هذا الهجوم) ولكن المشكلة ان بعض البرامج الطبيعية ستتعطل ولن تستطيع العمل (الكوكل كروم كمثال( ولذلك نحتاج ان نستثنيها من هذا الخيار فنقوم بالنقر على الخيار الثاني كما مؤشر في النافذة التالية:

5

ثم ننقر على (add) لتظهر الواجهة التالية:

6

ونلاحظ اننا نستطيع تصفح كل ملفات النظام ونختار البرنامج التنفيذي الذي نريده وقد قمنا بأختيار الكوكل كروم كما هو واضح في النافذة اعلاه وبعدها ننقر على (add) و(ok) وكذلك يمكننا تكرار ذلك مع كل البرامج الاخرى.

كل هذا الكلام جميل ويتم تطبيقه بشكل مباشر وبسيط كما تم توضيحه بالنسبة لمعماريات ال (32 bit) واما بالنسبة لمعماريات ال (64 bit) فسنجد ملاحظة صغيرة في الاسفل تقول (your computer processor support hardware based-DEP) اي انه معالج جهازك يدعم الحماية من تنفيذ البيانات خارج نطاق ذاكرتها بشكل تلقائي. اي انه بمجرد ترك الخيار الاول كما هو فلا حاجة الى القلق من ال (buffer overflow) بعد ذلك.

اتمنى ان يكون هذا الشرح مفيداً للجميع ولا تنسونا بالدعاء.

2 comments

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s