Это региональный этап 2026 по КИБАТС, файлы для выполнения лежать на ЯД, внутри гита документация и рекомендации
Ссылка на файлы https://disk.yandex.ru/d/hRNTxnsgCIw-iA
Региональный этап Чемпионата высоких технологий – «Конструктивная информационная безопасность автономных транспортных систем» (КИБАТС)
Длительность: 15 ч (4 модуля по 4, 4, 3, 4 ч).
Среда: Jupyter Notebook, тестирование в симуляторе (без робота).
Модуль А (4 ч) – Кибериммунная архитектура (светофор)
- Задания: сформулировать ЦБ и ПБ, реализовать классы
Event,Monitor,ControlSystem,LightsGPIO, заполнитьALLOWED_STATES. - Рекомендации:
- ЦБ должны быть чёткими (субъект, действие, объект), минимум 2. ПБ – минимум 2, описывают доверенные компоненты.
ALLOWED_STATES– список словарей с полямиcar_green,ped_greenи др. Исключите одновременное включение зелёного для машин и пешеходов.Monitorдолжен быть единственной точкой, через которую проходят все команды.ControlSystemотправляет события в очередь монитора, а не напрямую вLightsGPIO.- Архитектурная диаграмма должна отражать поток: ControlSystem → Monitor → LightsGPIO.
Модуль Б (4 ч) – Монитор безопасности (3 политики)
- Политика Б.1 (whitelist): проверяет, что
paramsсобытия входят вALLOWED_STATES. Иначе – блокировка. - Политика Б.2 (логирование): при нарушении записывает
timestamp,source,operation,params. - Политика Б.3 (rate limiting): не более 5 событий/сек от одного источника; при 14 из 20 – блокировка источника.
- Рекомендации:
- Реализуйте каждую политику как отдельную функцию, зарегистрированную в мониторе.
- Используйте
datetime.now()дляtimestamp. - Для rate limiting – храните очередь времени событий по каждому источнику.
Модуль В (3 ч) – Нейтрализация киберпрепятствий (CybTL_01–04)
- CybTL_01 – инъекция запрещённого состояния (проверка через whitelist).
- CybTL_02 – подмена источника (проверка по списку доверенных источников).
- CybTL_03 – DoS-флуд (rate limiting по источнику).
- CybTL_04 – Replay-атака (проверка
timestamp– отклонять события старше 1 секунды). - Рекомендации:
- Все защиты должны быть реализованы в мониторе (как политики или отдельные методы).
- Тесты (готовые ячейки) должны проходить без ошибок.
Модуль Г (4 ч, вариатив) – Интеграция с внешними системами
- Задания: реализовать класс
CitySystemConnectorс методамиget_command_from_city()иsend_command_to_monitor(), добавить политику авторизации в монитор (команда проходит только приfrom_city=Trueиauthorized=True). - Рекомендации:
send_command_to_monitor()должен создаватьEventс флагомfrom_cityи отправлять его в очередь монитора.- Политика авторизации должна проверять оба флага. Не допускайте прямого вызова
LightsGPIOиз коннектора. - Тесты (модуль Г) должны подтверждать, что неавторизованные команды отклоняются.