edX

edX

برامج مفيدة

متوفر على أندرويد و iOS.

“دروس مجانية مفتوحة المصدر” عبارة كفيلة بجعل دقات قلب أي نيرد أو Geek تتسارع بشدة!!

من التطبيقات المفضلة لدي في الواقع! للباحثين عن دروس مجانية في كافة المجالات أو محاضرات قيمة فتطبيق edX هو الوجهة التي عليكم الذهاب إليها، حيث يأتيكم بأفضل الدروس في مختلف المجالات من أكبر الجامعات العالمية.

كل ما عليك فعله هو البحث عن موضوع ما والضغط على زر Enroll وأن تباشر بالتعلم أو تنتظر إشعارًا ببدء الدرس إن لم يكن قد بدأ بعد. يتيح التطبيق أيضًا إمكانية تحميل الدروس للمشاهدة أوف لاين لاحقًا، كما يوفر لك شهادة يمنحها لك عند إنهاء المقرر لكن هنا عليك أن تدفع مقابلها.

نُشر في <a href="https://max4arab.com/category/pro/" rel="category tag">برامج</a> الموسومة <a href="https://max4arab.com/tag/edx/" rel="tag">EDX</a>
RescueTime
MindMeister
Nuzzel
StickK
Palringo

هاكرز دولي

جريدة الاقتصادية الالكترونية

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

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

وأسدى استشاري أمن المعلومات نصائح من بينها في حال وصول مثل هذه الرسالة إلى العميل ألا يستخدم الرابط، قبل محادثة الجهة مباشرة أو كتابة موقع الجهة على برنامج المستكشف مباشرة. كما طالب بعدم تعبئة أي نموذج بالبريد الإلكتروني، حيث تكون تعبئة البيانات عن طريق موقع ومحمي، مشيرا إلى أن تلك المواقع تبدأ بـ httpsوليس http فقط وشكل القفل الصغير في زاوية المتصفح السفلى.  
وطالب أيضا بتحديث برنامج المتصفح ونظام التشغيل بأحدث الترقيات الأمنية، موضحا أن استخدام عنوان (نطاق) مسجلاً سعودياً بامتداد saقد يساعد في تقليل مخاطر الاصطياد نظراً لتدقيق التسجيل في هذا النطاق.
وطالب في حالة تقديم بيانات سرية بضرورة الإبلاغ في أسرع وقت ممكن للجهة الحقيقية لتغيير رقم الحساب أو كلمة المرور أو اسم المستخدم أو غيرها من الإجراءات اللازمة لتلافي أي خسائر.

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

نُشر في <a href="https://max4arab.com/category/pro/" rel="category tag">برامج</a> الموسومة <a href="https://max4arab.com/tag/%d8%af%d9%88%d9%84%d9%8a/" rel="tag">دولي</a>، <a href="https://max4arab.com/tag/%d9%87%d8%a7%d9%83%d8%b1%d8%b2/" rel="tag">هاكرز</a>

انتبه من فيروس سيصيب حاسوبك في تاريخ

استطراداً في التوعية عن مخاطر الحاسوب الأمنية العديدة و المتنوعة، نقف اليوم عند نوع آخر من المخاطر و لكن هذه المرة عن نوع يتميز بقلة خطره الأمني مقارناً مع غيره و لكن ما جعلني اذكره هو تأثيره الغير مباشر على الأداء الإنتاجي للشخص سواء خاصاً أو موظفاً لدى منظمة.
هذا النوع يُدعى بالتحذير الخادع أو المضلل (Hoax). و هي رسالة بريدية الكترونية تنتقل بين الناس على أنها رسالة تحذير من انتشار فيروس خطير جداً و يتميز بالخفاء و عدم قدرة أنظمة مكافحة الفيروسات على اكتشافه. في الوهلة الأولى، يصاب المستخدم المسكين بالخوف من هذا الفيروس الذي لا يُكتشف، و هو في نفس الوقت يستعرض في مخيلته القصص المفزعة عن ما تفعله الفيروسات، هذا إذا لم يكن قد عانى من فيروس شرس أكل الأخضر و اليابس في حاسوبه و سبب له كرهً و خوفاً في نفس الوقت من الفيروسات. لكن ما يميز هذه الرسالة هو تقديمها للعلاج الناجع – كما تدعي – و الذي ما أن يقرأها المسكين حتى يقوم بتطبيقه بدون تردد خوفاً من الفيروس. إن ما يميز طرق العلاج في بعض هذا الرسائل هو سهولة تطبيقه، فمثلاً: تكون وصفه العلاج هي طلب البحث عن ملف محدد في مجلد محدد، فان وجده فان جهازك قد أصيب و ما عليك لمكافحة ذلك الفيروس إلا حذف ذلك الملف!
كذلك، يميز تلك الرسائل أسلوبها، فتارة تحدد تاريخاً محدداً – عادةً ما يكون التاريخ قريب -كتوقيت لعمل الفيروس و ذلك لحثك على عدم التردد في الاستجابة. و تارة يكتب بلغة المستخدم – العربية في حالتنا – و يزيدها إثارة بربط الفيروس بمؤامرة دنيئة من أعداء المسلمين أو البلد مما يجعلك أن تصدق أن عدم قدرة أنظمة مكافحة الفيروسات على اكتشاف ذلك الفيروس مبررة في أن هذا الفيروس ليس عالمياً أو أن شركات تلك الأنظمة متواطئة في المؤامرة. إنها أسباب عدة قادرة على إقناع المستخدم بالاستجابة، و لعل إخواننا في التخصصات النفسية اقدر على تحليل أسلوب تلك الرسائل.
دعوني اذكر مثالاً ورد على بريدي الالكتروني و لعل البعض قد استلمه أيضاً:
“قبل 48 ساعة قام مجموعه من المبرمجين اليهودإنتاج فيروس جديد أخطر من فيروس بلاستر ويقوم الفيروس بتحميل نفسه
على جميع أنظمة الويندوز، وهو فيروسموجه للإيميلات العربية والعرب على وجه الخصوص وسيقومالفيروسبتدمير الهارد وير بدأ من تاريخ 20-2-2006. للتخلصمن الفيروس: أذهب إلى أبدا ثم بحث ثم ضع اسمالفيروس وهو jdbgmgr.exe و سيظهر لكالفيروس على شكل دب رمادي ثم قمبإلغائه. ملاحظة:الفيروس هذا لا تكشفه برامجالحماية.”
لا يستوجب وجود ذلك الملف وجود فيروس، حيث أن هذا الملف موجود في اغلب أنظمة ويندوز و هو تابع لتلك الأنظمة، و حذفه لا يؤثر سلباً على النظام (أنا أتكلم عن هذا الملف خاصة). و لكن هذا الملف كباقي الملفات قد يكون مصاباً بفيروس و ليس له ما يميزه عن غيره. العجيب في الأمر أن هذا النص و بدون ذكر المؤامرة مترجم لجميع اللغات و يظهر بين الحين و الأخرى.
قد يلومنا المستخدم كمختصين في أمن المعلومات في أننا تارة نطلب الاستجابة العاجلة في صد الأخطار الأمنية و تارة نحذر من الاستجابة! هذا صحيح لكننا نطلب الاستجابة بطرق واضحة مثل التحديث الدوري لمكافح الفيروسات و أنظمة التشغيل و برامجها، و لكننا في نفس الوقت نطلب من المستخدمين التريث في الحالات الغريبة مثل هذا النوع و طلب الاستشارة من المختصين حيالها.
لا يمكن القول أن جميع التحذيرات الكاذبة غير مضرة، فهي مضرة من ناحيتين: أولاً، قد يكون الملف المطلوب حذفه من الملفات المهمة في نظام التشغيل أو البرامج الحساسة التي قد تتأثر سلباً من فقدان هذا الملف. ثانياً: أن لم يكن الملف هاماً فان الضرر يكمن في تضييع وقت المستخدم في قراءة الرسالة و البحث عن الملف ثم حذفه و قد يرسله لمن يعز عليه، إنها خسارة إنتاجية.
كذلك لا يمكننا بشكل مطلق الحث على تجاهل جميع البلاغات الأمنية، إنما يجب علينا أن كنا في منظمة أن نحيل تلك البلاغات لمدير النظام أو إدارة أمن المعلومات و لا نعير أي تحذير اهتمامنا إلا ما كان مصدرها مدير النظام أو إدارة أمن المعلومات فقط. أما بالنسبة للمستخدم المنزلي فعليه الاعتماد على مكافح الفيروسات فيما يختص بالفيروسات.
في الختام، اهمس في أذن مديري أنظمة المنظمات أن يقوموا بتوعية منسوبي منظمتهم، فدرهم وقاية خير من قنطار علاج.

 

نُشر في <a href="https://max4arab.com/category/pro/" rel="category tag">برامج</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%86%d8%aa%d8%a8%d9%87/" rel="tag">انتبه</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%a7%d8%b1%d9%8a%d8%ae/" rel="tag">تاريخ</a>، <a href="https://max4arab.com/tag/%d8%ad%d8%a7%d8%b3%d9%88%d8%a8%d9%83/" rel="tag">حاسوبك</a>، <a href="https://max4arab.com/tag/%d8%b3%d9%8a%d8%b5%d9%8a%d8%a8/" rel="tag">سيصيب</a>، <a href="https://max4arab.com/tag/%d9%81%d9%8a/" rel="tag">في</a>، <a href="https://max4arab.com/tag/%d9%81%d9%8a%d8%b1%d9%88%d8%b3/" rel="tag">فيروس</a>، <a href="https://max4arab.com/tag/%d9%85%d9%86/" rel="tag">من</a>

أسلوب وآلية وطرق منع الهجوم بإغراق ذاكرة التخزين المؤقت buffer overflow attack

نظرة عامة

في هذا المقال سنتحدث عن الهجوم بإغراق ذاكرة التخزين المؤقت (Buffer Overflow Attack), متطرقين إلى آليته, أساليبه, تقنيات تجنبه وأنواعه.

المقدمة

إغراق ذاكرة التخزين المؤقت (Buffer Overflow)
يحدث عندما يحاول برنامج ما تخزين بيانات أكثر من سعة المخزن المؤقت (Buffer) مما يؤدي إلى فيضان المعلومات الإضافية إلى الـمخازن المؤقتة المجاورة لتقوم بالتخزين فوق البيانات التي تحويها هذه المناطق[1] .

الهجوم بإغراق ذاكرة التخزين المؤقت (Buffer Overflow Attack)

عرفته شركة Microsoft على النحو التالي :
هجوم يتم عن طريق استغلال المهاجم للمخازن المؤقتة التي لم يتم التحقق من عزلها في برنامج ما ، و كتابة رموزه
الخاصة فوق رموز البرنامج. نتيجة لاستبدال رموز البرنامج الأصلية برموز المهاجم، سيعمل البرنامج وفقا لما يمليه عليه المهاجم [2].
على وجه العموم، الهجوم بإغراق ذاكرة التخزين المؤقت يتم على مختلف البيانات (سواء كانت متغيرات أو عناوين).

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

يقوم الهجوم بإغراق ذاكرة التخزين المؤقت (Buffer Overflow Attack) باستغلال سوء تنفيذ بعض البرامج التي تعمل على نقل البيانات بين عناوين ذاكرة النظام. النوع الأكثر شيوعا يستغل الافتقار إلى الدقة في عملية التحقق من طول البيانات المدخلة. إهمال التحقق من الطول المناسب لمدخلات البرنامج، يمكن المهاجمين من تكوين مدخلات يفوق طولها ما يمكن للبرنامج التعامل معه، وإعادة توجيه البرنامج إلى عنوان معين في ذاكرة النظام حيث تم وضع تعليمات المهاجم.
من أشهر أساليب إغراق ذاكرة التخزين المؤقت (Buffer Overflow)  التي يستخدمها المهاجمون, أسلوب يعتمد على الثغرة المتعلقة بإرسال طلبات عناوين مواقع (URL) تالفة إلى خادم الويب (web server).عندما يستقبل خادم الويب (web server) طلب عنوان الموقع ((URL، يقوم بتحميله إلى داخل مخزن الذاكرة المؤقت ((memory buffer. مخزن الذاكرة المؤقت ((memory buffer عبارة عن مساحة معينة في الذاكرة، محجوزة لاستخدام متغير برنامج معين. عدم تحقق البرنامج من أن المخزن المؤقت ((Buffer المخصص لطلب ما يمكنه احتواء طول عنوان الموقع ()URL الذي تم طلبه يشكل ثغرة يمكن استغلالها من قبل المهاجمين[5].

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

يعتمد الهجوم بإغراق ذاكرة التخزين المؤقت (Buffer Overflow Attack)  على اثنين من الأساليب (وعادة مايكون مزيج منهما):

1-  كتابة البيانات إلى عناوين معينة في الذاكرة.

2- امتلاك نظام تشغيل يسيء استخدام أنواع البيانات المختلفة.

هذا يعني أن لغات البرمجة قوية النمط و بيئاتها لا تسمح بالوصول المباشر للذاكرة, و بالتالي تمنع حدوث بإغراق ذاكرة التخزين المؤقت (Buffer Overflow Attack) [3].

 

table
الجدول1 : مواصفات اللغات

 

تقنيات التجنب العامة

1-  ” تدقيق الكود آلياً أو يدوياً.
2- تدريب المطورين: على فحص الحدود المسموحة من الذاكرة واستعمالات التوابع غير الآمنة والمعايير القياسية.
3-  المكدسات (Stacks) غير القابلة للتنفيذ: العديد من أنظمة التشغيل تملك على الأقل بعض الدعم لها.
4-  أدوات الترجمة: StackShield, StackGuard, Libsafe وغيرها.
5-  التوابع الآمنة : كاستعمال تابع (strncat) بدلاً من (strcat) و (strncpy) بدلاً من (strcpy).
6-  فحص التطبيق بشكل دوري بواحدة أو أكثر من الفاحصات المتوفرة والتي تبحث عن أخطاء إغراق ذاكرة التخزين المؤقت (Buffer Overflow) في منتجات الخادم وتطبيقات الويب المتخصصة ” [4].

أنواع إغراق ذاكرة التخزين المؤقت (Buffer Overflow)

إغراق المكدس (Stack Overflow)

هو النوع الأكثر شيوعا من أنواع إغراق ذاكرة التخزين المؤقت (Buffer Overflow).

أساسيات إغراق المكدس (Stack Overflow) :

1)    هناك نوعان من المخازن المؤقتة (Buffers):
1.    مخزن المصدر المؤقت ((Source Buffer.
يحتوي على مدخلات اعتباطية (تم افتراضها من قبل المهاجم).
2.    مخزن الوجهة المؤقت ((Destination Buffer.
يقع فوق المكدس (  (Stackومجاور للدالة (return address) الموجودة داخل المكدس ( (Stack، و هو صغير جدا بالنسبة لمدخلات الهجوم.
2)    أن يحتوي البرنامج خطأ برمجي، نتيجة لذلك يهمل التحقق من أن حجم مخزن المصدر المؤقت ((Source Buffer يمكن احتواؤه بواسطة مخزن الوجهة المؤقت ((Destination Buffer ، ويقوم بنسخ مدخلات الهجوم إلى مخزن الوجهة المؤقت ((Destination Buffer ، مما يؤدي إلى الكتابة فوق المعلومات الموجودة داخل المكدس ((Stack (متل دالة “return address”).
3)    عندما نريد تنفيذ الدالة “return address” (التي طالها التغيير) ، يقوم المعالج ((CPU باستخراجها من المكدس (Stack).
4)    الآن، لم تعد الدالة تعمل كما في السابق. بدلا من ذلك ، يتم تنفيذ تعليمات برمجية عشوائية (من اختيار المهاجم) [6].

 

إغراق الكومة (Heap Overflow)

يحدث هذا النوع في منطقة بيانات الكومة ((heap ويمكن استغلاله بطريقة مختلفة عن إغراق المكدس (Stack Overflow).
يتم تخصيص الذاكرة للكومة ((heap بشكل حيوي، وذلك بواسطة التطبيق (أثناء تشغيله)، وعادة ما يحتوي على بيانات البرنامج.

المثال التالي,مكتوب بلغة ال C, يوضح الهجوم بإغراق الكومة (heap overflow attack) :

 

 

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

#define BSIZE 16
#define OVERSIZE 8 /* overflow buf2 by OVERSIZE bytes */

void main(void) {
u_long b_diff;
char *buf0 = (char*)malloc(BSIZE);        // create two buffers
char *buf1 = (char*)malloc(BSIZE);

b_diff = (u_long)buf1 – (u_long)buf0;    // difference between locations
printf(“Initial values:  “);
printf(“buf0=%p, buf1=%p, b_diff=0x%x bytes\n”, buf0, buf1, b_diff);

memset(buf1, ‘A’, BUFSIZE-1), buf1[BUFSIZE-1] = ‘\0’;
printf(“Before overflow: buf1=%s\n”, buf1);

memset(buf0, ‘B’, (u_int)(diff + OVERSIZE));
printf(“After overflow:  buf1=%s\n”, buf1);
}

[root /tmp]# ./heaptest

Initial values:  buf0=0x9322008, buf1=0x9322020, diff=0xff0 bytes
Before overflow: buf1=AAAAAAAAAAAAAAA
After overflow:  buf1=BBBBBBBBAAAAAAA

البرنامج البسيط أعلاه يظهر اثنين من المخازن المؤقتة (Buffers) يقعان في منطقة الكومة ((heap, بحيث يفيض المخزن المؤقت ((buffer الأول مما يؤدي إلى الكتابة فوق محتويات المخزن المؤقت(buffer)  الثاني [6].

 

الإغراق بواسطة تنسيق متسلسلة حروف (Format String Overflow)

تستفيد ثغرات التنسيق لمتسلسلة من الحروف ((Format String من مزيج المعلومات و بيانات التحكم لدالة معينة, مثل ” C/C++’s printf “.

أسهل طريقة لفهم هذا النوع هي عرض المثال التالي :

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

void main(void) {
char str[100] = scanf(“%s”);
printf(“%s”, str);
}

هذا البرنامج البسيط يأخذ مدخلات من المستخدم ويعرضها على الشاشة. متسلسلة الحروف ((String “%s ” يعني أن العامل الآخر, str, ينبغي أن يتم عرضه كمتسلسلة حروف ((String. هذا المثال ليس عرضة للإغراق بواسطة تنسيق متسلسلة حروف (Format String Overflow), لكن  إذا قام أحد ما بتغيير السطر الأخير, سيصبح عرضة لهذا النوع من الهجوم :

printf(str);

لنرى كيف يتم ذلك, نعتبر أن المستخدم قام بإدخال :

%08x.%08x.%08x.%08x.%08x

عن طريق بناء المدخلات على هذا النحو ، يمكن استغلال البرنامج لطباعة أول خمس تدوينات من المكدس       [6] (Stack).

الإغراق باستخدام الشفرة الموحدة (Unicode Overflow)

استغلال الشفرة الموحدة (Unicode) أصعب قليلاً من طرق إغراق ذاكرة التخزين المؤقت
(buffer overflow) النموذجية, لكن ذلك لا يعني أن استخدام الشفرة الموحدة (Unicode) يحمي من إغراق ذاكرة التخزين المؤقت (buffer overflow) . من أمثلته : طروادة المدمر
devastating Trojan)) و  [6] (Code Red).

الإغراق بواسطة الأرقام الصحيحة (Integer Overflow)

عندما يجري تطبيق ما عملية على رقمين ذوي حجم ثابت, فإن النتيجة قد تكون أكبر حجماً. مثلاً, إذا كان لدي رقمين كل منهما مكون من 8 bits (198 و 208) وأجرينا عليهما عملية جمع, و قمنا بتحزين نتيجة العملية في 8 bits, فإن النتيجة لن يتم احتواؤها لكبر حجمها :

1100 0000
+ 1101 0000
= 0001 1001 0000

يوضح المثال التالي هذا النوع من إغراق ذاكرة التخزين المؤقت (buffer overflow) :

#include <stdio.h>
#include <string.h>

void main(int argc, char *argv[]) {
int i = atoi(argv[1]);         // input from user
unsigned short s = i;          // truncate to a short
char buf[50];                  // large buffer

if (s > 10) {                  // check we’re not greater than 10
return;
}

memcpy(buf, argv[2], i);       // copy i bytes to the buffer
buf[i] = ‘\0’;                 // add a null byte to the buffer
printf(“%s\n”, buf);           // output the buffer contents

return;
}

[root /tmp]# ./inttest 65580 foobar
Segmentation fault

يمكن استغلال الشفرة أعلاه لأن عملية التحقق من صحة المدخلات لم تتم على القيمة المدخلة (65580),  لكن بدلا من ذلك تم تحويل القيمة التي تليها إلى قيمة قصيرة و عديمة الإشارة (45).
يعد الإغراق بواسطة الأرقام الصحيحة (Integer Overflow) مشكلة في أي لغة حيث يمكن استغلاله عندما تستخدم الأرقام الصحيحة كمؤشرات ل array و في العمليات الرياضية الضمنية القصيرة [6].

الخلاصة

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

نُشر في <a href="https://max4arab.com/category/pro/" rel="category tag">برامج</a> الموسومة <a href="https://max4arab.com/tag/attack/" rel="tag">attack</a>، <a href="https://max4arab.com/tag/buffer/" rel="tag">buffer</a>، <a href="https://max4arab.com/tag/overflow/" rel="tag">overflow</a>، <a href="https://max4arab.com/tag/%d8%a3%d8%b3%d9%84%d9%88%d8%a8/" rel="tag">أسلوب</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%aa%d8%ae%d8%b2%d9%8a%d9%86/" rel="tag">التخزين</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%85%d8%a4%d9%82%d8%aa/" rel="tag">المؤقت</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%87%d8%ac%d9%88%d9%85/" rel="tag">الهجوم</a>، <a href="https://max4arab.com/tag/%d8%a8%d8%a5%d8%ba%d8%b1%d8%a7%d9%82/" rel="tag">بإغراق</a>، <a href="https://max4arab.com/tag/%d8%b0%d8%a7%d9%83%d8%b1%d8%a9/" rel="tag">ذاكرة</a>، <a href="https://max4arab.com/tag/%d9%85%d9%86%d8%b9/" rel="tag">منع</a>، <a href="https://max4arab.com/tag/%d9%88%d8%a2%d9%84%d9%8a%d8%a9/" rel="tag">وآلية</a>، <a href="https://max4arab.com/tag/%d9%88%d8%b7%d8%b1%d9%82/" rel="tag">وطرق</a>

أسلوب وآلية وطرق منع الـ buffer overflows attack

ملخص

في الآونة الأخيرة بدأ انتشار الهجوم على شبكات و أجهزة الكمبيوتر بشكل واضح, و قد نوع مرتكبوها في أساليبهم وطرقهم مما أدى إلى صعوبة اكتشافها ومنعها. أساسيات الهجوم (BASIC ATTACKS), تعد إحدى أشهر تلك الأساليب و أوسعها انتشارا, وهي تلك الطرق التي يلجأ إليها غالبا من لا يملكون مهارات تقنية عالية أو أسس علمية يتبعونها, بل يتبعون أسلوب التخمين و الدهاء في التخريب بالإضافة إلى إجادتهم استخدام بعض البرامج و الأدوات و استغلال الثغرات الجاهزة. استغلال ثغرات البرامج (SOFTWARE EXPLOITATION) هو أحد أنواع هذا الأسلوب, و يعتمد على استغلال الثغرات الموجودة في البرنامج والتي تشكل نقطة ضعف فيه, تنتج هذه الثغرات عن خطأ برمجي موجود في برنامج أو نظام تشغيل ارتكبه و غفل عنه المبرمج أثناء كتابة البرنامج. ويعد (BUFFER OVER FLOW ATTACK), أو الهجوم بإغراق ذاكرة التخزين المؤقت, من أكثر أنواع هذا الأسلوب شيوعا وانتشارا. ويتم عن طريق إدخال المهاجم(ATTACKER ) بيانات تفوق سعة الـ (BUFFER) وهي :جزء من الذاكرة مسئول عن تخزين البيانات بشكل مؤقت, وبالتالي قد يؤدي ذلك إلى عطل أو تعليق  في الجهاز أو إظهار نتائج غير صحيحة و أخطاء في الوصول إلى الذاكرة و غيرها الكثير. فعلى المستخدم تركيب و استخدام وسائل الوقاية والأمان, والحرص على تحديث البرامج المستخدمة التي من الممكن أن الأخطاء والثغر الموجودة بها قد صححت, وذلك ليجنب نفسه وشبكته التعرض لمثل هذا الهجوم.

 

مخرجات الورقة و المستفيدين منها

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

 

مقدمة

كما أن الأجهزة و وسائل الحماية مستمرة في التطور, فإن المهاجمين (attackers) كذلك طوروا من وسائلهم وأساليب هجومهم حتى بات من الصعب على المستخدم وبرامج الحماية اكتشافها و منعها. و بلا شك معرفة تلك الأساليب وكيفية عملها, يساهم في التصدي لهم وحماية الشبكات و الأجهزة منهم.
في هذا المقال سوف أتطرق إلى الحديث عن آلية(Buffer overflow)و محاولة منعها.
الـ  (over flow) كمفهوم هو: الإفاضة أو تحميل الشيء فوق سعته, أما الـ (Buffer) هي: جزء من الذاكرة تعمل على تخزين البيانات أو المدخلات (inputs) مثل كلمة السر واسم المستخدم و غيرها  بشكل مؤقت, وتكون سعتها محددة مسبقا و معرفة في البرنامج أو نظام التشغيل.
إذن فالـ (Buffer overflow)أو الهجوم بإغراق ذاكرة التخزين المؤقت هو: “أسلوب التحميل الزائد للبيانات المدخلة, داخل مساحة محددة سلفا في منطقة حفظ البيانات المؤقتة (Buffer) مما يؤدي إلى احتمالية الكتابة فوق الكتابة الموجودة أصلا في الذاكرة.” [1]. هذه الحالة تحدث نتيجة خطأ برمجي ارتكب أثناء كتابه البرنامج, “وأكثر لغات البرمجة الشائعة التي ارتبطت بـ  ( (Buffer Overflowهي لغة C++/C لأن المبرمجين لم يزودوها بأية حماية داخلية ضد وصول أو إعادة كتابة البيانات الإضافية في أي جزء من الذاكرة.” [3]إذن فالبرمجة الضعيفة أو غير الدقيقة للبرامج, تسمح للمهاجمين بإحداث ثغرة فيها من نوع (Buffer overflow) أو (Code red worm)– “وهو دودة(worm) يستغل ثغرات البرامج, و يستطيع أن ينشر نفسه باستخدام ثغرة (Buffer overflow) الشائعة, ظهر لأول مرة عام 2001. “[4] -, و بالطبع يملك المهاجم معرفة أساسية بمفهوم برامج الحاسوب والبرمجة و إدارة الذاكرة , حتى يتمكن من استغلال هذه الثغرة و تنفيذ أوامر غير مرغوبة من باب التخريب أو التسلية أحيانا ! [2]
أسلوب وآلية عمل(Buffer overflow attack)
كما ذكرنا سابقا, بأن الـ Buffer  لها سعة محددة لتخزين كمية من البيانات, فإذا أدخلت بيانات تفوق سعتها سعة الـ Buffer, فإنها ستكتب فوق (overwrite) البيانات والأوامر الموجودة في المناطق المجاورة لها.
مثال بسيط: إذا كان المتغير (variable) في الـ Buffer مخصص لتخزين بيانات حجمها كحد أقصى يساوي (6 Characters) أي 6 حروف مثلا.
 

Computer Instructions

Buffer

6

5

4

3

2

1

Print

Run program

Accept keyboard inputs

 

 

 

 

 

 

جدول 1: الـ Buffer  ومنطقة الأوامر(instructions space)

Computer Instructions

Buffer

6

5

4

3

2

1

Shut Down

F

E

D

C

B

A

Run program

Accept keyboard inputs

 

 

 

 

 

 

و بحكم معرفة المهاجم بإدارة الذاكرة وطريقة الوصول إليها, فانه سيقصد إدخال بيانات تفوق هذه السعة رغبة منه بتنفيذ أوامر تخريبية و غير مرغوبة, كان يدخل “ABCDEFSHUTDOWN”.
جدول 2: فيBuffer overflow attack  سيتم الكتابة فوق منطقة الأوامر (instructions space)
“ABCDEF” في البداية ستكتب بأول 6 أماكن مخصصة لها,أما  “SHUT DOWN” وهي الهدف فإنها ستكتب فوق الأمر (Print) الموجود في المنطقة المجاورة و بذلك يعطي الجهاز أمر مفاجئ و غير مرغوب به وهو أمر إيقاف التشغيل, أو غيره الكثير من الأوامر التخريبية ![6]
هناك نوعان من الـ (Buffer overflow ) هما: 1- (heap overflow) البيانات الفائضة هنا ستنتقل و تفسد مواقع أخرى من الذاكرة وبالتالي ستصبح ثغرة يمكن استغلالها. النوع الأخر هو 2- (stack overflow) وهو الأكثر شيوعا, يحدث عندما يتم نقل بيانات إلىBuffer  وحجمها يكون اكبر من الحجم المخصص لها, عندما يفيض المكدس (stack) فانه يمحى أو يستبدل عنوان الرجوع من الإجراء بتالي سيسمح بتنفيذ شفرة تحكمية. [8].
في عام 2000 م اكتشفت ثغرة الـ (Buffer overflow) في مايكروسوفت أوتلوك (Microsoft outlook)والتي سمحت للمهاجم بتنفيذ تعليمات برمجية عشوائية على جهاز التضحية, وجدت هذه الثغرة عندما يتصل الـ outlook  بالخادم (Exchange server in online mode) و على عكس الفيروسات التقليدية, لا يمكن للمستخدم في ثغرة Buffer overflow بان يحمي نفسه بمجرد عدم فتح المرفق. طبقت مايكروسوفت بعدها (patch) وهو برنامج لإصلاح الثغرات الأمنية, للحد من هذا الهجوم . [7]

 

طرق منع الـ (Buffer overflow attacks)

هناك بعض الطرق التي تساعد في الحد لمثل هذا الهجوم:
•    تقييد و تحديد جميع مدخلات المستخدم: إذا صمم البرنامج مثلا لقبول 60 حرفا من المستخدم و من ثم إضافتها إلى قاعدة البيانات, و لكن المستخدم أدخل 75 حرفا! فهنا ادخل إلى قاعدة البيانات أكثر مما تستوعب, و بذلك تكون معرضة لمثل هذا الهجوم. لذا يجب مقارنه طول ما يدخله المستخدم مع الحد الأقصى المسموح به من المدخلات و اقتطاع الزائد إذا لزم الأمر.[5]
•    تدقيق الكود: يجب على المبرمج والمراجعين تدقيق و مراجعة كود البرنامج آليا و يدويا حتى يتمكنوا من اكتشاف الأخطاء الدقيقة والثغرات ومن ثم تصحيحها.
•    تدريب المطورين و تنبيههم: “على فحص الحدود المسموحة من الذاكرة و استعمالات التوابع غير الآمنة و المعايير القياسية .” [3]
•    استخدام لغة برمجة آمنة و قوية: مثل Java ,Perl  أو Ruby ,COBOL والتي تمنع الوصول المباشر للذاكرة. والابتعاد عن اللغات الغير آمنة مثل: C/C++, Assembly.
•    فحص التطبيق بشكل دوري: “بواحدة أو أكثر من الفاحصات المتوفرة و التي تبحث عن أخطاء الـ buffer overflow  في منتجات الخادم (server) و تطبيقات الويب المتخصصة.” [3]
•    تحديث البرامج المستخدمة باستمرار: على المستخدم تحديث و تحميل أخر الإصدارات من البرامج التي يستخدمها, و التي من الممكن أن الثغرات و الأخطاء الموجودة بها قد صححت.
•    عدم استخدام وتحميل برامج مجهولة أو غير موثوق فيها.
•    تعطيل الخدمات (services) والمداخل (ports) التي لا لزوم لها.
•    الحرص على تحميل برامج مكافحة الفيروسات (Antivirus) و الـ (Patch) وتحديثها بشكل مستمر.

الخلاصة

بعد استعراضنا لل (Buffer overflow attacks) ومدى خطورته على الشبكات و أجهزة المستخدمين فما علينا كمستخدمين إلا أن نأخذ الحيطة والحذر في استخدام البرامج و محاولة حماية الأجهزة و الشبكات لمثل هذا الهجوم و غيره.

نُشر في <a href="https://max4arab.com/category/pro/" rel="category tag">برامج</a> الموسومة <a href="https://max4arab.com/tag/attack/" rel="tag">attack</a>، <a href="https://max4arab.com/tag/buffer/" rel="tag">buffer</a>، <a href="https://max4arab.com/tag/overflows/" rel="tag">overflows</a>، <a href="https://max4arab.com/tag/%d8%a3%d8%b3%d9%84%d9%88%d8%a8/" rel="tag">أسلوب</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%80/" rel="tag">الـ</a>، <a href="https://max4arab.com/tag/%d9%85%d9%86%d8%b9/" rel="tag">منع</a>، <a href="https://max4arab.com/tag/%d9%88%d8%a2%d9%84%d9%8a%d8%a9/" rel="tag">وآلية</a>، <a href="https://max4arab.com/tag/%d9%88%d8%b7%d8%b1%d9%82/" rel="tag">وطرق</a>

أسلوب وآلية وطرق منع 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”بحيث – عندما تُدمر- تُبين أن المخزن المؤقت الذي يسبقها في ذاكرة التخزين حدث له فيض.هذا له الدور في منع حدوث فئة كاملة من الهجمات  كما يجب على مدققي البرامج قبل إصدارها التأكد من وضع جمل في البرامج لتجاهل أي جمل تتعدى حجم ذاكرة التخزين لتفادي تحقيق أهداف المهاجمين.

 

الخاتمة

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

نُشر في <a href="https://max4arab.com/category/pro/" rel="category tag">برامج</a> الموسومة <a href="https://max4arab.com/tag/buffer/" rel="tag">buffer</a>، <a href="https://max4arab.com/tag/overflow/" rel="tag">overflow</a>، <a href="https://max4arab.com/tag/%d8%a3%d8%b3%d9%84%d9%88%d8%a8/" rel="tag">أسلوب</a>، <a href="https://max4arab.com/tag/%d9%85%d9%86%d8%b9/" rel="tag">منع</a>، <a href="https://max4arab.com/tag/%d9%88%d8%a2%d9%84%d9%8a%d8%a9/" rel="tag">وآلية</a>، <a href="https://max4arab.com/tag/%d9%88%d8%b7%d8%b1%d9%82/" rel="tag">وطرق</a>