الأمن السيبراني

Google تدمج Rust في مودم Pixel 10 لتعزيز أمان قاعدة الاتصال الخلوية

أعلنت Google أن سلسلة Pixel 10 ستكون أول أجهزة Pixel التي تدمج لغة Rust الآمنة للذاكرة داخل برمجيات المودم الخلوي، عبر استبدال محلل DNS بمكوّن مكتوب بلغة Rust. وتقول الشركة إن الخطوة تقلل فئة كاملة من مخاطر ثغرات سلامة الذاكرة، رغم أن المكوّن يضيف نحو 371 كيلوبايت إلى صورة البرنامج.

10 أبريل 2026
4 دقائق قراءة
510 قراءة
certi.news Editorial Team
Google تدمج Rust في مودم Pixel 10 لتعزيز أمان قاعدة الاتصال الخلوية

تدمج سلسلة Pixel 10 للمرة الأولى في أجهزة Pixel مكوّناً مكتوباً بلغة Rust الآمنة للذاكرة داخل برمجيات المودم الخلوي، بحسب منشور على مدونة Google Security Blog. وتتمثل الخطوة في إدخال محلل لنظام أسماء النطاقات (DNS) مبني على Rust إلى البرنامج الثابت للمودم، بهدف تقليل مخاطر الثغرات المرتبطة بسلامة الذاكرة في جزء يتعامل مع بيانات غير موثوقة.

تأتي هذه الخطوة ضمن جهود Google لتقوية مودم الاتصالات الخلوية ضد الاستغلال. وكانت الشركة قد زودت Pixel 9 بتخفيفات ضد مجموعة من ثغرات سلامة الذاكرة، لكنها ترى أن تعقيد البرنامج الثابت للمودم واتساع سطح هجومه يستدعيان إجراءات استباقية إضافية. وذكرت Google أن Project Zero تمكن في وقت سابق من الوصول إلى تنفيذ تعليمات برمجية عن بُعد على مودمات Pixel عبر الإنترنت، فيما يحتوي مودم Pixel على عشرات الميغابايتات من التعليمات البرمجية القابلة للتنفيذ.

لماذا اختارت Google محلل DNS؟

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

قيّمت Google عدة حزم مفتوحة المصدر لتطبيق DNS في Rust، واختارت مكتبة hickory-proto استناداً إلى مستوى صيانتها، وتغطية اختبارات تتجاوز 75%، وانتشارها في مجتمع Rust. وكانت المكتبة تفتقر في البداية إلى دعم no_std المطلوب للبيئات محدودة الموارد أو العاملة دون نظام تشغيل، لذلك أضافت Google هذا الدعم إلى المكتبة وبعض تبعياتها. وأسفر العمل أيضاً عن دعم no_std لمحلل عناوين URL في مشروع rust-url.

كلفة الحجم والتكامل مع البرنامج القائم

أظهرت دراسة الحجم أن المكوّن الوسيط المكتوب بـRust يستهلك 4 كيلوبايت، بينما تحتاج مكونات core وalloc وcompiler_builtins إلى 17 كيلوبايت، وتستهلك مكتبة hickory-proto وتبعياتها 350 كيلوبايت، بإجمالي يبلغ 371 كيلوبايت. وترى Google أن حجم ذاكرة مودم Pixel لا يفرض قيوداً صارمة، لذلك فضّلت دعم المجتمع وجودة الشيفرة على تحسين الحجم في هذه المرحلة. لكنها أشارت إلى أن الزيادة قد تمثل عائقاً أمام أنظمة مدمجة أخرى، ويمكن تقليصها مستقبلاً عبر خيارات ترجمة تستبعد الوظائف غير المطلوبة.

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

يعتمد نظام البناء الأساسي على Pigweed، بينما استُخدمت واجهات FFI لربط نظام تخصيص الذاكرة الموجود في البرنامج الثابت بمكوّن alloc في Rust، وكذلك لتوحيد معالجة حالات الانهيار بين Rust وC/C++. وعند الربط ظهرت مشكلة أداء واستهلاك طاقة بسبب استبدال تطبيقات modem المحسّنة للدالتين memset وmemcpy بتطبيقات واردة من compiler_builtins. وعالج الفريق المشكلة بإزالة ملفات compiler_builtins من المكتبة الثابتة قبل مرحلة الربط.

واجهة DNS وخطوة لاحقة

عرّفت Google واجهة برمجية بلغة C لمعالجة استجابات DNS، ثم نفذتها في Rust. وبعد تحليل الاستجابة، يستدعي المكوّن دوال C القائمة لتحديث هياكل البيانات المستخدمة في البرنامج الأصلي. واستُخدمت أداة bindgen لتوليد شيفرة الربط اللازمة لعمليات التحويل المعقدة بين أنواع البيانات.

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

مصدر الخبر
كيف أعددنا هذا الخبر؟

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

c
كاتب المقال

certi.news Editorial Team

certi.news Editorial Team

The certi.news editorial team monitors technical sources and reconstructs news, verifying facts and context prior to publication.

ما الذي تحتاج معرفته

تدمج سلسلة Pixel 10 لأول مرة مكوّناً مكتوباً بلغة Rust داخل برمجيات المودم الخلوي، عبر استبدال محلل DNS، بهدف تقليل مخاطر ثغرات سلامة الذاكرة. أضاف المكوّن نحو 371 كيلوبايت إلى صورة البرنامج، واعتمد دمجه على واجهات FFI ونظام البناء القائم.

  • Pixel 10 هي أول أجهزة Pixel التي تدمج Rust داخل برنامج المودم الخلوي.
  • اختارت Google مكتبة hickory-proto لبناء محلل DNS مكتوب بـRust.
  • أضافت Google دعم no_std إلى hickory-proto وبعض تبعياتها، كما أضافت دعماً مماثلاً إلى rust-url.
  • بلغت الزيادة الإجمالية في حجم البرنامج نحو 371 كيلوبايت.
  • استُخدمت واجهات FFI وأداة bindgen لربط Rust بقاعدة الشيفرة الحالية المكتوبة بـC وC++.
  • تقول Google إن المشروع يمهّد لإضافة محللات ومكونات أخرى مكتوبة بلغات آمنة للذاكرة إلى قاعدة الاتصالات الخلوية.

أسئلة شائعة

لماذا اختارت Google محلل DNS؟

لأن DNS يتعامل مع بيانات قد تكون غير موثوقة، ويُستخدم في عمليات خلوية أساسية، ما يجعله نقطة حساسة عند تنفيذه بلغة تفتقر إلى حماية الذاكرة.

ما حجم الزيادة التي تسبب بها مكوّن Rust؟

بلغ إجمالي الزيادة نحو 371 كيلوبايت، منها 350 كيلوبايت لمكتبة hickory-proto وتبعياتها.

كيف ربطت Google Rust بالبرنامج القائم؟

استخدمت واجهة برمجية بلغة C، وواجهات FFI، وأداة bindgen لتوليد شيفرة الربط بين Rust وأنواع البيانات المستخدمة في كود C وC++.

استكشف هذه القصة

المواضيع والجهات المرتبطة

من نفس التصنيف

مقالات قد تهمك

عرض كل الأخبار