أسلوب وآلية وطرق منع buffer overflow

نظرة عامة

علم أمن الحاسب والمعلومات هو أحد أهم علم و فرع من علوم و فروع الحاسب الآلي. يهدف هذا الفرع إلى حماية المعلومات ضد احتمالية التعرض الغير قانوني لها أو إفسادها  مع إبقاء المعلومات متاحة للمستخدمين القانونيين و المقصودين.
بشكل عام سياسة الأمن تقرر المسموح والممنوع من الصلاحيات وتركز على أمن “مواقع نظم أفراد.. الخ “. بالتطرق إلى فرع أمن الحاسب فإن ما يركز عليه متعلق بمعلومات و أنظمة حاسوبية.
إن إستراتيجيات ومنهجيات هذا العلم تختلف عن بقية تقنيات الكمبيوتر حيث يهدف إلى حد ما منع السلوك الغير مرغوب به بدلاٌ من تمكين السلوك المرغوب والمرجو.
إن هذا الفرع يطمح لتحقيق ثلاثة أهداف رئيسية وهي :
•    الوقاية وهي ذات أهمية لمنع أي شخص من انتهاك سياسة أمنية.
•    الكشف  وهي للكشف عن الأنشطة التي تنتهك سياسة الأمن و للتحقق من فعالية الوقاية و الحماية.
•    إصلاح  وهي عن طريق وقف سياسة الانتهاكات  تقييم و إصلاح الأضرار  التخلص من نقاط الضعف و الثغرات لمنع هجوم مستقبلي.

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

 

الأهمية

إن معرفة و التعرض والخوض في بعض أنواع الهجوم والاختراق الإلكتروني له الدور الأساسي والمباشر والفعال  في الحفاظ على أمن المعلومات و أمن الحاسب الآلي.
كما أن معرفة العناصر الأساسية في أمن المعلومات-السرية أو الموثوقية التكاملية وسلامة المحتوى والاستمرارية – والحفاظ عليها  يؤدي إلى الحفاظ على الأمن المعلوماتي الذي يشكل الهاجس الأساسي الذي أقلق و مازال بال الكثير من المستخدمين والمستفيدين.

 

الأهداف

إن التطرق لبعض أنواع الهجوم الإلكتروني وفهم مخاطرها و مسبباتها  يساعد و بشكل كبير على الوقاية من هذه الهجمات و أنواع الاختراق المختلفة مما يؤدي إلى عالم معلوماتي يتسم بالأمان  بعيداً عن أنواع المخاطر المختلفة التي تهدد عصرنا الحديث.

 

أصل مشكلة المقال

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

 

مستفيدو المقال

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

 

المقصود بــ (الهجوم بإغراق ذاكرة التخزين المؤقت)

كما سبق الذكر آنفا هناك العديد من أنواع الهجوم الإلكتروني التي تهدد أمن المعلومات وهي في طور الاكتشاف و التطوير. إن من أهم ما تم اكتشافه في الآونة الأخيرة و كان له التأثير الكبير على أمن هذه المعلومات ما يسمى “الهجوم بإغراق ذاكرة التخزين المؤقت” “buffer overflow attack“.
وقد توصلت الدراسات الحديثة أن هذا النوع من الهجوم الإلكتروني هو من أهم الأنواع الشائعة التي تهدد أمن وسلامة البيانات .كما توصل أن هذا الهجوم يختلف في ظهوره و نشأته عن بقية أنواع الهجوم الإلكتروني
حيث أن بعض لغات البرمجة ” اللغةC على سبيل المثال ” تدعم الهيكل فقط أما مستخدمو هذه اللغة يزودوها بثغرات قابلة للإصابة و الاستهداف.

قامت شركة مايكروسوفت بتعريف هذا النوع من الهجوم على أنه :

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

 

أسلوب الهجوم بإغراق ذاكرة التخزين المؤقت

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

 

آلية الهجوم بإغراق ذاكرة التخزين المؤقت

غالبا ما ينسب الضعف و تمكن هذا النوع من الاختراق   إلى الأثر المشترك بين نقاط ضعف لغة البرمجة السابق ذكرها “C” وبين رخص مميزات الأمان في نظام التشغيل “لينيكس”. لكن هذا الضعف ليس مقتصرا على هذان العاملان.
لتوضيح آلية هذا النوع من الاختراق سنلقي الضوء على مثال توضيحي  لتبسيط الصورة:

هناك برنامج حدد وعرف عنصرين لتخزين البيانات متجاوران في الذاكرة أحداهما لتخزين سلسلة من الأحرف طوله۸ بايت سنطلق عليه “ب”و الأخر لتخزين أرقام صحيحة يتجاوز طوله  ۲ بايت سنطلق عليه “جـ”
مبدئيا فإن المخزن الأول “ب” لا تحتوي على أي بيانات – صفر من البايت – أما المخزن “جـ” فإنه يحتوي على الرقم ۱۹۷۹.

جـ

ب

إسم المتغير

۱۹۷۹

مبدئيا لا يحتوي على أي أحرف

المحتوى

BB

07

00

00

00

00

00

00

00

00

التمثيل ال ۱٦ للمحتوى

 

الجدول 1 (يوضح آلية الهجوم بإغراق ذاكرة التخزين)

بعد ذلك يحاول البرنامج تخزين القيمة “excessive” داخل المخزن “ب” بالمقارنة مع طول المخزن “ب” نلاحظ أنها تتجاوز ال ۸ بايت متنقلة للتخزين في المخزن “جـ” مسببا التغيرات التالية:

 

جـ

ب

إسم المتغير

25856

v

i

s

s

E

c

x

e

المحتوى

00

65

76

69

73

73

65

63

78

65

التمثيل ال ۱٦ للمحتوى

جدول2 (يوضح آلية الهجوم بإغراق ذاكرة التخزين)

على الرغم من أن المبرمج هنا لم يقصد تغيير محتوى المخزن “جـ” إلى أن قيم المخزن “جـ” استبدلت بالفائض من محتوى المخزن “ب”.
في هذا المثال الفائض من المخزن “ب” -e  منبوعة ببايت فارغ – تحولت إلى الرمز و الشفرة الخاصة بهذا الحرف الزائد و هو 25856 .إذا كان المخزن “جـ” هو المخزن الوحيد المعرف خلال هذا البرنامج فإن مثل هذه الحالة ستسبب أخطاء في البرنامج مؤدية إلى إنهاء البرنامج بطريقة غير متوقعةكما في الشكل أدناه وهذا ما يطمح له المهاجمين حيث يتعمدون إلى كتابة أوامر تؤدي إلى سلوك غير متوقع مثل كتابة برنامج بطريقة طبيعية مع زيادة أوامر لها سلوك خاص بحيث تتعدى منطقة التخزين المسموحة إلى منطقة تنفيذ الأوامر محققة المطلوب.
توضح أداء البرنامج بعد الهجوم
صورة1 (توضح أداء البرنامج بعد الهجوم)

 

 

طرق منع هذا النوع من الهجوم

تشير طرق منع حدوث هذا النوع من الاختراقات إلى التقنيات المختلفة المستخدمة خلال تطوير البرامج لتعزيز أمن البرامج القابلة للتنفيذ عن طريق الكشف عن تجاوز أماكن التخزين هذه و محاولة منعها على أن تصبح ثغرات أمنية خطيرة. كما أن هناك العديد من التطبيقات المساعدة على منع حدوث هذا النوع من الاختراق.
عادة عملية الحماية والمنع من حدوث هذا النوع من الاختراقات يؤدي إلى تغيير في تنظيم المعلومات داخل مخزن من نوع آخر يعرف بـ كومة “stack” وقد يستدعي التغيير على  دالة معينة لتحتوي على قيمة  يطلق لها “الكناري” “canary”بحيث – عندما تُدمر- تُبين أن المخزن المؤقت الذي يسبقها في ذاكرة التخزين حدث له فيض.هذا له الدور في منع حدوث فئة كاملة من الهجمات  كما يجب على مدققي البرامج قبل إصدارها التأكد من وضع جمل في البرامج لتجاهل أي جمل تتعدى حجم ذاكرة التخزين لتفادي تحقيق أهداف المهاجمين.

 

الخاتمة

تختلف درجة الأمن على حسب أهمية المعلومة فكلما زادت المعلومة أهمية ازدادت العوامل المؤثرة على أمنها و المحافظة عليها.فهناك عوامل أساسية لها الدور الفعال في عملية الحفاظ على أمن الحاسب و المعلومات .يحتل الإنسان المرتبة  الأولى و المهمة والمؤثرة منها. بالتطرق لأهم هذه العوامل يعتبر التشفير من العوامل الأكثر أهمية بعد الإنسان وبالتالي لا يمكن لأي فرد التعرض للمعلومة وتغيير محتواها أو حتى حذف جزء منها.
العامل الآخر المؤثر هو المتعلق بالناحية البرمجية، فإذا كان هناك نسخة احتياطية من البيانات الهامة سيكون هناك القدرة في استرجاع أخر نسخة موجودة قبل حدوث أي تغيير أو فقدان للبيانات المخزنة سابقا.
كما يجب الحرص علي اقتناء برامج الحماية الأصلية، والابتعاد عن برامج الحماية المنسوخة،والتي تعتبر عامل أساسي من عوامل المحافظة على أمن الحاسب والمعلومات والتي تبقيك بعيدا عن المتطفلين.

الكاتب ayman

ayman

مواضيع متعلقة

اترك رداً