Раскрыты сведения о проблемах в организации защиты в сети компании Tesla, позволивших полностью скомпрометировать инфраструктуру, осуществляющую взаимодействие с автомобилями потребителей. В том числе, выявленные проблемы давали возможность получить доступ к серверу, отвечающему за поддержание канала связи с автомобилями и отправку команд, передаваемых через мобильное приложение.
В итоге, атакующий сумел через инфраструктуру Tesla получить root-доступ к информационной системе любого автомобиля или удалённо передать на автомобиль управляющие команды. В том числе была продемонстрирована возможность отправки на автомобиль таких команд, как запуск двигателя и разблокировка дверей. Для получения доступа требовалось лишь знание VIN-номера автомобиля жертвы.
Уязвимость была выявлена в начале 2017 года исследователем безопасности Джейсоном Хьюзом (Jason Hughes), который сразу проинформировал компанию Tesla о проблемах и обнародовал выявленные им сведения только спустя три с половиной года после инцидента. Отмечается, что компания Tesla в 2017 году устранила проблемы в считанные часы после получения уведомления об уязвимости, после чего кардинально усилила защиту своей инфраструктуры. За выявление уязвимости исследователю было выплачено вознаграждение, размером 50 тысяч долларов США.
Разбор проблем с инфраструктурой Tesla начался с декомпиляции инструментария, предлагаемого для загрузки с сайта toolbox.teslamotors.com. Пользователям автомобилей Tesla, имеющим учётную запись на сайте service.teslamotors.com, предоставлялась возможность загрузки всех модулей для разработчиков. Модули были зашифрованы простейшим способом, а ключи шифрования отдавались тем же сервером.
Декомпилировав полученные модули в код на языке Python, исследователь обнаружил, что в коде встречаются вшитые учётные данные для разных сервисов Tesla, находящихся во внутренней сети компании, вход в которую осуществляется через VPN. В том числе в коде удалось найти учётные данные пользователя одного из хостов в поддомене "dev.teslamotors.com", находящегося во внутренней сети.
До 2019 года для подключения автомобилей к сервисам Tesla применялся VPN на базе пакета OpenVPN (впоследствии был заменён на реализацию на основе websocket) с использованием генерируемого для каждого автомобиля ключа. VPN использовался для обеспечения работы мобильного приложения, получения списка станций зарядки аккумуляторов и в других подобных сервисах. Исследователь попытался просканировать сеть, доступную после подключения своего автомобиля по VPN и обнаружил, что доступная клиентам подсеть на должном уровне не изолирована от внутренней сети Tesla. В том числе оказался достижим хост в поддомене dev.teslamotors.com, к которому были найдены учётные данные.
Скомпрометированный сервер оказался узлом для управления кластером и отвечал за доставку приложений на другие серверы. При входе на указанный хост удалось получить часть исходных текстов внутренних сервисов Tesla, включая mothership.vn и firmware.vn, отвечающие за передачу команд на автомобили клиентов и доставку прошивок. На сервере также были найдены пароли и логины для доступа к СУБД PostgreSQL и MySQL. Попутно выяснилось, что доступ к большинству из компонентов можно получить и без найденных в модулях учётных данных, оказалось достаточно отправить HTTP-запрос к Web API из доступной клиентам подсети.
Среди прочего на сервере был найден модуль, внутри которого был файл good.dev-test.carkeys.tar с ключами к VPN, применяемыми в процессе разработки. Указанные ключи оказались рабочими и позволили подключиться к внутреннему VPN компании vpn.dev.teslamotors.com. На сервере также был найден код сервиса mothership, изучение которого позволило определить точки подключения ко многим управляющим сервисам. Было выяснено, что большинство данных управляющих сервисов доступны на любом автомобиле, в случае подключения с использованием найденных VPN-ключей для разработчиков. Через манипуляцию с сервисами удалось извлечь обновляемые ежедневно ключи доступа для любого автомобиля, а также копии учётных данных любого клиента.
Указанные сведения позволяли определить IP-адрес любого автомобиля, с которым установлено соединение через VPN. Так как подсеть vpn.dev.teslamotors.com не была должным образом отделена межсетевым экраном через простые манипуляции с маршрутизацией удалось добраться до IP клиента и подключиться к его автомобилю по SSH с правами root, воспользовавшись полученными ранее учётными данными клиента.
Кроме того, полученные параметры VPN-соединения к внутренней сети позволяли отправлять запросы к любым автомобилям через Web API mothership.vn.teslamotors.com, которые принимались без дополнительной аутентификации. Например, при проведении тестов удалось продемонстрировать определение текущего местоположения автомобиля, разблокировать двери и запустить мотор. В качестве идентификатора для выбора цели атаки используется VIN-номер автомобиля.
Комментарии
Любое внедрение "Умного дома" и "Правительства в смартфоне" направлено на тотальный контроль. Не нужно строить иллюзий защищённости.
Машина, подключенная к интернету, с электронными тормозами и рулем и кучей багов и дыр - идеальное оружие для выкачивания бабла из автовладельцев. К этому мы идем.
Насчет контроля: "А кому ты на хрен нужен, чтобы за тобой следить?" А для криминала, да, раздолье.
что бы зарабатывать на таргетированной рекламе, например. остальное - приложится.
Тесла как бы премиумный сегмент
По отъёму денег у хомячков впереди планеты всей !
А банки, типа, к криминалу не имеют никакого отношения ? Муля, не нервируй меня !
К сожалению (или к счастью) большие начальники делают себе «умные дома», сомневаюсь что они не понимают что делают, или что-то важное в таких местах не обсуждают.
Очень удобно увольнять строптивых владельцев понтокорыта об столб.
Все дырявое. И архитектура ИБ хромает.
Рукожопы.
Судя по описанию, на тот момент в копании о безопасности не заботились вообще никак. Большая часть проблем была бы найдена при первом же аудите ИТшной безопасности, просто проходя про списку с галочками, а значит такой аудит не проводился. Надеюсь, с тех пор они начали серьёзнее к этому относиться, но всё равно, как человек близкий к этой области никогда не стану покупать машину, которая позволяет удалённо, через сеть, выполнять какие-либо управляющие команды. Безотносительно того, какие усилия производитель предпринял для обеспечения безопасности этой инфраструктуры.
"таких команд, как запуск двигателя"
А это вообще как в электромобиле? Там тоже есть понятие "холостой ход"?
В оригинале написано:
Скорее всего под starting подразумевается включение систем, которые на стоянке по идее должны быть обесточены для сохранения заряда АКБ.
К примеру - там здоровенный тачскрин, который на стоянке включенным держать нет смысла, и тому подобное.
Вот так вот поставят всем нейросети в бошки, чпокаешь значится вечером жену и тут из тебя: "вах, давай тройничок попробуем", а это сосед Вазген перехватил управление.
Для этого он должен быть Vazgen_31337 :-)
Питон не надо "декомпилировать", это интерпретируемый язык. Там сразу код доступен для чтения и редактирования.
Ну может там cython использовали, чего только не бывает
Питон генерирует pyc файлы с байткодом и включёнными инклудами для ускорения запуска - видимо их и распространяла тесла. Восстанавливается исходный питоновский код из них без каких-либо проблем.
нафиг-нафиг такие повозки..
А что с акциями Теслы? Недавно стоили 2300 долларов, щас 470. Что случилось?
Упали из-за взлома? Или что-то другое.
Судя по графику - 502 на пике
Просто Тесла провела сплит, цену за акцию уменьшили в пять раз, количество акций увеличили в пять раз. Сумма капитализации осталась та же.
Абсолютно ничего неожиданного. Скорее - вполне ожидаемо.
Пока мир поймет, что безопасные роботачки - опасный миф... В общем очередное знание будет понятно только через кровь и слезы.
Маленький мальчик в смартфоне играл,
Теслу увидел и код подобрал!
Двери открылись, завелся движок,
Теслу на трассе спекло в пирожок!
Для тех, кто считает, что взломать Теслу легко, есть легальный способ срубить деньжат - $1 миллион баксов и авто в придачу. От самой Теслы. Дерзайте!