Эксперты из компании IOActive продемонстрировали, что беспилотные летательные аппараты уязвимы перед side-channel атаками EM fault injection (EMFI, «Электромагнитное внедрение ошибок»), которые позволяют запустить вредоносный код на устройстве..
Для своих опытов исследователи выбрали одну из популярных моделей дронов — DJI Mavic Pro. Они отмечают, что DJI является хорошо зарекомендовавшим себя производителем, который уделяет особое внимание безопасности своих продуктов, в том числе использует зашифрованные прошивки, а также Trusted Execution Environment (TEE) и Secure Boot.
Атаковать дрон можно используя разные векторы, включая серверную часть, его мобильное приложение, радиочастотную связь и само физическое устройство. Эксперты пошли по пути атаки на само устройство и использовали электромагнитное излучение для реализации атак типа EMFI.
В ходе первого эксперимента исследователи попытались использовать электромагнитное излучение для получения ключа шифрования и с его помощью расшифровать прошивку. Они нашли область на печатной плате дрона с сильным электромагнитным сигналом, разместили там зонд и в итоге записали достаточно данных для извлечения ключа.
После определения зоны с самым сильным сигналом, эксперты пытались понять, как обойти проверку подписи, которая происходит перед расшифровкой прошивки. После нескольких дней тестов и анализов данных обнаружилось, что вероятность успешного обхода подписи составляет менее 0,5%. Фактически это делало восстановление ключа невозможным.
Тогда аналитики IOActive пошли другим путем и взяли за основу идеи, ранее опубликованные специалистами Riscure. В своем исследовании те предлагали спровоцировать сбой, чтобы заставить одну инструкцию трансформироваться в другую и захватить контроль, например, над реестром ПК.
В итоге в IOActive собрали установку, которую можно видеть на иллюстрации ниже. Для реализации атаки им потребовался ноутбук (используемый в качестве контроллера), блок питания, Spider от Riscure (используемый для генерации триггера), осциллограф, XYZ стол и генератор импульсов EMFI.
Фактически, использование электромагнитных сигналов для повреждения памяти оказалось возможно применить для доставки полезной нагрузки, обеспечивающей выполнение кода. Злоумышленник может использовать такой эксплоит для захвата контроля над конкретным устройством, утечки конфиденциальных данных, включения доступа к ADB и «слива» ключей шифрования.
«Мы продемонстрировали, что можно скомпрометировать целевое устройство, внедрив определенный электромагнитный сбой в нужное время во время обновления прошивки. Это позволит злоумышленнику добиться выполнения кода на основном процессоре [устройства] и получить доступ к ОС Android, которая реализует основную функциональность дрона», — рассказывают эксперты.
Исследователи резюмируют, что в ходе этих испытаний они пытались понять, возможны ли в целом подобные атаки на сложное и современное устройство. Поскольку удалось доказать, что получение контроля над устройством во время обработки прошивки возможно, следующим шагом станет применение полученных знаний на другой модели DJI, не имеющей ранее известных уязвимостей, и создание фактического эксплоита.