дрон ExpressLRS MD5 уязвимость NCC Group
Для захвата контроля над радиоуправляемым дроном достаточно иметь стандартный передатчик, совместимый с ExpressLRS.
ExpressLRS – это система радиоуправления, которая разрабатывается сообществом как opensource проект. Отличается высокой частотой обновления пакетов, обеспечивая внушительную дальности радиосвязи. Существует в двух вариантах частотного диапазона, 2.4ГГц и 900МГц
Эксперты из NCC Group сообщают, что бреши в защите протокола ExpressLRS могут позволить хакерам получить полный контроль над дроном или создать проблемы с управлением, которые могут привести к печальным последствиям.
Все уязвимости находятся на стадии сопряжения приемника (или дрона с приемником) и передатчика. Для сопряжения ExpressLRS использует биндинг-фразу, которая гарантирует что правильный приемник соединен с правильным передатчиком. В ExpressLRS биндинг-фраза используется не для обеспечения безопасности, а для защиты от коллизий.
Все бреши связаны с уязвимостями в фазе сопряжения, позволяющими извлечь часть уникального идентификатора биндинг-фразы (UID), соединяющей приемник и передатчик. После этого можно использовать анализ и перебор для определения оставшейся части UID. Как только полный идентификатор будет найден, злоумышленник сможет использовать свой передатчик для управления дроном с установленным внутри приемником.
Кроме этого, специалисты отметили еще два момента:
Биндинг-фраза зашифрована с помощью MD5 – нерабочего алгоритма хэширования.
Пакеты, которыми обмениваются приемник и передатчик для синхронизации допускают утечку части идентификатора биндинг-фразы.
Теперь можно перейти к 3 уязвимостям, обнаруженным специалистами из NCC Group. Каждая из них позволяет обнаружить 4 байта UID, которые требуются для захвата контроля над соединением между приемником и передатчиком:
Пакет синхронизации содержит последние три байта UID. Последний байт можно получить с помощью метода перебора.
Инициализатор CRC использует последние два байта UID, отправленные с пакетом синхронизации, что значительно упрощает CRC-проверку.
Эта уязвимость появляется во время псевдослучайной перестройки рабочей частоты (FHSS). Из-за недостатков в генераторе случайных чисел вторые 128 значений последнего байта UID дают ту же последовательность FHSS, что и первые 128.
В бюллетене специалисты рекомендуют не оправлять UID и данные для генерации FHSS по каналу управления дроном. Эксперты также посоветовали усовершенствовать генератор случайных чисел, используя более безопасный алгоритм или скорректировав существующий алгоритм для работы с повторяющимися последовательностями.
SECURITYLAB.RU