На прошлой неделе исследователь Сэм Карри поделился результатами очередного исследования, посвященного безопасности онлайн-сервисов в современных автомобилях. Вместе с коллегами он обнаружил (уже не в первый раз) крайне серьезную уязвимость в инфраструктуре компании Subaru. Уязвимость позволяла сравнительно легко получить доступ к любому автомобилю этого производителя, если он был продан в США, Канаде или Японии и был подключен к фирменному онлайн-сервису STARLINK (который не имеет ничего общего с одноименным сервисом спутниковой связи).
Набор данных конкретного автомобиля, к которому мог получить доступ потенциальный злоумышленник, включает точную геолокацию минимум за год. Координаты автомобиля сохраняются в системе STARLINK каждый раз, когда запускается двигатель или пользователь обращается к системе STARLINK. Кроме того, можно удаленно разблокировать двери автомобиля. Хотя проблема и была закрыта после того, как Сэм сообщил о ней производителю, стоит отметить общую небезопасность данной инфраструктуры: доступ к геолокации и удаленной разблокировке дверей в теории может получить любой сотрудник дилерского центра, если он имеет доступ к соответствующему веб-порталу.
Исследование веб-сервисов Subaru началось после того, как Сэм Карри приобрел автомобиль этой марки. Самое интересное, что попытка найти уязвимости «в лоб», анализируя сетевой обмен клиентского приложения на смартфоне с серверами Subaru, успехом не увенчалась. По опыту своих предыдущих исследований, Сэм начал поиск специализированных корпоративных сервисов и успешно нашел веб-портал, предназначенный для администрирования системы STARLINK. Анализируя код javascript на странице входа в сервис, он обнаружил, мягко говоря, большую неисправность: функцию для сброса пароля пользователя без какой-либо проверки или уведомлений.
Для ее работы требовалось знать e-mail зарегистрированного пользователя. Это не составило особой проблемы. В компании Subaru, как и во многих других, используется довольно распространенная форма адреса: [первая_буква_имени][фамилия]@subaru.com. В соцсети LinkedIn были обнаружены несколько сотрудников, в профиле которых указана работа над STARLINK. На основе данных об их именах удалось составить список предполагаемых адресов электронной почты, один из которых оказался валидным.
Пароль для этой учетной записи был сброшен при помощи упомянутой функции, спрятанной в коде страницы веб-портала. Дальше исследователей встретила функция двухфакторной аутентификации, но ее удалось просто скрыть, отредактировав код страницы. Для доступа к данным на любой автомобиль в системе достаточно было знать фамилию владельца и один параметр из списка: почтовый индекс, номер телефона, адрес электронной почты или VIN-номер. Очевидно, что вся эта информация добывается достаточно легко из публичных источников. Нельзя взломать абсолютно все автомобили Subaru, подключенные к STARLINK, но перехватить доступ к конкретному автомобилю вполне реально.
Ввод этих данных позволяет подключить к учетной записи еще одного пользователя — что в норме должен делать только владелец автомобиля. Владелец о добавлении пользователя никак не узнает, никакого уведомления в двух разных экспериментах не приходило. А дальше уже можно без проблем анализировать данные об автомобиле и его владельце. Анонимный пользователь мог получить доступ к персональным данным, к уже упомянутой геолокации, а также мог в любой момент открыть двери автомобиля.
К чести сотрудников Subaru, они закрыли уязвимость всего за один день. Но это далеко не единственный пример, когда приватная информация об автовладельцах оказывается крайне плохо защищена. Тот же Сэм Карри в конце 2022 года обнаружил целую пачку уязвимостей у 16 разных автомобильных брендов, от BMW до Toyota. Мы подробно писали об этой работе здесь. В 2019 году он же обнаружил уязвимость в клиентском сервисе Hyundai, которая также позволяла удаленно разблокировать автомобиль.
Но помимо вопроса безопасности инфраструктуры, которую автопроизводителям явно надо подтянуть, подобные исследования регулярно поднимают вопрос приватности пользовательских данных. В конце прошлого года мы писали об утечке геолокации владельцев автомобилей Volkswagen. Как и в случае с Subaru, возникает вопрос, зачем вообще автопроизводители собирают настолько чувствительные данные о своих клиентах и можно ли каким-то образом этот сбор ограничить. Да, геолокация может быть полезной самим автовладельцам, когда они забыли, где припарковали автомобиль. Но зачем хранить данные минимум за год, а то и за много лет?
Наконец, разрешение на сбор таких данных автопроизводители часто получают в случае подписки на онлайн-сервисы. От нее в теории можно и отказаться, возможно, потеряв значительную часть функциональности. Наконец, даже полностью безопасный «снаружи» сервис Subaru все равно, как выясняется, уязвим изнутри: в автоиндустрии распространена практика, когда доступ к таким важным персональным данным получают не только сотрудники компании, но и работники дилерских центров по всему миру.
Что еще произошло
На прошлой неделе обсуждалась атака на пользователей компьютеров Apple, которые хотят установить популярный набор программ Homebrew. В поиске Google были обнаружены платные объявления, показывающиеся перед «нормальными» результатами поиска и ведущие на поддельный сайт с вредоносным программным обеспечением. Это уже давно известная тактика со множеством примеров, давняя проблема рекламных баннеров в результатах поиска, которую Google никак не может решить. В данном случае злоумышленники смогли сформировать объявление так, что в нем был показан URL легитимного сайта Homebrew, хотя клик по баннеру уводил потенциальную жертву на совсем другую страницу.
Интересная проблема с геолокацией обнаружилась в сервисе Cloudflare. Она позволяет очень грубо определить локацию пользователя в чате Discord по тому, какой именно дата-центр Cloudflare кэширует отправленную пользователю картинку. С высокой вероятностью этот ЦОД будет ближайшим к пользователю, но погрешность такого «измерения» может составлять сотни километров.
На прошлой неделе мы сообщали об уязвимости в драйвере UEFI. Проблему нашли в компании ESET, и она позволяет выполнять неподписанный код, что полностью ломает технологию Secure Boot. Компания Binarly в своем исследовании дополнила эту историю. Стандартный способ борьбы с уязвимым кодом в UEFI — запретить его выполнение, добавив драйвер в специальный список. Как выяснилось, последние полгода организация UEFI Forum распространяла устаревший список отозванных драйверов, в котором не было данных о свежеобнаруженном проблемном ПО. Microsoft ведет отдельный черный список, который распространяется пользователям Windows вместе с другими обновлениями. Но на данные UEFI Forum могут полагаться другие компании. В частности, производители железа, распространяющие такой же UEFI Revocation List в собственных прошивках. По данным компании Binarly, в массиве из 5000 недавно выпущенных прошивок 60% содержали устаревшие отзывные списки.
Набор данных конкретного автомобиля, к которому мог получить доступ потенциальный злоумышленник, включает точную геолокацию минимум за год. Координаты автомобиля сохраняются в системе STARLINK каждый раз, когда запускается двигатель или пользователь обращается к системе STARLINK. Кроме того, можно удаленно разблокировать двери автомобиля. Хотя проблема и была закрыта после того, как Сэм сообщил о ней производителю, стоит отметить общую небезопасность данной инфраструктуры: доступ к геолокации и удаленной разблокировке дверей в теории может получить любой сотрудник дилерского центра, если он имеет доступ к соответствующему веб-порталу.
Исследование веб-сервисов Subaru началось после того, как Сэм Карри приобрел автомобиль этой марки. Самое интересное, что попытка найти уязвимости «в лоб», анализируя сетевой обмен клиентского приложения на смартфоне с серверами Subaru, успехом не увенчалась. По опыту своих предыдущих исследований, Сэм начал поиск специализированных корпоративных сервисов и успешно нашел веб-портал, предназначенный для администрирования системы STARLINK. Анализируя код javascript на странице входа в сервис, он обнаружил, мягко говоря, большую неисправность: функцию для сброса пароля пользователя без какой-либо проверки или уведомлений.
Для ее работы требовалось знать e-mail зарегистрированного пользователя. Это не составило особой проблемы. В компании Subaru, как и во многих других, используется довольно распространенная форма адреса: [первая_буква_имени][фамилия]@subaru.com. В соцсети LinkedIn были обнаружены несколько сотрудников, в профиле которых указана работа над STARLINK. На основе данных об их именах удалось составить список предполагаемых адресов электронной почты, один из которых оказался валидным.
Пароль для этой учетной записи был сброшен при помощи упомянутой функции, спрятанной в коде страницы веб-портала. Дальше исследователей встретила функция двухфакторной аутентификации, но ее удалось просто скрыть, отредактировав код страницы. Для доступа к данным на любой автомобиль в системе достаточно было знать фамилию владельца и один параметр из списка: почтовый индекс, номер телефона, адрес электронной почты или VIN-номер. Очевидно, что вся эта информация добывается достаточно легко из публичных источников. Нельзя взломать абсолютно все автомобили Subaru, подключенные к STARLINK, но перехватить доступ к конкретному автомобилю вполне реально.
Ввод этих данных позволяет подключить к учетной записи еще одного пользователя — что в норме должен делать только владелец автомобиля. Владелец о добавлении пользователя никак не узнает, никакого уведомления в двух разных экспериментах не приходило. А дальше уже можно без проблем анализировать данные об автомобиле и его владельце. Анонимный пользователь мог получить доступ к персональным данным, к уже упомянутой геолокации, а также мог в любой момент открыть двери автомобиля.
К чести сотрудников Subaru, они закрыли уязвимость всего за один день. Но это далеко не единственный пример, когда приватная информация об автовладельцах оказывается крайне плохо защищена. Тот же Сэм Карри в конце 2022 года обнаружил целую пачку уязвимостей у 16 разных автомобильных брендов, от BMW до Toyota. Мы подробно писали об этой работе здесь. В 2019 году он же обнаружил уязвимость в клиентском сервисе Hyundai, которая также позволяла удаленно разблокировать автомобиль.
Но помимо вопроса безопасности инфраструктуры, которую автопроизводителям явно надо подтянуть, подобные исследования регулярно поднимают вопрос приватности пользовательских данных. В конце прошлого года мы писали об утечке геолокации владельцев автомобилей Volkswagen. Как и в случае с Subaru, возникает вопрос, зачем вообще автопроизводители собирают настолько чувствительные данные о своих клиентах и можно ли каким-то образом этот сбор ограничить. Да, геолокация может быть полезной самим автовладельцам, когда они забыли, где припарковали автомобиль. Но зачем хранить данные минимум за год, а то и за много лет?
Наконец, разрешение на сбор таких данных автопроизводители часто получают в случае подписки на онлайн-сервисы. От нее в теории можно и отказаться, возможно, потеряв значительную часть функциональности. Наконец, даже полностью безопасный «снаружи» сервис Subaru все равно, как выясняется, уязвим изнутри: в автоиндустрии распространена практика, когда доступ к таким важным персональным данным получают не только сотрудники компании, но и работники дилерских центров по всему миру.
Что еще произошло
На прошлой неделе обсуждалась атака на пользователей компьютеров Apple, которые хотят установить популярный набор программ Homebrew. В поиске Google были обнаружены платные объявления, показывающиеся перед «нормальными» результатами поиска и ведущие на поддельный сайт с вредоносным программным обеспечением. Это уже давно известная тактика со множеством примеров, давняя проблема рекламных баннеров в результатах поиска, которую Google никак не может решить. В данном случае злоумышленники смогли сформировать объявление так, что в нем был показан URL легитимного сайта Homebrew, хотя клик по баннеру уводил потенциальную жертву на совсем другую страницу.
Интересная проблема с геолокацией обнаружилась в сервисе Cloudflare. Она позволяет очень грубо определить локацию пользователя в чате Discord по тому, какой именно дата-центр Cloudflare кэширует отправленную пользователю картинку. С высокой вероятностью этот ЦОД будет ближайшим к пользователю, но погрешность такого «измерения» может составлять сотни километров.
На прошлой неделе мы сообщали об уязвимости в драйвере UEFI. Проблему нашли в компании ESET, и она позволяет выполнять неподписанный код, что полностью ломает технологию Secure Boot. Компания Binarly в своем исследовании дополнила эту историю. Стандартный способ борьбы с уязвимым кодом в UEFI — запретить его выполнение, добавив драйвер в специальный список. Как выяснилось, последние полгода организация UEFI Forum распространяла устаревший список отозванных драйверов, в котором не было данных о свежеобнаруженном проблемном ПО. Microsoft ведет отдельный черный список, который распространяется пользователям Windows вместе с другими обновлениями. Но на данные UEFI Forum могут полагаться другие компании. В частности, производители железа, распространяющие такой же UEFI Revocation List в собственных прошивках. По данным компании Binarly, в массиве из 5000 недавно выпущенных прошивок 60% содержали устаревшие отзывные списки.