{"id":14270,"url":"\/distributions\/14270\/click?bit=1&hash=a51bb85a950ab21cdf691932d23b81e76bd428323f3fda8d1e62b0843a9e5699","title":"\u041b\u044b\u0436\u0438, \u043c\u0443\u0437\u044b\u043a\u0430 \u0438 \u0410\u043b\u044c\u0444\u0430-\u0411\u0430\u043d\u043a \u2014 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u0440\u0435","buttonText":"\u041d\u0430 \u043a\u0430\u043a\u043e\u0439?","imageUuid":"f84aced9-2f9d-5a50-9157-8e37d6ce1060"}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И что такого?

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

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

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

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

Заключение

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

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

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

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

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

0
177 комментариев
Написать комментарий...
Георгий Лобушкин

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

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

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

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

Ответить
Развернуть ветку
Dmitry Turmyshev

Странно, что вы «не получили всех деталей описанных в статье», в отчете на HackerOne явно видно, что отчёт полностью отражает ситуацию переданную в статье, а под статьей ваше мнение, что это не является уязвимостью «по вашему мнению». Грустно.

Ответить
Развернуть ветку
David R

Поясните пожалуйста, в чем уязвимость если на карте пустые машины без пассажиров?

Ответить
Развернуть ветку
Alexey Bulgakov

Давайте я отвечу. Цена предложения коррелирует с количеством доступных машин в потенциальной точке заказа. 

Очень упрощенный пример: Если у Яндекс.Такси 5 машин в точке заказа, то цена могла быть условно 100, но если Яндекс.Такси знает, что у Ситимобил в этой точке 1 машина и цена 200, то Яндекс.Такси может поставить цену 190, его предложение все еще будет лучшим, но маржа вырастет.

Ответить
Развернуть ветку
Аркадий Рутман

Вы, видимо, привыкли сидеть в прохладной серверной перед тремя мониторами, и теперь считаете, что все делают так же. Особенно пассажиры такси, которые открывают аналитику по району с динамикой цен на поездки... И когда вдруг цена в одном из сервисов идёт вниз пассажир машет руками, подаёт специальные знаки и кричит Покупаем, покупаем, покупаем... Так и растёт маржа сервиса на колебании курсов. Это мир биг дата. Это мир трёх мониторов.

Ответить
Развернуть ветку
Николай Каменев

Я Вам секрет открою, есть приложение которое показывает цену на поездку в разных агрегаторах

Ответить
Развернуть ветку
Степан Позняк

При чём ладно специализированное приложение
Даже гугл карты это делают

Ответить
Развернуть ветку
174 комментария
Раскрывать всегда