ما هو ASLR ، وكيف يبقي جهاز الكمبيوتر الخاص بك آمنة؟
العنوان العشوائي تخطيط الفضاء (ASLR) هو تقنية الأمان المستخدمة في أنظمة التشغيل ، نفذت لأول مرة في عام 2001. تتميز الإصدارات الحالية لجميع أنظمة التشغيل الرئيسية (iOS و Android و Windows و MacOS و Linux) بحماية ASLR. ولكن في الأسبوع الماضي ، تم العثور على طريقة جديدة لتجاوز ASLR. لذا ، يجب أن تكون قلقًا?
لأولئك الذين ليس لديهم خلفية برمجة ذات مستوى منخفض ، يمكن أن تكون ASLR مربكة. لفهمه ، يجب عليك أولاً فهم الذاكرة الظاهرية.
ما هي الذاكرة الافتراضية?
الذاكرة الظاهرية هي تقنية لإدارة الذاكرة مع العديد من الفوائد ، ولكن تم إنشاؤها في المقام الأول لجعل البرمجة أسهل. تخيل أنك تمتلك Google Chrome و Microsoft Word والعديد من البرامج الأخرى المفتوحة على جهاز كمبيوتر مزود بذاكرة RAM سعة 4 غيغابايت. بشكل عام ، تستخدم البرامج الموجودة على هذا الكمبيوتر أكثر من ٤ غيغابايت من ذاكرة الوصول العشوائي. ومع ذلك ، لن تكون جميع البرامج نشطة في جميع الأوقات ، أو تحتاج إلى الوصول المتزامن إلى ذاكرة الوصول العشوائي هذه.
يخصص نظام التشغيل أجزاء من الذاكرة لبرامج تسمى صفحات. إذا لم تكن ذاكرة الوصول العشوائي كافية لتخزين جميع الصفحات في وقت واحد ، فإن الصفحات الأقل احتمالاً أن تكون مطلوبة ، يتم تخزينها على محرك الأقراص الثابتة الأبطأ (ولكن الأكثر اتساعاً). عندما تكون هناك حاجة إلى الصفحات المخزنة ، فإنها ستبدل المسافات مع صفحات أقل ضروريا حاليا في ذاكرة الوصول العشوائي. تسمى هذه العملية الترحيل ، وتضفي اسمها على ملف pagefile.sys على Windows.
تسهل الذاكرة الظاهرية على البرامج إدارة ذاكرتها الخاصة ، كما تجعلها أكثر أمانًا. لا داعي للقلق حول البرامج التي تقوم فيها البرامج الأخرى بتخزين البيانات ، أو مقدار ذاكرة الوصول العشوائي المتبقية. يمكنهم فقط طرح نظام التشغيل للحصول على ذاكرة إضافية (أو إرجاع ذاكرة غير مستخدمة) حسب الضرورة. يعتبر كل البرنامج جزءًا واحدًا متواصلًا من عناوين الذاكرة للاستخدام الحصري ، يسمى العناوين الظاهرية. لا يُسمح للبرنامج بالنظر إلى ذاكرة برنامج آخر.
عندما يحتاج البرنامج إلى الوصول إلى الذاكرة ، فإنه يمنح نظام التشغيل عنوانًا افتراضيًا. يتصل نظام التشغيل بوحدة إدارة الذاكرة في وحدة المعالجة المركزية (MMU). يترجم MMU بين العناوين الظاهرية والمادية ، وإرجاع هذه المعلومات إلى نظام التشغيل. في أي وقت لا يتفاعل البرنامج مباشرة مع ذاكرة الوصول العشوائي.
ما هو ASLR?
يستخدم عنوان عشوائية تخطيط الفضاء (ASLR) في المقام الأول للحماية من هجمات تجاوز سعة المخزن المؤقت. في تجاوز سعة المخزن المؤقت ، يقوم المهاجمون بتغذية وظيفة مثل البيانات غير المرغوب فيها بقدر ما يمكن التعامل معها ، تليها حمولة ضارة. ستقوم الحمولة باستبدال البيانات التي يعتزم البرنامج الوصول إليها. تعليمات للقفز إلى نقطة أخرى في التعليمات البرمجية هي حمولة شائعة. على سبيل المثال ، استخدمت طريقة JailbreakMe الشهيرة من نظام jailbreaking iOS 4 هجوم تجاوز سعة المخزن المؤقت ، مما دفع Apple لإضافة ASLR إلى iOS 4.3.
تتطلب تجاوزات المخزن المؤقت للمهاجم معرفة مكان كل جزء من البرنامج في الذاكرة. عادةً ما يكون تحديد هذا الأمر عملية صعبة من التجربة والخطأ. بعد تحديد ذلك ، يجب أن يصمموا حمولة ويبحثون عن مكان مناسب لحقنه. إذا كان المهاجم لا يعرف مكان رمز الهدف الخاص به ، فقد يكون من الصعب أو المستحيل استغلاله.
يعمل ASLR بجانب إدارة الذاكرة الظاهرية من أجل التوزيع العشوائي لمواقع الأجزاء المختلفة من البرنامج في الذاكرة. في كل مرة يتم فيها تشغيل البرنامج ، يتم نقل المكونات (بما في ذلك مكدس الذاكرة المؤقتة والكومة والمكتبات) إلى عنوان مختلف في الذاكرة الظاهرية. لم يعد بإمكان المهاجمين معرفة مكان الهدف من خلال التجربة والخطأ ، لأن العنوان سيكون مختلفًا في كل مرة. بشكل عام ، يجب تجميع التطبيقات باستخدام دعم ASLR ، ولكن هذا أصبح الافتراضي ، بل إنه مطلوب على Android 5.0 والإصدارات الأحدث.
هل ما زال ASLR يحميك?
الثلاثاء الماضي ، قدم باحثون من جامعة ولاية نيويورك Binghamton وجامعة كاليفورنيا ، ريفرسايد ، ورقة تسمى القفز فوق ASLR: مهاجمة المتنبئين فرع لتجاوز ASLR. تفاصيل ورقة طريقة مهاجمة المخزن المؤقت الهدف الفرع (BTB). تعد BTB جزءًا من المعالج الذي يعمل على زيادة السرعة إذا كانت هناك عبارات عن طريق توقع النتيجة. باستخدام طريقة المؤلفين ، من الممكن تحديد مواقع تعليمات الفرع المعروفة في برنامج قيد التشغيل. تم تنفيذ الهجوم المعني على جهاز Linux باستخدام معالج Intel Haswell (تم إصداره لأول مرة في 2013) ، ولكن من المحتمل تطبيقه على أي نظام تشغيل ومعالج حديث.
ومع ذلك ، لا ينبغي عليك بالضرورة أن تشعر باليأس. عرضت الصحيفة بعض الطرق التي يمكن لمطوري الأجهزة ومطوري أنظمة التشغيل التخفيف من هذا التهديد. تتطلب تقنيات ASLR الجديدة والحبيبة مزيدًا من الجهد من المهاجم ، وزيادة كمية الإنتروبيا (العشوائية) يمكن أن تجعل هجوم Jump Over غير قابل للتطبيق. على الأرجح ، ستكون أنظمة التشغيل الجديدة والمعالجات محصنة ضد هذا الهجوم.
لذلك ما تبقى ل أنت لكى يفعل؟ تجاوز التحول السريع هو جديد ، ولم يتم رصده بعد في البرية. عندما يستغلها المهاجمون ، يزيد الخلل من الضرر المحتمل الذي يمكن أن يتسبب فيه المهاجم على جهازك. هذا المستوى من الوصول ليس غير مسبوق ؛ قامت Microsoft و Apple بتطبيق ASLR فقط في أنظمة التشغيل الخاصة بها التي تم إصدارها عام 2007 وما بعده. حتى إذا أصبح هذا النمط من الهجوم شائعاً ، فلن تكون أسوأ حالاً مما كنت عليه في أيام Windows XP.
ضع في اعتبارك أنه لا يزال يتعين على المهاجمين الحصول على شفرتهم على جهازك لإحداث أي ضرر. هذا الخلل لا يوفر لهم أي طرق إضافية لإيذائك. وكما هو الحال دائمًا ، يجب اتباع أفضل ممارسات الأمان. استخدم برامج مكافحة الفيروسات ، وابعد عن مواقع الويب والبرامج المبهمة ، وحافظ على تحديث برنامجك. باتباع هذه الخطوات والحفاظ على الجهات الفاعلة الضارة من جهاز الكمبيوتر الخاص بك ، فسوف تكون آمنة كما كنت في أي وقت مضى.
ائتمان الصورة: ستيف / فليكر