ما هو ASLR

نشره زايد في الأحد, 2009/04/19 - 8:04م

إن ALSR هو اختصار لـ Address space layout randomization وهي نوع من الحماية الاحترازية للحاسوب ، حيث تقوم على إعادة ترتيب مناطق البيانات المهمة بشكل عشوائي ، و عادة يتم خلط أساس الملف التنفيذي و أماكن المكتبات البرمجية و المكدس و الذاكرة العشوائية في فضاء عناوين العملية.
وتكمن فاعلية هذه العملية أنها تجعل عملية الاستفادة من الثغرات المكتشفة أمر صعب ، حيث تصعب على المهاجم معرفة أماكن العناوين المستهدفة ، فعلى سبيل المثال في هجوم return-to-libc attacks الذي يبدأ بطفح المكدس buffer overflow ثم يتم استبدال عنوان الرجوع لدالة return في المكدس بعنوان لأمر جديد ، فهذه العملية نجد أن على المهاجم أن يجد المكدس أول ليستغل هذه الثغرة ، و مع وجود ASLR فإن عملية إيجاد المكدس تصبح عملية ليست بالسهلة و تحتاج إلى تخمين ، و في حال فشل التخمين فإن التطبيق سينهار ، فكما تلاحظ أن مهمة ASLR هي جعل الاستفادة من الثغرات أمر صعب لدرجة ما.
تاريخيا أول من اخترع و صك مصطلح ASLR هو مشروع PaX  في يوليو 2001م ، و ظل مشروع أكمل تطبيق لهذا المفهوم حتى الآن ، و هو يقدم عشوائية المكدس لنواة اللينكس من أكتوبر 2002 م لحد الآن ، و تقوم توزيعة Adamantix و  Hardened Gentoo و  Hardened Linux From Scratch بتضمين مشروع PaX بشكل افتراضي.
أما نواة اللينكس الافتراضية فهي تتضمن شكل ضعيف من ASLR وهي مفعلة بشكل افتراضي من إصدارة 2.6.12 ، و يوجد مجموعتي رقع PaX و ExecShield لمن أراد حلول كاملة من ASLR.
كذلك تدعم ويندوز فيستا و ويندوز سيرفر 2008 ALSR بشكل افتراضي مع بعض التحفظات المتعلقة بالتوافقية مع التطبيقات القديمة.
كلذك يدعم OpenBSD تقنية ASLR ، بينما يقف نظام الماك متخلفا عن الركب مع بعض التحسن في الآونة الأخيرة.

المصدر من هنا.

Comments