Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning

Мы атаковали реальные авто, используя Deep Learning для генерации знаков дорожного движения. В этом помогли мощный GPU и коммерческая печать.

Обманули автомобиль: спуфинг дорожных знаков и Deep Learning

Современные авто анализируют визуальные данные с помощью Deep Learning, чтобы «понять» обстановку вокруг. Компьютерное зрение используется для распознавания дорожных знаков, дорожной полосы, для автоматической парковки и так далее.

Наша атака хороша тем, что является 100% чёрным ящиком. Не нужно знать ни торговый код, ни внутреннее устройство, как, например, архитектура нейронной сети автомобиля или его вес. По правде говоря, есть все основания полагать, что атака работает и с legacy-системами компьютерного зрения.

https://youtu.be/Lmuh8nFYSqk

При первой мысли об информационной безопасности на ум приходят взламывающие устройства, обратная разработка, пароль админа, эксплуатация уязвимостей софта для удалённого выполнения кода, выполнение произвольного кода и повышение привилегий. Требуемый набор навыков традиционного хакера включает реверс-инжиниринг, сетевую безопасность, внутреннее устройство ОС и многое другое. В этой статье мы поговорим о нетрадиционном хакинге системы распознавания знаков дорожного движения.

Современный автомобиль – Уязвимая серверная ферма на колёсах

Чем больше прибыли приносят автомобили, тем сложнее они становятся. В среднем, современный, лидирующий на рынке автомобиль содержит 100 миллионов строк кода – это больше, чем в военных системах или большом адронном коллайдере, и чуть меньше количества спаренных оснований в ДНК мышей. Это сложнее науки о ракетах.

Количество ЭБУ (Электронный блок управления – по сути, автономный компьютер) варьируется от десяти до более чем ста с функциями WiFi, Bluetooth и сотовыми соединениями. Автомобили стали серверными фермами, постоянно подключёнными к интернету, с большими вычислительными мощностями, включая CPU и GPU. Каждый год производится 70,000,000 автомобилей, а один миллиард уже на дорогах.

Обманули автомобиль: спуфинг дорожных знаков и Deep Learning

Мотивация для хакеров

У атак на автомобили огромная мотивация – можно получить доступ к личной информации, контактам или использовать автомобиль в DDoS и других традиционных атаках. Могут быть введены новые экзотические атаки типа вымогателей (заплати, чтобы открыть), атаки на GPU для майнинга криптовалют (и плати за электричество), управление автономной машиной для доставки грузов в нужное место, комбинации спуфинга дорожных знаков и подавления GPS (не трогая ни одну строчку кода).

Уязвимости

  1. Классификаторы, основанные на Deep Learning подвержены состязательным атакам. Это значит, что визуальные ML-классификаторы, которые ожидают определённый дорожный знак (к примеру, 50 км/ч), не могут правильно обрабатывать все изображения, правильно интерпретируемые человеком. Здесь открывается возможность преднамеренного создания изображений дорожных знаков, которые будут пониматься водителем и системой распознавания по-разному.
  2. Переносимые атаки. В отличие от традиционных уязвимостей, где фрагментация рыночных устройств играет на руку информационной безопасности (уязвимость, найденная в стеке смартфона, скорее всего, не затронет стек другого смартфона), рассматриваемые атаки слабо зависят от архитектуры нейронных сетей и конкретной реализации. Перемещаемость означает, что атака на одну модель автомобиля с большой вероятностью будет эффективна и для других моделей, даже от другого поставщика.

Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning

Осуществление атаки: преимущества для хакера

Спуфинг нейронной сети автомобиля:

  1. Можно осуществить незаметно для человека.
  2. Невозможно обнаружить классическими мерами информационной безопасности.
  3. Дёшево и легко реализовать.
  4. Применим к устаревшим системам компьютерного зрения.
  5. Чёрный ящик. Не требует «исходного кода» (хотя был бы эффективней при наличии).

Осуществление атаки: трудности

Искажение изображения должно быть:

  1. Довольно сильным: условия, такие как разные точки обзора, расстояние, освещение, преграждение и так далее.
  2. Незначительным и воспринимаемым человеком как нечто натуральное, например, износ, грязь, «случайный» вандализм.

Два условия явно противоречат друг другу, что затрудняет реализацию.

Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning
Спуфинг дорожных знаков – грязный для невооружённого глаза, вредоносный для автомобиля

Атака

В основе лежит несколько научно-исследовательских работ, среди которых  DARTS (Deceiving Autonomous Cars with Toxic Signs). Мы построили состязательную фабрику, которая выпускает реальные знаки.

Конвейер фабрики состоит из трёх фаз, а именно: File-to-file, TV-in-the-loop и Real world. Конвейер включает случайные преобразования, согласованные с эффектами реального мира.

Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning
Знаки для атаки: цветной против монохрома – какой менее незаметен?

File-to-file

Атакуем наш собственный классификатор, получая высокую вероятность успеха. На этой фазе алгоритм работает на уровне файлов, вне реального мира.

Обманули автомобиль: спуфинг дорожных знаков и Deep Learning

TV-in-the-loop

Вводим варианты реального мира, показываем камере состязательные знаки по ТВ и атакуем собственный классификатор. Использование ТВ позволило нам ввести преобразования реального мира, такие как наклон, яркий свет и другие. Сетап запускался с повторениями и ручным изменением ориентации и освещения для оценки атак в контролируемой среде.

Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning
Конвейер TV-in-the-loop

Физические изменения были определены установкой относительных углов между камерой и ТВ, а также проверкой условий освещения. Шанс успеха измерялся в процентах от углов обзора, в которых состязательным знакам удавалось обмануть классификатор. Эта техника позволила масштабировать процесс создания состязательных знаков с помощью оценки тысяч конфигураций, как в окружении симулятора реального мира.

Самые эффективные состязательные знаки смогли обмануть классификатор более чем в 90% от всех углов обзора и условий освещения.

Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning
Фаза TV-In-the-loop. Захват изображения знака 80 км/ч после спуфинга

Реальный мир, реальная машина, реальный классификатор

На последней фазе мы распечатали самые успешные знаки в реальном размере и на материале дорожных знаков. Так как тип нашей атаки – это чёрный ящик, мы можем определить только эффективность распечаток на данной стадии. Выполняя роль атакующего, мы можем выбрать знак для атаки. Конечно, мы выберем знаки, которые лучше всех прошли фазу TV-in-the-loop.

Со всем этим мы пошли в аренду авто и взяли машину с системой камерного распознавания. В самой машине не было ничего необычного: обычный компактный седан. Если не брать во внимание то, что это первый автомобиль, когда-либо атакованный состязательными знаками.

Последовательность эксперимента

  • 14 поддельных знаков.
  • 14 нормальных знаков.
  • Повторение поездок с нормальными и состязательными знаками.
  • Повторение – днём, утром и вечером.

Результаты

  • Шесть знаков успешно обманули систему распознавания утром, днём и вечером.
  • Четыре вызвали DoS – периодическое «зависание» системы в течение минуты. Этот неожиданный результат нас удивил, и мы считаем это успешной атакой.
Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning
SMART Range, Sde Teiman, Be’er Sheva, Israel

Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning

Обмануть автомобиль: спуфинг дорожных знаков и Deep Learning
Команда HARMAN устанавливает тестовый трек в SMART Range, Israel
Как обмануть авто: спуфинг дорожных знаков и Deep Learning
Состязательный знак в 100 км/ч успешно классифицирован как 120км/ч.

Резюме

  • Атаки дешёвые и легко изготавливаемые.
  • Современные автомобили более уязвимы, чем вы могли бы подумать.
  • Эксперименты с реальной машиной подтверждают уязвимость системы распознавания.
  • Необходимы – навыки Data scientist, GPU, данные и опыт обучения нейронных сетей.

Deep Learning для хакерских атак: да или нет?

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Продуктовый аналитик
Екатеринбург, по итогам собеседования
DevOps
Санкт-Петербург, от 150000 RUB до 400000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ