أذونات Android

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

تحسين الحماية المتزايدة ضد التطبيقات التي يُحتمل أن تكون ضارة (PHA)

  • الشفافية في سلوك التطبيق المحتمل أن يكون ضارًا.
  • تحكم المستخدم في سلوك التطبيق.
  • تقدير مطوري التطبيقات عند استخدام البيانات الخاصة ، محمية بالأذونات.

تثبيت الحزمة والإذن

في نظام Android 9 والإصدارات الأقدم ، تم تضمين وظائف تثبيت الحزمة والتحكم في الأذونات في حزمة PackageInstaller ( //packages/apps/PackageInstaller ). في Android 10 والإصدارات الأحدث ، توجد وظيفة التحكم في الأذونات في حزمة منفصلة ، PermissionController ( //packages/apps/PermissionController ). يوضح الشكل 1 مكان وجود الحزمتين في Android 10.

فصل وظائف تثبيت الحزمة والتحكم في الأذونات لتطبيقات النظام وكما تستخدمها التطبيقات المثبتة من قبل المستخدم
الشكل 1. تثبيت الحزمة ووظائف التحكم في الأذونات في Android 10

القوائم البيضاء والوصول

في Android 6.0 والإصدارات الأحدث ، تطلب التطبيقات الوصول إلى أذونات خطيرة في وقت التشغيل . يضيف Android 10 أذونات وقت تشغيل التعرف على النشاط (AR) ، والتي تطالب المستخدم بتعديل أذونات خطيرة أو السماح بها.

يتطلب Android 8.0 منك إدراج التطبيقات ذات الامتيازات في القائمة البيضاء بشكل صريح في ملفات XML لتهيئة النظام في دليل /etc/permissions . في Android 9 والإصدارات الأحدث ، يجب إضافة الأذونات المميزة إلى القائمة البيضاء وإلا فلن يتمكن الجهاز من التمهيد.

للحد من رؤية واجهة برمجة التطبيقات الداخلية ومنع التطبيقات من الوصول عن طريق الخطأ إلى مكتبات النظام الأساسي ، قدم Android 7.0 Namespaces للمكتبات الأصلية . يؤدي هذا إلى فصل مكتبات النظام عن مكتبات التطبيقات ، ويمكن لمصنعي الأجهزة إضافة مكتباتهم الأصلية.

بدءًا من Android 10 ، يجب أن يكون لدى تطبيقات Android 10 أذونات التوقيع وموافقة المستخدم للوصول إلى محتوى شاشة الجهاز . يجب أن تستخدم التطبيقات المميزة التي تعتمد على وظيفة الالتقاط الصامت ، مثل التقاط لقطة شاشة ، فئة MediaProject بدلاً من ذلك.

الشفافية والخصوصية

في Android 6.0 والإصدارات الأحدث ، يكون عنوان MAC الخاص بالمصنع للجهاز محميًا من الوصول بواسطة موفري خدمة Wi-Fi ومحللي الحزم. تعمل القيود الإضافية اعتبارًا من Android 10 على تقييد التطبيقات من الوصول إلى معرفات الأجهزة الثابتة (IDs) ما لم تكن مدرجة في القائمة البيضاء للحصول على أذونات مميزة . (يوفر قسم الاتصال مناقشة ذات صلة حول معرفات الأجهزة ، حيث يؤثر ذلك على شركات الاتصالات.)

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

قم بتكوين الأذونات لميزات الشفافية والخصوصية الأخرى بدءًا من Android 10

تكوينات مبسطة

تم تبسيط تكوينات الأذونات لنظام Android 6.0 والإصدارات الأحدث.

  • القدرات المحيطة للخدمات التي تم إطلاقها بواسطة init تحافظ على جميع جوانب تكوين الخدمة في ملف .rc واحد. عند تعيين إمكانيات الخدمات التي لم يتم تشغيلها بواسطة init ، قم بتكوين إمكانات نظام الملفات باستخدام fs_config.c بدلاً من ذلك.
  • يعمل الإصدار 7.x من نظام التشغيل Android والإصدارات الأقل على توسيع آلية معرفات Android (AIDs) ، باستخدام ملف android_filesystem_config.h خاص android_filesystem_config.h لتحديد إمكانيات نظام الملفات و / أو معرّفات android_filesystem_config.h المخصصة لمصنعي الجهاز. يدعم Android 8.0 والإصدارات الأحدث طريقة جديدة لتوسيع إمكانيات نظام الملفات .
  • في أندرويد 8.0، انتقلت التعامل مع الأوامر USB من جهاز معين init البرامج النصية (إجراء تبديل لطبقات HAL) وإلى شيطان USB الأصلي. يجب تنفيذ واجهة USB HAL على كل جهاز يتم تشغيله على Android 8.0 والإصدارات الأحدث.