ما يقرب من ربع Android 13 مكتوب في Rust

الصدأ android 13

Android 13 هو الإصدار الأول من Android حيث يكون معظم الكود الجديد المضاف إلى الإصدار بلغة آمنة للذاكرة.

من خلال منشور مدونة ، مهندسو Google صدر ملخص النتائج الأولى من المقدمة دعم تطوير الصدأ على Android.

Android 13 ، تم تجميع حوالي 21٪ من الكود الجديد تمت كتابة المجموع في Rust و 79٪ في C / C ++ ، وهو مستودع AOSP (مشروع Android مفتوح المصدر) ، الذي يطور الكود المصدري لمنصة Android ، التي تحتوي على ما يقرب من 1,5 مليون سطر من كود Rust.

الرمز مقدمة من AOSP إنه مرتبط بمكونات جديدة مثل Keystore2 cryptographic keystore ، ومكدس رقائق UWB (Ultra-Wideband) ، وتنفيذ بروتوكول DNS عبر HTTP3 ، وإطار عمل AVF الافتراضي (Android Virtualization Framework) ، ومكدسات تجريبية لـ Bluetooth و Wi-Fi.

في الخط بالاستراتيجية المعتمدة أعلاه لتقليل مخاطر نقاط الضعف في أخطاء الذاكرة ، حتى الآن ، تم استخدام Rust بشكل أساسي لتطوير رمز جديد ولتعزيز أمان مكونات البرامج الأكثر ضعفًا وحيوية بشكل تدريجي.

نظرًا لانخفاض عدد الرموز الجديدة غير الآمنة للذاكرة التي تدخل Android ، انخفض أيضًا عدد الثغرات الأمنية في الذاكرة. من عام 2019 إلى عام 2022 ، انخفض من 76٪ إلى 35٪ من إجمالي نقاط الضعف في نظام Android. يصادف عام 2022 السنة الأولى التي لا تمثل فيها الثغرات الأمنية للذاكرة غالبية الثغرات الأمنية في Android.

لم يتم تعيين الهدف العام المتمثل في نقل النظام الأساسي بالكامل إلى Rust ، ويظل الرمز القديم في C / C ++ ، ويتم مكافحة الأخطاء فيه باستخدام اختبارات التشويش والتحليل الثابت واستخدام تقنيات مماثلة. استخدام نوع MiraclePtr (الربط عبر المؤشرات الأولية ، والذي يقوم بإجراء فحوصات إضافية للوصول إلى مناطق الذاكرة المحررة) ، ونظام تخصيص ذاكرة Scudo (بديل آمن لـ malloc / free) وآليات اكتشاف الأخطاء عند العمل مع ذاكرة HWAsan (Hardware Assisted AddressSanitizer) و GWP-ASAN و KFENCE.

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

على سبيل المثال ، انخفضت نسبة الثغرات الأمنية الناجمة عن مشكلات الذاكرة من 76٪ في عام 2019 إلى 35٪ في عام 2022. بالأرقام المطلقة ، تم تحديد 223 نقطة ضعف متعلقة بالذاكرة في عام 2019 ، و 150 في عام 2020 ، و 100 في عام 2021 ، و 85 في عام 2022. لم يتم العثور عليها). كان عام 2022 هو العام الأول الذي توقفت فيه الثغرات المتعلقة بالذاكرة عن السيطرة.

حتى الآن ، لم يتم اكتشاف ثغرات أمنية في الذاكرة في كود Android Rust.

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

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

كما أن نسبة المشكلات الخطيرة إلى نقاط الضعف التي تسببها أخطاء الذاكرة هي نفسها (ولكن مع انخفاض عدد نقاط الضعف ، يتناقص أيضًا عدد المشكلات الخطيرة).

تقوم الإحصائيات أيضًا بتتبع الارتباط بين مقدار الكود الجديد الذي يعمل مع الذاكرة بطريقة غير آمنة وعدد الثغرات الأمنية المتعلقة بالذاكرة (فيضان المخزن المؤقت ، والوصول إلى الذاكرة المحررة بالفعل ، وما إلى ذلك).

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

مصدر: https://security.googleblog.com/


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.