Разбитое ветровое стекло Tesla Model 3 принесло хакеру $10 000 по программе Bug Bounty

в 6:08, , рубрики: tesla model 3, xss, информационная безопасность, транспорт

Разбитое ветровое стекло Tesla Model 3 принесло хакеру $10 000 по программе Bug Bounty - 1
Идея в том, что название хакерского автомобиля с XSS-пейлоадом всплывёт где-нибудь во внутренних системах Tesla Motors

Специалист по безопасности Сэм Карри рассказал, как ему удалось обнаружить критическую уязвимость в приложении удалённой диагностики Tesla Model 3. Этот автомобиль со встроенным веб-браузером, бесплатным LTE и беспроводным обновлением программного обеспечения — настоящий компьютер на колёсах.

Итак, все началось с того, что ему в ветровое стекло попал камень. Здесь-то и сработал установленный заранее XSS-хантер.

Автомобиль по имени %x.%x.%x.%x

Сразу после покупки автомобиль Сэм Карри выбрал установил для него имя %x.%x.%x.%x. Смысл в том, чтобы проверить наличие уязвимости форматирования строки, какая была у 2011 BMW 330i.

Разбитое ветровое стекло Tesla Model 3 принесло хакеру $10 000 по программе Bug Bounty - 2
Хакер установил имя смартфона %x%x%x%x и подключался к разным устройствам, в том числе к автомобилю 2011 BMW 330i

К сожалению, в «Тесле» ничего не нашлось. Повозившись в разными форматами ввода, автовладелец убедился, что разрешённая длина ввода очень велика и тут вряд ли можно чего-нибудь добиться. Тогда он присвоил автомобилю имя своего XSS-хантера, как на фотографии с КДПВ, и продолжил играться с функциональностью Model 3.

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

В данном случае в роли «злоумышленника» выступил автовладелец Сэм Карри, который присвоил автомобилю имя с XSS-пейлоадом.

Blind XSS — простая, но зачастую очень эффективная атака на веб-приложения. В процессе атаки в веб-страницу внедряется вредоносный код. Он будет выполнен на компьютере жертвы при открытии им этой страницы, «выстрелит» во внутренней сети и принесёт зломышленнику улов в виде какой-то внутренней информации, которая доступна только из админки.

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

Камень

Прошло несколько месяцев, а в июне 2019 года во время одной из поездок камень из-под колёс впереди идущего автомобиля влетел прямо в ветровое стекло «Теслы».

Разбитое ветровое стекло Tesla Model 3 принесло хакеру $10 000 по программе Bug Bounty - 3

Сэм Карри отрепортил в техподдержку через встроенное приложение, назначил дату встречи и продолжил поездку.

На следующий день ему на телефон пришло текстовое сообщение об улове от XSS-хантера. Он проверил — и действительно, кто-то запустил пейлоад в корпоративной сети компании Tesla Motors, а именно в домене https://redacted.teslamotors.com: здесь часть адреса скрыта (redacted). Это было просто замечательно.

Скриншот от хантера показывал, что сотрудник Tesla Motors просматривал показатели автомобиля, а доступ осуществлялся через URL с указанием ID автомобиля. Заголовок реферерра включал номер VIN в качестве аргумента: https://redacted.teslamotors.com/redacted/5YJ31337.

XSS сработал на панели управления, через которую происходит просмотр статистики по всему парку автомобилей Tesla.

Среди прочего, на скриншоте были текущие показатели автомобиля: скорость, температура, номер версии прошивки, давление в шинах, активные информационные сообщения и много другой интересной информации:

VIN: 5YJ3E13374KF2313373
Car Type: 3 P74D
Birthday: Mon Mar 11 16:31:37 2019
Car Version: develop-2019.20.1-203-991337d
Car Computer: ice
SOE / USOE: 48.9, 48.9 %
SOC: 54.2 %
Ideal energy remaining: 37.2 kWh
Range: 151.7 mi
Odometer: 4813.7 miles
Gear: D
Speed: 81 mph
Local Time: Wed Jun 19 15:09:06 2019
UTC Offset: -21600
Timezone: Mountain Daylight Time
BMS State: DRIVE
12V Battery Voltage: 13.881 V
12V Battery Current: 0.13 A
Locked?: true
UI Mode: comfort
Language: English
Service Alert: 0X0

Вдобавок, в программе были дополнительные вкладки для прошивки, просмотра шины CAN, географической информации и других разделов, названия которых звучат интересно. Некоторая функциональность внутреннего приложения Tesla, словленная хантером:

Разбитое ветровое стекло Tesla Model 3 принесло хакеру $10 000 по программе Bug Bounty - 4

Сэм попробовал зайти на redacted.teslamotors.com, но неудачно. Очевидно, это было внутреннее приложение компании. Самое интересное, что это приложение позволяло сотрудникам Tesla вручную накатывать произвольные апдейты на конкретные автомобили, изменять их конфигурацию и так далее.

Хакер не проверял, но у него возникло сильное подозрение, что если подставить соответствующий ID в адресную строку, то он может вытянуть жизненно важные показатели работы и других автомобилей. Теоретически, всех автомобилей в парке Tesla. Потому что ID в URL идут по порядку.

Сразу после поездки Сэм Карри отправил в Tesla Motors краткое сообщение об уязвимости, хотя он и не мог её воспроизвести.

Разбитое ветровое стекло Tesla Model 3 принесло хакеру $10 000 по программе Bug Bounty - 5

К чести автопроизводителя, отдел безопасности практически сразу присвоил уязвимости максимальный уровень P1, прокомментировал её — и выкатил апдейт в течение 12 часов.

А примерно через две недели автору выплатили вознаграждение $10 000 по программе Bug Bounty. Отдел безопасности подтвердил, что баг действительно серьёзный.

В принципе, уязвимость довольно простая, и вознаграждение стало приятным бонусом к бесплатной замене ветрового стекла. Сэм Карри не уверен, каким образом хакер может извлечь максимальную пользу из этой XSS во внутреннем домене, но? по крайней мере? он может просматривать текущую статистику любого автомобиля, зная его ID.

Исправление вышло 20 июня, вознаграждение выплачено 11 июля 2019 года.

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

Автор: alizar

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js