С развитием технологий автомобили всё больше напоминают компьютеры на колесах. Их электронные системы становятся сложнее, а количество уязвимостей в них растёт вместе с необходимостью использования мобильных устройств для управления и диагностики. Одним из ключевых сервисов, позволяющих взаимодействовать с автомобилями, являются приложения, использующие интерфейс OBD-II, который служит стандартным портом доступа к бортовым компьютерам автомобилей. Недавно исследователи безопасности выявили критическую уязвимость в приложении для диагностики автомобилей на платформе Android — XTool AnyScan, разработанном китайской компанией Xtooltech. Эта уязвимость позволяет злоумышленникам удалённо выполнять произвольный код на мобильном устройстве пользователя, а также управлять подключённым автомобилем, создавая серьёзную угрозу безопасности и конфиденциальности.
Причина таких уязвимостей кроется в нарушениях правил безопасности при реализации обновлений и неверной конфигурации криптографических библиотек внутри приложения. XTool AnyScan использует собственный механизм скачивания и установки плагинов, которые необходимы для функционирования. Вместо того чтобы обновляться через официальный магазин Google Play, приложение обращается к своему серверу обновлений и загружает плагины напрямую, нарушая рекомендации Google. Этот факт уже вызывает опасения, так как обход стандартных процедур обновления открывает дверь для потенциальных атак. Помимо этого, приложение допускает крайне небезопасную обработку защищённого соединения TLS.
В нормальных условиях при работе с HTTPS Android-платформа проверяет подлинность сертификатов через TrustManager — встроенный компонент, обеспечивающий безопасность обмена данными. Однако в XTool AnyScan реализация TrustManager была полностью переписана с ошибками, в результате чего все сертификаты считаются допустимыми без проверки. Такая неправильно настроенная проверка позволяет злоумышленнику встать на пути передачи данных между приложением и сервером, используя, например, поддельный сертификат и расположившись в роли посредника (man-in-the-middle). В итоге возможно искажение данных обновлений и загрузка вредоносных плагинов. Исследователи обнаружили и раскрыли дополнительные проблемы, связанные с криптографией.
Для шифрования данных обновлений используется устаревший и небезопасный алгоритм DES с 56-битным ключом, который уже много лет признан слабым и не соответствует современным требованиям безопасности. Ключ и вектор инициализации (IV) были обнаружены прямо в исходном коде приложения, что упрощает расшифровку данных и анализ уязвимостей. Собранные атаки на обновление приводят к тому, что мошенники могут составить специально подготовленные плагины с вредоносным кодом и заставить приложение загрузить и выполнить их на устройстве пользователя без какого-либо уведомления или запроса разрешения. Приложение безусловно доверяет скачанным плагинам и запускает их на уровне нативного кода. Более того, вредоносный плагин может функционировать вместе с легитимными компонентами, что затрудняет обнаружение изменений пользователем.
Такой компромисс даёт злоумышленнику повышенные привилегии и доступ к множеству разрешений, предоставленных приложению. Среди них доступ к камере, геолокации, файловой системе и Bluetooth, что создаёт предпосылки для более масштабных атак — от слежки до распространения вредоносного ПО и майнинга криптовалют. Ещё более тревожна возможность управления автомобилем через подключённое диагностическое устройство XTool A30M. Оно подключается к порту OBD-II и содействует обмену командами между приложением и бортовой электроникой машины по Bluetooth. С этим интерфейсом можно воздействовать не только на диагностику двигателя, но и на более опасные функции — открытие дверей, управление сигнализацией и даже воздействие на акселератор.
Переход вредоносного кода из мобильного устройства к машине создаёт уникальную и опасную атаку с серьёзными последствиями для безопасности человека и его имущества. Несмотря на то что многие автопроизводители усиливают защиту своих систем, уязвимости таких диагностических устройств и приложений могут стать удобным начальным входом для более комплексных атак. В условиях роста числа киберпреступлений, направленных на автомобили, своевременное исправление подобных ошибок является жизненно важным. Пользователям рекомендуется отказаться от использования приложения XTool AnyScan до тех пор, пока все выявленные уязвимости не будут устранены разработчиком. Временной мерой безопасности станет использование приложения только в условиях доверенных сетей, а также удаление и повторная установка очистит возможные вредоносные плагины.
Разработчикам приложений на Android стоит учитывать главные уроки данной уязвимости: самостоятельно создавать системы обновления опасно, если их реализация не соответствует строгим стандартам; обязательна полноценная проверка TLS-сертификатов при установлении соединений — ни при каких условиях не следует игнорировать или обходить этот процесс. Аналогичные ошибки могут сыграть злую шутку и при других приложениях, работающих с удалённым кодом или обновлениями. В современном мире, когда интерфейсы взаимодействия автомобилей с внешними устройствами становятся всё шире, кибербезопасность выходит на первый план в вопросах защиты не только данных, но и жизни и здоровья. Уязвимости мобильных приложений, как в случае с AnyScan, представляют собой редкую, но крайне опасную комбинацию элементов — управление мобильным устройством и подключённым транспортным средством, отдающее злоумышленнику полный контроль. Именно поэтому вышеупомянутые проблемы требуют максимального внимания от всех участников рынка — разработчиков, производителей автомобилей и конечных пользователей.
Неприятный тренд роста автомобильных атак подчеркивает необходимость комплексного подхода к проверке и обеспечению безопасности всех компонентов, связывающих мобильные устройства и транспортные средства. Современный мир диктует новые стандарты безопасности, и ошибки в программном обеспечении перестают быть просто техническими дефектами, превращаясь в реальные угрозы для жизни людей и дорогостоящих активов.