Взлом судовой навигации через NMEA 2000 ⚓️
Автономные суда внедряются повсеместно, но базируются они на стандартах 30-летней давности. Речь про NMEA 2000 - шину, которая связывает на борту всё: от радаров и GPS до двигателей и автопилота.
NMEA 2000 - это, по сути, обычная CAN-шина, хорошо знакомая нам в автопроме. Те же два провода, та же физика сигнала. Разница лишь в скорости (медленные 250 кбит/с против автомобильных 500+) и формате сообщений.
Это значит, что если вы умеете ломать машины, вы уже умеете ломать лодки.
https://www.youtube.com/watch?v=yLV3_MxXhkk исследователь показал, к чему приводит отсутствие аутентификации в этом протоколе.
Векторы атаки 🎯
1️⃣ GPS-спуфинг без радиоэфира
Обычно для подмены координат нужны дорогие SDR-трансиверы, глушащие спутники. Здесь всё проще: эмулятор GPS подключается напрямую к проводам судна. Система начинает получать ложные PGN (пакеты данных) с "новыми" координатами, скоростью и курсом. Автопилот слепо верит этим данным, даже если они ведут на скалы.
2️⃣ Перехват управления
Устройства в сети NMEA динамически разбирают адреса. Злоумышленник может отправить пакет с более высоким приоритетом и выбить из сети реальный датчик (например, эхолот или компас), заняв его место. Капитанский мостик продолжит получать данные, но теперь они будут фальшивыми.
3️⃣ DoS
Шина не имеет защиты от флуда. Достаточно дешевого микроконтроллера, чтобы забить канал мусором. Экраны навигации зависнут, управление потеряет связь с датчиками.
Инструментарий 🛠
Для реализации атаки не нужно спецборудование за тысячи долларов:
➖ M5Stack (ESP32): Дешевый контроллер за $10 с CAN-модулем отлично притворяется дорогим морским шлюзом.
➖ http://Comma.ai/ Panda: Инструмент, изначально созданный для автопилотов, прекрасно работает и здесь, так как физический уровень сигнала идентичен.
Индустрия строит автономный флот на фундаменте из дырявых протоколов. В открытом море отказ электроники или подмена данных эхолота - это не просто неудобство, а прямой риск потери судна.
🚙
https://t.me/AutoVisorInfo