تحتوي هذه الصفحة على حالات الاستخدام الشائعة لميزة "التحقّق من صحة الجهاز".
التحويل البرمجي المعزول
باعتبارها منطقة آمنة محمية بالبرامج، توفّر الآلة الافتراضية المحمية (VM) بيئة آمنة لتجميع الرموز البرمجية الحساسة للأمان.
تتيح هذه البيئة نقل عملية تجميع ملفات bootclasspath
وملفات JAR الخاصة بخادم النظام (التي يتم تشغيلها من خلال تحديث APEX) من مرحلة بدء التشغيل المبكر إلى مرحلة ما قبل إعادة التشغيل، كما تقلّل بشكل كبير من وقت بدء التشغيل بعد تحديث APEX.
يتم تنفيذ ذلك في com.android.compos
APEX. هذا المكوّن اختياري ويمكن تضمينه باستخدام ملف makefile.
يتمثل هدف الأمان في تجميع المدخلات التي تم التحقّق منها بشكل صحيح وإنتاج المخرجات بشكل منفصل، ولا يمكن لنظام التشغيل Android، باعتباره برنامجًا غير موثوق به، تغيير مخرجات التجميع بأي طريقة أخرى غير التسبّب في تعذُّر التجميع (عندما يعود Android إلى التجميع في وقت التشغيل).
لا تنشئ خدمة التجميع في الجهاز الافتراضي توقيعًا إلا إذا لم يحدث أي خطأ أثناء عملية التجميع بأكملها. يمكن لنظام التشغيل Android استرداد المفتاح العام من الجهاز الظاهري للتحقّق من التوقيع.
يتم إنشاء مفتاح الجهاز الافتراضي من ملف تعريف DICE الخاص به، والذي تحدّده حِزم APEX وملفات APK المثبَّتة على الجهاز الافتراضي، بالإضافة إلى مَعلمات أخرى للجهاز الافتراضي، مثل إمكانية تصحيح الأخطاء.
لتحديد ما إذا كان المفتاح العام ليس من جهاز افتراضي غير متوقّع، يبدأ Android تشغيل الجهاز الافتراضي لتحديد ما إذا كان المفتاح صحيحًا. يتم تشغيل الجهاز الافتراضي في مرحلة التشغيل المبكر بعد كل تحديث لحزمة APEX.
باستخدام ميزة "التشغيل المتحقّق منه" في "الأجهزة الافتراضية المحمية"، لا تشغّل خدمة التجميع سوى الرموز التي تم التحقّق منها. نتيجةً لذلك، يمكن للرمز البرمجي تحديد قبول الإدخالات التي تستوفي شروطًا معيّنة فقط، مثل قبول ملف إدخال فقط عندما يتم تحديد اسمه وملخص fs-verity
في قائمة السماح.
أي واجهات برمجة تطبيقات مكشوفة من الجهاز الظاهري هي أجزاء مُعرضة للهجوم. يُفترض أنّ جميع ملفات الإدخال والمعلَمات واردة من عميل غير موثوق به، ويجب التحقّق منها وفحصها قبل معالجتها.
تتحقّق الآلة الافتراضية من سلامة ملفات الإدخال والإخراج، ويتم تخزين الملفات على نظام التشغيل Android كخادم ملفات غير موثوق به، وذلك على النحو التالي:
- يجب التحقّق من صحة محتوى ملف الإدخال قبل استخدامه من خلال خوارزمية
fs-verity
. لكي يصبح ملف إدخال متاحًا في الجهاز الظاهري، يجب توفير تجزئة الجذر الخاصة به في حاوية (حزمة APK) تساهم في ملف تعريف DICE الخاص بالجهاز الظاهري. باستخدام تجزئة الجذر الموثوق به، لا يمكن للمهاجم التلاعب بالمدخلات بدون أن يتم رصده. - يجب الحفاظ على سلامة ملف الإخراج في الجهاز الظاهري. حتى إذا تم تخزين ملف إخراج على جهاز Android، يتم الحفاظ على سلامة الملف أثناء إنشائه باستخدام تنسيق شجرة
fs-verity
نفسه، ولكن يمكن تعديله بشكل ديناميكي. يمكن تحديد ملف الإخراج النهائي باستخدام تجزئة الجذر، التي يتم عزلها في الجهاز الظاهري. تحمي الخدمة في الجهاز الافتراضي ملفات الإخراج من خلال التوقيع.
بيئة تطوير نظام التشغيل Linux
كان نظام التشغيل Android في السابق هو نظام التشغيل الرئيسي الوحيد الذي لا يتيح للمستخدمين تطوير التطبيقات على المنصة نفسها. من خلال توفير بيئة تطوير نظام التشغيل Linux، نسعى إلى تزويد مطوّري تطبيقات Android ببيئة تطوير مستندة إلى Linux. في المستقبل، نخطّط لتوسيع نطاق هذا الجهد لإتاحة الفرصة لشركائنا لتنفيذ حالات استخدام مبتكرة للأجهزة الافتراضية، مثل تشغيل تطبيقات واجهة المستخدم الرسومية وحتى الألعاب.
تتوفّر بيئة تطوير Linux على أجهزة محدّدة وتعمل في آلة افتراضية غير محمية.
في ما يلي خطوات التنفيذ العالية المستوى:
- لاستخدام بيئة تطوير نظام التشغيل Linux، عليك تفعيل خيارات المطوّرين.
- بعد تفعيل خيارات المطوّرين، سيظهر تطبيق "الطرفية" في مشغّل التطبيقات على الشاشة الرئيسية.
- شغِّل تطبيق Terminal من مشغّل التطبيقات على الشاشة الرئيسية.
- إذا لزم الأمر، ينزّل تطبيق Terminal صورة نظام التشغيل من Play.
- يستخدم تطبيق Terminal إطار عمل Android Virtualization Framework (AVF) لإنشاء جهاز افتراضي (VM).
- بعد ذلك، تشغّل AVF الجهاز الظاهري باستخدام صورة نظام التشغيل.
- يشغّل الجهاز الافتراضي نظام التشغيل من الصورة.
- بعد تشغيل الجهاز الافتراضي، يتصل WebView في تطبيق Terminal بخدمة ويب في الجهاز الافتراضي. توفّر هذه الخدمة إمكانية الوصول إلى الجهاز عبر HTTP.
- يمكنك التفاعل مع الوحدة الطرفية من خلال إدخال الأوامر وعرض الناتج في التطبيق.
في ما يلي المكوّنات العالية المستوى للجهاز الظاهري الذي يعمل بنظام التشغيل Linux:
- تطبيق المحطة الطرفية: هو تطبيق Android يوفّر واجهة محطة طرفية. يستخدم WebView للاتصال بخدمة ويب تعمل في الجهاز الافتراضي للتفاعل. يكون هذا التطبيق غير مفعَّل تلقائيًا. فعِّلها في "إعدادات المطوّرين".
- إطار عمل المحاكاة الافتراضية لنظام التشغيل Android (AVF): هو نظام فرعي حالي في Android لإنشاء الأجهزة الافتراضية وإدارتها. ولا يتطلّب سوى تعديل بسيط لتوفير إمكانية استخدام صور مخصّصة لنظام التشغيل مع هذه الميزة.
- الجهاز الافتراضي: هو جهاز افتراضي ينشئه إطار عمل AVF. يستضيف هذا التطبيق خدمة Terminal، وتنشئه إطار عمل AVF خصيصًا لوظائف تطبيق Terminal.
- صورة نظام التشغيل: صورة نظام تشغيل معدَّلة قليلاً ومستندة إلى Debian من مصدر Debian. ينزّل تطبيق Terminal هذه الصورة من خادم Google خارجي. وهي تشكّل الأساس لتشغيل الجهاز الظاهري.
- برنامج Guest Agent: برنامج جديد في الجهاز الظاهري. ويُبلغ هذا البرنامج إطار عمل AVF بحالة نظام التشغيل، كما يتيح التحكّم في الآلة الافتراضية.
- ttyd: برنامج مفتوح المصدر يتم تشغيله في الجهاز الافتراضي وينفّذ محاكاة طرفية عبر HTTP. يتصل WebView في تطبيق Terminal به.
- Tethering Manager: نظام فرعي حالي في Android ويوفّر إمكانية الوصول إلى الشبكة للجهاز الافتراضي من خلال ربط الجهاز الافتراضي بجهاز Android.
أمان المحتوى على الجهاز
Content Safety On-device هو حلّ للحفاظ على أمان المحتوى مع الحفاظ على الخصوصية، وقد تم إنشاؤه بواسطة فريق Content Safety On-device. تُجري هذه الخدمة عملية تصنيف أمان المحتوى لمختلف منتجات Google على أجهزة تابعة لجهات أولى وثالثة، كما تحمي أكثر من مليار مستخدم من المحتوى المسيء، وذلك بدون الحاجة إلى إعادة إرسال بيانات المستخدم إلى خوادم Google. تم تصميمها للالتزام بمبادئ نظام الحوسبة الخاصة (PCC) من أجل التحقّق من التواصل الشفاف الذي يحافظ على الخصوصية بين العميل والجهاز الافتراضي (VM)، ومنع أي تسريب لبيانات المستخدم. ويمكن استخدامها في أمور، مثل تفعيل ميزة رصد إساءة الاستخدام على الأجهزة، مثل ميزة الرصد المباشر للتهديدات في "Play للحماية".
في حالة الاستخدام هذه، يستفيد النظام من الآلات الافتراضية المحمية لتشغيل تصنيف النماذج الخاص بميزة "الرصد المباشر للتهديدات" في "Play للحماية"، ما يؤدي إلى تحسين أمان النماذج ووسائل الحماية بشكل كبير. ويمنع ذلك الهندسة العكسية والتلاعب من قِبل المخترقين، حتى على الأجهزة التي تم الوصول إلى جذرها، وذلك من خلال التحقّق من تشغيل الرمز البرمجي المعتمد فقط وإخفاء عملياته عن العمليات الخارجية.
في ما يلي خطوات التنفيذ العالية المستوى:
- ترسل ميزة "الرصد المباشر للتهديدات" إشارات إلى "خدمات الحوسبة الخاصة" لبدء الجهاز الظاهري. "خدمات الحوسبة الخاصة" هي وسيط يركّز على الخصوصية بين "نظام الحوسبة الخاص" وخادم السحابة الإلكترونية.
- تبدأ "خدمات الحوسبة الخاصة" الجهاز الافتراضي وتحصل على مفتاحه العام من الجهاز الافتراضي
- تسلِّم "خدمات الحوسبة الخاصة" ملكية الجهاز الافتراضي إلى ميزة "الرصد المباشر للتهديدات" في "Google Play للحماية".
- ترسل "خدمات الحوسبة الخاصّة" شهادة التصديق والمفتاح العام إلى الخادم
- يتحقّق الخادم من صحة بيان المصادقة ويشفّر عمليات الحماية باستخدام المفتاح العام للجهاز الافتراضي
- بعد ذلك، يرسل الخادم إعدادات الحماية المشفّرة إلى الجهاز.
- بعد ذلك، يمكن لميزة "الرصد المباشر للتهديدات على الجهاز فقط" الاستفادة من الحماية المشفّرة داخل الجهاز الافتراضي. الجهاز الافتراضي هو الجهة الوحيدة التي لديها المفتاح الخاص الذي يمكنه فك تشفير وسائل الحماية.
في ما يلي المكوّنات العالية المستوى:
- الخادم: تشفير وسائل الحماية المشفّرة وتسليمها إلى الجهاز الظاهري
- خدمات الحوسبة المراعية للخصوصية: تُستخدَم لبدء الجهاز الافتراضي والتوسّط في عملية التواصل مع الجهاز الافتراضي وإظهار الشفافية بأنّه لا يتم نقل أي بيانات مستخدم من خلال Astrea إلى الخادم
- ميزة "الرصد المباشر للتهديدات" في "Play للحماية":
- يحتوي على مصنّفات النماذج التي توفّرها ميزة "أمان المحتوى" على الجهاز ويستخدمها
- قبول ملكية الجهاز الظاهري والاحتفاظ به لاستخدامه في التصنيف
- يبدأ الجهاز الافتراضي ويتوقّف حسب الحاجة.
المصنّعون الأصليون للأجهزة
يمكن لمصنّع المعدات الأصلية استخدام إطار عمل AVF لحالات استخدام مخصّصة. على سبيل المثال، تستخدم شركة OPPO إطار عمل AVF لتفعيل مساحة الحوسبة الخاصة المستندة إلى الذكاء الاصطناعي. يوفر التطبيق الأول في هذه المساحة حلاً للتحكّم في المخاطر على الجهاز لعملاء التطبيقات، ويتم تشغيله في آلة افتراضية. ويواجه النظام التهديدات الناتجة عن الأنشطة غير المشروعة، ويوفّر الحماية من المخاطر المختلفة.