مجوزهای Android

مجوزهای Android کنترل هایی را فراهم می کند که آگاهی کاربران را افزایش داده و دسترسی یک برنامه به داده های حساس را محدود می کند. پیکربندی مجوز در آندروید 8.0 و پایین تر شامل لیست سفید، که بدون آن برنامه های ممتاز غیر فعال هستند، حتی اگر آنها در حال priv-app مسیر. در Android 9 و بالاتر ، دستگاهی که سعی می کند از برنامه هایی استفاده کند که به درستی در لیست سفید نیستند ، بوت نمی شود.

افزایش حمایت مردم در برابر به طور بالقوه مضر نرم افزار (PHA) به بهبود

  • شفافیت در رفتارهای برنامه به طور بالقوه مضر.
  • کنترل کاربر بر رفتار برنامه
  • اختیار توسعه دهندگان برنامه هنگام استفاده از داده های خصوصی ، محافظت شده توسط مجوزها.

نصب بسته و مجوز

در آندروید 9 و پایین تر، بسته نصب و ویژگی های کنترل اجازه در را شامل شد PackageInstaller بسته ( //packages/apps/PackageInstaller ). در آندروید 10 و بالاتر، کنترل اجازه سکونت قابلیت در یک بسته جداگانه، PermissionController ( //packages/apps/PermissionController ). شکل 1 نشان می دهد که در آن دو بسته در آندروید 10 زندگی می کنند.

تفکیک عملکرد بسته های نصب و کنترل مجوز برای برنامه های سیستم و همانطور که توسط برنامه های نصب شده توسط کاربر استفاده می شود
شکل 1. بسته نصب و اجازه کنترل ویژگی های در آندروید 10

لیست سفید و دسترسی

در آندروید 6.0 و بالاتر، برنامه درخواست دسترسی به مجوز خطرناک در زمان اجرا . اندروید 10 مجوزهای اجرای فعالیت (AR) را اضافه می کند ، که باعث می شود کاربر مجوزهای خطرناک را تغییر داده یا اجازه دهد.

آندروید 8.0 شما مورد نیاز به برنامه های به صراحت لیست سفید ممتاز در پیکربندی سیستم فایل های XML در /etc/permissions دایرکتوری. در آندروید 9 و بالاتر، مجوز ممتاز باید در لیست سفید و یا دستگاه نمی تواند بوت.

برای محدود کردن قابلیت API داخلی و جلوگیری از برنامه از دسترسی تصادفی کتابخانه پلت فرم، آندروید 7.0 معرفی سامانه برای بومی کتابخانه . این کتابخانه های سیستم را از کتابخانه های برنامه جدا می کند و تولید کنندگان دستگاه می توانند کتابخانه های بومی خود را اضافه کنند.

شروع در آندروید 10 برنامه باید هر دو مجوز امضا و رضایت کاربر به دسترسی به محتوای روی صفحه نمایش دستگاه را . برنامه های ممتاز است که به قابلیت ضبط خاموش تکیه می کنند، مانند مصرف یک تصویر، باید با استفاده از MediaProjection کلاس به جای.

شفافیت و حفظ حریم خصوصی

در Android 6.0 و بالاتر ، آدرس MAC کارخانه دستگاه از دسترسی توسط ارائه دهندگان خدمات Wi-Fi و تجزیه و تحلیل بسته ها محافظت می شود. محدودیت های اضافی از آندروید 10 برنامه محدودیت را از دسترسی به شناسه های دستگاه تغییرناپذیر (شناسه) مگر اینکه آنها برای مجوز ممتاز در لیست سفید . (این اتصال بخش فراهم می کند یک بحث مرتبط در مورد شناسه های دستگاه ، به عنوان این اثرات حامل.)

در Android 9 و پایین تر ، کاربران هنگام اعطای دسترسی مکان به برنامه ها ، انتخاب های مداومی انجام می دهند. شروع در آندروید 10، یک مجوز محل tristate ویژگی کاربران می دهد سه گزینه برای اجازه دسترسی برنامه به محل دستگاه است. این الزامات مجوز برای برنامه های Android 10 صرف نظر از SDK هدف اعمال می شود.

پیکربندی مجوزها برای سایر ویژگی های شفافیت و حریم خصوصی در Android 10

تنظیمات ساده

تنظیمات مجوزها برای Android 6.0 و بالاتر ساده شده است.

  • قابلیت های محیط برای خدمات راه اندازی شده توسط init نگه می دارد تمام جنبه های پیکربندی سرویس در یک .rc فایل. زمانی که قابلیت های برای خدمات توسط راه اندازی نشده است تنظیم init ، قابلیت های سیستم فایل پیکربندی با استفاده از fs_config.c به جای.
  • 7.x و آندروید و کاهش گسترش مکانیسم آندروید شناسه (AIDS)، با استفاده از یک دستگاه خاص android_filesystem_config.h فایل را مشخص قابلیت سیستم فایل و / یا سفارشی ایدز دستگاه تولید کننده. آندروید 8.0 و بالاتر پشتیبانی از روش جدید به گسترش قابلیت سیستم فایل .
  • در آندروید 8.0، دست زدن به دستورات USB از دستگاه خاص از نقل مکان کرد init اسکریپت (یک تعویض برای لایه HAL) و به یک شبح USB بومی است. HAL USB رابط باید در هر راه اندازی دستگاه در آندروید 8.0 و بالاتر اجرا شده است.