کمیته رکن چهارم – امروزه با توجه به تولید انبوه برنامههای کاربردی اندرویدی و ارائه آنها در بازارهای ایرانی و خارجی و همچنین دانش اندک بیشتر کاربران سیستمعامل اندروید، باید در مورد خطرات احتمالی آن دست از برنامههایی که تهدیداتی را برای کاربران دستگاههای اندرویدی ایجاد میکنند اطلاعرسانی شود.
به گزارش کمیته رکن چهارم،بسیاری از برنامههای کاربردی چه ایرانی و چه خارجی با دریافت یکسری مجوزهای حساس با استفاده از مهندسی اجتماعی و یا عدم آگاهی کافی کاربران اقدام به سرقت اطلاعات کاربران میکنند. ولی سؤالی که باید پرسیده شود این است که آیا تابهحال مجوزهای درخواستی برنامه کاربردی اندرویدی شما قبل از نصب را مطالعه کردهاید؟ تعداد افرادی که این مجوزها را مطالعه میکنند انگشتشمار هستند و بیشتر افراد برخوردی عادی و بیتفاوت به این مجوزها دارند. از عدم آگاهی و نیز بیتوجهی بیشتر کاربران، توسعهدهندگان برنامههای کاربردی مجوزهایی را از کاربران میخواهند که راه را برای نفوذ به دستگاههای اندرویدی باز میکند. هدف از این گزارش آگاهسازی کاربران در مورد مجوزهایی است که برنامههای کاربردی اندرویدی درخواست میکنند.
در ابتدا باید عنوان کرد که مجوزهای اندروید درخواست نیستند بلکه یک اعلان یا اطلاعرسانی را به کاربران اعلام میدارند. هنگامیکه یک برنامه کاربردی را از Play Store دریافت و نصب میکنیم یک پنجره پاپ آپ ظاهر میشود که تمام مجوزهای درخواستی برنامه کاربردی موردنظر را به نمایش میگذارد که این مجوزها میتوانند دسترسی به حافظه گوشی موردنظر، تماسهای تلفنی، ارتباطات شبکه و غیره را داشته باشند.
شاید رد کردن یا تفویض مجوزهای درخواستی برنامه کاربردی در حال نصب سادهترین کاری باشد که یک کاربر میتواند انجام دهد اما نکته مهم این است که تا چه اندازه میتوان تفاوت بین حفاظت و تأمین امنیت داده کاربر و نیز در اختیار قرار دادن تمام داراییهای شخص در دست توسعهدهنده برنامه کاربردی را درک نمود.
بیشتر شرکتهای اینترنتی از متدهای عمومی مشابهی برای آگاهسازی کاربران در خصوص دادههایی که قرار است مورداستفاده قرار گیرند بهره میبرند. در سیستمعامل اندروید یک ارتباط سه سویه بین کاربر، گوگل (طراح و ارائهدهنده سیستمعامل اندروید) و توسعهدهندگان برنامه کاربردی شخص سوم وجود دارد. گوگل درواقع ارتباط بین کاربر و توسعهدهندگان شخص سوم را با استفاده از مجموعهای از مجوزها برای هر برنامه کاربردی دانلود شده توسط کاربر، مدیریت میکند. مجوزها درواقع نیازمندیهای توسعهدهندگان را برای چگونگی تعامل برنامه کاربردی تولیدشده با دستگاه کاربر مشخص کرده و دسترسی به نوع اطلاعات درخواستی برنامه کاربردی را نیز تعیین خواهد کرد.
در اکوسیستم اندروید بیشترین فشار بر روی توسعهدهندگان است تا مجوزهایی که به کاربر نشان داده میشوند، نحوه کار برنامه کاربردی را بهدرستی انتخاب و به نمایش بگذارند. پسازاینکه توسعهدهنده برنامه کاربردی یک برنامه را ایجاد کرد، مجوزهای صحیح را بهدرستی انتخاب نمود و لیستی از کاربران هدفی که درنهایت با این مجوزها موافقت نمودهاند را تهیه کرد، گوگل برنامه کاربردی تولیدی را بهمنظور شناسایی بدافزار و تشخیص کدهای مخرب مورد ارزیابی قرار خواهد داد. محدوده مجوزها برای تعامل برنامه کاربردی از اجازه دسترسی به بخش ویژهای از سختافزار دستگاه (بهعنوانمثال فلش دوربین عکاسی) آغاز میشود و تا دسترسی به لیست مخاطبان کاربر ادامه مییابد. کاربر نیز باید با تمام مجوزهای لیست شده قبل از نصب برنامه کاربردی موافقت نماید.
اصول مجوزهای برنامههای کاربردی گوگل
مستندسازی مجوزها آنهم با وجود تنوع زیاد مجوزها و نیازمندیهای متفاوت برنامههای کاربردی از کاربران بسیار سخت است. در این بخش گزارشی از بررسی مجوزهای برنامههای موجود در فروشگاه Google Play با تمرکز ویژه روی مجوزهایی که بهصورت بالقوه به برنامه کاربردی این اجازه را میدهند تا اطلاعات شخصی کاربر را جمعآوری و یا به اشتراک بگذارند ارائه شده است.
درمجموع با بررسی ۱۰۴۱۳۳۶ برنامه کاربردی در این آزمایش باید عنوان کرد که تنها ۲۳۵ مجوز انحصاری و خاص وجود داشته است. بیشتر برنامههای کاربردی مجوزهای زیادی را طلب میکنند و بیشترین تعداد مجوزهای درخواستی از برنامههای کاربردی این آزمون تعداد ۱۲۷ مجوز بوده است که برای یک برنامه کاربردی مقدار بسیار زیادی است. برنامههای کاربردی دیگری هم هستند که تعداد انگشتشماری مجوز درخواست میکنند که میانگین مجوزهای درخواستی از یک برنامه کاربردی تنها ۵ مجوز بوده است. در این گزارش تحلیلی باید اشاره کرد که ۱۰۰۰۰۰ برنامه نیز مجوزی را درخواست نکردهاند.
بیشترین مجوزهای برنامههای کاربردی در فروشگاه Google Play |
||||
مجوز |
کاری که مجوز انجام میدهد “به برنامه کاربردی اجازه میدهد تا …” |
تعداد برنامههای کاربردی |
% از برنامههای کاربردی |
مجوز سختافزاری یا اطلاعات کاربر |
دسترسی کامل به شبکه (Full network access) |
… یک درگاه شبکه ایجاد کرده و از پروتکلهای معمول شبکه استفاده میکند. مرورگر و دیگر برنامههای کاربردی داده را از طریق اینترنت ارسال میکنند که این بدان معنا است که مجوز نیازی به ارسال داده از طریق اینترنت را نباید داشته باشد. |
۸۵۵۸۷۳ |
۸۳% |
سختافزار |
مشاهده ارتباطات شبکه (View network connections) |
… مشاهده اطلاعات درباره ارتباطات شبکه، بهعنوانمثال تشخیص اینکه کدام شبکه وجود دارد و متصل است. |
۷۱۴۶۰۷ |
۶۹% |
سختافزار |
آزمون دسترسی به حافظه حفاظتشده (Test access to protected storage) |
… آزمون مجوز مربوط به حافظه USB که بر روی دستگاههای آینده قابلدسترس خواهند بود. به برنامه کاربردی اجازه میدهد تا مجوز را برایSD card آزمایش نماید. |
۵۶۲۴۴۲ |
۵۴% |
سختافزار |
تنظیم یا حذف محتوای موجود بر روی حافظه USB (Modify or delete the contents of your USB storage) |
… نوشتن بر روی حافظه USB. به برنامه کاربردی اجازه نوشتن بر روی SD card را میدهد. |
۵۵۹۹۴۱ |
۵۴% |
اطلاعات کاربر |
خواندن وضعیت تلفن و هویت (Read phone status and identity) |
… دسترسی به ویژگیهای تلفن. این مجوز به برنامه کاربردی اجازه میدهد تا شمارههای تلفن و ID را به هنگام برقراری تماس تشخیص دهد. |
۳۶۱۶۱۶ |
۳۵% |
اطلاعات کاربر |
جلوگیری از به خواب رفتن گوشی (Prevent device from sleeping) |
… ممانعت از به خواب رفتن گوشی. به برنامه کاربردی اجازه میدهد تا مانع به خواب رفتن گوشی شود. |
۲۷۹۷۷۵ |
۲۷% |
سختافزار |
موقعیت مکانی دقیق(مبتنی برGPS و شبکه) (Precise location(GPS and network-based) |
… دریافت موقعیت مکانی دقیق با استفاده از سیستم موقعیتیاب جهانی (GPS) یا موقعیت مکانی دکلهای مخابراتی و Wi-Fi. این سرویسهای موقعیت مکانی باید برای دستگاه موردنظر فعال و قابلدسترس باشند تا برنامه کاربردی قابلیت استفاده از آن را داشته باشد. برنامههای کاربردی توانایی تشخیص موقعیت مکانی شما را با استفاده از این مجوز دارند و به سبب آن مصرف انرژی بیشتری را برای دستگاه به همراه خواهند داشت. |
۲۴۶۷۵۰ |
۲۴% |
اطلاعات کاربر |
مشاهده ارتباطات بیسیم Wi-Fi (View Wi-Fi connections) |
… مشاهده اطلاعاتی درباره شبکههای Wi-Fi، ازجمله تشخیص فعال بودن Wi-Fi و اسامی دستگاههایWi-Fi متصل شده. |
۲۳۵۰۹۳ |
۲۳% |
اطلاعات کاربر |
کنترل لرزاننده (Control vibration) |
… کنترلکننده لرزاننده |
۲۲۰۵۹۴ |
۲۱% |
سختافزار |
موقعیت تقریبی(مبتنی بر شبکه) (Approximate location (network-based) |
… دریافت موقعیت مکانی تقریبی. این موقعیت مکانی از طریق سرویسهای موقعیت مکانی بهویژه دکلهای سلولی و Wi-Fi بهدست میآیند. این سرویسهای موقعیت مکانی باید برای دستگاه موردنظر فعال و قابلدسترس باشند تا برنامه کاربردی قابلیت استفاده از آن را داشته باشد. برنامههای کاربردی توانایی تشخیص تقریبی موقعیت مکانی شما را با استفاده از این مجوز خواهند داشت. |
۲۱۶۷۷۰ |
۲۱% |
اطلاعات کاربر |
از مجموع ۲۳۵ مجوز که در این گزارش تحلیلی شناسایی شدهاند تنها ۱۰ مجوز توسط ۲۰% برنامههای کاربردی موجود در Google Play مورداستفاده قرارگرفته است و تعداد زیادی از مجوزها تنها توسط بخش اندکی از برنامههای کاربردی درخواست شدهاند. اگر بخواهیم بهصورت آماری نگاه کنیم تعداد ۱۰۰۰ برنامه از مجموع ۱۰۴۱۳۳۶ که ۰٫۰۹% از تعداد کل برنامههای کاربردی مورد تحلیل را شامل میشوند، مقدار ۱۴۷ مجوز از مجموع ۲۳۵ مجوز را درخواست کردهاند که با توجه به کل برنامههای مورد ارزیابی، مقدار زیادی از مجوزها را پوشش میدهند. البته باید این نکته را نیز اضافه نمود که مجموع مجوزهای درخواستی از یک برنامه کاربردی بهصراحت نمیتواند مشخص کند برنامه مورد نظر توانایی دسترسی به چه مقدار از اطلاعات کاربر را خواهد داشت. تناقضی که وجود دارد این است که یک برنامه کاربردی تنها با یک مجوز توانایی دسترسی بهتمامی اطلاعات کاربر را میتواند داشته باشد درحالیکه یک برنامه کاربردی با تعداد مجوزهای درخواستی فراوان تنها قابلیت تعامل با اجزای سختافزاری دستگاه موردنظر را خواهد داشت! تحلیل ذکرشده به بررسی عمیقتر بر روی برنامه کاربردی بهویژه نوع مجوزهای درخواستی آنها در فروشگاه Google Play میپردازد.
بهطور ویژه مجوزهایی که نسبت به سایر مجوزها شایعتر هستند به دو دسته تقسیم میشوند:
- مجوزهایی که به برنامه کاربردی این اجازه را میدهند تا به اطلاعات کاربر دسترسی داشته باشند.
- مجوزهایی که به برنامه کاربردی اجازه میدهند تا بهصورت مستقیم با دستگاه تعامل داشته باشند.
توجه
تعریف “اطلاعات کاربر” یک تعریف عام از اطلاعات کاربر است. مجوزهایی که جهت دریافت “اطلاعات کاربر” صادر میشوند، فرض شدهاند که هر نوع اطلاعات مربوط به کاربر را پوشش خواهند داد. به همین ترتیب مجوزهای صادرشده مبتنی بر دسترسی به سختافزار دستگاه نیز الزاماً بخش مشخصی از سختافزار نخواهد بود.
مجوزهایی که سختافزار دستگاه را تحت کنترل قرار میدهند
از ۲۳۵ مجوز انحصاری جمعآوریشده در این تحلیل، ۱۶۵ نوع از آنها به برنامه کاربردی اجازه میدهند تا با اجزای سختافزاری یک دستگاه تعامل داشته باشند و به برنامه اجازه دسترسی دیگری ازجمله اطلاعات کاربر را نخواهد داد.
بهعنوانمثال دو نمونه از عمومیترین مجوزها به برنامه کاربردی اجازه اتصال به اینترنت را میدهند. مجوز “دسترسی کامل به شبکه” (که توسط ۸۳% برنامههای کاربردی مورداستفاده قرار میگیرند.) به برنامه کاربردی این اجازه را میدهد تا با هر شبکهای که دستگاه به آن متصل است ارتباط برقرار نماید. درحالیکه مجوز “مشاهده ارتباطات شبکه” (که توسط ۶۹% برنامههای کاربردی مورداستفاده قرار میگیرند.) به برنامه کاربردی این اجازه را میدهد تا هر شبکهای که دستگاه به آن دسترسی دارد را ببیند. هر برنامه کاربردی که درخواست دسترسی به اینترنت را داشته باشد، بهمنظور افزایش قابلیتهای خود ممکن است به هردو مجوز “اطلاعات کاربر” و “مجوز سختافزار” نیاز داشته باشد. درحالیکه این دو مجوز بهشدت فراگیر هستند اما اجازه دسترسی مستقیم به اطلاعات کاربر را به برنامه کاربردی نمیدهند.
منبع:رسانه خبری امنیت اطلاعات