Новости Финал SiBCTF 2011. Правила игры

dmitrisimus
, 10 September 2011

Игровой процесс

Правила финального этапа SiBCTF'2011 основаны на классических правилах соревнований CTF (DEF CON CTF, Da0p3n, RuCTF(E)), однако был внесен ряд существенных изменений.
Как и в классических CTF, каждой команде выделяется подсеть, в которой должен быть запущен игровой образ с запущенными игровыми сервисами. Жюрейская система регулярно проверяет работоспособность сервисов и оставляет в них флаги. Задача команд, исследуя сервисы, находить в них уязвимости, и, эксплуатируя их, красть флаги с сервисов команд-соперников.

В отличие от классических CTF, в SiBCTF'2011 центральный маршрутизатор по умолчанию отфильтровывает все входящие соединения на порты сервисов. Для того, чтобы получить доступ к сервису S команды B, команда A должна сделать «запрос на атаку». В течение 1 минуты команда B может принять или отклонить этот запрос. Если команда не отвечает на запрос, это приравнивается к отказу. Команда не может отклонять «запрос на атаку» на один и тот же сервис более, чем N раз подряд (N — это количество участвующих команд). В этом случае (N+1)-й запрос принимается автоматически. Кроме того, если у команды A есть баллы за адвайзори, она может использовать их для создания запросов, которые нельзя отклонить.

Если запрос на атаку принят командой B, центральный маршрутизатор на 10 минут открывает доступ к сервису S из сети команды A. За это время A может провести атаку на сервис. Одновременно с открытием доступа запускаются проверяющие скрипты (чекеры), которые проверяют работоспособность сервиса S команды B и добавляют туда новые флаги. Задача команды A украсть хотя бы один «свежий» флаг с сервиса S и предъявить его проверяющей системе («Свежий» флаг — это флаг, оставленный проверяющим скриптом в этом раунде). По окончании десятиминутного интервала доступ к сервису снова закрывается.

Подсчет баллов

Существует два вида баллов: обычные баллы и баллы за адвайзори. Рейтинг команды зависит только от обычных баллов. Баллы за адвайзори могут быть использованы для создания «неотказных запросов».

Предположим, команда B приняла запрос на атаку на сервис S со стороны команды A. Если за время раунда команде A удается украсть хотя бы один свежий флаг, то она получает N баллов (N — это по-прежнему общее количество команд). Если A не уается украсть ни одного свежего флага и запрос на атаку не был «неотказным», то команда B получает (N K) баллов, где K — количество отказов со времени предыдущего раунда. Если раунд был инициирован «неотказным запросом», то команда B не получает баллов. Если сервис находится в неработоспособном состоянии или работает неправильно, команда B теряет K + 1 балл вне зависимости от того, как был инициирован раунд.

Работа с запросами на атаку производится через веб-интерфейс.