Pull to refresh

Comments 77

Отлично! Спасибо за дельное описание методологии.
Думаю, они просто не предполагали, что кто-то полезет к ним с этой стороны :)
Как, интересно, можно не предполагать, что полезут? :)
Я имел ввиду некоторую недобросовестность на уровне собственного pentest-а.
Мне кажется, специалисты Яндекс не учли довольно тривиальных вещей.
Ну это дааа, это они любят :)
Не знаю как там яндекс, но лично я, делая приложения для веб, всегда исхожу из того, что все пытаются ломануть приложение.
Вы исключительно правы.
Перед выпуском в продакшн необходимо производить серьезное тестирование на проникновение.
Не зря говорят, что 90% времени уходит на обработку ситуаций, которые никогда не должны произойти.
… хакер параноик который 24/7 сидит на кофе и единственной мечтой которого является желание найти уязвимость в вашем приложении :)
Автор только забыл добавить, что все описанное происходило более года назад. Так что это не свежая уязвимость.
Какая разница, было это год назад или вчера? Закрыто и хорошо. Это информация не была представлена ни где, кроме как на DCG. Может людям интересно будет почитать…
Ах да, информация о данной баге была своевременно предоставленна ребятам из Я, которые все очень оперативно прикрыли.

А как это можно прикрыть? За исключением нового алгоритма генерации packetid.
Зашифровать пейлоад?
Шикарно. Исходник есть, осталось только разобраться, как это работает.
Асимметричное шифрование никто не отменял. Шифруем открытым ключом, расшифровываем на сервере закрытым. Кроме инсайда особо никак и не сломаешь.
Что мешает вытянуть открытый ключ из исходников и шифровать им фальшивые пакеты?
А нам что, расшифровывать пакеты нужно?
Какие-нибудь сессионные ключи с небольшим времени действия спасут. От лица другого пользователя уже не отошлёшь.
к ключу, который однократно/редко получает установленная программа яндекс.пробки.
А если я ее снесу и заново поставлю? А если я перехвачу обращение к серверу за ключом? Тут нет защиты. Просто нужно не спамить, и все. Это как в сообществе Open Source — многие могут коммитить бекдоры, и защиты почти нет, но этого не делают
Прикрутить регистрацию…
Что помешает зарегать 2 десятка аккаунтов?
Очевидно, что на регистрацию должна быть отдельная защита. И, например, можно отсеивать новых пользователей и считать их данные менее ценными, тут уже миллион способов тк. информации о юзере больше.
Блин. Я не ортодоксальный граммар-наци, но это… Едим мы в рот. По крайней мере, большинство из посетителей сайта, я надеюсь.
Про немногочисленные (тем более, единичные) орфографические ошибки принято писать в личку.
Лучше писать их в паблик, так больше людей заострят своё внимание на том, как пишется то или иное слово и сами потом такую ошибку не допустят
Видимо, это работает только в теории. Тся/ться и некоторые другие популярные ошибки как были, так и остаются на просторах интернета и хабра, в том числе.
Ну вот, как мне теперь расчищать дорогу домой? (
Тем же методом — ставите на своем пути кучу пробок, народ начинает ломиться в объезд, оставляя свободным нужный маршрут… Profit.
Всегда остается хардверный способ.
Мне честно говоря интересно, как они багу-то прикрыли.
интересно как вобще можно прикрыть такую багу учитывая что софт запускается на несекьюрном девайсе.
Как вариант, использовать данные, полученные от уникальных ip и/или с устройств, которые отправляют данные уже некоторое значительное время, а не появились только что.
На вашем месте я бы сделал «троллфейс» на карте Москвы :)
UFO just landed and posted this here
UFO just landed and posted this here
Залез на яндекс в поисках троллфейса, а там его нет :(
Ну вот, блин. Спалили в паблик.
Что спалили? Уязвимость уже закрыта. Да и было это год назад.
Идею спалили. Не у всех ещё уязвимость закрыта.
Спалили идею. Теперь у всех будет желание закрыть эту уязвимость.
Угу. И правильно сделали, в общем.
А если там еще поставить парочку меток об аварии или дорожных работах, то вполне можно заставить некоторых доверчивых водителей (или их навигаторы) принять решение об изменении своего маршрута, тем самым позволив мне, любимому, свободно доехать до дома!

Сомнительно =) Некоторые, может и уедут, но таикх будет немного.
А мне вот всегда было жутко интересно. А как яндекс узнает — я медленно еду или быстро иду. И просто прогуливаясь с телефоном, не наношу ли я пробок на родной город?
отсекают статистически крайние значения, скорее всего
Пара евроцентов о том, как это у конкурентов сделано (у TomTom).

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

По поводу пробок и заторов — у TomTom есть любопытная технология, где анализируются расстояния мобильных телефонов до базовых станций и таким образом рассчитывается количество и скорость движения транспортных средств на магистрали. В случае затора все мобильники перестанут двигаться, что и сигнализирует о пробке (тут, конечно можно о защите прав тоже развить дискуссию). Это не единственный источник информации, также анализируется информация TMC — так информация об авариях распространяется. Руками ничего вводить не надо.
UFO just landed and posted this here
1) Фильтровать по IP-адресу и учитывать только IP-адреса мобильных операторов в данном регионе
2) Передавать cellID

Это не 100% защита, но сервер становится «Неломаемым Джо», который сломать-то можно, но на фиг никому не нужно

Кто мешает юзать несколько симок? А то и проксики подходящие могут найтись.
CellID — не защита, из своей проги можно послать, что угодно, вместо настоящего cellid.
найти такой прокси, чтобы Яндекс ваш трафик видел бы как идущий из подсети Мегафона будет проблематично (если, конечно, вы не работаете в Мегафоне)

специальным образом проксировать трафик своей комповой программы через свой телефон?
ну… можно конечно… тут даже симки разные не нужны… трафик ведь анонимный

полностью мимикрировать под МЯК? Или внести в существующий мобильный клиент функцию отсылки заведомо неправильных данных? Да, это возможно. Но, как отвечала медсестра на вопрос больного будет ли он жить: «А СМЫСЛ?»

Я ж сказал — защита не 100%. Но дешевая на серверной части и сильно усложняющая жизнь потенциального ломальщика на клиенте.
Несколько usb-модемов подключить к компу не проблема, про проксики (общедоступные) это я так, как маловероятный, но возможный вариант.

Несколько симок нужно в том случае, если защита будет строится на лимит запросов с одного IP… Правда скорей всего белые IP вряд ли есть на мобильном инете, так что проксики не понадобятся в таком случае.

Смысл ясно расписан в статье — чтобы расчистить путь домой например.

А перечисленные 2 пункта не тянут на защиту, которую будет лень ломать. Ибо оба пункта легко обходятся.
По идеи аппарат видит сразу несколько вышек, если пересылать именно список всех видимых станций, а потом сравнивать координаты с картой вышек, то можно отсеивать откровенно левые данные.
На дорогах достаточно му***ов, которые используют другой алгоритм для более быстрого передвижения — наглость. Последнее время наблюдаю прямую зависимость между целевой функцией от марки автомобиля/номера и поведением на дороге. Можно даже график соответствующий нарисовать. Подозреваю они не знают что такое сниффер. Но бага прикольная, спасибо. Под стать весёлой картинке =)
Зачем это все?) Бесплатно же и для людей.
Не совсем понятна эта статья в принципе. Всегда было интересно, почему бы не направить столько усилий на что-нибудь действительно полезное, бесплатное и для людей.
Потому что — если не автор, то этим воспользовался бы какой-нибудь злой человек. Ну, например, конкурент Яндекс-карт. (Нет, я не про Гугл)) Я про теоретически возможную подобную ситуацию.)
Статья интересная! Автору спасибо, замечу лишь только что источники информации — далеко не только водители с приложением, но и сторонние компании. А именно компании которые мониторят свой транспорт (логистика) на расход топлива и соответствие маршрутам, продают(отдают, нюансов не знаю) обезличенные данные таким компаниям как яндекс.
С одних пользователей приложений «сыт» не будешь, тем более что реальный инструмент для водителя — яндекс навигатор, выпустили только недавно, а я.карты использовать постоянно мало кто способен.
Действительно, очень бы хотелось услышать, как именно в Яндексе прикрыли данную брешь. Для едичного запроса я может и придумаю пару эвристик, с анализом когда и откуда пришел первый сигнал, как данные менялись во времени, сколько он уже вещает — т.е. посчитать его рейтинг с учетом его истории. А потом как-то сравнивать информацию с устройств с разным рейтингом и принимать решение о достоверности данных. Но вот представить, что бы эти алгоритмы быстро работали на большом объеме данных сложно.
Или изменения вносились в протокол/ПО, что бы просто предельно усложнить подмену данных?
А я сегодня думал, кто это посередине реки поставил метку об аварии в среднем ряду…
Я просто добираюсь на работу на гидроцикле — быстрее получается.
Что касается карт Nokia, мы используем не только информацию от пользователей, но и данные собственных сетей датчиков, веб-камер, коммерческих и государственных организаций, центров управления движением, летательных аппаратов с неподвижным крылом.

Итоговая информация о загруженности дорог вычисляется по собственному алгоритму, который обрабатывает весь массив полученных данных с той или иной степенью доверия каждому из источников. Информация от пользователей на общую картину влияет незначительно.
У нокии, конкретно в Москве, данные по пробкам никакие. МО боюсь даже ставнивать. Яндекс в этом плане на несколько порядков лучше.
maps.nokia.com/
Каждый вправе выбирать чему верить: минимуму информации с высокой степенью надежности или большому объёму с некоторой вероятностью недостоверности.
Так и представил как «летательные аппараты с неподвижным крылом» над МКАДом кружат и пробки ищут.
Фигассе. Только сегодня в пробке об этом думал и сразу статья! :)
> тем самым позволив мне, любимому, свободно доехать до дома!
Ага, конечно, только вот ЯП пользуются пренебрежимо малый процент водителей.
Меня вот другое интересует, несколько мотоциклистов с навигаторами, просочившихся через стоячую пробку, очевидно, позволят яндексу принять решение о том, что автолюбители попросту припарковались, и на самом деле, дорога свободна. Было бы здорово сделать выбор типа ТС все же — пешком\мотоцикл\авто. Или такое как-то отслеживается?
Я думаю это достаточно легко определить по ускорению и средней скорости. Ясно, что ускорение у мотоциклов будет в разы больше, чем у авто. Ясно, что пешеходы не будут двигаться со скоростью 60 км/ч. Я бы даже примерно прикинул среднюю скорость: пешеход 3 км/ч, мотоцикл 50-60 км/ч, авто 20-30 км/ч. Потом, как различить медленно движущегося пешехода от медленнодвижущегося в пробке автомобиля: автомобиль будет через каждые 3-4 метра останавливаться, затем снова проезжать 3-4 метра и т.д. Потом, думаю мотоциклисты практически не пользуются яндекс.картами, особенно в движении и их гораздо меньше в общем потоке данных от клиентов приложения.
Я как мотоциклист не слышал, чтобы среди наших было популярно пользоваться навигаторами. Хотя конечно разные бывают, не мало и тех, кто в пробках тоже медленно едет. Но я не против дополнительных настроек, главное чтобы не глючило.
Насчет Яндекса и Москвы — мне известно, что у Яндекса по Москве висят радары-измерители над дорогами.
Здесь должна быть история про хакера и солонку.
как открыть maps.yandex.ru сразу с пробками? Т.е. прямую ссылку, чтобы не нажимать кнопку «Пробки»
Sign up to leave a comment.