Один недонастроенный Firebase — и миллионы пользователей под угрозой.
Исследователи Cybernews раскрыли масштабную утечку данных в популярном iOS-приложении Second Phone Number, созданном для работы с виртуальными телефонными номерами. В зоне риска оказались личные сообщения, медиафайлы и контактные данные людей по всему миру.
Создатели делали ставку на конфиденциальность — именно этот аспект стал ключевым в описании продукта на странице App Store: "Нужен второй номер телефона для приватных звонков и сообщений?" Однако пользователи, рассчитывавшие на защиту личной информации, столкнулись с прямо противоположной ситуацией.
Команда специалистов обнаружила некорректно настроенный экземпляр Firebase — облачной базы данных приложения. Именно просчет в конфигурации привел к столь масштабной утечке. Несмотря на многократные попытки связаться с разработчиками Second Phone Number, брешь в защите остается открытой.
Точную статистику пострадавших установить невозможно — App Store не раскрывает данные о загрузках. Однако независимые оценки свидетельствуют о внушительных масштабах: приложение скачали почти четыре миллиона раз, причем более трех миллионов загрузок пришлось на пользователей из США.
В момент обнаружения уязвимости исследователи получили доступ к более чем 700 SMS-сообщениям. Среди раскрытой информации оказались не только тексты, но и телефонные номера отправителей с получателями, а также имена адресатов.
Арас Назаровас, эксперт Cybernews по информационной безопасности, подчеркивает: истинный размах утечки может быть гораздо больше. Firebase функционирует как временное хранилище, а значит, реальный объем проходящих через сервис данных многократно превышает моментальный срез.
Опытные злоумышленники, понимающие принципы работы Firebase, применяют для сбора данных специальные программы-скраперы. Эти автоматизированные инструменты построены на системе периодических запросов к базе: скрипт формирует обращения с определенным интервалом, получает новые порции информации и сохраняет их в отдельном хранилище. В результате киберпреступники получают доступ ко всем действиям пользователей практически моментально, как только те появляются в системе.
И это крайне выгодный ресурс. Поскольку часть клиентов применяла Second Phone Number для анонимного общения, включая личную переписку и знакомства, довольно просто выудить пикантные подробности для шантажа и прочих манипуляций. Другие задействовали приложение для безопасной коммуникации с клиентами, что открывает злоумышленникам доступ к важным деловым контактам и информации о доставках.
Незащищенная конфигурация Firebase также раскрыла и критически важные параметры клиентской части: API-ключи, идентификаторы клиента, URL-адрес базы данных, идентификатор приложения Google, идентификатор проекта, обратный идентификатор клиента, параметры корзины хранения и идентификатор рекламного приложения (GAD). Хранение такой информации в коде считается серьезным нарушением принципов безопасности.
Причем, как выяснилось, проблема характерна не только для Second Phone Number. Специалисты проанализировали 156 тысяч iOS-сервисов — примерно 8% всего каталога App Store. 71% из них допускает утечку как минимум одного секретного параметра, а среднестатистическое приложение раскрывает 5,2 конфиденциальных элемента.
Для устранения уязвимостей предлагают комплексный подход. В первую очередь необходимо правильно настроить правила безопасности Firebase, чтобы ограничить доступ к данным только авторизованным пользователям и сервисам. Затем следует переместить конфиденциальную информацию с клиентской на серверную часть приложения и направить весь трафик через собственную инфраструктуру.
Как отмечают исследователи, текущая конфигурация позволяет злоумышленникам не только подключаться к базе данных, но и отслеживать действия пользователей, включая общение со службой поддержки и запросы к системам искусственного интеллекта. Более того, внедренные в код секретные данные открывают возможности для изучения внутренней инфраструктуры приложения, а при наличии аутентификационных ключей — и для несанкционированного использования сервисов.