هدايا السنة الجديدة ، الجزء الثالث: سواء تصرفنا بشكل جيد

الجزء الأول: الانهيار
الجزء الثاني: شبح

أحد الأسئلة الأكثر إثارة للاهتمام التي نشأت في المناقشات حول نقاط الضعف في الأجهزة في Meltdown و Specter (انظر الروابط أعلاه) كان السؤال عما إذا قدم لنا سانتا كلوز هذه الهدية نظرًا لحقيقة تصرفنا في عام 2017 بشكل سيئ - أو العكس بالعكس جيد.



سأحاول إثبات صحة الفرضية التي تصرفنا بها بشكل جيد ، وإلا كان سانتا كلوز سيقدم لنا هذه الهدية في غضون ثلاث أو أربع سنوات.

إذن ماذا لدينا؟ ثغرة في الأجهزة متدحرجة تسمح لأي عملية غير مميزة بقراءة ذاكرة نظام التشغيل kernel ، وكذلك أي عمليات تعمل في نظام التشغيل هذا ، بما في ذلك الشهادات وكلمات المرور ومحافظ البيتكوين وكل ما يتبادر إلى ذهنك للمعالجة على جهاز كمبيوتر.

إن تطبيق الثغرة الأمنية لا يترك أي أثر ، والشفرة التي تنفذها بشكل عام لا يتم اكتشافها بواسطة مضادات الفيروسات.

الطريقة الوحيدة للحماية هي التحسين العاجل لنواة نظام التشغيل من أجل فصل مساحات العناوين الافتراضية للعملية ونظام التشغيل. في Linux ، يُطلق على التصحيح المقابل اسم KPTI ، فهو لا يترك سوى قطعة صغيرة من النواة في مساحة العنوان الظاهرية للعملية - وظائف Springboard التي تشير ، عند الوصول إليها ، إلى وظائف kernel المقابلة ، والتي تعيش الآن في مساحة عنوان مختلفة. وبفضل هذا ، كان التصحيح يُطلق عليه أيضًا Force Unmap Complete Kernel With Interrupt Trampolines ، أو FUCKWIT.

الانهيار عرضة بشكل كبير لما يلي:

  • تقريبا جميع معالجات إنتل
  • عدد معالجات Apple التي لم يتم تسميتها على معالج ARM
  • معالجات ARM Cortex-A75

العنصر الأخير ذو الأهمية الخاصة في علاقتنا مع سانتا كلوز هو العنصر الأخير - Cortex-A75.

بصرف النظر عن إبداع Apple ، الذي يعيش حصريًا في الأجهزة التي تتحكم فيها Apple ، قد تتعرض معالجات أخرى قائمة على ARM إلى Spectre ، وهو استغلال صعب ، والذي أصبح في الواقع خطيرًا فقط للمتصفحات التي تستخدم JS ، أو مشابهة لـ Meltdown ، لكن الثغرة محدودة جدًا معروفة من مستندات ARM تسمى "Variant 3a" ، والتي لا تسمح بقراءة محتويات ذاكرة الوصول العشوائي.



في Cortex-A75 ، في الوقت الحالي ، يتم عرض معالجين فقط ، حيث يتم تمثيل الأجهزة صفر تمامًا:

  • كوالكوم سنابدراجون 845
  • سامسونج Exynos 9810

حول الشركة المصنعة 845th تنص مباشرةً على استخدام Cortex-A75 ، لا توجد معلومات موثوقة حول 9810 ، ولكن هذا المعالج يحتوي على عدد من الميزات الحصرية لـ A75 ، وسيتباين أيضًا بشكل مباشر مع Snapdragon 845 في Galaxy S9.

ربما في المستقبل القريب يمكننا أن نتوقع نماذج تطوير مماثلة لـ Mediatek و HiSilicon.

سيتم عرض الأجهزة على كلا المعالجين في نهاية فبراير في MWC-2018 وحولها - بالطبع ، Galaxy S9 ، بالإضافة إلى النماذج الرائدة من الشركات المصنعة الأخرى.

ماذا يعني هذا؟ شيء بسيط جدًا: خلال عام 2018 ، ستظهر عشرات الملايين من الهواتف الذكية والأجهزة اللوحية التي تعمل بنظام Android والمعرضة لهجوم Meltdown في البرية. خلال عام 2019 ، يمكن أن يتجاوز هذا الرقم بسهولة مائة مليون.

على الرغم من أن أجهزة الجزء الأوسط والأدنى ستبقى معرضة للخطر - معالجاتها أكثر ربحية للتجميع من نوى Cortex-A5x الرخيصة دون إضافة Cortex-A7x الكبيرة والمكلفة إليها - فإن سوق الهواتف الذكية باهظة الثمن والضعيفة سيكون ذو أهمية كبيرة للمتسللين.

ولكن ، على ما يبدو ، تحديث بسيط لنواة لينكس؟ ..

نحن مع أجهزة سطح المكتب والخوادم لدينا مدللون قليلاً بإمكانية تحديث النواة. حتى بالنسبة لـ CentOS المحافظة للغاية ، هناك ثلاثة خطوط جاهزة من النوى - القاعدة ، والطويلة الأجل ، والخط الرئيسي ، ناهيك عن توزيعات سطح المكتب. مطلوب - ملفوف. أولاً ، كوب من البراندي ، ثم القلب ، أو العكس ، هذا هو من لديه الشجاعة.

الآن دعونا نلقي نظرة على واقع عالم الهواتف الذكية:
نموذجالنواة
جالكسي S63.10.61
غالاكسي S73.18.14
جالكسي S84.4.13
جالكسي نوت 84.4.13
جالكسي A5 20173.18.14
سوني XZ بريميوم4.4.78
Xiaomi Mi A13.18.66
Xiaomi Mi 64.4.21
Xiaomi Mi 53.18.31
Redmi Note 4 (Snapdragon)3.18.31
Redmi Note 4 (MTK)3.18.22
Meizu MX63.18.22
HTC U11 +4.4.78
هواوي هونر 94.1.18
هواوي P104.1.18
هواوي ميت 10 برو4.4.23
Nexus 6P3/10/73

حديقة حيوان جيدة ، أليس كذلك؟

يعيش كل هاتف ذكي مع النواة التي كانت جاهزة له عند إطلاقه في السوق. طوال عمر الهاتف الذكي ، لا تغير التحديثات القادمة إليه إصدار النواة ، على الرغم من أنه يمكن تطبيق تصحيحات إضافية على النواة نفسها - إذا نظرت إلى معلمات البرنامج ، فمن المرجح أن يتوافق تاريخ تجميع النواة في هاتفك الذكي مع أحد آخر التحديثات.

يرجع إصدار kernel إلى الدعم من الشركة المصنعة للشرائح (لاحظ أن Meizu على MTK Helio X20 و Xiaomi Redmi Note 4 يحتويان على نواة واحدة ، ولكن Redmi Note 4 على Snapdragon 625 له نواة مختلفة) ، بالإضافة إلى التطورات الخاصة بالشركة المصنعة هاتف ذكي.

وهذا يعني ، على سبيل المثال ، أن وجود تصحيح KPTI في نواة 4.4.110 لا يعني أن الشركات المصنعة يمكنها إصدار تحديث Android سريعًا لهواتفهم الذكية ، والذي سيجلب 4.4.110 لجميع مستخدميها مع تمكين KPTI. لا ، سيحتاجون للترفيه عن أنفسهم من خلال دعم التصحيح المناسب للنواة المستخدمة فعليًا في نماذجهم ، مع اختبار لاحق للأداء والاستقرار.

تتشابه الهواتف الذكية في هذا مع توزيعات خادم Linux مثل CentOS - فقط بالنسبة لهم لا يوجد مستودع جهة خارجية مع kernel-lt و kernel-ml أيضًا.

ومع ذلك ، في الوقت الحالي ، لدينا معالجان ARM عرضة للانهيار من Meltdown ، دون احتساب منتجات Apple ، والتي سيتم استخدامها في عدد محدود من طرازات الهواتف الذكية للأشهر الستة المقبلة ، وستعتمد البرامج الثابتة لهذه الهواتف الذكية على إحدى نوى أحدث أو أقل من سلسلة 4.4 ، في وهو تصحيح KPTI نظريًا على الأقل.

تخيل الآن ماذا سيحدث لو تم اكتشاف الانهيار ليس الآن ، ولكن بعد عامين أو ثلاثة أعوام. مئات الملايين من الأجهزة (وليس الهواتف الذكية والأجهزة اللوحية فقط) التي تستخدم العشرات من خيارات النواة من سلسلتي 4.4 و 4.9 ، لكل منها مجموعة من التصحيحات الخاصة بها ، في حين أن تطوير Linux الرئيسي يذهب إلى مكان ما حول 4.20 ...

قدم؟

شكرا لك ، الجد فروست ، لإعطائنا Meltdown قبل أن يتمكنوا من إصابة صناعة الهاتف المحمول بأكملها.

ونعد بأن نتصرف بشكل جيد في 2018 أيضًا.

PS كل هذا لا يعني على الإطلاق أن مصنعي الهواتف الذكية سيطلقون بالفعل النماذج الأولى على Cortex-A75 مع تمكين KPTI.

Source: https://habr.com/ru/post/ar409343/


All Articles