كانت الثغرات الأمنية في وحدة المعالجة المركزية (CPU) رائجة في الآونة الأخيرة، مع كون Zenbleed و Downfall اثنتين من الثغرات الحديثة. ولكن ما مدى القلق الذي يجب أن تشعر به؟
ظهرت الثغرات الأمنية في وحدة المعالجة المركزية داخل وخارج الأخبار في السنوات الأخيرة، وغالبًا ما تأتي برسالة مخيفة جدًا عندما يتعلق الأمر بالكشف عنها. في حالة زينبليد و سقوطكان الأمر هو أن أي تطبيق على جهاز الكمبيوتر الخاص بك يمكنه الوصول إلى ذاكرة أي برنامج آخر يعمل في ظل الظروف المناسبة. يبدو مكثفا، أليس كذلك؟
ومع ذلك، فهو ليس سيئًا تمامًا كما يبدو. من الواضح أن هذا الأمر مهم بدرجة كافية لضمان الكشف وتحديث البرنامج لإصلاح الأخطاء، حتى على حساب الأداء، ولكن ما الذي يحدث بالضبط ليسبب هذه المشكلات الأمنية؟ هل يجب أن تقلق؟
هل يجب أن تقلق بشأن نقاط الضعف في وحدة المعالجة المركزية مثل Zenbleed وDownfall وInception؟
لنكون صادقين، لا تؤثر أي من هذه الثغرات على الغالبية العظمى من الناس. على الرغم من إمكانية تسرب البيانات من برنامج إلى آخر، إلا أن أي جزء من البرامج الضارة الموجودة على جهاز المستهلك يتمتع بالفعل بمستوى كبير من الوصول يمكن إساءة استخدامه. وبدلاً من ذلك، تكون هذه الهجمات مثيرة للقلق بشكل خاص في سياقات الحوسبة السحابية.
لفهم المشكلة، عليك أن تفهم أن العديد من الخوادم السحابية المختلفة هي ببساطة أجهزة كمبيوتر ذات قدرة كبيرة ونطاق ترددي كبير للشبكة وبعض الأجهزة المتخصصة الأخرى مطلوب. تقوم العديد من الشركات بتأجير ما يسمى بـ VPS، أو الخادم الافتراضي الخاص، وهي عبارة عن أجهزة افتراضية ذات طاقة محدودة يمكن أن تعمل عليها العشرات من الأجهزة الافتراضية الأخرى.
حيث يمكن أن يكون هذا مشكلة هو أن شخصًا واحدًا على جهاز افتراضي واحد يمكنه تنفيذ أحد هذه الأجهزة نقاط الضعف، والحصول على نظرة ثاقبة حول البيانات التي تتدفق عبر المعالج، بما في ذلك البيانات من الآخرين الأجهزة الظاهرية. لا ينبغي أن يكون هذا ممكنًا ويشكل انتهاكًا كبيرًا للأمن. ولهذا السبب عندما تم الكشف عن Zenbleed، كانت هناك بالفعل تصحيحات لمعالجات AMD's Epyc، والتي تهدف إلى استخدام الخادم.
أخطر نقاط الضعف في وحدة المعالجة المركزية حاليًا
معيار الصناعة "لتصنيف" نقاط الضعف وخطورتها يتم من خلال نظام تسجيل نقاط الضعف المشتركة (CVSS). فهو يوفر مقياسًا كميًا لمدى الخطورة، حيث ستؤثر الجوانب المختلفة للثغرة الأمنية على النتيجة. ويقيس من خلال مراعاة ما يلي:
- ناقل الهجوم: الشبكة/المجاورة/المحلية/المادية
- تعقيد الهجوم: منخفض مرتفع
- الامتيازات المطلوبة: لا يوجد/منخفض/مرتفع
- تفاعل المستخدم: لا شيء مطلوب
- نِطَاق: دون تغيير/تغيير
- سرية: لا يوجد/منخفض/مرتفع
- نزاهة: لا يوجد/منخفض/مرتفع
- التوفر: لا يوجد/منخفض/مرتفع
كل هذه تصنف خطورة الخطأ. على سبيل المثال، ثغرة أمنية يمكن تنفيذها عبر شبكة ذات تعقيد منخفض، ولا تتطلب امتيازات، ولا تتطلب تفاعل المستخدم، مع نطاق متغير، سيؤدي تسرب السرية العالية للبيانات، والانتهاك الكبير لسلامة البيانات، والتأثير الكبير على التوفر إلى الحصول على درجة مثالية 10 في CVSS 3.1، وهي أعلى درجة ممكن.
من خلال هذا المقياس، يمكننا تقييم الضرر الذي يمكن أن يحدثه Zenbleed و Downfall. المفسد: إنهما متماثلان، على الرغم من أنهما يؤثران على وحدات المعالجة المركزية المختلفة. لذلك، بينما يسجلون مبلغًا معينًا في سياق نقاط الضعف، يمكن أن تؤثر على كميات مختلفة من المنتجات، وهذا لن يؤثر عليها نتيجة. إن نتائج CVSS مخصصة بشكل أساسي للفرز ولكنها لا تحكي القصة كاملة.
زينبليد: 6.5 (متوسط)
- ناقل الهجوم: محلي
- تعقيد الهجوم: قليل
- الامتيازات المطلوبة: قليل
- تفاعل المستخدم: لا أحد
- نِطَاق: تغير
- سرية: عالي
- نزاهة: لا أحد
- التوفر: لا أحد
توضيح: يتطلب ناقل الهجوم الوصول المحلي إلى الجهاز (أي أنه يعمل على الجهاز) دون أن يكون له أيضًا أي تأثير على سلامة البيانات الموجودة على الجهاز أو توفره. ومع ذلك، فإنه يغير النطاق (بمعنى أنه يؤثر على الموارد بما يتجاوز امتيازاته) كما أن تعقيد الهجوم والامتيازات المطلوبة للتنفيذ منخفضة. كما أنه ينتهك بشكل كامل سرية المعلومات الموجودة على الجهاز.
السقوط: 6.5 (متوسط)
- ناقل الهجوم: محلي
- تعقيد الهجوم: قليل
- الامتيازات المطلوبة: قليل
- تفاعل المستخدم: لا أحد
- نِطَاق: تغير
- سرية: عالي
- نزاهة: لا أحد
- التوفر: لا أحد
توضيح: يتطلب ناقل الهجوم الوصول المحلي إلى الجهاز (أي أنه يعمل على الجهاز) دون أن يكون له أيضًا أي تأثير على سلامة البيانات الموجودة على الجهاز أو توفره. ومع ذلك، فإنه يغير النطاق (بمعنى أنه يؤثر على الموارد بما يتجاوز امتيازاته) كما أن تعقيد الهجوم والامتيازات المطلوبة للتنفيذ منخفضة. كما أنه ينتهك بشكل كامل سرية المعلومات الموجودة على الجهاز.
البداية: 5.6 (متوسط)
- ناقل الهجوم: محلي
- تعقيد الهجوم: عالي
- الامتيازات المطلوبة: قليل
- تفاعل المستخدم: لا أحد
- نِطَاق: تغير
- سرية: عالي
- نزاهة: لا أحد
- التوفر: لا أحد
توضيح: يتطلب ناقل الهجوم الوصول المحلي إلى الجهاز (أي أنه يعمل على الجهاز) دون أن يكون له أيضًا أي تأثير على سلامة البيانات الموجودة على الجهاز أو توفره. ومع ذلك، فهو يغير النطاق (بمعنى أنه يؤثر على الموارد بما يتجاوز امتيازاته)، ويكون تعقيد الهجوم مرتفعًا، والامتيازات المطلوبة للتنفيذ منخفضة. كما أنه ينتهك بشكل كامل سرية المعلومات الموجودة على الجهاز.
شبح: 5.6 (متوسط) (مصحح)
شبح، على الرغم من كونه ظاهرة أكثر انتشارا، في الواقع يسجل نتائج أقل من Zenbleed و Downfall. ويرجع الفضل في ذلك إلى حقيقة أن تعقيد الهجوم أُطلق عليه اسم "عالي"، مما أدى إلى انخفاض درجاته.
- ناقل الهجوم: محلي
- تعقيد الهجوم: عالي
- الامتيازات المطلوبة: قليل
- تفاعل المستخدم: لا أحد
- نِطَاق: تغير
- سرية: عالي
- نزاهة: لا أحد
- التوفر: لا أحد
توضيح: يتطلب ناقل الهجوم الوصول المحلي إلى الجهاز (أي أنه يعمل على الجهاز) دون أن يكون له أيضًا أي تأثير على سلامة البيانات الموجودة على الجهاز أو توفره. ومع ذلك، فهو يغير النطاق (بمعنى أنه يؤثر على الموارد بما يتجاوز امتيازاته)، ويكون تعقيد الهجوم مرتفعًا، والامتيازات المطلوبة للتنفيذ منخفضة. كما أنه ينتهك بشكل كامل سرية المعلومات الموجودة على الجهاز.
الانهيار: 5.6 (متوسط) (مصحح)
مثل Spectre، حققت Meltdown نتائج أقل من Zenbleed وDownfall، نظرًا لتعقيد الهجوم الأكبر المطلوب.
- ناقل الهجوم: محلي
- تعقيد الهجوم: عالي
- الامتيازات المطلوبة: قليل
- تفاعل المستخدم: لا أحد
- نِطَاق: تغير
- سرية: عالي
- نزاهة: لا أحد
- التوفر: لا أحد
توضيح: يتطلب ناقل الهجوم الوصول المحلي إلى الجهاز (أي أنه يعمل على الجهاز) دون أن يكون له أيضًا أي تأثير على سلامة البيانات الموجودة على الجهاز أو توفره. ومع ذلك، فهو يغير النطاق (بمعنى أنه يؤثر على الموارد بما يتجاوز امتيازاته)، ويكون تعقيد الهجوم مرتفعًا، والامتيازات المطلوبة للتنفيذ منخفضة. كما أنه ينتهك بشكل كامل سرية المعلومات الموجودة على الجهاز.
السبب الأكبر: التنبؤ بالفرع
المصدر: أيه إم دي
يشير التنبؤ بالفرع والتنفيذ المضاربي على نطاق واسع إلى الوقت الذي يقوم فيه جهاز الكمبيوتر الخاص بك بتنفيذ عمليات غير مطلوبة في الوقت الحالي ولكنها ستكون في دورات لاحقة. يتم ذلك غالبًا في الأوقات التي يكون فيها نظامك يحتوي على موارد مجانية نظرًا لأنه يعمل على تسريع المعالجة الشاملة عندما لا تكون التعليمات أو البيانات جاهزة بعد لوحدة المعالجة المركزية. إذا لم يكن هناك حاجة إلى العمل المنجز، فعادةً ما يتم تجاهله، ويمكن للمعالج العودة إلى المكان الذي يحتاج إليه لتنفيذ التعليمات الصحيحة التالية. عندما يفعل ذلك، يسمى هذا بالتنبؤ الخاطئ للفرع.
للحصول على فهم أكثر تعمقًا للتنبؤات الفرعية، تخيل سيناريو يضيف فيه البرنامج باستمرار نفس الرقمين في تنفيذه. في مرحلة ما، قد يتعرف المعالج على هذا النمط ويقوم بإعداد الخطوات التالية في حالة استدعاء الطريقة التي تمت إضافة هذين الرقمين مرة أخرى. إذا تغيرت هذه النتيجة في مرحلة ما، حتى لو خطط المعالج لأن يكون نفس الرقمين هو نفسه، فسيتم التخلص من التخمين واستبداله بتدفق التنفيذ الفعلي. ومع ذلك، في الوقت الذي هذه الأرقام نكون نفس الشيء، فيمكن للمعالج تخطي تلك التعليمات بسرعة.
هناك العديد من المشكلات عندما يتعلق الأمر بالتنفيذ التخميني، ونتيجة لذلك تظهر نقاط الضعف مثل Spectre وZenbleed وDownfall والمزيد. إنها ميزة قوية ندين بها كثيرًا لأداء وحدة المعالجة المركزية في العصر الحديث، ولكنها تمثل هدفًا رئيسيًا عندما يبحث الباحثون عن نقاط الضعف في وحدات المعالجة المركزية.
التخفيف: مثبط الأداء
يعد التخفيف من نقاط الضعف هذه أمرًا في غاية الأهمية، ولكن المشكلة تكمن في أن عمليات التخفيف هذه غالبًا ما تؤثر على الأداء. في حالة Zenbleed الأحدث من AMD، يمكن أن يؤدي التخفيف إلى زيادة النفقات العامة على الأداء.
والسبب في ذلك هو أن الطريقة الحقيقية الوحيدة للتغلب على ذلك هي تعطيل أو تغيير سلوك متنبئ الفرع في المعالج المتأثر. يمكن العثور على نفس الأداء في عمليات التخفيف من آثار سقوط Intel، مع التقارير المبكرة التي تشير إلى تأثيرات على الأداء تصل إلى 39%. ألعاب ملحمية تمت مشاركته مرة واحدة بشكل مشهور الرسوم البيانية لاستخدام وحدة المعالجة المركزية بمجرد الكشف عن ثغرة Meltdown ومدى تأثير تلك التخفيفات على استخدام وحدة المعالجة المركزية للشركة. كان هناك ارتفاع كبير في استخدام وحدة المعالجة المركزية، كما هو متوقع. الأمور تصبح مخيفة مع الإصلاح الخاص بـ AMD's Inception، تم العثور على انخفاض الأداء بنسبة تصل إلى 54٪.
نظرًا لأن مثل هذه الثغرات الأمنية تؤثر على الميزات الأساسية للمعالج، فمن الصعب إصلاحها بخلاف تعطيل الميزات الأساسية أو تشويهها بشدة. يعد التنفيذ التأملي أمرًا مهمًا للغاية، وسيشعر العديد من الأشخاص بهذه التخفيفات. أداء الألعاب أقل قابلية للتنبؤ به، لذلك إذا كان الاستخدام الأساسي لجهاز الكمبيوتر الخاص بك هو الألعاب، فقد تكون كذلك حسنًا، نظرًا لأن جهاز الكمبيوتر الخاص بك لا يمكنه إجراء العديد من التنبؤات، ولكن هذه المشكلات تتفاقم بشكل أكبر بكثير أنظمة.
هل تتأثر المعالجات المستقبلية؟
ولحسن الحظ، في حالة كل من Intel Downfall وZenbleed، تؤثر هذه الثغرات على المعالجات القديمة. أحدث المعالجات من كلا الشركتين آمنان، ولا يوجد ما يدعو للقلق في الوقت الحالي. عادةً ما تكون عملية إعادة التصميم المهمة هي ما يؤدي إلى حل هذه المشكلات. على سبيل المثال، أثر Spectre على وحدات المعالجة المركزية (CPUs) من الجيل الثامن والتاسع من Intel، لكن الجيل التاسع ضم نسخة أجهزة من إصلاحات البرامج التي تم تنفيذها، كاملة مع ضرب الأداء. كان الجيل العاشر من Intel لا يزال آمنًا ولكن لم يعد له أيضًا تأثير على الأداء من خلال إجراءات التخفيف تلك.
ونتيجة لذلك، ونظرًا لأن كلا من Downfall وZenbleed قد تم إصلاحهما بالفعل في أحدث الإصدارات من المعالجات الخاصة بهما، فليس لدى المستخدمين الكثير مما يدعو للقلق. بالطبع، يمكن دائمًا اكتشاف المزيد من الثغرات الأمنية، ولكن في هذا الوقت، أنت آمن.