Система тестирования кибербезопасности автомобиля
Испытательная система имитации кибератак Automotive Cyber Security (ACS)
Технические характеристики
- Интерфейсный модуль CAN 2.0: количество портов 2, максимальная скорость 500 кбит/с.
- Интерфейсный модуль CAN-FD: количество портов 3, максимальная скорость до 2 Мбит/с.
- Модуль интерфейса WI-FI: HW 802.11 b/g/n, максимальная скорость до 300 Мбит/с на частоте 2,4 ГГц. Поддержка шифрования WEP, WPA, WPA2, TKIP и AES.
- Интерфейсный модуль Bluetooth v5.0: расстояние до 10 м, скорость передачи данных до 2 Мбит/с, совместимость со всеми предыдущими версиями 4.0, 3.0, 2.0 и 1.0
- Модуль IP-атак на автомобильный Ethernet: 2 порта 1000 BASE-T1 физического интерфейса с поддержкой протоколов UDP PTP.
- Интерфейсный модуль 4G, 5G LTE: LTE версии 12,13 и 14, полоса пропускания до 20 МГц, частота 5,9 ГГц.
Программное обеспечение ACS (Automotive Cyber Security) имеет следующие особенности:
• Настраиваемая генерация отчетов:Ввод данных конфигурации пользователя через пользовательский интерфейс, таких как описание тестируемой системы, топология системы, типы интерфейсов, алгоритм шифрования, матрица CAN и формат отчета об испытаниях в соответствии с ISO 2134, UNECE WP29, анализ угроз и оценка рисков (TARA - Threat Analysis and Risk Assessment), приемлемые пороговые значения риска и т. д.
• Анализ и запись:
Программное обеспечение может анализировать данные и записывать их в файл при необходимости, а также обнаруживать изменение конкретных данных полезной нагрузки, когда пользователю необходимо знать, какие данные полезной нагрузки отвечают за определенную функцию в транспортном средстве (т.е. пользователь хочет знать, какой идентификатор отвечает за сигнал запроса на торможение или складывание зеркал... и т.д.), чтобы он мог позже использовать его для проверки на проникновение.
• Повтор:
Повторное воспроизведение записанного файла журнала с теми же временными метками и отправка обратно в SUT.
• Атака «Человек посередине»:
Считывание данных через один из аппаратных интерфейсов, а затем внесение некоторых изменений в данные полезной нагрузки через пользовательский интерфейс (добавление кода аутентификации сообщения MAC к полезной нагрузке или внедрение поддельного сигнала в раздел данных) и повторной отправки с использованием данных того же или другого физического интерфейса.
• Текстовый редактор скриптов:
Для написания пользовательских скриптов на Python или Linux Shell и тестовых последовательностей пользователем в соответствии с архитектурой тестируемой системы (SUT), чтобы можно было выполнять функциональное тестирование безопасности (например, AUTOSAR SecOC, пользовательские криптографические модули, функции, специфичные для поставщика и т. д.)
• Фаззинг:
Внедрение случайных и нерегулярных заголовков кадров и данных полезной нагрузки в тестируемую систему и проверки ответа.
• Атака типа «отказ в обслуживании»:
Для сетей CAN осуществляется внедрение высокоприоритетных CAN-сообщений для предотвращения возможности обмена данными с другими модулями транспортного средства.
• Тест на проникновение:
Отправка очень достоверных и структурированных поддельных данных в SUT и проверки как отрицательных, так и положительных ответов (также необходим визуальный осмотр пользователем).
• Обновляемая база данных:
Для хранения некоторых известных атак и тестовых сценариев, а также возможность добавлять и сохранять новые сценарии атак для использования в последующих тестах.
• Модульные интерфейсы:
Программное обеспечение ACS может взаимодействовать с новыми аппаратными интерфейсными модулями для осуществления кибератак, таких как WI-FI, автомобильный Ethernet, FlexRay, Bluetooth, LTE и т. д.
Дополнительные функции
Помимо вышеупомянутых функций, программное обеспечение ACS имеет возможность использовать готовые инструменты для атак и проникновения (т. е. библиотеки атак и проникновения в Linux).Для функциональных модулей безопасности, специфичных для поставщика, программное обеспечение ACS может предоставлять текстовый редактор сценариев для реализации оператором пользовательских функций; эта функция может вызываться исполнителем теста для получения необходимого хэша/кода аутентификации и отправки его через физический интерфейс для выполнения атаки.
Высокоуровневая архитектура
Тестовая система ACS имеет следующие компоненты и функции:
• Пользовательский интерфейс: установлен на ПК с ОС Windows, его основная функция — запуск мастера настройки пользователя для отправки его на машину Linux через модуль связи Ethernet, отображение статуса и результатов тестирования.
• Тестовая система :
работает на ПК с ОС Linux, ее основные функции:
- Получение всех данных о конфигурации пользователя через модуль связи Ethernet.
- Инициализация модулей интерфейса и генерации отчетов в соответствии с конфигурацией пользователя.
- Проверка выбранного метода атаки и вызов соответствующей реализованной функции для запуска.
- Планирование и синхронизация вызовов нескольких функций и последовательности атак для пользовательских скриптов в соответствии с их временными метками.
- Отправление текущего состояния программного обеспечения через модуль связи в пользовательский интерфейс.
- Считывание и сохранение трафика физического интерфейса во временном файле журнала до и после каждого выполнения атаки, определение реакции SUT, сравнение этих файлов.
- После каждой атаки открывается всплывающее текстовое окно, чтобы добавлять заметки и комментарии оператора по результатам визуального осмотра.
- Сохранение всех результаты тестов, указанные в пунктах 6 и 7, в модуле базы данных и удаление временных файлов.
- Формирование отчета об испытаниях в соответствии с пользовательской конфигурацией и сохраненными файлами в п.8.
- Отправка созданного отчета в пользовательский интерфейс для отображения и сохранения на ПК с ОС Windows.