خطأ “SinkClose” في مئات الملايين من شرائح AMD يسمح بحدوث إصابات عميقة وغير قابلة للإصلاح تقريبًا
في بيان خلفي لـ WIRED، أكدت AMD على صعوبة استغلال Sink Close: للاستفادة من الثغرة الأمنية، يجب على المتسلل أن يمتلك بالفعل إمكانية الوصول إلى نواة الكمبيوتر، وهو جوهر نظام التشغيل الخاص به. تقارن AMD تقنية Sinkhole بطريقة الوصول إلى صناديق الودائع الآمنة للبنك بعد تجاوز أجهزة الإنذار والحراس وباب القبو بالفعل.
يجيب نيسيم وأوكوبسكي أنه على الرغم من أن استغلال Sink Close يتطلب الوصول إلى مستوى النواة إلى الجهاز، إلا أن مثل هذه الثغرات الأمنية يتم كشفها في نظامي التشغيل Windows وLinux عمليًا كل شهر. ويجادلون بأن المتسللين المتطورين الذين ترعاهم الدولة من النوع الذي قد يستفيدون من Sinkclous من المحتمل أن يمتلكوا بالفعل تقنيات لاستغلال نقاط الضعف هذه، معروفة أو غير معروفة. يقول نسيم: “يمتلك الناس حاليًا برمجيات استغلال النواة لجميع هذه الأنظمة”. “إنها موجودة وهي متاحة للمهاجمين. هذه هي الخطوة التالية.”
تعمل تقنية SinkClose الخاصة بـ Nissim وOkupski من خلال استغلال ميزة غامضة في شرائح AMD المعروفة باسم TClose. (يأتي اسم Sink Close، في الواقع، من الجمع بين مصطلح TClose مع Sinkhole، وهو اسم استغلال سابق لوضع إدارة النظام الموجود في شرائح Intel في عام 2015.) في الأجهزة المستندة إلى AMD، تمنع الحماية المعروفة باسم TSeg أنظمة تشغيل الكمبيوتر من الكتابة إلى جزء محمي من الذاكرة مخصص ليتم حجزه لوضع إدارة النظام المعروف باسم ذاكرة الوصول العشوائي لإدارة النظام أو SMRAM. ومع ذلك، تم تصميم ميزة TClose الخاصة بشركة AMD للسماح لأجهزة الكمبيوتر بالبقاء متوافقة مع الأجهزة القديمة التي تستخدم نفس عناوين الذاكرة مثل SMRAM، وإعادة تعيين الذاكرة الأخرى لعناوين SMRAM تلك عند تمكينها. وجد نيسيم وأوكوبسكي أنه، مع مستوى امتيازات نظام التشغيل فقط، يمكنهم استخدام ميزة إعادة تعيين TClose لخداع كود SMM لجلب البيانات التي تلاعبوا بها، بطريقة تسمح لهم بإعادة توجيه المعالج وتسببه في ذلك. تنفيذ التعليمات البرمجية الخاصة بهم على نفس مستوى SMM المتميز للغاية.
يقول أوكوبسكي: “أعتقد أن هذا هو الخلل الأكثر تعقيدًا الذي استغلته على الإطلاق”.
يقول Nissim وOkupski، وكلاهما متخصصان في أمان التعليمات البرمجية منخفضة المستوى مثل البرامج الثابتة للمعالج، إنهما قررا أولًا التحقق من بنية AMD قبل عامين، وذلك ببساطة لأنهما شعرا أنها لم تحصل على ما يكفي من التدقيق مقارنة بشركة Intel، حتى مع أنها ارتفعت حصة السوق. لقد عثروا على حالة TClose edge المهمة التي مكنت SinkClose، كما يقولون، فقط من خلال قراءة وإعادة قراءة وثائق AMD. يقول نسيم: “أعتقد أنني قرأت الصفحة التي كانت فيها الثغرة الأمنية حوالي ألف مرة”. “ثم في ألف وواحد، لاحظت ذلك.” ويقولون إنهم نبهوا AMD إلى الخلل في أكتوبر من العام الماضي، لكنهم انتظروا ما يقرب من 10 أشهر لمنح AMD مزيدًا من الوقت لإعداد الإصلاح.
بالنسبة للمستخدمين الذين يسعون إلى حماية أنفسهم، يقول نيسيم وأكوبسكي إنه بالنسبة لأجهزة Windows – على الأرجح الغالبية العظمى من الأنظمة المتأثرة – فإنهم يتوقعون دمج تصحيحات Sink Close في التحديثات التي يتقاسمها صانعو أجهزة الكمبيوتر مع Microsoft، الذين سيقومون بإدخالها في تحديثات نظام التشغيل المستقبلية . قد تكون تصحيحات الخوادم والأنظمة المدمجة وأجهزة Linux أكثر تدريجيًا ويدوية؛ بالنسبة لأجهزة Linux، سيعتمد الأمر جزئيًا على توزيع Linux الذي قام الكمبيوتر بتثبيته.
يقول Nissim وOkupski إنهما اتفقا مع AMD على عدم نشر أي تعليمات برمجية لإثبات المفهوم لاستغلال SinkClose لعدة أشهر قادمة، وذلك لتوفير المزيد من الوقت لإصلاح المشكلة. لكنهم يجادلون بأنه على الرغم من أي محاولة من قبل شركة AMD أو غيرها للتقليل من أهمية SinkClose باعتباره من الصعب استغلاله، إلا أنه لا ينبغي أن يمنع المستخدمين من التصحيح في أسرع وقت ممكن. ربما يكون المتسللون المتطورون قد اكتشفوا تقنيتهم بالفعل – أو ربما يعرفون كيفية القيام بذلك بعد أن يقدم نيسيم وأوكوبسكي نتائجهم في ديفكون.
حتى لو كان SinkClose يتطلب وصولاً عميقًا نسبيًا، يحذر باحثو IOActive من أن مستوى التحكم الأعمق الذي يوفره يعني أن الأهداف المحتملة لا ينبغي أن تنتظر لتنفيذ أي إصلاح متاح. يقول نسيم: “إذا تم كسر الأساس، فسوف ينكسر أمن النظام بأكمله”.