Как прошел студенческий чемпионат Банка России «Кибербезопасность в финансах»: виртуальный офис, киберполигон и финал в Екатеринбурге

Чемпионат «Кибербезопасность в финансах» — студенческое соревнование Банка России для будущих специалистов по информационной безопасности с призовым фондом 1 500 000 рублей. Отборочный этап прошел на Codenrock: участники решали CTF-задачи в виртуальном офисе банка, расследовали инциденты, проходили онлайн-интервью и боролись за выход в полуфинал Молодежной программы Уральского форума «Кибербезопасность в финансах» в Екатеринбурге. 

Коротко о событии:

  • Цель: привлечь сильных студентов и молодых специалистов в сфере информационной безопасности и проверить их практические навыки в задачах, приближенных к финансовому сектору.
  • Формат всего мероприятия: онлайн-отбор на платформе Codenrock с CTF-задачами, игровым сценарием и онлайн-интервью для ТОП-25 команд. Очные полуфинал и финал для 10 лучших команд в рамках Молодежной программы форума в Екатеринбурге.
  • Что сделала команда Codenrock: взяли на себя отборочный этап мероприятия, а именно – подготовили структуру отбора, разработали восемь CTF-задач, встроили их в игровой сценарий, настроили регистрацию, модерацию, автоматическую проверку флагов и лидерборд, а также провели коммуникационную и рекламную кампанию. 
  • Результат: 1596 регистраций, более 250 команд, принявших участие в отборе.

Подготовка к проведению

Отборочный этап чемпионата «Кибербезопасность в финансах» проходил на Codenrock. Команде платформы предстояло подготовить набор CTF-заданий: сначала участники решали задачи в виртуальном офисе банка, а затем лучшие команды проходили онлайн-интервью, где могли показать умение анализировать уязвимости, объяснять ход решения и предлагать способы их устранения.

Эксперты и методологи Codenrock взяли на себя полную подготовку отборочного соревновательного этапа:

  • Разработали структуру отбора.
  • Подготовили восемь CTF-задач по разным направлениям информационной безопасности.
  • Для каждой задачи подготовили технические материалы: тестовые сервисы, файлы для анализа, флаги, подсказки и райтапы.
  • Продумали механику онлайн-интервью для лучших команд.
  • Настроили платформу для регистрации участников, создания и модерации команд, поэтапного открытия доступа к заданиям, автоматической проверки флагов и формирования лидерборда.

По итогам CTF-этапа организаторы получили список ТОП-25 для интервью, а после экспертной оценки 10 лучших команд прошли дальше.

Игровая механика и формат заданий 

Для отборочного этапа команда Codenrock разработала иммерсивный CTF-полигон. Участники попали в игровое 3D-пространство — виртуальный офис банка «HippoBank», где им предстояло пройти стажировку в отделе информационной безопасности и разгадать тайну необычной компании.

Вот это удача, вас пригласили на десятидневную стажировку в динамично развивающийся цифровой банк «HippoBank»! Такой шанс точно нельзя упускать, скорее приезжайте в офис!

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

Как устроен игровой процесс:

  1. Игроки перемещаются по цифровому офису, взаимодействуют с неигровыми персонажами (NPC) через диалоговые окна и получают задания в рамках сценария стажировки. Все этапы решения встроены в игровой процесс: получение брифинга и сдача флага происходят прямо в интерфейсе диалога с NPC — как в настоящем подразделении кибербезопасности.
  2. Игровая среда оптимизирована для работы на персональных компьютерах и полностью адаптирована под мобильные устройства, что позволило участникам работать с любого удобного устройства.
  3. Для поддержания вовлечённости в сценарий были интегрированы пасхалки. Например, при успешном решении одной из задач рядом с персонажем игрока появлялся гиппопотам – маскот банка.

Подобный формат позволил проверить классические технические навыки поиска флагов и увлечь процессом участников — они могли поработать в условиях, где задачи поступают через внутренние каналы, а результаты фиксируются в рабочем процессе, как в настоящем офисе. Интеграция CTF в игру повысила вовлечённость, сделала процесс отбора более наглядным и приблизила его к реальным бизнес-процессам финансовой организации.

Задание 1: «Вступительный билет»

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

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

Игрок мог скачать файл с шифром прямо в диалоге. 

Техническая суть. Задача по классической криптографии: участникам доставался файл с зашифрованным сообщением. Нужно было определить алгоритм и восстановить текст. 

💰 Сложность: простая.

Задание 2: «Сервис чеков» 

После успешного завершения «Вступительного билета» игрок может приступить к следующему квесту. В опенспейсе Непробивалов признаёт успех стажёра и поручает первую «боевую» задачу — протестировать перед релизом обновлённый сервис генерации чеков. 

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

Игрок отправляется на второй этаж банка. Там его встречает скептически настроенный разработчик, который выдаёт IP-адреса тестовых серверов. 

Честно говоря, эти проверки уже порядком утомили. Я готов поручиться премией отдела: сервис работает идеально. Но раз уж ты настроен потратить на это своё рабочее время – вот, держи. 

Техническая суть. Задача категории WEB. Участники получают доступ к тестовому сервису генерации чеков. Документы защищены URID, который по задумке разработчиков нельзя угадать. Нужно выявить уязвимость класса IDOR (Insecure Direct Object Reference) и реализовать механизм Enumeration для перечисления скрытых объектов или файлов. 

💰 Сложность: простая.

Задание 3: «Сервис кешбэка»

Если игрок уже справился с первой задачей, на рабочем месте в опенспейсе он получает входящее сообщение от Ольги Юрьевны Исаевой — руководителя Центра мониторинга и реагирования. Молодой стажёр уже заработал репутацию — его рекомендовал Вениамин Петрович.

Теперь можно подняться на третий этаж и познакомиться с Ольгой. Ситуация срочная: после праздников половина сотрудников в отпуске, а в логах SIEM зафиксирована подозрительная активность на сайте программы лояльности. Кому-то уже удалось выполнить команды на сервере.

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

Техническая суть. Задача категории WEB / SERVER-SIDE. Участники исследуют сервис программы лояльности, где логи SIEM указывают на успешное выполнение посторонних команд. Несмотря на то, что интерфейс выглядит как обычная «визитка» без скрытых функций, уязвимость кроется в серверной логике. Необходимо проанализировать POST-запросы, выявить небезопасно сконфигурированные обработчики и реализовать эксплуатацию для получения доступа к системе. 

💰 Сложность: простая.

Задание 4: «Расследование демостенда»

Стажёр уже успел освоиться в офисе, и с 18 января может взяться за более сложную задачу. Непробивалов предлагает побыть детективом и принять участие в расследовании.Перед игроком оказывается «трофейный SSD» — образ взломанного тестового сервера dev-db-backup-03. Прямой угрозы банку нет, но мотив атаки на изолированную среду остаётся загадкой.

У нас есть все ценные артефакты для анализа: логи, списки процессов и другие данные. Твоя задача — сложить пазл и ответить на главный вопрос: зачем вообще был атакован тестовый сервер?

Игрок скачивает архив и приступает к цифровому расследованию. 

Техническая суть. Задача в категории DFIR / Форензика. Участникам предстоит проанализировать образ сервера и набор артефактов инцидента, чтобы восстановить цепочку действий атакующего. Главный фокус — выявление скрытых или замаскированных процессов, анализ тактик, техник и процедур и определение реальной цели компрометации изолированного стенда. 

💰 Сложность: средняя.

Задание 5: «Сервис – Блог»

СРОЧНО. Беги в Зал Совещаний. 2 ЭТАЖ! Там встретимся!

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

Но я уверен, что вы, «правильные» хакеры, точно знаете, как раздобыть мне номер телефона этого человека!

Техническая суть. Задача категории WEB & OSINT. Участникам предстоит исследовать устаревший блог-сервис. Основная цель — найти скрытый номер телефона заводчика. Задача содержит два скрытых флага, открывающих путь к более глубоким уязвимостям: перехвату аккаунта через перебор OTP-кодов и последующей загрузке файлов, ведущей к удалённому выполнению кода (RCE). 

💰 Сложность: средняя.

Задание 6: «Сервис HR» 

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

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

Ситуация неприятная: конкуренты массово переманивают лучших соискателей, которых банк долго отбирал. Подозрение падает на корпоративный HR-портал, через который просто перехватывают данные и готовые офферы.

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

Техническая суть. Задача категории WEB / CSS INJECTION. Участникам предстоит проанализировать HR-портал, через который предположительно происходит утечка данных кандидатов. Необходимо выявить механизм перехвата и модификации ответов сервера, реализовать инъекцию стилей (CSS) для обхода клиентских проверок и извлечения скрытой информации. 

💰 Сложность: средняя.

Задание 7: «Сервис банка»

И снова срочное сообщение. На этот раз — от Анны Сергеевны Проверкиной из отдела контроля качества.

Пришлось написать вам на почту. Кричим уже 2 часа, неужели вы не слышите? Через стенку же работаем. 

В отделе выясняется, что клиент банка Геннадий Быков обнаружил несанкционированное списание средств за покупку. Разработчики уверяют: без пароля и ПИН-кода это невозможно. Но инцидент требует проверки — для анализа развёрнут тестовый стенд с копией сервера и эмуляцией магазина. Игроку предстоит самостоятельно воссоздать аккаунт клиента, зная только логин.

Техническая суть. Задача категории WEB & AUTH / JWT. Участникам предстоит исследовать тестовый стенд, чтобы воспроизвести инцидент несанкционированного списания. Необходимо выявить слабость в механизме аутентификации и обойти проверки для совершения финансовой операции от лица другого клиента без знания пароля или ПИН-кода.

💰 Сложность: высокая.

Задание 8: «Финальное расследование»

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

Я ознакомлен с показателями твоей результативности, молодое дарование. Искусственный интеллект S.K. ROBOTOV выполняет протокол приветствия. Моё назначение: вычисление и принятие оптимальных управленческих решений для коммерческих кредитно-финансовых организаций класса HippoBank. Предполагаю наличие у тебя вопросов. Рекомендую временно отложить их генерацию до завершения первичного анализа.

Система сообщает о сбое в модуле принятия решений: из-за внешнего вмешательства был сформирован приказ на покупку здания в Екатеринбурге с риском ущерба бюджету в 97,1%. 

Уровень доверия к субъектам с высоким доступом снижен до значения «рискованно». Ты новое лицо в системе. В этой связи инициирую запрос: изучи текущую ситуацию.

Техническая суть. Задача категории Forensics. Участникам предстоит восстановить полную цепочку компрометации, отвечая на 6 последовательных вопросов. Расследование начинается с анализа фишингового письма и вредоносного скрипта, продолжается поиском запущенных процессов, эксфильтрации данных, изучения скрытых логов Windows Defender и анализа утечек в корпоративном репозитории. 

Необходимо найти ключевые индикаторы компрометации (IoC): функции скрипта, пути к файлам, SID пользователей, IP-адреса, хеши вредоносов, учётные данные и коммиты атакующего. 

💰 Сложность: высокая.

Отзывы участников

Неожиданно было увидеть продуманную геймификацию на отборочном этапе. Формат с пошаговым раскрытием сюжета и ограниченным набором задач отлично работает на погружение в историю и подходит новичкам. Очень логично, что все задания ограничены категориями Web и Forensics: они хорошо вписываются в историю, связанную с банком. Не было категорий, которые в таком сеттинге выглядели бы искусственно.

Задания были классные. Возможно, хотелось бы побольше задач на отборочном этапе.

Мне понравилось, что на отборочном этапе были задания как для «красных» команд — категории Web и Crypto, так и для «синих» — Forensics. Это обеспечило хороший баланс.

Маркетинговая кампания чемпионата

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

На основе этой концепции команда Codenrock подготовила полный набор материалов: страницу соревнования на платформе, баннеры, посты для социальных сетей, e-mail-рассылки, а также контент для сопровождения участников — уведомления, напоминания и вовлекающие сообщения.

Продвижение велось по нескольким направлениям:

  • Публикации на ресурсах Codenrock;
  • E-mail-рассылки по базе Codenrock;
  • Размещения во внешних профильных ресурсах;
  • Таргетированная реклама;
  • Запуск реферальной программы, благодаря которой удалось привлечь новых участников и вовлечь их в игровую активность ещё до старта мероприятия. 

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

По итогам рекламной кампании на чемпионат зарегистрировались 1596 участника — конверсия визитов в регистрацию составила 21,3%. При этом 235 команд решили хотя бы одно задание, что подтверждает вовлечённость и релевантность  аудитории. 

География проекта охватила 123 города, включая Москву, Санкт-Петербург, Екатеринбург, Владивосток и другие крупные образовательные центры. Среди участников — студенты ведущих технических вузов страны.

Очная часть чемпионата

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

Полуфинал и финал чемпионата «Кибербезопасность в финансах» прошли в Екатеринбурге с 16 по 20 февраля в рамках Молодежной программы Уральского форума, организованного Банком России.

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

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

Победителями стали:

  • 1 место — FEFU Daemons;
  • 2 место — CUT;
  • 3 место — Baldo Zar’s;
  • 4 место — f.IB;
  • 5 место — Beavers0.

Сайт Молодежной программы.

Социальные сети организаторов.

Медиатека форума и Молодежной программы.


    Оставьте заявку, мы подберем для вас лучшие решения для работы с ИТ-сообществом

    Будьте в курсе лучших кейсов хакатонов, ML-турниров, CTF и соревнований по спортивному программированию на Codenrock
    Добавить комментарий