كيف تؤثر عيوب Meltdown و Spectre على جهاز الكمبيوتر الخاص بك؟
تعاني معالجات الكمبيوتر من عيوب تصميمية هائلة، والجميع يتدافعون لإصلاحها. ولكن يمكن تصحيح تصميم واحد فقط من اثنين من الثقوب الأمنية، وستجعل هذه التصحيحات أجهزة الكمبيوتر الشخصي (وأجهزة Mac) أبطأ مع رقائق Intel.
-
ما هو Meltdown و Specter؟
Specter هو عبارة عن “عيب في التصميم الأساسي” موجود في كل وحدة من وحدات المعالجة المركزية في السوق – بما في ذلك AMD و ARM وكذلك Intel، ومن المحتمل أن يتطلب ذلك إعادة تصميم أجهزة كاملة لوحدات المعالجة المركزية (CPU) على مستوى الإدارة ، ووفقًا لباحثين أمنيين فإنه من الممكن حماية جهاز الكمبيوتر الخاص بك ضد هجمات Specter، كما يعمل المطورون عليها، ولكن الحل الأفضل هو إعادة تصميم أجهزة CPU لجميع شرائح وحدات المعالجة المركزية المستقبلية.
أما Meltdown فهو بشكل أساسي يجعل Specter أسوأ من خلال جعل الخلل الأساسي أسهل بكثير في استغلاله. فهي في الأساس عيب إضافي يؤثر على جميع معالجات Intel التي تمت في العقود القليلة الماضية. كما أنه يؤثر أيضًا على بعض معالجات ARM Cortex-A المتقدمة، ولكنه لا يؤثر على شرائح AMD.ومن الجدير بالذكر أنه يتم إصلاح Meltdown في أنظمة التشغيل اليوم.
هواتف ايفون ستعاني من بطيء جديد بعد تحديثات الترقيع لثغرة Spectre
-
لكن كيف تعمل هذه الثغرات؟
تعمل البرامج التي توجد على جهاز الكمبيوتر الخاص بك بمستويات مختلفة من أذونات الأمان. حيث يحتوي kernel الخاص بنظام التشغيل – Windows kernel أو Linux kernel، على أعلى مستوى من الأذونات لأنه يقوم بتشغيل العرض. كما تحتوي برامج سطح المكتب على أذونات أقل. ويستخدم kernel ميزات جهاز المعالجة للمساعدة في فرض بعض هذه القيود، لأنه أسرع في فعل ذلك مع الأجهزة عن غيرها من البرامج.
المشكلة هنا هي “تنفيذ المضاربة” speculative execution. وذلك لأسباب تتعلق بالأداء، حيث تقوم وحدات المعالجة المركزية الحديثة تلقائيًا بتشغيل تعليمات يعتقدون أنها قد تحتاج إلى تشغيلها، وإذا لم تفعل ذلك، فيمكنها ببساطة إرجاع النظام وإعادته إلى حالته السابقة. ومع ذلك، فإن وجود خلل في Intel وبعض معالجات ARM يسمح للبرامج بتشغيل عمليات لا يمكن تشغيلها عادة، حيث يتم تنفيذ العملية من قبل المعالجين للتحقق مما إذا كان يجب أن يكون لديها إذن لتشغيلها أم لا. هذا هو خلل الانهيار Meltdown.
كما تكمن المشكلة الأساسية في كل من Meltdown و Spectre ضمن ذاكرة التخزين المؤقت لوحدة المعالجة المركزية. حيث يمكن للتطبيق محاولة قراءة الذاكرة، وإذا كان يقرأ شيئا في ذاكرة التخزين المؤقت، فسيتم إكمال العملية بشكل أسرع. وإذا حاولت قراءة شيء ليس في ذاكرة التخزين المؤقت، فسيتم إكماله بشكل أبطأ. هذا بالإضافة غلى أنه يمكن للتطبيق معرفة ما إذا كان شيء ما يكتمل بسرعة أو بطيء، بينما يتم تنظيف ومحو كل شيء أثناء التنفيذ المضاربي، ولا يمكن إخفاء الوقت المستغرق لتنفيذ العملية. ويمكنه عندئذٍ استخدام هذه المعلومات لإنشاء خريطة لأي شيء في ذاكرة الكمبيوتر، لمرة واحدة في كل مرة. كما يعمل التخزين المؤقت على تسريع الأشياء، ولكن هذه الهجمات تستفيد من هذا التحسين وتحولها إلى عيب أمني.
لذلك، في أسوأ الحالات، يمكن لشفرة جافا سكريبت JavaScript code التي يتم تشغيلها في متصفح الويب الخاص بك أن تقرأ بفعالية الذاكرة التي لا يجب أن يكون لها حق الوصول إليها، مثل المعلومات الخاصة الموجودة في التطبيقات الأخرى. فإن مقدمي الخدمات السحابية مثل Microsoft Azure أو Amazon Web Services، الذين يستضيفون برامج شركة مختلفة متعددة في أجهزة افتراضية مختلفة على نفس الجهاز معرضون للخطر بشكل خاص. ويمكن لبرمجيات شخص واحد، من الناحية النظرية، التجسس على الأشياء في الجهاز الظاهري لشركة أخرى. فهو انهيار في الفصل بين التطبيقات. وتعني تصحيحات Meltdown أن هذا الهجوم لن يكون سهلاً. ولسوء الحظ، ان وضع هذه الشيكات الإضافية في مكان يعني أن بعض العمليات ستكون أبطأ على الأجهزة المتأثرة.
ولهذا يعمل المطورون على تصحيحات البرامج التي تجعل تنفيذ هجمات Specter أكثر صعوبة. فعلى سبيل المثال، تساعد ميزة عزل الموقع الجديدة من Chrome في Google على الحماية من ذلك، وقد أجرت موزيلا بالفعل بعض التغييرات السريعة على Firefox. كما أجرت Microsoft بعض التغييرات للمساعدة على حماية Edge و Internet Explorer في Windows Update المتاح الآن.
وإذا كنت مهتمًا بتفاصيل مستوى منخفض جدًا عن كل من Meltdown و Specter، فيمكنك قراءة الشرح الفني من فريق Project Zero من Google، الذي اكتشف الأخطاء في العام الماضي. كما أنه هناك مزيد من المعلومات المتاحة أيضا على موقع MeltdownAttack.com.
-
إلى أي مدي سيكون جهاز الكمبيوتر الخاص بي أبطأ؟
قد أصدرت Microsoft في 9 يناير بعض المعلومات حول أداء التصحيح. ووفقًا لها، فإن نظام التشغيل Windows 10 في أجهزة الكمبيوتر الشخصية التي تعود إلى عهد 2016 مع Skylake أو Kabylake أو أحدث معالجات Intel يظهر “تباطؤ من رقم واحد” ولهذا لا ينبغي أن يلاحظه معظم المستخدمين. فقد يشهد Windows 10 على أجهزة الكمبيوتر الشخصي التي تعود إلى عام 2015 مع Haswell أو وحدة المعالجة المركزية القديمة حدوث بطء أكبر، وتتوقع Microsoft أن يلاحظ بعض المستخدمين حدوث انخفاض في أداء النظام به لهذا السبب.
ولهذا فإن مستخدمو Windows 7 و 8 ليسوا محظوظين. حيث تقول مايكروسوفت أنها “تتوقع أن يلاحظ معظم المستخدمين بهما انخفاضا في أداء النظام” فعند استخدام Windows 7 أو 8 على جهاز كمبيوتر خاص بعصر 2015 مع Haswell أو وحدة المعالجة المركزية القديمة. فلا يقتصر استخدام نظامي التشغيل Windows 7 و 8 على استخدام وحدات المعالجة المركزية القديمة التي لا يمكنها تشغيل التصحيح بنفس الكفاءة، ولكن “Windows 7 و Windows 8 لهما المزيد من انتقالات المستخدم، بسبب قرارات التصميم القديمة، مثل كل عمليات تقديم الخطوط التي تحدث في النواة”، وهذا أيضا يبطئ الأشياء.
من الجدير بالذكر أن Microsoft تخطط لتنفيذ معاييرها الخاصة وإصدار المزيد من التفاصيل في المستقبل، ولكننا لا نعرف بالضبط مدى تأثير تصحيح Meltdown على الاستخدام اليومي للكمبيوتر الشخصي حتى الآن. وقد كتب ديف هانسن، مطور نواة لينكس يعمل في شركة إنتل، في الأصل أن التغييرات التي يتم إجراؤها في نواة لينكس ستؤثر على كل شيء. ووفقا له، فإن معظم أعباء العمل تشهد تباطؤًا في خانة الأرقام، مع وجود تباطؤ بنسبة 5٪ تقريبًا. وقد كان أسوأ سيناريو هو التباطؤ بنسبة 30٪ في اختبار الشبكات، على الرغم من أنه يختلف من مهمة إلى أخرى. وهذه أرقام لنظام التشغيل Linux، ومع ذلك، فإنها لا تنطبق بالضرورة على Windows. حيث يؤدي الإصلاح إلى إبطاء استدعاءات النظام، ومن ثم فإن المهام التي تتضمن الكثير من استدعاءات النظام، مثل تجميع البرامج وتشغيل الأجهزة الظاهرية، من المرجح أن تبطئ أكثر من غيرها.
كما تحتوي أجهزة الكمبيوتر التي تعمل بمعالج Intel Haswell أو الأحدث على ميزة PCID (معرفات سياق العملية) التي تساعد التصحيح بشكل جيد. فقد ترى أجهزة الكمبيوتر التي تحتوي على معالجات Intel القديمة انخفاضًا أكبر في السرعة. حيث يتم تنفيذ المعايير المذكورة في السطور السابقة على معالجات Intel الحديثة مع PCID، لذلك فإنه من غير الواضح كيف ستعمل معالجات Intel القديمة