
Принципы разработки безопасного мобильного банка
С февраля 2022-го хакеры объявили охоту на российские компании. Как финансовым организациям справиться с обеспечением безопасности мобильных приложений на стадии разработки — поговорим об этом в нашей статье.
Опасения оправданы: о необходимости решительных мер по защите мобильных приложений
Число кибератак в мире за последнее десятилетие увеличивалось на 20-40% ежегодно. Но в рунете ситуация менялась более драматично: лишь за I квартал 2022 года количество атак на API выросло на 200%. Эксперты считают, что сегодня безопасность до 90% мобильных приложений, особенно в российском финтехе, под угрозой.
Уязвимости мобильных приложений, как правило, образуются в серверной и клиентской частях продукта.
Серверная часть обрабатывает запрос и отправляет ответ пользователю:
- здесь находят 54% всех уязвимостей мобильных приложений;
- в 5 из 7 продуктов банков защита персональных данных недостаточна: возможна кража средств, сведений о картах, пары логин-пароль.
Клиентская часть — то, что видит и с чем взаимодействует пользователь. После анализа безопасности этой части мобильных приложений выяснилось следующее:
- ⅓ уязвимостей не требует jailbreak и root-прав;
- 76% «дыр» в архитектуре безопасности данных эксплуатируются без доступа к девайсу;
- защита мобильных данных достаточна в 1 из 14 проектов, в остальных случаях возможен несанкционированный доступ.
Хакерские приемы и уязвимости банковских приложений
Распространенные хакерские методы, чтобы скомпрометировать банковское мобильное приложение.
- SIM-хайджекинг — подмена карты, посредством которой киберпреступник проводит любые операции с двухэтапной аутентификацией.
- Фишинг — SMS или email-сообщения с вредоносными ссылками, ведущими на шпионское ПО или мошеннический сайт.
- Заражение смартфона вредоносными программами, передающими информацию эмуляторам, имитирующим поведение владельца.
- Трояны — вирусы, незаметно переданные через стороннее ПО или ссылки. Перехватывают конфиденциальную информацию из банковских мобильных приложений.
Однако защита продукта зачастую страдает не из-за сверхусилий киберпреступников, а за счет недочетов при разработке, среди них:
- использование статических паролей или подтверждение через один канал — только логин-пароль, смс-код или другой;
- неприменение сквозного шифрования и антифрод-систем.
С чего начинается безопасность мобильного банкинга
Меры, которые предпринимают для разработки безопасного программного обеспечения:
- Выбирают отечественные решения от Лаборатории Касперского, Мегафона, Inoventica Technologies для предотвращения DDoS-атак. Подключают ИБ-инструменты: SIEM — системы контроля событий, EDR для поиска угроз на конечных точках, NTA-решения анализа интернет-трафика. Внедряют MDM для управления мобильными устройствами и их защиты.
- Обучают персонал или привлекают сторонних экспертов, включая специалистов по консалтингу в сфере информационной безопасности.
- Заботятся об импортонезависимости для защиты банкинга: выбирают готовое российское ПО или разрабатывают собственное, хотя бы частично неконтролируемое западным бизнесом. Для дополнительного обеспечения безопасности приложения компании практикуют перенос технических ресурсов, которые хостятся за рубежом, в Россию.
- Разрабатывают безопасный код, интегрировав средства автоматизации и тестирования. Тестирование проводят пентестами, методами черного и белого ящика. Для этого нанимают команду внешних специалистов или внедряют методики DevOps и DevSecOps.
- Мониторят работу опенсорс-решений. Потенциально в них может быть вредоносное ПО, которое незаметно для пользователя делает скриншоты, записывает аудио, ворует списки контактов.
- Усиливают службу поддержки. Голосовые помощники снижают нагрузку на операторов, которым поступает больше обращений из-за активизации злоумышленников.
- Организуют эшелонированную защиту — предлагают пару ответов на каждую угрозу или риск, а оптимально — пин-код, проверку устройства и биометрию.
- Оценивают поведение клиентов инструментами ML и AI на основе сведений об устройствах, транзакциях, параметрах входа. При нестандартных сигналах отправляют запросы на проверку личности.
Фишки разработки безопасного мобильного приложения
Принципы, соблюдаемые при разработке мобильного приложения для банка.
- В свернутом состоянии отображается окно входа: в случае кражи устройства преступник не сможет получить данные.
- Рекомендуемая длина пин-кода — от 6 символов, количество попыток ввода ограничено. При неудачной попытке входа срабатывает блокировка.
- Для защиты персональных данных и подстраховки на случай подмены сим-карт интегрирована программная аутентификация.
- Вся информация, кроме пин-кода, изменяется не локально, а через синхронизацию с сервером.
- Чтобы мобильное приложение интернет-банкинга не простаивало в незащищенном виде, длина сессии ограничена. Время окончания обозначается универсальной переменной, не привязанной к часовому поясу, что защищает информацию смартфонов при передаче данных серверу и не позволяет киберпреступнику обойти механизм ограничения сменой локального сервера.
- Криптографические закрытые библиотеки, даже платные, не используются, потому что они потенциально опасны. В них не получится контролировать backdoor или слив информации третьей стороне.
- Логи для разработчиков банковских продуктов зашифрованы, чтобы злоумышленники не получили доступ к закрытой информации.
- Настроено сквозное шифрование для банкинга — механизм защиты пользователя от перехвата данных при передаче между сервером и устройством. На смартфоне хранятся минимальные сведения в зашифрованном виде, остальные отправляются с сервера и удаляются после окончания сессии.
- На этапе сборки безопасность продукта обеспечивается методами обфускации — запутывания кода — инструментами ProGuard или Sirius Obfuscator и вручную, например, заменой исходных имен классов случайными. Такой код мошенникам сложнее читать и анализировать.
Безопасность vs. Удобство
Когда заходит речь о безопасной разработке приложений, компании сталкиваются с дилеммой: приходится жертвовать удобством для пользователей. Коснемся ключевых компромиссных решений.
Регистрация
Логин и пароль могут украсть, как и телефон, — такой способ регистрации рискованный. По номеру карты/счета и SMS надежнее, но хакеры парируют этот метод фишингом. Можно при оформлении счета в офисе выдавать QR-код и использовать его как второй канал, но это слишком непривычный путь.
Есть еще один вариант — заказать разработку мобильного приложения с биометрией и технологией liveness detection. Финансовые организации законодательно обязаны в ближайшее время внедрить данную технологию, поэтому она выглядит как наиболее благоприятное и перспективное решение.
Подтверждение операций
Одноразовые пароль, смс или пуш-сообщение могут перехватывать мошенники. Электронная подпись, сформированная на телефоне, гораздо надежнее в комбинации с биометрией. Такой же метод подойдет для подтверждения смены личной информации в профиле.
Показ данных карты
Лучше показывать номер карты и CVV/CVC в разных окнах. Тогда злоумышленнику будет сложнее заполучить информацию через скриншот. Причем не лишней в банковском мобильном приложении будет функция подтверждения отображения данных через СМС и пуш.
Заключение
Облавы на российские информсистемы со стороны киберпреступников не останавливаются. Так что безопасность мобильных приложений продолжит дорожать, пускай и самая острая фаза кризиса для ИБ миновала. Помимо применения инструментов защиты, финтеху стоит не забывать про просвещение пользователей — действенный подход противостояния социальной инженерии. Комплекс этих процедур лежит в основе по-настоящему безопасного банка для клиентов.





