Группа исследователей в области безопасности обнаружила, что несколько современных моделей автомобилей Honda имеют уязвимый механизм скользящего кода, который позволяет разблокировать автомобили или даже запустить двигатель удаленно.
Эта уязвимость, получившая название Rolling-PWN, позволяет проводить повторные атаки, когда злоумышленник перехватывает коды от брелока к автомобилю и использует их для разблокировки или запуска автомобиля.
Исследователи утверждают, что протестировали атаку на моделях Honda в период с 2021 по 2022 год, в том числе на популярных моделях, представленных ниже:
Honda Civic 2012
Honda X-RV 2018
Honda C-RV 2020
Honda Accord 2020
Honda Odyssey 2020
Honda Inspire 2021
Honda Fit 2022
Honda Civic 2022
Honda VE-1 2022
Honda Breeze 2022
Система бесключевого доступа в современных автомобилях основана на скользящих кодах, создаваемых алгоритмом генератора псевдослучайных чисел (PRNG), чтобы гарантировать использование уникальных строк при каждом нажатии кнопки брелока.
Механизм скользящего кода был введен для предотвращения исправленных недостатков кода, которые делали возможными атаки типа «человек посередине» с повторным воспроизведением, подобные той, которую мы рассмотрели в марте, которая все еще может быть использована в более старых моделях.
В транспортных средствах есть счетчик, который проверяет хронологию сгенерированных кодов, увеличивая счетчик при получении нового кода. Однако принимаются нехронологические коды для случаев случайного нажатия брелка или когда автомобиль находится вне зоны действия.
Исследователи Kevin2600 и Уэсли Ли обнаружили, что счетчик в автомобилях Honda ресинхронизируется, когда автомобиль получает команды блокировки/разблокировки в последовательной последовательности. Это заставляет автомобиль принимать коды из предыдущего сеанса, которые должны были быть признаны недействительными.
Злоумышленник, оснащенный программно-определяемым радиооборудованием (SDR), может перехватить последовательную последовательность кодов и воспроизвести их позже, чтобы разблокировать автомобиль и запустить его двигатель.