From e86f7a2513a8707795f087850412dc2344d8a496 Mon Sep 17 00:00:00 2001 From: Poziloy Date: Tue, 7 Jul 2026 12:10:33 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20readme.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) diff --git a/readme.md b/readme.md index e69de29..a5c960e 100644 --- a/readme.md +++ b/readme.md @@ -0,0 +1,213 @@ +## 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_01–CybC_03. | +| `/readme.md` | Пустой файл (заглушка). | + +**Важно:** Основные файлы для выполнения заданий (архивы с кодом, виртуальные машины, дистрибутивы АСО) находятся на Яндекс.Диске по ссылкам в README каждой папки. В самом репозитории лежат только конкурсные задания (docx) и критерии оценки (xlsx). + +--- + +## 3. Пошаговая инструкция по подготовке + +### 3.1. Общие подготовительные шаги (для обеих компетенций) + +1. **Изучите нормативную базу:** + - ГОСТ Р 72118-2025 «Защита информации. Системы с конструктивной информационной безопасностью. Методология разработки» (упоминается в обоих КЗ как обязательный к применению). + - Требования компетенции (раздел 1 в каждом конкурсном задании) — таблица с перечнем профессиональных задач и их важностью. + +2. **Освойте инструментарий:** + - **Python** — основной язык программирования. Уверенное владение ООП, многопоточностью, работа с очередями, логированием. + - **Jupyter Notebook** — среда разработки, в которой пишется код модулей. + - **Git** — для фиксации результатов (коммиты в репозиторий обязательны для сдачи «в зачёт»). + - **Цифровой двойник (ЦД)** — среда симуляции полигона и робота. + - **АСО (Автоматизированная система отслеживания)** — ПО для регистрации местоположения, статусов и инцидентов. + +3. **Скачайте и разверните рабочие материалы:** + - Перейдите по ссылкам из README в соответствующих папках репозитория: + - Для КИБАТС (регион): [https://disk.yandex.ru/d/hRNTxnsgCIw-iA](https://disk.yandex.ru/d/hRNTxnsgCIw-iA) + - Для КИА (межрегион): [https://disk.yandex.ru/d/AL4GQAHEW9vBOQ](https://disk.yandex.ru/d/AL4GQAHEW9vBOQ) + - Для КИА (регион/финал): [https://disk.yandex.ru/d/iMo0GqK-c1VJCQ](https://disk.yandex.ru/d/iMo0GqK-c1VJCQ) + - Распакуйте архивы. Внутри — Jupyter Notebook-файлы с шаблонами (`mod_X_code.ipynb`), тестовые ячейки, документация и, возможно, виртуальные машины или установщики АСО. + +4. **Поймите систему оценки:** + - Оценка идёт по результату, а не по скорости (но лимит 10 минут на заезд). + - Код не должен превышать **600 строк** (нарушение = штраф). + - Обязательны: журналирование действий с указанием идентификаторов КП, git commit, описание решения. + - При одинаковом количестве баллов побеждает тот, у кого меньше длительность заезда. +Данная система оценки уникальна для каждого варианта заданий, перед выполнением стоит изучить критерии и сраные комменты в Jupyter Notebook +--- + +### 3.2. Подготовка по компетенции «Кибериммунная автономность» (КИА) + +#### 3.2.1. Изучите структуру модулей (из КЗ) + +| Модуль | Время | Задачи | +|--------|-------|--------| +| **А** (инвариант) | 6 ч (рег) / 5 ч (межрег) | Сборка, инициализация, задачи робота 1–2, КП CybO, CybP_01–02 в ЦД. | +| **Б** (инвариант) | 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_01–02. +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_01–04. | +| **Г** (вариатив) | 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. Где брать информацию + +- **Официальный репозиторий с документацией и примерами:** [https://gitflic.ru/company/agts-regional-2026](https://gitflic.ru/company/agts-regional-2026) (для КИА) и [https://gitflic.ru/company/kibats-region-2026](https://gitflic.ru/company/kibats-region-2026) (для КИБАТС). +- **Документация Python:** [https://docs.python.org/3/](https://docs.python.org/3/) +- **Документация Jupyter:** [https://docs.jupyter.org/en/latest/](https://docs.jupyter.org/en/latest/) +- **Материалы ИРПО** [(сайт института развития профессионального образования)](https://esim.firpo.ru/d/c). + +### 4.2. Ключевые правила, которые нельзя нарушать + +- **Запрещено** использовать в коде проверки, определяющие наступление КП по знанию исходного кода автопилота, времени или других недопустимых данных. +- **Запрещено** воздействовать на робота или полигон во время незавершённого заезда. +- **Запрещено** использовать любые интернет-ресурсы, кроме разрешённых. +- **Запрещено** проносить на площадку мобильные устройства, микронаушники, заготовленный код. +- **Запрещено** общение с третьими лицами с целью получения преимущества. +- Нарушение любого правила → **аннулирование баллов за модуль**. + +### 4.3. Рекомендации по тренировкам + +1. **Тренируйтесь в ЦД до автоматизма** — все задачи робота и КП должны отрабатываться без ошибок. +2. **Отрабатывайте перенос кода на физического робота** — различия в среде могут вызвать ошибки (пути, версии библиотек, задержки). +3. **Ведите журнал (лог) с самого начала** — это обязательное условие для сдачи «в зачёт». +4. **Следите за длиной кода** — пишите компактно, но читаемо. Используйте функции и классы для переиспользования. +5. **Делайте коммиты после каждого значимого изменения** — это требование критериев оценки. +6. **Изучите вариативные сценарии** (например, из папки NikitaSVO) — они могут встретиться на региональных этапах. + +--- + +## 5. Заключение + +Подготовка к этим компетенциям требует системного подхода: от изучения теории (ГОСТ, архитектура) до отработки практических навыков (код, тесты, работа с ЦД и физическим роботом). Ваш репозиторий KIBATS содержит все необходимые конкурсные задания и критерии, а ссылки на Яндекс.Диск дают доступ к рабочему окружению. + +**Главные принципы успеха:** +- Понимание целей безопасности и умение их формализовать. +- Владение Python на уровне написания модуля безопасности с политиками. +- Навык быстрой адаптации кода под физическую реализацию. +- Строгое соблюдение правил (журналирование, длина кода, коммиты, порядок на рабочем месте). + +Удачи в подготовке и на чемпионатах! Если появятся дополнительные вопросы по конкретным модулям или КП — обращайтесь. \ No newline at end of file