Запрещен доступ к карте памяти на телефоне. Управление разрешениями Android приложений

Permission Master - это специальный модуль для Xposed Framework, который предназначен для управления разрешениями любой установленной на вашем гаджете программы. Подробное описание этого проекта с пошаговыми инструкциями по установке Xposed и отдельных модулей для него я сделал в , поэтому не будем ещё раз повторяться, а перейдём непосредственно к работе Permission Master.

После установки модуля и перезагрузки устройства вы обнаружите в списке приложений новую иконку в виде зелёного щита с шестерёнкой. Запускаем программу и видим окно, разделённое на две вкладки. На первой содержатся названия всех имеющихся разрешений. Тап по любому названию в списке демонстрирует нам все программы, обладающие данным свойством. Ещё один тап, и название программы становится красного цвета и перечёркнутым - это значит, что соответствующее разрешение было отключено.

Примерно такой же алгоритм используется на второй вкладке, но здесь все разрешения сгруппированы по программам. Вы можете просмотреть список доступных действий для каждого приложения и одним тапом отключить ненужное. Обратите внимание, что если вы задержите палец на названии любого разрешения, то появится всплывающее окно с пояснением его свойств. Это очень пригодится тем, кто сомневается в необходимости и безопасности того или иного действия. А чтобы обезопасить себя от дополнительных проблем, не забудьте зайти в настройки Permission Master и отключить отображение системных программ.

Приложение Permission Master пригодится всем продвинутым пользователям Android, которые хотят иметь полный контроль над установленными приложениями. Теперь вы получите возможность отключить функции слежения, закрыть тем программам, которые в нём вообще не нуждаются, запретить свой смартфон и многое-многое другое, что недоступно простым пользователям Android.

  • Перевод

Сегодня Android является одной из наиболее популярных мобильных платформ, используемой в смартфонах, планшетах, умных часах, телевизорах и даже автомобилях. Открытость платформы, широчайшее разнообразие используемых версий и реализаций выводит вопрос безопасности на первый план при создании Android-приложений.

Как известно, безопасность обеспечивается системой разрешений доступа на каждом конкретном Android-устройстве. Эта система призвана защищать важные данные и предотвращать несанкционированный доступ к информации или каналам связи.

По умолчанию ни у одного Android-приложения нет разрешения на проведение операций, которые могут повлиять на ОС, личные данные или другие приложения. Однако без подобного разрешения любое приложение станет бесполезным.

Разрешения являются своеобразным фильтром для функционала приложений, и только от пользователя зависит, давать ли доступ к данным во время инсталляции. Проблема в том, что пользователи обычно не читают, к чему именно хочет получить доступ приложение, и, не задумываясь, его разрешают. Такое поведение создаёт предпосылки для злоупотребления личными данными или даже модифицирования ядра.

Здесь мы рассмотрим существующую систему манифестов и разрешений в Android. Файл манифеста содержит информацию о пакете приложения, включая разрешения, поставщиков контента, сервисы, активности и широковещательных приёмников (broadcast receivers).

Пример общей структуры файла манифеста. Цветом выделены запросы на получение разрешений:

Самые опасные разрешения

Чтобы решить, к каким данным можно дать доступ, пользователь должен помнить о предназначении этого приложения. Например, «Зачем игре понадобился доступ к моей адресной книге или разрешение отправлять SMS?» Очевидно, что игры не предполагают отправки SMS. Подобные несоответствия функционала запросам доступа должны настораживать в первую очередь.

Разрешения, которые в будущем вы возможно захотите пересмотреть

Запрос разрешения на чтение и запись личных данных. Если вы хотите, чтобы пользователи не переживали за свои личные данные, то не используйте в манифесте подобные запросы:






Разрешения, связанные с финансовыми расходами. Некоторые разрешения, бездумно предоставленные пользователями, могут стоить им денег. Чаще всего это отправка SMS/MMS и совершение голосовых вызовов. Причём происходить это может в фоновом режиме, без вызова стандартного телефонного приложения.
Запрос на отправку сообщений:

Запрос на совершение звонков:

Простой пример отправки SMS:

String message = "Hello Android fans! "; String number = "xxxxxxxxxxxx"; //it is preferable to use a complete international number SmsManager.getDefault().sendTextMessage(number, null, message, null, null);
Обратите внимание, что данный код будет работать только в том случае, если соответствующий запрос содержится в файле манифеста:

Доступ к данным геолокации. Если пользователь разрешит, то приложение в любое время сможет получать информацию о:

  • примерном местоположении пользователя согласно данным базовых станций и точек Wi-Fi;
  • точном местоположении пользователя согласно данным GPS, базовых станций и Wi-Fi.
Запрос доступа к данным о примерном местоположении:

Запрос доступа к данным о точном местоположении:

Вот как осуществляется получение данных о точном местоположении:

Public class MainActivity extends Activity implements LocationListener { private LocationManager locationManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 10, this); } @Override public void onLocationChanged(Location location) { String myLocation ="Location changed...\n\nYou are located at: " + "\nLatitude: " + location.getLatitude() + "\nLongitude: " + location.getLongitude(); Toast.makeText(getApplicationContext(), myLocation, Toast.LENGTH_LONG).show(); } @Override public void onProviderDisabled(String provider) { Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(intent); Toast.makeText(getApplicationContext(), "Gps is turned off... ", Toast.LENGTH_SHORT).show(); } @Override public void onProviderEnabled(String provider) { Toast.makeText(getApplicationContext(), "Gps is turned on... ", Toast.LENGTH_SHORT).show(); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } }
Не забывайте, что работоспособность данного кода зависит от наличия соответствующего запроса в файле манифеста.

Java-класс MainActivity внедряет LocationListener для получения нужных данных от устройства. Запрос текущего местоположения осуществляется вызовом requestLocationUpdates() в методе onCreate() . Когда местоположение изменяется, то для получения новых данных вызывается onLocationChanged() . Если GPS-данные недоступны, то вызывается метод onProviderDisabled(), передающий приложению информацию о местоположении.

Доступ к аудио- и видео. Если пользователь даёт такие разрешения, то он рискует тем, что его будут прослушивать или использовать камеру смартфона для слежки. Запросы доступа в файле манифеста:




Установка пакетов. Если дать такое разрешение, то приложение сможет устанавливать дополнительные пакеты без ведома пользователя.

Остановка фоновых процессов. Данное разрешение позволяет приложению вызывать killBackgroundProcesses(String), с чьей помощью оно может останавливать любые выполняющиеся в фоновом режиме процессы.

Android Marshmallow

В шестой версии Android, анонсированной в мае 2015 года, реализован новый механизм разрешений. Теперь они будут запрашиваться не во время установки приложения, а при первой попытке использования какой-либо функции. Будем надеяться, что это существенно облегчит жизнь как разработчикам, так и пользователям. | 07.04.2017

Понимание того, на что не стоит обращать внимания, столь же важно, как понимание того, на чем следует сфокусироваться.

Уоррен Эдвард Баффетт

Заполучив вожделенное Android-устройство, любой пользователь стремительно начинает осваивать не только его возможности, но и предлагаемые в огромном количестве программы для него, многие из которых бесплатны или условно бесплатны (можно за деньги расширять арсенал базовой версии). Разумеется, большинство не спешит расставаться с деньгами, предпочитая даровое ПО, из-за чего нередко становится объектом мошенничества. Как – финансово, материально или морально – не так важно. Можно лишиться денег на платежной карте, а можно потерять доступ ко всем своим аккаунтам (почтовым, игровым, соцсетям и пр.). Или больше того – вернувшись из командировки или отпуска, обнаружить свою квартиру ограбленной.

Картина печальная, не так ли? Но в то же время не следует обвинять во всем злобных хакеров, зловредные вирусы или всепланетный заговор – виноват в инцидентах сам пользователь, и никакая антивирусная программа, даже самая хваленая, не спасет его от проблем.

Почему же так происходит? Дело в том, что ПО для Android нуждается в подтверждении доступа к различным функциям и механизмам устройства. Перечень разрешений достаточно широк, и чаще всего при установке нового софта владелец бездумно нажимает подтверждающую кнопку, предоставляя программе совсем не обязательные полномочия. Рассмотрим этот момент подробнее.

Чем опасны разрешения, выданные Android-приложениям

Возьмем запрос на доступ к геоданным (определение местоположения пользователя). Понятное дело, электронной карте или фитнес-трекеру это необходимо. Но для чего доступ к GPS, например, хранилищу анекдотов или незатейливой казуальной игрушке с жизнерадостным плюшевым мишкой? Да очень просто: автор программы таким образом получает точные данные о ваших передвижениях. Ну а если ПО затребовало еще и доступ к камере и микрофону – то вот ему и фото или видео вашего окружения с записью разговоров. Сопоставьте оба факта и поймете, что это просто клад для шайки домушников: тут им и точный план вашего жилища (а если повезет – то и тайников), и вдобавок они будут точно знать, когда вас не будет там длительное время.


Очевидно, что фонарику не нужен доступ к телефонной книге, графическому редактору – к микрофону, а прикольной заставке – к службе SMS. И если вы полагаете, что пока программа не запущена, она ничего не сделает, то тем горше будет разочарование: пользоваться оборудованием, к которому предоставлен доступ, ПО сможет абсолютно в любое время незаметно для пользователя.

Впрочем, большинства проблем легко избежать, если не пользоваться непроверенными программами, а уж коли рискнули, то хотя бы проверяйте, какие разрешения она выпрашивает. Кстати, первичные критерии качества – отменный перевод на русский язык, куча положительных отзывов, грамотно составленное описание – еще не гарантия безгрешности. Особенно если продукт размещен не на Google Play, а на стороннем сайте.

Как оценить потенциальные проблемы перед установкой приложения

На самом деле наступать на грабли вовсе не обязательно: устанавливая приложение из Google Play, пролистайте страницу до самого низа и найдите пункт «Разрешения». А вот при установке с непроверенного сайта или apk-файла так остеречься не выйдет – тут разве что довериться мнению френдов либо сразу отказаться от установки сомнительного софта. Тем, у кого Android шестой версии, проще: программа после установки будет запрашивать разрешения непосредственно перед обращением к функции или устройству. Самое время насторожиться, если посреди игры в крестики-нолики всплывает требование воспользоваться камерой или SMS-модулем.

Вид доступа

Что означает на деле

Покупки в приложении

Часть функций этого продукта платная, можно расстаться с частью денег на счету, если не следить за этим

Местоположение

Приложение получает право определять координаты устройства в любое время, в том числе когда не используется

Фото/мультимедиа/файлы

Приложение сможет открывать, изменять, добавлять и использовать фотографии и другие файлы на вашем устройстве в любое время, в том числе когда не используется

Приложение сможет делать фотографии и снимать видео в любое время, в том числе когда не используется

Микрофон

Приложение сможет записывать окружающие звуки в любое время, в том числе когда не используется

Данные о Wi-Fi-подключении

Приложение сможет проверять, к какой сети подключено устройство, в любое время, в том числе когда не используется

Приложение сможет просматривать журнал звонков и звонить на любые номера в любое время, в том числе когда не используется


Итак, с новыми приложениями все кристально ясно: внимательно вычитываем весь перечень разрешений и соглашаемся только на очевидные. Программа не желает устанавливаться без подтверждения прав доступа сомнительной необходимости? Прекрасно, самое время поискать альтернативный вариант или хотя бы детально изучить, зачем утилите или игре конкретные и нелогичные «полномочия».

Что делать, если приложение уже установлено?

Предположим, вы не знали подробностей, но желаете перепроверить (а при необходимости и изменить) разрешения для уже установленных приложений. Для этого необязательно сносить все под корень – достаточно зайти в «Настройки», выбрать «Приложения», затем требуемое ПО и, наконец, «Разрешения». Манипулируя переключателями, несложно отключить (или включить) необходимые. К слову, это полезно не только в качестве меры информационной безопасности: если вы не используете сетевые функции в игре, отключите ей доступ к Сети, и она, возможно, перестанет досаждать назойливой рекламой.

Владельцам устаревших версий Android (4.2, 4.3), возможно, потребуется установить программу App Ops, поскольку без нее докопаться до настроек разрешений может не получиться. Но если и этот путь не подходит или хочется более глубокого контроля над конфигурацией гаджета, придется установить мощную среду Xposed Framework, требующую прав суперпользователя (рутинга), а затем дополнить ее модулем Permission Master. Впрочем, настолько кардинальное решение подойдет продвинутым пользователям, которые точно знают, что делают.

И все же объявлять тотальную войну приложениям только потому, что они требуют избыточных разрешений, не стоит. Зачастую разработчики не преследуют вредоносных целей, а всего лишь заложили в программу некий неочевидный потенциал. Тот же фонарик может потребовать доступа к финансам не для того, чтобы опустошить карту, а лишь с целью упростить приобретение дополнительных платных модулей – компаса и стробоскопа. Или калькулятор, запрашивая доступ к SMS, вполне возможно, не посягает на мобильный баланс, а старается облегчить отправку расчетов покупателю или коллеге.

Так что не доходите до паранойи, не превращайте свою жизнь в постоянную боязнь тотальной слежки. Но и бездумно шпиговать свой гаджет чем попало, без внимательного изучения всех требований, тоже не лучший вариант.

Обозреватель, аналитик, инженер-системотехник. Действительный член «Клуба экспертов Intel», сертифицированный специалист (Мюнхен) по сетевым и серверным технологиям с 1993 года. Компьютерами и сопутствующими решениями занимается с 1985-го, участник многочисленных выставок, обладатель наград за оригинальные схемотехнические и программные разработки. Первый диплом получил в 1984 году от «Патентного бюро» журнала «Юный техник». Увлекается охотой, рыбалкой, водно-моторным спортом. «Утомившись суетой цивилизации, предпочитаю уединенную жизнь вдали от нее. Все свободное время отдаю семье и детям».

Разрешения приложений - это определенный набор правил, которые система позволит выполнять приложению: В момент запуска или выполнения определенного действия, приложение может запросить у вас разрешение, к примеру, на доступ к контактам, камере, вашему местоположению и прочим функциям устройствам. До первого запуска права приложения ограничены от доступа к основным функциям и разделам системы Андроид, но они могут требоваться для правильного функционирования.

Опасные разрешения к которым стоит присматриваться

В данную группу можно отнести те разрешения, которые позволяют получить доступ к личной информации пользователя.
  1. Календарь – просмотр событий, изменение текущий событий уже, добавленных в календарь и создание новых. Подобное разрешение может быть опасно тем, кто часто использует календарь, планирует свои действия, расписывая буквально каждую минуту времени. Если злоумышленники получат доступ к вашему местоположению, то сами знаете, чем это может закончиться.
  2. Контакты – чтение, просмотр, редактирование, добавление новых контактов и полный доступ к списку аккаунтов. Наверняка многим из нас через SMS или мессенджеры поступал надоедливый спам от тех или иных компаний. Доступ к контактам стоит давать лишь проверенным приложениям, иначе, ваш номер может оказаться не в тех руках, к сожалению, мошенников слишком много, да и полностью от спама избавиться невозможно.
  3. Камера – использование, без предварительного подтверждения пользователя. Получив разрешение к камере вашего устройства, приложение может в любой момент делать фото и видео, не уведомляя вас об этом.
  4. Микрофон – запись звука. Полная запись телефонных разговоров, постоянная активность микрофона, запись всего происходящего вокруг без уведомления пользователя.
  5. SMS – чтение, отправка, редактирование, переадресация сообщения. Наверняка, одно из самых опасных разрешений, которое может без вашего ведома отправить сообщение на любой из номеров и тем самым активировать платную подписку.
  6. Память – чтение/запись из и в память. Данное разрешение позволяет приложению просматривать файлы на вашем устройстве, удалять их, копировать, перезаписывать и многое другое.

Как выполнить настройку разрешений приложений

Как вы уже поняли из перечисленного выше списка, не все разрешения одинаково полезны, многие, могут навредить пользователю. Естественно, существуют вполне себе обычные разрешения, к примеру, доступ к Интернету, подключение к Bluetooth, создание ярлыков и многое другое. Они выполняются автоматически и не требуют от пользователя никаких действий. Ниже, пойдет ряд инструкций, позволяющих выполнить настройку разрешений на различных версиях операционной системы Android.

Android 4.3

Чтобы управлять разрешениями в данной версии ОС, вам потребуется программа AppOps.
  1. Скачиваем, устанавливаем и запускаем приложение.
  2. Переходим на вкладку приложения (apps), находим нужную программу или игру и нажимаем на нее.
  3. Устанавливаем/убираем галочки с нужных вам разрешений.

Android 5.0

Для смартфонов и планшетов, работающих под управлением операционной версии Android 5.0, чтобы управлять разрешениями, нужно использовать программу App Ops - Permission manager. Программа позволяет управлять разрешениями, как системных приложений (требуются ROOT-права), так и сторонних, установленных пользователем в ходе использования устройства. Без ROOT-прав на Android 5.0-5.1 данная программа, к сожалению, не работает, даже обычный режим.

Android 6, 7, 8

В новых версиях Android разрешения к приложениям выводятся именно в тот момент, когда игра/программа нуждается в этом. Вы сможете изучить, к чему именно требуется доступ и после чего принять верное решение.

Ко всему прочему, список установленных разрешений для конкретного приложения, всегда можно изменить и настроить в специальном пункте меню настроек.