همه چیز درباره مجوزهای اپلیکیشن‌های اندروید

بازی بان - شماره دوم/ تیرماه 97

لینک دانلود: yon.ir/gOMTT

در مواجهه با بدافزارها، اندروید مکانیسم دفاعی بسیار خوبی دارد: سیستم مجوز اپلیکیشن. این سیستم مجموعه‌ای از اقداماتی را که یک برنامه مجاز به انجام آن‌هاست (یا مجاز نیست) را تعریف می‌کند. به طور پیش فرض، تمام اپلیکیشن‌های اندروید داخل یک جعبه شنی (Sandbox) که محیطی ایزوله است، کار می‌کنند؛ اما اگر بخواهند به داده هایی خارج از جعبه شنی دسترسی داشته باشند و آن ها را ویرایش و یا حذف کنند، برای انجام این کارها به مجوز سیستم نیاز دارند.

مجوزها به چند دسته تقسیم می‌شوند، اما ما قصد داریم تنها دو مورد از آن ها را مورد بحث قرار دهیم: مجوزهای عادی و مجوزهای خطرناک. مجوزهای عادی شامل اقداماتی مانند دسترسی به اینترنت، ایجاد آیکون، اتصال از طریق بلوتوث وغیره می‌باشند که به طور پیش فرض عمل کرده و نیازی به تایید کاربر ندارند؛ اما اگر یک برنامه نیاز به یک مجوز "خطرناک" داشته باشد، تأیید کاربر الزامی است. پس چرا برخی از مجوزها خطرناک تلقی می شوند؟ آیا به صورت ذاتی خطرناک هستند؟ در چه شرایطی باید این مجوزها را تایید کنیم؟


مجوزهای خطرناک

دسته "خطرناک" شامل 9 گروه مجوز است که مرتبط با اپلیکیشن‌هایی است که به نحوی با حریم خصوصی یا امنیت کاربر در ارتباط هستند. هر گروه نیز شامل چندین مجوز است که یک اپلیکیشن می‌تواند درخواست کند. اگر کاربر یکی از مجوزها را تایید نماید، برنامه تمام مجوزهای یک گروه را به صورت خودکار، بدون تایید اضافی، اخذ می‌کند. به عنوان مثال، اگر یک برنامه مجوز خواندن پیام های SMS را کسب کند، قادر به ارسال پیام‌های SMS، خواندن پیام‌های MMS و انجام عملیات‌های دیگر از این گروه نیز خواهد بود.


تقویم

مجوز اقدامات زیر را صادر می‌کند:

خواندن رویدادهای ذخیره شده در تقویم (READ_CALENDAR)

ویرایش رویدادهای قدیمی و ایجاد موارد جدید (WRITE_CALENDAR)

  • علت خطرناک بودن آن:

اگر شما به طور فعال از برنامه ریز روزانه دیجیتال خود استفاده کنید، اپلیکیشن همه چیز را در مورد کارهای روزمره شما می فهمد و ممکن است آن را با مجرمان به اشتراک بگذارد. علاوه بر این، یک اپلیکیشن باگ‌دار می‌تواند به طور تصادفی جلسات مهم را از تقویم شما پاک کند.


دوربین

مجوز اقدامات زیر را صادر می‌کند:

دسترسی به دوربین (CAMERA) اجازه می‌دهد تا اپلیکیشن از تلفن همراه شما برای گرفتن عکس و ضبط فیلم استفاده کند.

  • علت خطرناک بودن آن:

یک اپلیکیشن می‌تواند در هر زمانی به طور مخفیانه عکس بگیرد و یا ویدیو ضبط کند.


مخاطبین

مجوز اقدامات زیر را صادر می‌کند:

خواندن مخاطبین (READ_CONTACTS)

ویرایش مخاطبین یا اضافه کردن موارد جدید (WRITE_CONTACTS)

دسترسی به لیست حساب کاربران (GET_ACCOUNTS)

  • علت خطرناک بودن آن:

یک اپلیکیشن می‌تواند به تمام دفتر تلفن موبایل شما دسترسی پیدا کند. این اطلاعات برای اسپمر ها و کلاهبرداران بسیار جذاب است. این مجوز همچنین اجازه دسترسی به تمام حساب‌هایی را که در اپلیکیشن‌های موجود در موبایل خود (Google, Facebook, Ins‌tagram و غیره ) دارید، می‌دهد.

موقعیت

مجوز اقدامات زیر را صادر می‌کند:

دسترسی به موقعیت مکانی تقریبی (ACCESS_COARSE_LOCATION)، براساس اطلاعات به دست آمده از ایستگاه‌های پایه سلولی و هات اسپات‌های Wi-Fi

دسترسی به مکان دقیق شما (ACCESS_FINE_LOCATION)، براساس داده‌های GPS

  • علت خطرناک بودن آن:

اپلیکیشن همیشه می‌داند که شما کجا هستید و برای مثال، ممکن است زمانی که دور از خانه هستید، سارقان را مطلع سازد.

میکروفون

مجوز اقدامات زیر را صادر می‌کند:

ضبط صدا از میکروفون (RECORD_AUDIO)

  • علت خطرناک بودن آن:

اپلیکیشن می‌تواند صدای هر اتفاقی را که در نزدیکی گوشی شما رخ می‌دهد، به اضافه تمامی مکالمات، نه تنها زمانی که شما با تلفن صحبت می‌کنید، بلکه در تمام طول روز ضبط کند.


تلفن

مجوز اقدامات زیر را صادر می‌کند:

خواندن وضعیت تلفن (READ_PHONE_STATE) که به برنامه اجازه می‌دهد تا شماره تلفن شما، اطلاعات شبکه فعلی تلفن همراه، وضعیت هر تماس در حال انجام و غیره را بشناسد.

برقراری تماس (CALL_PHONE)

خواندن لیست تماس‌ها (READ_CALL_LOG)

تغییر لیست تماس‌ها (WRITE_CALL_LOG)

افزودن پست صوتی (ADD_VOICEMAIL)

استفاده از VoIP (USE_SIP)

پردازش مجوز تماس‌های خروجی (PROCESS_OUTGOING_CALLS) به برنامه این امکان را می‌دهد تا ببیند چه کسی تماس گرفته است، بتواند تلفن را قطع کند یا آن را به شماره دیگری هدایت کند.

  • علت خطرناک بودن آن:

هنگامی که مجوزهای تلفن را اعطا می‌کنید، به اپلیکیشن اجازه می‌دهید تا تقریبا هر کاری را با ارتباطات صوتی انجام دهد. اپلیکیشن متوجه می‌شود با چه کسی و در چه زمانی تماس گرفته‌اید و می‌تواند با هر جایی به حساب شما تماس بگیرد.

حسگرهای بدن

مجوز اقدامات زیر را صادر می‌کند:

(BODY_SENSORS) این مجوز امکان دسترسی به اطلاعات سلامت شما را از طریق حسگرهای خاصی مانند نمایشگر ضربان قلب فراهم می‌کند.

  • علت خطرناک بودن آن:

اگر از لوازم جانبی مجهز به حسگرهای بدن استفاده کنید (نه حسگرهای حرکتی خود موبایل)، اپلیکیشن اطلاعاتی در مورد آنچه که در بدن شما می‌گذرد، دریافت می کند.


پیامک

مجوز اقدامات زیر را صادر می‌کند:

ارسال پیام SMS (SEND_SMS)

خواندن پیام‌های SMS ذخیره شده (READ_SMS)

دریافت پیام‌های SMS (RECEIVE_SMS)

دریافت پیام‌های WAP push (RECEIVE_WAP_PUSH)

دریافت پیام های MMS (RECEIVE_MMS)

  • علت خطرناک بودن آن:

این مجوز به اپلیکیشن اجازه می‌دهد تا پیام های SMS شما را دریافت کرده، آن‌ها را بخواند و پیام‌هایی را نیز بفرستد (که البته هزینه‌اش از حساب شما کسر می‌شود). برای مثال، مجرمان می‌توانند از این مجوز برای به اشتراک درآوردن قربانیان در خدمات هزینه‌برِ ناخواسته استفاده کنند.


حافظه ذخیره‌سازی

مجوز اقدامات زیر را صادر می‌کند:

خواندن کارت حافظه SD یا گونه‌های دیگر حافظه ذخیره‌سازی (READ_EXTERNAL_STORAGE)

ذخیره رکوردها در حافظه ذخیره‌سازی یا کارت حافظه SD (WRITE_EXTERNAL_STORAGE)

  • علت خطرناک بودن آن:

این اپلیکیشن می‌تواند هر فایل ذخیره شده بر روی موبایل را بخواند، تغییر دهد یا حذف کند.


نحوه تنظیم مجوزهای اپلیکیشن‌ها

اگر درخواست مجوز یک اپلیکیشن مشکوک است، نباید آن را نصب کنید و یا حداقل مجوز آن را رد کنید. می‌بایست اعطای هر مجوز را به خوبی بررسی کرد. به عنوان مثال، اگر یک بازی یا ابزار ویرایش عکس بخواهد به موقعیت فعلی شما دسترسی پیدا کند، مسئله عجیبی است. نقشه ها و نویگیتورها نیز به اطلاعات GPS نیاز دارند؛ اما احتیاجی به دسترسی به لیست‌های تماس یا پیام های SMS ندارند.

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

همچنین می‌توانید لیست مجوزها را چک کرده و مجوز هر برنامه‌ای را که می‌خواهید تغییر دهید. می‌‌توانید این کار را با انتخاب Settings Apps انجام دهید (آیتم های منو ممکن است نام‌های نسبتا متفاوتی در نسخه Android شما داشته باشند).

حالا می‌توانید یکی از دو راه پیش رو را انتخاب کنید. ابتدا می‌توانید تمام مجوزهای اختصاص یافته به یک اپلیکیشن مشخص را بررسی کنید. برای انجام این کار بر روی نام اپلیکیشن کلیک کرده و "Permissions" را انتخاب کنید. سپس می‌توانید به لیست تمام اپلیکیشن‌هایی که تا به آن زمان درخواست مجوز خطرناک داده‌اند یا قرار است در آینده درخواست بدهند، دسترسی پیدا کنید. به عنوان مثال، فکر خوبی است تا اپلیکیشن‌هایی را که قصد دسترسی به لیست مخاطبین شما را دارند، بررسی کرده و موارد مشکوک را از گرفتن مجوز منع کنید. برای این کار Configure Apps (نماد چرخ دنده در گوشه سمت راست بالا) را انتخاب کرده و سپس روی App Permissions کلیک کنید.


حقوق دسترسی ویژه

اپلیکیشن‌ها غیر از مجوزهای خطرناک، می‌توانند درخواست حقوق دسترسی ویژه را بدهند. هنگامی که این اتفاق می‌افتد، باید مراقب باشید؛ چرا که تروجان ها هستند که اغلب چنین حقوق هایی را درخواست می‌کنند.


دسترسی

این حق دسترسی، کار با اپلیکیشن‌ها و دیوایس‌ها را برای افرادی که دارای مشکلات بینایی یا شنوایی هستند، آسان می‌کند؛ البته بدافزارها می‌توانند از این ویژگی سواستفاده کنند. پس از به دست آوردن حقوق دسترسی، تروجان ها می‌توانند اطلاعات را (متن ورودی، به خصوص رمز عبور که هدف اصلی آن ها است) از اپلیکیشن‌ها به سرقت ببرند. علاوه بر این، بد افزار توانایی خرید اپلیکیشن از Google Play Store را نیز به دست می‌آورد.


اپلیکیشن پیش فرض پیام‌رسان

هدف تروجان‌های بانکی تبدیل شدن به اپلیکیشن پیش فرض SMS حتی در نسخه‌های جدیدتر اندروید است که به آن‌ها اجازه خواندن پیام‌ها و مخفی کردنشان را بدهد. به عنوان مثال، تروجان‌ها می‌توانند از این ویژگی برای شنود کلمه عبور بانکی از پیام‌های SMS استفاده کنند و تراکنش‌های مخرب را بدون اطلاع کاربر تأیید کنند (به یاد داشته باشید که آن‌ها می‌توانند پیام‌های SMS را مخفی کنند).

همیشه در صدر

مجوز هم‌پوشانی پنجره‌های اپلیکیشن‌های دیگر اجازه می‌دهد تا تروجان‌ها پنجره‌های فیشینگ را در صدر برنامه‌های مشروع (همراه بانک‌ها یا شبکه‌های اجتماعی) نمایش دهند. این کار باعث می‌شود تا قربانیان فکر کنند که کلمه عبور خود را در فرم اپلیکیشن واقعی وارد کرده‌اند؛ اما در واقع همه چیز در پنجره جعلی اتفاق می‌افتد که توسط تروجان نمایش داده شده است و این گونه است که اطلاعات حساس به چنگ مجرمان می‌افتد.


حقوق ویژه مدیریتی دستگاه

این حقوق به کاربر امکان تغییر کلمه عبور، قفل کردن دوربین یا پاک کردن تمام داده‌ها را از دستگاه می‌دهد. اپلیکیشن‌های مخرب اغلب سعی می‌کنند چنین مجوزهایی را دریافت کنند؛ چرا که حذف اپلیکیشن‌هایی با حقوق ویژه مدیریتی دشوار است.


حقوق روت

خطرناک‌ترین نوع مجوزها، حقوق روت هستند. به طور پیش فرض، اندروید هرگز این حقوق را در اختیار اپلیکیشن‌ها قرار نمی‌دهد، اما برخی از تروجان‌ها می‌توانند از آسیب پذیری‌های سیستم استفاده کرده و به این حقوق دسترسی پیدا کنند. هنگامی که این اتفاق می‌افتد، تمام سیستم‌های دفاعی بی‌فایده می‌شوند؛ چرا که بدافزارها می‌توانند از حقوق روت برای انجام هر کاری، بدون در نظر گرفتن مجوزهایی که قربانی‌ها به آن‌ها اعطا کرده و یا آن‌ها را رد کرده‌اند، استفاده کنند.

نکته قابل توجه این است که حتی سیستم مجوز جدید (منتشر شده در اندروید 6) به طور کامل توانایی مقابله با بدافزارها را ندارد. برای مثال، تا زمانی که مجوز هم‌پوشانی پنجره‌ها تایید نشود، تروجان Gugi مکررا به قربانیان درخواست اعطای مجوز را نمایش می‌دهد. پس از دریافت آن، بدافزار تا زمانی که مجوزهای موردنیاز دیگرش را دریافت نکند، به همپوشانی تمام پنجره‌های اپلیکیشن‌ها ادامه می‌دهد.

نتیجه گیری

در پایان و به عنوان نتیجه‌‌گیری باید گفت که نباید به اپلیکیشن‌ها اجازه داده شود تا هر کاری را بر روی موبایل شم ا انجام دهند؛ به خصوص اگر بدون هیچ دلیلی درخواست اعطای مجوز خطرناکی را داشته باشند. با این حال، برخی از اپلیکیشن‌ها واقعا به حقوق زیادی نیاز دارند. برای مثال، آنتی ویروس‌ها نیاز به مجوزهای زیادی برای اسکن سیستم و محافظت فعالانه از آن در برابر تهدیدات دارند. و در نهایت یک نتیجه‌گیری ساده این است که: قبل از اعطای یک سری حقوق مشخص، به این موضوع فکر کنید که آیا اپلیکیشن موردنظر به آن مجوزها نیاز دارد یا خیر. اگر از این بابت مطمئن نبودید، حتما به صورت آنلاین به تحقیق در مورد آن بپردازید.