Недавно поучаствовал в небольшой дискуссии. Мой собеседник подозревает свой банк в слежке, из-за того, что мобильное приложение банка запрашивает слишком много прав, которые для совершения обычных переводов или оформления вклада, казалось бы, не нужны — контакты, геолокация и ещё много чего.
Это очень интересная тема, в которой, на мой взгляд, не помешает разобраться.

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



Каждое разрешение — это возможность совершать те или иные действия, которые разработчики операционной системы посчитали важными ограничить. Например, если приложение не сохраняет файлы, то ему не нужен доступ к хранилищу, если оно не является навигационным сервисом, ему не нужен доступ к геолокации.
Список разрешений, которое запрашивает Сбербанк Онлайн
Чтобы не рассматривать все 64 разрешения, я решил сгруппировать их по назначению, а также по возможным рискам, которые они (теоретически) создают.
Я специально привожу все технические названия разрешений, чтобы наглядно продемонстрировать их обилие.
Идентификация и биометрия
Разрешения: USE_FINGERPRINT, USE_BIOMETRIC, AUTHENTICATE_ACCOUNTS, MANAGE_ACCOUNTS, GET_ACCOUNTS, READ_SYNC_SETTINGS, WRITE_SYNC_SETTING, ru.rtlabs.mobile.ebs.gosuslugi.permission.VERIFICATION.
Эти разрешения используются при входе в систему (по отпечатку пальца или Face ID), а также для доступа к учётной записи устройства (где, собственно, и хранятся данные для входа в систему).
Отдельного внимания заслуживает «длинное разрешение» — это доступ для работы с приложением «Госуслуги Биометрия». Этот доступ нужен для подключения возможности оплаты с помощью биометрии.
Также доступ к ЕБС теоретически может использоваться и в других случаях. Например, некоторые банки уже вводят авторизацию в приложение банка по биометрии.
Риски: Если рассматривать риски этих разрешений, то они минимальны. Приложение банка не получает доступа к биометрическим данным. Они либо хранятся на устройстве, либо — в Единой биометрической системе.
Доступ к «телефонным» функциям
Разрешения: READ_CONTACTS, WRITE_CONTACTS, CALL_PHONE, MANAGE_OWN_CALLS, FOREGROUND_SERVICE_PHONE_CALL, RECORD_AUDIO, READ_PHONE_STATE, FOREGROUND_SERVICE_MICROPHONE, FOREGROUND_SERVICE_PHONE_CALL, MODIFY_AUDIO_SETTINGS, WRITE_EMBEDDED_SUBSCRIPTIONS, VIBRATE.
Фактически это доступ банка к контактам и звонкам — чтение контактов, микрофону, функциям телефона для совершения звонков, получение номера IMEI и даже работа с eSIM (электронной сим-картой).
Доступ к контактам необходим для того, чтобы отправлять переводы по номеру телефона, не вводя вручную номер.
Доступ к звонкам решает две задачи:
- Возможность позвонить в службу поддержки через само приложение.
- Возможность отслеживать входящие звонки и маркировать подозрительные.
Знание IMEI может использоваться при борьбе с мошенниками (если приложение будет установлено на другом телефоне, то банк об этом узнает).
Работа с eSIM явно нужна для сервиса СберМобайл — так можно подключить нового абонента через приложение банка.
Риски: Теоретически банк может использовать знание о ваших звонках и контактах, в качестве дополнительной информации о вас, которая может быть использована, например, для каких-то рекламных предложений.
Камера, изображения и доступ к хранилищу
Разрешения: CAMERA, MODIFY_AUDIO_SETTINGS, READ_MEDIA_IMAGES, READ_EXTERNAL_STORAGE, MANAGE_EXTERNAL_STORAGE, FLASHLIGHT, READ_MEDIA_VISUAL_USER_SELECTED.
С камерой и вспышкой всё просто — эти права нужны, чтобы сканировать QR-коды, квитанции, номера карт и телефонов.
Доступ к хранилищу может быть необходим, чтобы прикреплять документы (например, при подаче заявки на кредит), или сохранения чеков в формате PDF.
Риски: Теоретический доступ к вашим личным фото и записям. Разрешение MANAGE_EXTERNAL_STORAGE (доступ ко всем файлам) на первый взгляд выглядит избыточным и потенциально опасным, но может использоваться для работы встроенного антивируса (о чём речь пойдёт дальше).
Доступ к геолокации
Разрешения: ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION.
Очевидное применение доступа к геолокации — это поиск ближайших банкоматов или отделений на карте.
Кроме того, это может использоваться в целях защиты от мошенников. Допустим, картой воспользовались в одном городе, а в это время ваш телефон находится в другом. Это может быть признаком того, что карту украли.
Риски: Постоянное отслеживание перемещений пользователя.
Связь и сетевые сервисы
Разрешения: INTERNET, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE, BLUETOOTH, BLUETOOTH_SCAN, BLUETOOTH_CONNECT, ACCESS_NETWORK_STATE, CHANGE_NETWORK_STATE, BLUETOOTH_ADMIN, NFC.
Зачем нужен доступ к интернету — понятно. Приложение без интернета работать не будет.
Доступ к NFC и Bluetooth нужен для бесконтактной оплаты.
А вот разрешения, связанные с WiFi, интереснее. Они могут использоваться в качестве альтернативы геолокации, а также для работы с умными устройствами экосистемы банка — умными колонками, телевизорами, кольцами т.д.
Риски: Банк получает много данных о вашем окружении, и может определять примерную геолокацию, даже если соответствующие разрешения отключены.
Реклама и аналитика
Разрешения: BIND_GET_INSTALL_REFERRER_SERVICE, READ_GSERVICES, AD_ID, ACCESS_ADSERVICES_AD_ID.
Эти разрешения нужны для маркетинговой аналитики и таргетированной рекламы. Например, банк может узнать, из какой рекламной кампании вы узнали, допустим, о кредитной карте, либо наборот — если вы заглянули в какой-то раздел в приложении (допустим, поинтересовались инвестиционными продуктами), то соответствующая реклама начнёт встречаться вам на других сайтах в интернете.
Риски: Более эффективная целевая реклама.
Встроенный антивирус
Разрешения: QUERY_ALL_PACKAGES, DETECT_SCREEN_CAPTURE, KILL_BACKGROUND_PROCESSES, GET_TASKS, SYSTEM_ALERT_WINDOW.
В эту группу я отнёс функции, которые превращают банковское приложение в полноценного «защитника» системы.
Благодаря этоим разрешениям, приложение может:
- Видеть список всех установленных программ. Сбербанк использует это для поиска шпионского ПО и инструментов удаленного управления (вроде AnyDesk или TeamViewer), которыми часто пользуются мошенники, чтобы удалённо управлять телефоном своей жертвы.
- Выявлять, что кто-то (или вы сами) пытается записать видео с экрана, или сделать скриншот в момент ввода пароля.
- Видеть, что запущено в данный момент, и завершать работу подозрительных процессов.
- Показывать важные уведомления, которые перекрывают всё остальное, чтобы пользователь точно их заметил.
Риски: Банковское приложение знает обо всех других приложениях, установленных на вашем устройстве, и может читать любые файлы.
Системные функции
Разрешения: DOWNLOAD_WITHOUT_NOTIFICATION, REQUEST_INSTALL_PACKAGES, UPDATE_PACKAGES_WITHOUT_USER_ACTION, REQUEST_DELETE_PACKAGES, QUICKBOOT_POWERON, RECEIVE_BOOT_COMPLETED, WAKE_LOCK, REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, ru.sberbankmobile.permission.PROCESS_PUSH_MSG, ru.sberbankmobile.permission.PUSH_PROVIDER, ru.sberbankmobile.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION.
Эти разрешения не характерны для обычных приложений, но нормальны для маркетплейсов (вроде RuStore или Google Play). Поскольку Сбербанк Онлайн часто устанавливается в обход официальных магазинов, то в нём предусмотрели возможность самостоятельной установки, обновления и удаления приложений экосистемы Сбера.
Также здесь есть разрешения, которые нужны, чтобы приложение Сбера могло получать пуш-уведомления от самого банка, без использования соответствующих служб Google.
Кроме этого, приложение может автоматические запускаться и работать в фоне, игнорируя правила экономии заряда аккумулятора устройства.
Риски: Приложение может быть причиной быстрой разрядки телефона, если начнёт что-то активно делать в фоне.
Зачем нужны разрешения и что будет, если их отключить
Разрешения — это механизм, предусмотренный разработчиками операционной системы, чтобы ограничить возможности приложений, и повысить безопасность пользователя.
Если приложение запрашивает какие-то нехарактерные права, то это может потребовать дополнительных объяснений для модераторов маркетплейса — надо будет пояснить, как полученные данные будут использоваться, и отразить всё это в своей политике безопасности.
С другой стороны, пользователь может отозвать те разрешения, которые он не хочет давать приложению банка.
Правда, приложение может отказаться работать, если не хватает каких-то прав. Иногда это оправдано, иногда — не очень. Например, несколько лет назад Сбербанк Онлайн отказывался работать, если не выдать права для звонков и доступа к файлам. Сейчас всё нормально запускается.
Тем не менее, для работы определённых функций, разрешения всё-таки могут потребоваться — например, если мне нужно оплатить покупку по QR-коду, приложение запросит доступ к камере. А если я захочу сохранить выписку, потребуется дать разрешение на доступ к хранилищу устройства.
Однако пользователь может сам разрешить или запретить лишь малую часть разрешений. Большая часть, в т.ч. самых «рискованных», выдаётся приложению автоматически, и пользователь не может управлять ими.
Нужно ли опасаться чрезмерных возможностей банковских приложений
Главная проблема состоит в том, что многие из этих прав могут быть использованы как на благо пользователя приложения, так и во вред.
Например, разрешения, необходимые для работы антивируса, могут быть использованы для анализа других приложений — например, наличие установленных приложений других банков или, как сейчас пишут в СМИ, для выявления клиентов виртуальных частных сетей.
Поэтому ответ на этот вопрос лежит в плоскости личных убеждений.
Я знаю, что в банках с большой ответственностью относятся к банковской тайне и персональным данным клиентам, и к своей репутации. И знаю, что специально ни один банк не будет вредить своим клиентам.
В то же время я считаю, что приложения не должны запрашивать больший доступ, чем нужен им для работы, поэтому отключил все разрешения и выдаю по мере необходимости.