Бесплатно Экспресс-аудит сайта:

28.08.2021

Проблема в приложении для знакомств Bumble позволяет определить местонахождение пользователей

Приложение для знакомств Bumble содержало проблему, эксплуатация которой позволяла определить точное местоположение пользователей в интернете. ИБ-эксперт Роберт Хитон (Robert Heaton) из компании Stripe объяснил , как ему удалось обойти защиту Bumble и реализовать систему для определения точного местоположения пользователей.

Аналогичная проблема также существовала в приложении для знакомств Tinder. По словам Хитона, серверы Tinder до 2014 года отправляли приложению точные координаты потенциального «совпадения», а затем код на стороне клиента рассчитывал расстояние между пользователями приложения. Проблема заключалась в том, что злоумышленник мог перехватить сетевой трафик приложения и определить координаты пользователей. Разработчики Tinder переместили код расчета расстояния на сервер и отправляли в приложение только расстояние, округленное до ближайшей мили, а не координаты карты. Этого исправления было недостаточно.

Хотя клиентское приложение никогда не отображало точные координаты, специалист Макс Вейтсман (Max Veytsman) смог использовать отправляемые данные для определения местоположения пользователей с помощью техники, называемой трехсторонней связью. Метод включал запрос к Tinder API из трех разных мест, каждое из которых возвращало точное расстояние. Когда каждая из этих фигур была преобразована в радиус круга с центром в каждой точке измерения, круги можно было наложить на карту, чтобы показать единственную точку, где они все пересекались, демонстрируя фактическое местоположение цели.

Bumble использовал подход разработчиков Tinder, но, очевидно, оставил место для обхода данной защиты. По словам Хитона, метод трехсторонней связи все еще возможно осуществить с данными Bumble, но с точностью до мили. Впоследствии Хитон определил, что код сервера Bumble использует math.floor (), который возвращает наибольшее целое число, меньшее или равное заданному значению, и что его метод работал.

Как сообщил специалист, с помощью скрипта на языке Python на поиск цели потребовалось около 10 секунд. Он сообщил о своих выводах Bumble 15 июня 2021 года, и 18 июня компания исправила проблему.