Привет, меня зовут Павел Фролов aka @CyberFrollo
Я возглавляю отдел разработки департамента «Киберполигон» в ГК «Солар». Наша команда разрабатывает платформу для проведения кибертренировок Solar CyberMir. В январе 2025 года вышла новая версия Solar CyberMir 7.0, и в этой статье я расскажу о главной фиче — движке Solar Quest, который построен на теории графов. На примере квеста из вселенной «Игры престолов» вы увидите, как Solar Quest позволяет проводить образовательные мероприятия и повышать уровень кибербезопасности в компании.

Наша платформа позволяет проводить киберучения, раскатывать и управлять цифровыми двойниками на инфраструктуре заказчиков, развивать навыки кибербезопасности у сотрудников ИБ-подразделений. Подробнее о возможностях нашего киберполигона – в проекте «Хакни свой потенциал».

Формат КШТ — один из востребованных форматов среди наших заказчиков, наряду с One day SOC и One day Response. В таких учениях обычно участвуют топ-менеджеры, ИБ- и IT-специалисты. При отработке инцидентов они взаимодействуют между собой, анализируют, насколько хорошо знают собственные регламенты ИБ и как они работают на практике, учитывают требования регуляторов и лучшие практики кибербезопасности. Плюс «прокачивают» навыки управления командой в случае атаки киберпреступников на компанию.

Данный формат мероприятий обычно проводится с помощью картонных карточек, участников собирают в одном месте и под чутким присмотром тренера проходит мероприятие. Однако, очное проведение КШТ подходит далеко не всем, т.к. многие заказчики работают в удалённом или гибридном формате. Еще одним запросом от заказчиков является отработка заданий и регламентов без отрыва от работы, так как компании не всегда могут выделить свою команду на день или дольше. Поэтому для проведения кибертренировок на платформе CyberMir решили добавить тип мероприятий КШТ, чтобы в рамках одной платформы решать задачи наших заказчиков удалённо и в удобное для них время.

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

Рисунок 1. Опросник для КШТ в виде графа
Рисунок 1. Опросник для КШТ в виде графа

Каждая вершина графа — это текстовый вопрос или задача, которую пользователь должен решить.  В зависимости от ответов участник получает баллы (вес рёбер графа зависит от правильности ответа) и переходит к той или иной вершине графа. Пользователь проходит по графу от начала до конца и набирает баллы. В конце подводятся итоги прохождения задания.

Затем мы посмотрели на идею применения теории графов с другой стороны и поняли, что такая схема идеально подходит для игровой механики большинства наших форматов мероприятий и решили эту идею развить в целый движок. На основе нового движка можно будет проводить мероприятия по обнаружению, расследованию, защите и восстановлению, а также Task-Based CTF (Jeopardy), КШТ и многое другое. В новом релизе CyberMir 7.0 мы внедрили движок Solar Quest, который позволяет в одиночном режиме проходить квесты, квизы и КШТ. В следующих релизах мы добавим возможность интегрированной работы с виртуальными машинами и цифровыми двойниками реальных инфраструктур, введём командный режим прохождения мероприятий, в которых задачу можно будет передавать участникам с другой ролью в зависимости от текущей стадии мероприятия и принимаемых решений.

Каждая вершина графа — это текстовый вопрос или задача, которую пользователь должен решить.  В зависимости от ответов участник получает баллы (вес рёбер графа зависит от правильности ответа) и переходит к той или иной вершине графа. Пользователь проходит по графу от начала до конца и набирает баллы. В конце подводятся итоги прохождения задания.

Как проходит квест

Легенда: в предыстории к квесту описывается история, как предки Эйегона Таргариена прибыли на Драконий Камень незадолго до гибели Валирии. Валирийский потомок после чреды исторических событий принимает решение завоевать Семь Королевств. Задача игрока — помочь Эйегону Таргариену принять верные стратегические и тактические решения, выбрать оптимальное направление движения своей армии и драконов, чтобы в итоге сесть на железный трон и править Семью Королевствами.

 

Рисунок 2. Граф квеста «Эйегон Таргариен: завоевание Семи Королевств»
Рисунок 2. Граф квеста «Эйегон Таргариен: завоевание Семи Королевств»

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

Тут мы сделали отсылку к настольным играм с карточками, где игроки вытаскивают из колоды задания. В рамках одного мероприятия преподаватель может назначить пользователю необходимое количество карточек.

Рисунок 3. Карточка нашего тестового квеста
Рисунок 3. Карточка нашего тестового квеста

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

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

Рисунок 4. Стартовая вершина графа
Рисунок 4. Стартовая вершина графа

В зависимости от принятого решения пользователь переходит к следующей вершине графа и получает баллы. Он перемещается от вершины к вершине и выбирает подходящие ответы.

Рисунок 5. Одна из вершин графа
Рисунок 5. Одна из вершин графа

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

Рисунок 6. У Solar Quest есть базовые функции LMS (Learning Management System)
Рисунок 6. У Solar Quest есть базовые функции LMS (Learning Management System)

В нашем квесте четыре возможных финала:

1.       Армия Эйегона Таргариена разбита, драконы убиты, а сам он героически погибает в сражении.

2.       Армия Завоевателя разбита, но он успевает запрыгнуть на Балериона Черного Ужаса, спасти своих сестер и улететь в родовой замок Драконий Камень.

3.       Эйегон смог захватить часть Вестероса. Конечная цель не достигнута, но Таргариен теперь правит значительной частью Королевств.

4.       Его Святейшество помазал Завоевателя семью елеями, возложил на голову корону и провозгласил Эйегоном из дома Таргариенов, первым этого имени, королем андалов, ройнаров и Первых Людей, лордом Семи Королевств и Хранителем Государства. Это самый позитивный финал, за него начисляется наибольшее число очков.

Рисунок 7. Финишная вершина графа с завершающим действием
Рисунок 7. Финишная вершина графа с завершающим действием

После выполнения задания платформа автоматически подсчитывает оценку и выводит количество заработанных баллов на карточку задания.

Рисунок 8. Карточка квеста после его прохождения
Рисунок 8. Карточка квеста после его прохождения

На странице результатов можно посмотреть, как каждый из участников справился с заданием. В нашем примере у пользователя был только один квест, но в реальных условиях их можно назначить столько, сколько требуется по сценарию мероприятия.

Рисунок 9. Визуализация прохождения квеста
Рисунок 9. Визуализация прохождения квеста

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

Дальнейшие планы

Движок Solar Quest уже позволяет в одиночном режиме проходить квесты, квизы и КШТ, вышел с обновлением Solar CyberMir 7.0. В следующих релизах мы добавим возможность интегрированной работы с виртуальными машинами и цифровыми двойниками реальных инфраструктур, введем командный режим прохождения мероприятий, в которых задачу можно будет передавать участникам с другой ролью в зависимости от этапа мероприятия и принимаемых решений.

Разработка движка SolarQuest — это важный шаг к построению системы, которая позволит в совокупности с модулем атак и модулем чекеров проигрывать практически все возможные виды киберучений и киберсоревнований, повысить вариативность сценариев моделируемых кибератак и максимально полно ответить на запрос наших заказчиков на повышение уровня навыков специалистов в области ИБ.

Комментарии (0)