Недавно я рассказывал о странной ситуации с выпуском обновлённых версий приложений Тинькофф- и Альфа-банка. Эти банки объявили о выпуске версий приложений с поддержкой бесконтактной оплаты с помощью своих собственных платёжных сервисов (Tinkoff Pay и Alfa Pay, соответственно), однако в действительности обновлений выпущено не было, и не выпущено до сих пор.
В комментариях к публикации меня снисходительно пожурили и пояснили, что устанавливать приложения нужно вовсе не из официальных маркетов или официального сайта, а «из другого места». Под этим местом подразумевался известный форум 4PDA, на котором с давних времён публикуются приложения для мобильных устройств.
Здесь и далее под словами «маркет» или «маркетплейс», я подразумеваю каталоги приложений Google Play, Huawei AppGallery, RuStore и т.п., где банки официально размещают свои приложения.
Этот форум хорош тем, что здесь можно найти «бесплатную» версию платного приложения, найти ответы на какие-то вопросы, но вот искать здесь приложение банка… я стал бы в последнюю очередь.
Услышав от меня такую мысль, собеседник поднял меня на смех — дескать все приложения подписаны, а раз я не знаю, что такое подпись, то я совсем уж дремучий человек, со всеми вытекающими последствиями.
Никогда не претендовал на какие-то углубленные знания в области компьютерной безопасности, но для того, чтобы разобраться в том, какие риски могут возникнуть при установке банковского приложения из неофициальных источников, хватит и моего скромного опыта в разработке мобильных приложений, а также достаточно примитивной логики.
Для чего нужна подпись мобильных приложений
Приложения для Android подписываются криптографической подписью, благодаря которой операционная система может проверить, что каждое обновление происходит из одного источника, и не было каким-то образом изменено.
Разработчик может либо подписать приложение своей электронной подписью, либо предоставить возможность сделать это маркетплейсу. Для пользователя важно понимать, что такая подпись есть у любого приложения.
При обновлении приложения происходит проверка подписи, и если всё нормально, то приложение можно установить, независимо от того, как и откуда был получен установочный файл.
Обновление установится без каких-то проблем, при этом сохранятся все данные приложения.
Что будет если кто-то модифицирует установочный файл приложения
Теоретически злоумышленник может загрузить приложение из официального источника, а потом модифицировать его и добавить какой-то вредоносный код. Однако, чтобы приложение можно было установить, необходимо подписать полученный файл собственной подписью — подделать подпись разработчика не получится.
Если попытаться воспользоваться таким «подредактированным» вариантом файла, чтобы обновить существующее приложение, то это будет выявлено в момент установки, и обновление не произойдёт. Либо такое модифицированное приложение будет воспринято как новое приложение, и будет установлена отдельно — буквально появится два ярлыка.
Такое поведение может не обязательно связано с тем, что в приложение добавлен вредоносный код. Например, если разработчик использует разные электронные подписи для разных каналов распространения приложения — тогда обновить версию из маркетплейса, установив обновление из сторонних источников, не получится. Придётся сначала установить старую версию.
С чем-то похожим сталкивались пользователи мобильного приложения Дзена, когда платформа была продана новому собственнику. Тогда для обновления приложения нужно было удалить старую версию, и установить новую — простого обновления было недостаточно.
Однако в целом можно считать, что устанавливать обновления приложений, полученных из нестандартных источников, достаточно безопасно. Тем не менее, я не стал бы рекомендовать это делать.
Почему не нужно устанавливать приложения банков из сторонних источников
В ситуации с Тинькофф-банком меня больше всего смутило то, что приложения ещё нет в официальных маркетах, но уже есть на форуме 4PDA.
На мой взгляд это возможно в следующих случаях:
- Распространение обновления происходит волнообразно.
Это стандартная возможность маркетплейса, в этом случая новую версию приложения сначала получает лишь какой-то малый процент пользователей, через некоторое время снова происходит очередная волна обновлений, потом ещё и ещё, пока все пользователи не получат обновление.
Пользователи, которые получили обновление раньше, в принципе могут делиться им с другими — и это вполне безопасно.
- На форуме представлена бета-версия приложения.
Это тестовая версия, которая предназначена для тестирования энтузиастами, которые понимают, что они делают. Программа тестирования есть и в других банках, например, о бета-версиях приложения Сбербанк-Онлайн я писал здесь.
Но искать эту версию где-то «на просторах интернета» смысла нет — каждый желающий может подключиться к программе тестирования и получать обновления через Google Play или иной маркетплейс. А пользоваться бета-версией нужно на свой страх и риск — никто не гарантирует, что эта версия будет работать нормально.
- Разработчики сами зачем-то загружают приложение на 4pda до фактического релиза.
Это было бы возможно, если бы речь шла о каком-то программисте-одиночке, которому важно быстро получать обратную связь от пользователей приложения. И обновлять приложение таким образом нормально.
Однако, это явно не тот случай — банк не выкладывает своё приложение на сторонних ресурсах.
- Обновление было выпущено, но «что-то пошло не так» и его быстро удалили из маркетплейсов, а на форуме уже успели выложить файл.
В этом случае нет смысла устанавливать обновление — мы же не знаем, почему его именно удалили. Может быть, там была выявлена какая-то принципиальная проблема, и дополнительный риск вам точно не нужен.
Получается, что в целом нет никакого смысла устанавливать обновления банковского приложения из сторонних источников, и лучше всё-таки дождаться, когда обновление само «прилетит» на ваше устройство.
Отдельно хочу отметить, что при первой установке приложения гарантией того, что вы получили не «доработанную» версию, является именно источник файла — официальный маркетплейс или сайт банка.