Запущенный в феврале Яндекс.Драйв, как и любой сервис каршеринга, работает благодаря комплексу уникальных систем — в автомобиле, в телефоне пользователя и на сервере. Система, которая ещё недавно была в новинку для IT-сообщества, расположена в самой машине. Она включает в себя несколько девайсов — блок телематики, CAN-шину и мультимедийное оборудование. Подробнее о том, как всё это коммуницирует между собой, я и хочу вам рассказать. Кроме того, я объясню, почему именно сейчас компании и эксперты по безопасности должны уделять максимум внимания защите каршеринговых сервисов. Дело в том, что это не просто yet another приложения в вашем телефоне, а целая взлётная полоса для автомобильной индустрии завтрашнего дня.



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

Те, кто обнаружит самую серьезную проблему, получат от Яндекса полмиллиона рублей. Приз за второе место — 300 000 рублей, за третье — 200 000 рублей. О деталях я расскажу чуть ниже, а пока вернёмся к устройству каршеринга.

Пару слов о том, как устроен каршеринг


Машина Драйва или подобного сервиса отличается от обычной тем, что в ней установлен специальный блок телематики. С одной стороны, он подключен с устройству управления всей электроникой автомобиля — так называемой CAN-шине. С другой, блок находится на постоянной связи с сервером телематики. Сервер анализирует полученные с блока данные и отправляет обратно сигналы управления: открыть или закрыть автомобиль, включить зажигание, завершить аренду и др. Все перечисленные действия согласовываются с основным клиентским бэкендом, где работает биллинг, а также хранится база всех клиентов и заказов. Приложение на вашем телефоне, в свою очередь, тоже взаимодействует с клиентским бэкендом.
Какую информацию можно собирать и отправлять на сервер с помощью CAN-шины и блока телематики?

Минимальный набор — это координаты автомобиля, статус каждой двери и двигателя (закрыто-открыто, включено-выключено), уровень топлива, а также режим коробки передач. Однако CAN-шина считывает и множество других данных, которые тоже можно передавать на блок телематики и далее на сервер. Речь идёт про показания спидометра, число оборотов и температуру двигателя, расход топлива, статус необходимости ремонта тех или иных агрегатов, положение подушек безопасности — словом, при желании несложно логировать показания практически всех электронных датчиков в автомобиле.
В Яндекс.Драйве существует и ещё один компонент — платформа Яндекс.Авто для мультимедиа-систем с голосовым управлением. В неё встроен Навигатор, Музыка и Радио. Поскольку платформа работает с пользовательскими данными, мы стараемся делать всё возможное, чтобы они были в безопасности и корректно удалялись с устройства между сессиями аренды.

Главные проблемы в безопасности каршерингов


Использование GPRS и EDGE
До недавнего времени каршеринговые компании — и в России, и за рубежом — использовали блоки телематики, которые исходно не предназначались для контроля за передвижением автомобилей по городу. Первопроходцы отрасли приспособили под свои нужды уже существующие устройства для сопровождения грузовиков, бензовозов, тракторов и другой тяжёлой техники. Фирма, которая занималась, скажем, сельским хозяйством, могла узнать, где находится трактор, оценить скорость движения и отправить трактористу сообщение о том, что нужно ускориться.

В случае с тяжёлой техникой блок телематики не считывал с CAN-шины столько же данных, как в каршеринге, и это происходило с меньшей периодичностью. Как следствие, для пересылки данных хватало 2G-модема. Канал сотовой связи 2G не только легко перехватывается (например, через поддельную базовую станцию, позволяющую подменить сигналы управления автомобилем), но и наиболее уязвим при падениях сотовой сети. Провайдеры знают, что большинство клиентов уже перешли на 3G- и LTE-устройства, считают 2G скорее техническим каналом и в случае проблем восстанавливают его в последнюю очередь. Удобная аренда накладывает иные требования — в блоках появилась поддержка LTE.

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

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

Отсутствие надёжности уровня больших IT-компаний
Google, Яндекс и другие игроки привыкли всеми силами обеспечивать стабильность работы сервисов. Например, распространена репликация: когда какой-нибудь из дата-центров перестаёт отвечать из-за аварии, то пользователи — благодаря копиям своих данных в других дата-центрах — ничего не замечают. Фирмы, которые занимаются только каршерингом, реже применяют репликацию.

Безопасность каршеринга — залог безопасности беспилотных авто


Беспилотные авто — слишком объёмный стек технологий: его нельзя отправить в продакшен сразу и целиком. Внедрение этого стека в жизнь людей будет происходить постепенно, и каждая следующая стадия будет строиться по результатам предыдущей. Каршеринг станет частью этого процесса.

Дело в одной из фундаментальных проблем каршеринга: так называемой «проблеме первой и последней мили». Первая миля — это когда вы выходите из дома или офиса и вынуждены добираться до машины — казалось бы, стоящей недалеко. Но «недалеко» — понятие растяжимое. Как правило, автомобиль расположен дальше, чем вы бы припарковали свой личный транспорт. Такси, в свою очередь, тоже подъехало бы к вам поближе.

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

Каршеринг станет таким же удобным, как такси, только когда машина сама к вам приедет в начале и сама отправится искать парковку в конце.

image

Для этого она не должна быть беспилотной в полном смысле слова. Беспилотные авто смогут ездить на высоких скоростях, а для описанных двух задач (приехать из соседнего квартала и уехать к ближайшей парковке) скорость не столь важна. Главное, чтобы машине не требовалось перемещаться без водителя на большие расстояния, то есть чтобы автомобили были в достаточном количестве разбросаны по городу. А это, в свою очередь, вполне достижимая цель.

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

Конкурс


Для участия в конкурсе нужно записаться и приехать в офис Яндекса (Москва, ул. Льва Толстого, 16). Вы сможете дважды по 2 часа подряд пользоваться автомобилем Яндекс.Драйва — либо провести один 4-часовой сеанс. Участвовать можно в одиночку или командой до трёх человек. Разбирать машину или подключаться к ней с помощью кабеля запрещено. Кроме того, вам потребуется аккаунт Драйва — по одному на команду. Регистрация в сервисе под этим аккаунтом должна быть пройдена полностью.

Победителей выберут сотрудники Яндекс.Драйва и службы информационной безопасности Яндекса. В первую очередь при выборе будет учитываться критичность найденных проблем, а не время поиска.

Награждение победителей состоится 29 мая в зале «Информационная безопасность» ежегодной конференции Яндекса Yet another Conference (YaC). При желании вы сможете продемонстрировать свои эксплойты гостям конференции.

Конкурсы других компаний


Вокруг применения технологий в автомобилях сейчас наблюдается общемировой хайп, поэтому конкурсов на нахождение уязвимостей хватает. Самый популярный способ взлома — через мультимедиа-системы. Можно вспомнить доклады секции Car Hacking Village на DEF CON (вот хороший пример). В рамках Car Hacking Village ежегодно проводится соревнование Capture the Flag, где специалисты по безопасности пытаются найти уязвимости в автомобильных системах. Это не считая долгосрочных программ bug bounty ключевых игроков рынка: Uber, Tesla и других. Но заметных конкурсов, связанных именно с каршерингом, пока никто в мире не проводил.

Секция «Информационная безопасность» на YaC 2018


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

Помимо двух докладов о приватности голосовых интерфейсов вас ждёт ещё несколько выступлений: вы узнаете, как организовать межсервисную аутентификацию и построить защиту от фрода. Мы рады, что к нам присоединятся наши коллеги из Naver (Южная Корея) и Rakuten (Япония). Награждение победителей конкурса и, как мы надеемся, демонстрация готовых эксплойтов на машине Яндекс.Драйва пройдёт в заключительной части секции. Вот более подробная программа, а вот ссылка на регистрацию.



Кстати, у нас постоянно действует своя программа bug bounty — искать уязвимости можно не только в дни конкурса Драйва и не только в самом Драйве.

Комментарии (22)


  1. Valya-roller
    16.05.2018 11:19

    Крутой конкурс и внушительные призы. Жаль что в конкурентной компании предпочли сказать простое спасибо за обнаруженную возможность угона любого автомобиля…
    PS: это я об этой истории


    1. anprs
      16.05.2018 14:05

      Цитата:

      Мне даже был предложен автомобиль в бесплатное пользование на несколько дней


      1. Valya-roller
        16.05.2018 14:20

        Какой смысл в этом предложении, если я физически нахожусь и живу за пределами РФ… Это было озвучено кстати при общении.


        1. sksnik
          17.05.2018 03:49

          Жаль что только в МСК трайл проходит, можно было бы хотя бы в СПБ сделать что-то подобное.


    1. mspain
      16.05.2018 17:08

      Безопасный каршэринг это как безопасные облака :) ну и условие не подключаться к шине смешное, злоумышленники то будут. А там, как известно, решето.


  1. Mobile1
    16.05.2018 13:49

    Разбирать машину или подключаться к ней с помощью кабеля запрещено.


    Надеюсь Яндекс в курсе что есть бесконтактные считыватели команд с CAN шины…


    1. evnuh
      16.05.2018 18:31

      исходя из формулировки, это не запрещено.


    1. Oakum
      17.05.2018 01:30

      Расскажите поподробнее, на каком расстоянии, на каких скоростях шины можно осуществлять бесконтактный съем данных с CAN


  1. dmitryredkin
    16.05.2018 18:00
    -1

    Попробуйте изменить логику работы сервиса, снизить цену поездки

    Ага. То есть безосновательное повышение цены поездки уязвимостью не является…
    Нет, ну я по опыту с Яндекс.Такси знал об этом, но всё же надеялся, что что-то изменилось в приоритетах компании :)


  1. eugenebb
    16.05.2018 23:48

    При аренде автомобиля или каршэринге всегда интересовал вопрос как борются с заменой частей?

    Типа у меня на машине умирает аккумулятор, я пошёл взял в аренду машину, снял с него новый, а взамен поставил свой полу-живой. Или колёса поменял.

    В аренде цены бывают совсем смешные, типа долларов 10 за день.


    1. ooprizrakoo
      17.05.2018 02:31

      насколько знаю, капот открыть нельзя (заблокирован); либо стоят датчики которые отправляют диспетчеру информацию об этом


      1. anprs
        17.05.2018 09:12

        Перед началом движения необходимо:
        1. Проверить уровень масла в картере двигателя (при необходимости довести его до нормы)
        2. Проверить уровень тормозной жидкости в бачке главного цилиндра тормоза и охлаждающей жидкости в расширительном бачке (при необходимости долить жидкости до нормы)

        Если на то что казённый движок заклинит или перегреется мне как-то ровно, с почти пустым тормозным бачком ездить я бы очень не хотел


        1. ooprizrakoo
          17.05.2018 13:33

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


          1. darthslider
            17.05.2018 13:50

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


            1. megaplanadmin
              17.05.2018 13:52

              Обычно по звонку оператору открывают. Сам трос обрезан, открывается удаленно как дверь.


  1. megaplanadmin
    17.05.2018 10:11

    Часто пользуюсь Яндекс-драйвом, заметил что безбожно тормозит мультимедиа система (в народе бошка, голова). Такое ощущение, что туда вставлен самый дешевый хуавей планшет с алиэкспресса. Радио тоже через него, не всегда запускается.
    В остальном, все устраивает, молодцы! Наконец-то не надо париться с заправками (нет штрафов за оставление машины без топлива).


  1. achekalin
    17.05.2018 11:13

    А что делать с бедами таких сервисов: прокуренным салоном авто и тупо брошенной на грани фола (или вовсе не по правилам) машиной, которая мешает другим участникам ДД?


    Обе проблемы относятся не только к понятию "долбодятел, не думающий о других", но и к "не мое же". CAN тут не нужен, а проблем окружающим и клиентам много.


    1. darthslider
      17.05.2018 11:28

      Насколько я знаю, это нарушение правил пользования сервиса и каршеринг за такое активно штрафует пользователей, которые так делают.


      1. megaplanadmin
        17.05.2018 12:43

        На Car5 был даже датчик дыма в салоне… Причем, потолочный вариант для помещений.
        Выглядело капитально, возможно, даже он не был подключен, чисто психологический штурм.
        Возможно, тут есть датчики поменьше.
        Машина, которая мешает ДД обычно эвакуируется. Достаточно оперативно. Видел не раз как крокодилы забирали каршеринговые тачки. Потом головняк последнему арендатору обеспечен.


        1. darthslider
          17.05.2018 12:50
          +1

          У подруги эвакуировали каршеринговую тачку как-то. Опыт так себе, не рекомендует к повторению.
          Самое эпичное, что у неё еще и чужой сноуборд был в машине, который важно было срочно вернуть хозяину :D


          1. megaplanadmin
            17.05.2018 12:53

            Представляю, это сейчас уже налажена схема (в одном месте и оплатить можно и сразу забрать, или потом оплатить), а вот год назад было ужасно проблематично. Квест на день. Сам не попадал, но историй много слышал.


  1. slamon
    17.05.2018 19:12

    Конкурс от российского ИТ гиганта, в сфере automotive безопасности, в сервисе, используемый тысячами людьми. И приз за первое место даже до 10 000 долларов не дотянули. Вам не стыдно?