Я нашел способ отследить всех водителей «Ситимобила»

В субботу вечером я, как всегда, сидел и снифил трафик со своего телефона. Внезапно, открыв приложение «Ситимобила», я увидел, что запрос на получение информации о ближайших машинах выполняется без какой-либо аутентификации.

Выполнив этот запрос несколько раз с разными параметрами, я понял, что можно выгружать данные о таксистах практически в реалтайме. Вы только представьте, сколько интересного можно теперь узнать!

С чего все началось?

Да, я действительно сидел и смотрел трафик с телефона. Дело в том, что я инженер и постоянно изучаю, как работают технологии и разные вещи вокруг меня. Так было и в этот раз.

Я нашел уязвимость и написал в Mail.ru Group. Буквально через 3 минуты мне ответили, что эти данные открытые и их не нужно защищать.

Я нашел способ отследить всех водителей «Ситимобила»

Ну раз так, давайте развлекаться!

Анализируем «Ситимобил»

Я написал алгоритм, который за пару десятков секунд собирает информацию о всех таксистах «Ситимобил», которые сейчас на линии в Москве и Московской области. Вот как он работает:

О технических деталях я подробнее говорю в статье на «Хабре», а пока давайте сосредоточимся на результатах.

Думаете, сколько водителей на линии в воскресенье утром?

4374
таксистов «Ситимобил» на линии в Москве в 11:00 в воскресенье

Но разве нас интересует срез? Давайте посмотрим в динамике.

​

Найс. А как эти водители распределены в пространстве?

Ну и напоследок давайте проследим за каким-нибудь водителем.

Вот, видно маршрут. А ведь можно еще поднять частоту опроса и получить более точные данные.

И что такого?

А то, что данные вроде как важные.

Во-первых, можно оценить долю рынка и доходность компании «Ситимобил».

Во-вторых, на месте другого агрегатора (например, «Яндекс.Такси») я бы использовал данные о положении таксистов конкурентов. Для ценообразования, например. Или вычислил водителей, работающих и там и там, на основе корреляций в геопозициях.

В-третьих, раз можно отследить конкретного таксиста, можно отследить и его клиента. Это уже серьёзно. По факту можно узнать, куда уехал человек на «Ситимобиле», если вы знаете, где он сел в такси.

Заключение

Не нужно недооценивать важность данных, которые показываются клиенту.

Если Mail.ru Group все еще считает, что эту информацию не нужно защищать, то «Яндекс.Такси», вот вам гора данных. С её помощью вы сможете забрать часть прибыли «Ситимобила».

Если же Mail.ru Group признаёт, что данные чувствительные, и закрывает к ним доступ, то будет честно выплатить вознаграждение по bug bounty.

Как, думаете, ещё можно использовать данные о таксистах?

Спасибо, что дочитали! Надеюсь, вам было интересно.
Успехов!

725725
177 комментариев

Всем привет. Сергей, ещё раз здравствуйте.  Ситимобил на связи.

Мы внимательно изучили всю ситуацию, описанную Сергеем Крупником. Мы ожидаем, что все детали найденных дефектов, а также любые вопросы касающиеся уязвимостей, будут сначала заданы нам в тикете на HackerOne (https://hackerone.com/reports/756833). В данной ситуации мы не получили всех тех деталей, которые описаны в статье, и очень ждем от автора, что в будущем вместе с ним лично будем обсуждать любые возникающие вопросы. 

Теперь по существу. Отображение доступных машин поблизости без пассажиров — штатная функциональность любого приложения по заказу такси, которую на данный момент нет планов менять. Описанный баг не позволял получить данные водителей Ситимобил с пассажирами и не позволял трэкать их перемешения. В любом случае, у нас есть план технически ограничить получение подобных данных. 

 По условиям программы Bug Bounty мы не можем можем выплатить вознаграждение после открытой публикации уязвимости. Но от команды Ситимобил считаем важным выдать вознаграждение за сообщение об этой возможности и проделанные усилия для её описании. Мы также готовы предложить Крупнику присоединиться к инженерной команде Ситимобил. Ещё мы призываем всех специалистов, кто занимается безопасностью пользовательских данных, сообщать нам о найденных уязвимостях через сайт HackerOne. Ситимобил очень серьёзно относиться к любым найденным уязвимостям и готов сотрдуничать со всеми, кому не безразлична эта тема. Мы также готовы выплачивать достойные вознаграждения за найденные баги в наших продуктах, но в рамках правил площадки HackerOne. 

33