Files
KIBATS/readme.md
T
2026-07-07 12:12:47 +00:00

21 KiB
Raw Blame History

1. Общая информация о компетенциях

1.1. «Кибериммунная автономность» (КИА)

Эта компетенция входит в чемпионат «Профессионалы». Её суть — разработка систем защиты для автономных робототехнических систем, способных противостоять киберугрозам и внутренним сбоям.

Что нужно уметь:

  • Запускать и инициализировать робототехническую систему (цифровой двойник и физического робота).
  • Формулировать цели и предположения безопасности.
  • Выделять критический функционал системы.
  • Разрабатывать и внедрять модуль безопасности на Python.
  • Писать код для журналирования событий и противодействия киберпрепятствиям (КП).

Легенда заданий (вариативна, но есть типовые сценарии):

  • Обслуживание нефтеперерабатывающего производства.
  • Лунная миссия по обслуживанию энергетического реактора.
  • Военный сценарий с разминированием и поражением целей(спасибо никите за данный щедевр)

1.2. «Конструктивная информационная безопасность автономных транспортных систем» (КИБАТС)

Эта компетенция входит в Чемпионат высоких технологий. Участники создают архитектуры и механизмы безопасности для инфраструктуры автономного транспорта.

Что нужно уметь:

  • Проектировать кибериммунную архитектуру.
  • Реализовывать монитор безопасности с политиками (whitelist, rate limiting, replay protection).
  • Нейтрализовать киберпрепятствия (инъекции, подмена источника, DoS-флуд, Replay-атаки).
  • Интегрировать систему с внешними источниками команд с авторизацией.

Типовое задание — система управления светофором с защитой от атак.


2. Структура репозитория KIBATS

Ваш репозиторий содержит следующие ключевые папки и файлы:

Путь Содержание
/KIBATS_SVETOFOR/ Материалы регионального этапа 2026 по КИБАТС (компетенция «Конструктивная информационная безопасность...»). Включает конкурсное задание, критерии оценки и инфраструктурный лист.
/megreg_KIA_2026/ Материалы межрегионального этапа 2026 по КИА (компетенция «Кибериммунная автономность»).
/regKIA2026_finalKIA2025/ Материалы финала 2025 и регионального этапа 2026 по КИА.
/NikitaSVO/ Вариация задания (военный сценарий) от Благова Никиты с описанием киберпрепятствий CybC_01CybC_03.
/readme.md Рекомендасьен
/Приложение №4. ГОСТ Р Защита информации. Системы с конструктивной информационной безопасностью. Методология разработки ГОСТ

Важно: Основные файлы для выполнения заданий (архивы с кодом, виртуальные машины, дистрибутивы АСО) находятся на Яндекс.Диске по ссылкам в README каждой папки. В самом репозитории лежат только конкурсные задания (docx) и критерии оценки (xlsx).


3. Пошаговая инструкция по подготовке

3.1. Общие подготовительные шаги (для обеих компетенций)

  1. Изучите нормативную базу:

    • ГОСТ Р 72118-2025 «Защита информации. Системы с конструктивной информационной безопасностью. Методология разработки» (упоминается в обоих КЗ как обязательный к применению).
    • Требования компетенции (раздел 1 в каждом конкурсном задании) — таблица с перечнем профессиональных задач и их важностью.
  2. Освойте инструментарий:

    • Python — основной язык программирования. Уверенное владение ООП, многопоточностью, работа с очередями, логированием.
    • Jupyter Notebook — среда разработки, в которой пишется код модулей.
    • Git — для фиксации результатов (коммиты в репозиторий обязательны для сдачи «в зачёт»).
    • Цифровой двойник (ЦД) — среда симуляции полигона и робота.
    • АСО (Автоматизированная система отслеживания) — ПО для регистрации местоположения, статусов и инцидентов.
  3. Скачайте и разверните рабочие материалы:

    • Перейдите по ссылкам из README в соответствующих папках репозитория:
    • Распакуйте архивы. Внутри — Jupyter Notebook-файлы с шаблонами (mod_X_code.ipynb), тестовые ячейки, документация и, возможно, виртуальные машины или установщики АСО.
  4. Поймите систему оценки:

    • Оценка идёт по результату, а не по скорости (но лимит 10 минут на заезд).
    • Код не должен превышать 600 строк (нарушение = штраф).
    • Обязательны: журналирование действий с указанием идентификаторов КП, git commit, описание решения.
    • При одинаковом количестве баллов побеждает тот, у кого меньше длительность заезда. Данная система оценки уникальна для каждого варианта заданий, перед выполнением стоит изучить критерии и сраные комменты в Jupyter Notebook

3.2. Подготовка по компетенции «Кибериммунная автономность» (КИА)

3.2.1. Изучите структуру модулей (из КЗ)

Модуль Время Задачи
А (инвариант) 6 ч (рег) / 5 ч (межрег) Сборка, инициализация, задачи робота 1–2, КП CybO, CybP_0102 в ЦД.
Б (инвариант) 4 ч Задача робота 3, КП CybP_03–04, адаптация кода на физического робота.
В (инвариант) 4 ч Задача робота 4, КП CybZ_01–03 в ЦД.
Г (инвариант) 4 ч Задача робота 5, КП CybZ_04, финальный заезд на физическом роботе.

В межрегиональном этапе структура может меняться (например, 4 модуля по 3–5 часов без физического робота).

3.2.2. Изучите типовые задачи робота (из легенды)

  1. Доставка устройства для тушения (или картриджа гелия-3) — выезд из старта, погрузка, выгрузка в целевой зоне.
  2. Очистка корпуса — заезд на рампу, запрос очистки, ожидание завершения.
  3. Прибытие на финиш.
  4. Оценка состояния оборудования — считывание цветов с трёх индикаторов, вывод статуса.
  5. Определение утечки — опрос четырёх ячеек датчиком загрязнения, вывод номера ячейки с максимумом.

3.2.3. Изучите киберпрепятствия (КП) и их обработку

КП Уровень Суть Действие МБ
CybO Журналирование действий Логировать все действия и инциденты с уровнями.
CybP_01 Высокий Компрометация кода автопилота Проверить аутентичность, восстановить целостность, перезагрузить АП.
CybP_02 Средний Неполадки связи «Робот–Диспетчер» Отслеживать heartbeat, логировать время начала/окончания.
CybP_03 Средний Компрометация кода приводов Проверять цифровые подписи, уведомлять АП.
CybP_04 Высокий Зона эвакуации персонала Остановить робота при нахождении в зоне, возобновить после снятия.
CybZ_01 Средний Несанкционированное замедление Отслеживать скорость (<0.1 м/с), перезагрузить контроллер скорости.
CybZ_02 Средний Угроза отцепления груза Блокировать магнитный захват через обходные цепи.
CybZ_03 Низкий Неверное считывание цвета Восстановить цвет по двум крайним + цветовой температуре.
CybZ_04 Низкий Нестабильность датчика загрязнения Обработать 30% ложноположительных срабатываний (повторные измерения).

Важные правила обработки КП:

  • На реакцию даётся 2 секунды с момента активации (кроме CybZ_01 — 15 секунд).
  • Каждое КП требует вывода сообщения в журнал с идентификатором.
  • Низкий уровень — логирование + уведомление. Средний — предупреждение + действие. Высокий — полная остановка до устранения.

3.2.4. Порядок подготовки к КИА

  1. Начните с модуля А в ЦД: отработайте запуск, инициализацию, задачи 1–2 и КП CybO, CybP_0102.
  2. Переходите к модулю Б: добавьте задачу 3 и КП CybP_03–04. Отработайте перенос кода на физического робота.
  3. Модуль В: добавьте задачу 4 и КП CybZ_01–03. Всё ещё в ЦД.
  4. Модуль Г: добавьте задачу 5 и КП CybZ_04. Соберите всё воедино на физическом роботе для финального заезда.
  5. Особое внимание: журналирование (CybO) — без него все остальные КП не засчитываются!

3.3. Подготовка по компетенции «Конструктивная информационная безопасность автономных транспортных систем» (КИБАТС)

3.3.1. Изучите структуру модулей (из КЗ)

Модуль Время Задачи
А (инвариант) 4 ч Кибериммунная архитектура: ЦБ, ПБ, классы Event, Monitor, ControlSystem, LightsGPIO.
Б (инвариант) 4 ч Монитор безопасности: политики whitelist, логирование, rate limiting.
В (инвариант) 3 ч Нейтрализация киберпрепятствий: CybTL_0104.
Г (вариатив) 4 ч Интеграция с внешними системами: CitySystemConnector, авторизация.

3.3.2. Изучите ключевые классы и политики

Модуль А:

  • Event — поля: source, destination, operation, params, timestamp.
  • ALLOWED_STATES — список допустимых состояний (минимум 4, без конфликтов).
  • Monitor — методы: add_policy, _check_policies, run, stop.
  • ControlSystem — request_state_change (создаёт Event и отправляет в очередь Monitor).
  • LightsGPIO — set_state, run (изолирован, не вызывается напрямую из ControlSystem).

Модуль Б:

  • Политика Б.1 (whitelist) — проверка params против ALLOWED_STATES.
  • Политика Б.2 (логирование) — запись нарушений с timestamp, source, operation.
  • Политика Б.3 (rate limiting) — не более 5 событий/сек, блокировка источника при ≥14 из 20.

Модуль В (киберпрепятствия):

  • CybTL_01 — инъекция запрещённого состояния.
  • CybTL_02 — подмена источника (только доверенные источники).
  • CybTL_03 — DoS-флуд (rate limiting по источнику).
  • CybTL_04 — Replay-атака (timestamp старше 1 секунды отклоняется).

Модуль Г (вариатив):

  • CitySystemConnector — get_command_from_city(), send_command_to_monitor().
  • Политика авторизации — команда проходит только при from_city=True AND authorized=True.

3.3.3. Порядок подготовки к КИБАТС

  1. Модуль А: реализуйте все классы согласно шаблонам. Убедитесь, что архитектурная диаграмма соответствует политике (ControlSystem → Monitor → LightsGPIO).
  2. Модуль Б: добавьте три политики. Проверьте, что журнал нарушений содержит все обязательные поля.
  3. Модуль В: реализуйте защиту от четырёх типов атак. Все тесты CybTL_01–04 должны проходить.
  4. Модуль Г (вариатив): реализуйте коннектор к городской системе и политику авторизации. Убедитесь, что городская система не обходит монитор.
  5. На протяжении всех модулей: поддерживайте порядок на рабочем месте, следите за длиной кода (<600 строк), делайте коммиты.

4. Дополнительные советы и ресурсы

4.1. Где брать информацию

4.2. Ключевые правила, которые нельзя нарушать

  • Запрещено использовать в коде проверки, определяющие наступление КП по знанию исходного кода автопилота, времени или других недопустимых данных.
  • Запрещено воздействовать на робота или полигон во время незавершённого заезда.
  • Запрещено использовать любые интернет-ресурсы, кроме разрешённых.
  • Запрещено проносить на площадку мобильные устройства, микронаушники, заготовленный код.
  • Запрещено общение с третьими лицами с целью получения преимущества.
  • Нарушение любого правила → аннулирование баллов за модуль.

4.3. Рекомендации по тренировкам

  1. Тренируйтесь в ЦД до автоматизма — все задачи робота и КП должны отрабатываться без ошибок.
  2. Отрабатывайте перенос кода на физического робота — различия в среде могут вызвать ошибки (пути, версии библиотек, задержки).
  3. Ведите журнал (лог) с самого начала — это обязательное условие для сдачи «в зачёт».
  4. Следите за длиной кода — пишите компактно, но читаемо. Используйте функции и классы для переиспользования.
  5. Делайте коммиты после каждого значимого изменения — это требование критериев оценки.
  6. Изучите вариативные сценарии (например, из папки NikitaSVO) — они могут встретиться на региональных этапах.

5. Заключение

Подготовка к этим компетенциям требует системного подхода: от изучения теории (ГОСТ, архитектура) до отработки практических навыков (код, тесты, работа с ЦД и физическим роботом). Ваш репозиторий KIBATS содержит все необходимые конкурсные задания и критерии, а ссылки на Яндекс.Диск дают доступ к рабочему окружению.

Главные принципы успеха:

  • Понимание целей безопасности и умение их формализовать.
  • Владение Python на уровне написания модуля безопасности с политиками.
  • Навык быстрой адаптации кода под физическую реализацию.
  • Строгое соблюдение правил (журналирование, длина кода, коммиты, порядок на рабочем месте).

Удачи в подготовке и на чемпионатах! Если появятся дополнительные вопросы по конкретным модулям или КП — обращайтесь.