مجموعة الظل
في أمن الحاسوب ، تُعدّ مكدسة الظل آليةً لحماية عنوان الإرجاع المُخزّن في الإجراء ، [ 1 ] مثلاً من تجاوز سعة مخزن المكدس أو انتحال مكدس الاستدعاءات . مكدسة الظل هي مكدسة ثانية منفصلة تُخفي مكدس استدعاءات البرنامج . في مقدمة الدالة ، تُخزّن الدالة عنوان إرجاعها في كلٍّ من مكدس الاستدعاءات ومكدسة الظل. في خاتمة الدالة ، تُحمّل الدالة عنوان الإرجاع من كلٍّ من مكدس الاستدعاءات ومكدسة الظل، ثم تُقارن بينهما. إذا اختلف سجلا عنوان الإرجاع، يتم اكتشاف هجوم؛ والإجراء المعتاد هو إنهاء البرنامج أو تنبيه مسؤولي النظام بشأن محاولة اختراق محتملة. تُشبه مكدسة الظل نظام تنبيهات المكدس في أن كلتا الآليتين تهدفان إلى الحفاظ على سلامة تدفق التحكم في البرنامج المحمي من خلال اكتشاف الهجمات التي تُغيّر عنوان الإرجاع المُخزّن بواسطة مُهاجم أثناء محاولة استغلال ثغرة أمنية .
يمكن تنفيذ مكدسات الظل عن طريق إعادة تجميع البرامج مع تعديل مقدماتها وخواتيمها، [ 2 ] أو باستخدام تقنيات إعادة الكتابة الثنائية الديناميكية لتحقيق نفس التأثير، [ 3 ] أو بدعم من الأجهزة. [ 4 ] على عكس مكدس الاستدعاءات، الذي يخزن أيضًا متغيرات البرنامج المحلية، والوسائط المُمررة، والسجلات المُسربة، وغيرها من البيانات، فإن مكدس الظل عادةً ما يخزن نسخة ثانية من عنوان إرجاع الدالة.
توفر مكدسات الظل حمايةً أكبر لعناوين الإرجاع مقارنةً بمؤشرات الإرجاع في المكدس، والتي تعتمد على سرية قيمة المؤشر وتكون عرضةً لهجمات الكتابة غير المتجاورة. [ 5 ] يمكن حماية مكدسات الظل نفسها باستخدام صفحات الحماية [ 6 ] أو بإخفاء المعلومات، بحيث يحتاج المهاجم أيضًا إلى تحديد موقع مكدس الظل للكتابة فوق عنوان الإرجاع المخزن فيه.
مثل حراس المكدس، لا تحمي مكدسات الظل بيانات المكدس بخلاف عناوين الإرجاع، وبالتالي فهي توفر حماية غير كاملة ضد الثغرات الأمنية الناتجة عن أخطاء سلامة الذاكرة .
في عام 2016، أعلنت شركة إنتل عن دعم الأجهزة القادم لتقنية Shadow Stacks من خلال تقنية Control-flow Enforcement Technology الخاصة بها. [ 7 ]
تواجه مكدسات الظل بعض مشاكل التوافق. فبعد أن يُطلق البرنامج استثناءً أو يحدث قفزة طويلة ، لن يتطابق عنوان الإرجاع في أعلى مكدس الظل مع عنوان الإرجاع الذي تم سحبه من مكدس الاستدعاءات. والحل المعتاد لهذه المشكلة هو سحب عناصر من مكدس الظل حتى يتم العثور على عنوان إرجاع مطابق، وإنهاء البرنامج فقط عندما لا يتم العثور على أي تطابق في مكدس الظل. [ 3 ]
البرنامج متعدد الخيوط ، والذي سيكون له مكدس استدعاء لكل خيط تنفيذي، سيكون له أيضًا مكدس ظل يحجب كل مكدس من مكدسات الاستدعاء.
انظر أيضاً
مراجع
- ↑ دلشاد طهراني، ليلى؛ إلدريدج، شويلر؛ كاناكجي، سعد الله؛ إيجيل، مانويل؛ جوشي، أجاي (2018-01-01). "نايل: معالج مساعد للمراقبة قابل للبرمجة" . رسائل هندسة الحاسوب IEEE . 17 (1): 92-95 . doi : 10.1109/LCA.2017.2784416 . ISSN 1556-6056 .
- ↑ "StackShield: أداة حماية بتقنية "تحطيم المكدس" لنظام Linux" . Vendicator.
- 1 2 سينادوراي، سارافانان؛ تشاو، تشين؛ وونغ، وينغ فاي (2008). "مكدس الظل الشفاف لوقت التشغيل: الحماية من تعديلات عنوان الإرجاع الخبيثة" (PDF) .
- ↑ أوزدوغانوغلو، هـ.؛ برودلي، ج .؛ فيجاي كومار، ت.؛ كوبرمان، ب. (2006). "سماش جارد: حل برمجي لمنع الهجمات على عنوان إرجاع الدالة" (ملف PDF) . معاملات IEEE في الحوسبة . 55 (10): 1271-1285 . doi : 10.1109/TC.2006.166 .
- ↑ سيكيريس، لازلو؛ باير، ماتياس ؛ وي، تاو؛ سونغ، دون (2003). "SoK: حرب أبدية في الذاكرة" (ملف PDF) . ندوة IEEE حول الأمن والخصوصية : 48-63 .
- ↑ تشيوه، تزي-كر؛ هسو، فو-هاو (2001). "RAD: حلٌّ في وقت الترجمة لهجمات تجاوز سعة المخزن المؤقت". وقائع المؤتمر الدولي الحادي والعشرين لأنظمة الحوسبة الموزعة . الصفحات 409-417 . doi : 10.1109/ICDSC.2001.918971 . ISBN 0-7695-1077-9. S2CID 32026510 .
- ↑ "معاينة تقنية فرض تدفق التحكم" (ملف PDF) . شركة إنتل .
- سلامة تدفق التحكم
- هندسة الأمن السيبراني
