Киберзадачи в сеттинге Minecraft. Школьники в финале ВсоШ по инфобезу

от автора

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

InfoWatch уже много лет сотрудничает с МИЭМ НИУ ВШЭ, базовая кафедра компании в вузе открылась в 2017 году. Ее создание стало отправной точкой для развития нашего образовательного направления и интеграции ИБ-экспертизы в учебные программы.

В этой статье расскажем, как всё прошло и какие задачи решали ребята.


В качестве локации выбрали гостиничный комплекс «Измайлово», который мог вместить желающих со всей страны — в этом году на олимпиаду приехали 244 школьника сразу из 44 регионов России. Больше всего было ребят из Москвы (120 человек), области (17), Татарстана (16) и Питера (11).

Олимпиада была поделена на два основных тура — проектный, на котором надо было представить свой проект по ИБ-тематике (давал 30% итогового балла), и практический (70%).

Для МИЭМ ВШЭ это не просто какой-то партнёрский проект или удачная ежегодная коллаборация, институт участвует в развитии ИБ-профиля с 2022 года и всё это время активно вовлечен во все этапы олимпиады — от разработки и актуализации заданий до организации непосредственно соревновательной инфраструктуры. Для этого раза МИЭМ подготовил собственную платформу на базе CTFd, на которой собрал более 100 задач по ИБ для учеников 9–11 классов.

Впрочем, давайте сразу про задачи.

Какие задачи решали в этом году

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

Сервис мониторинга Minecraft-серверов BlockWatch

Ребятам надо было тщательно изучить веб-интерфейс платформы, показывающей состояние кластеров и разворачивающей моды. Если первую часть задачи можно было решить просто благодаря внимательному изучению структуры сервиса и поиску скрытой консоли, то вторая была посложнее. Надо было заметить небезопасную работу приложения с пользовательскими ссылками, используя Burp Suite. Так участник получал путь обращения ко внутреннему сервису (HTTP API ClickHouse) через SSRF-уязвимость и понимал, что привычная и удобная функция загрузки модов может быть куда более опасной, чем кажется на первый взгляд.

Портал древнего города

Другая задача строилась вокруг анализа логики регистрации и обработки пользовательских данных. Сначала требовалось изучить все служебные элементы сайта, чтобы найти скрытый путь к специальному закрытому разделу. А затем проанализировать логику работу приложения и с помощью уже знакомого Burp Suite проэксплуатировать ошибку в обработке данных пользователей, чтобы получить расширенные права. Это задание проверяло не только общую внимательность, но и понимание стандартных логических уязвимостей веба (например, mass assignment).

Minecraft Launcher

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

Морские огурцы в base64

Специальное задание на небезопасную десериализацию (восстановление данных из специального формата в вид, прикольный для использования программой). Участникам нужно было загрузить на сайт «сохранение» коллекции морских огурцов в формате base64. В рамках сюжета это выглядело абсолютно безобидно — всего лишь импорт данных, но вот при внимательном рассмотрении можно было заметить, что сервер декодирует полученные данные, после чего небезопасно десериализует их через Python pickle.

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

Практика вместо абстракции

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

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

Например, в рамках задач школьники:

  1. искали и эксплуатировали уязвимости, анализировали сетевой трафик, разбирали дампы памяти, образы дисков и логи (как специалисты по расследованию компьютерных инцидентов);

  2. работали с маршрутизацией и штатным средствами защиты, типа iptables (задания на инфраструктурную безопасность);

  3. повышали привилегии, занимались реверсом бинарников и приложений (реверс инженеринг и  AppSec);

  4. подобно пентестерам анализировали уязвимости в веб-сервисах;

  5. работали с защитой сервисов. Нужно было не просто найти проблему, а исправить уязвимость и написать правила обнаружения.

Жюри практического тура, разработчики заданий от МИЭМ НИУ ВШЭ на заключительном этапе ВсОШ

Жюри практического тура, разработчики заданий от МИЭМ НИУ ВШЭ на заключительном этапе ВсОШ

В подготовке материала нам помогали:

  1. Константин Старостин

  2. Антон Фахретдинов

ссылка на оригинал статьи https://habr.com/ru/articles/1040578/