POSITIVE HACK DAYS



ОРГАНИЗАТОР

Правила PHDays IV CTF

Определения:

Игровой образ (vulnbox) — образ виртуальной машины с несколькими предустановленными уязвимыми сервисами. Перед началом соревнования командам раздаются идентичные игровые образы. В процессе игры каждая команда имеет полный контроль над своим игровым образом. Администрирование образа возлагается на команду.

Раунды — равные по времени интервалы, на которые поделен игровой процесс.

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

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

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

Таски — задания, предполагающие единственный ответ (флаг). Для того чтобы приступить к решению таска, команда должна его открыть. Открытие тасков производится за ресурсы. Каждый таск требует определенного набора ресурсов (например, 2 единицы ресурса А и 1 единица ресурса B). Команда может решить данный таск только один раз. За решение таска команда получает определенное количество золота.

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

За каждый раунд функционирующий сервис приносит определенное количество ресурса. Эта величина делится между хозяином сервиса и командами, совершившими успешную атаку на данный сервис. Количество ресурса, которое получает каждая атакующая команда, вычисляется по формуле: w*k/n+1, где w — количество ресурса, приносимое сервисом за один раунд, k — некоторый коэффициент, n — количество команд, совершивших успешную атаку на данный сервис данной команды за прошедший раунд. Хозяин сервиса получает оставшуюся часть ресурса. Количество накопленных ресурсов
не влияет на положение команды в рейтинге, однако команды могут обменивать ресурсы на золото.

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

Части квеста — временные задания с переменным размером награды. Регулярно у всех команд списывается одинаковое количество золота, которое прибавляется к награде за решение данной части квеста. Каждая часть квеста имеет определенное время жизни. Если ни одна команда не справляется с заданием за отведенное время, оно считается нерешенным и перестает быть доступным. Накопленное призовое золото также пропадает. Как только одна команда решает часть квеста, всем остальным дается время на то, чтобы все-таки попытаться решить данное задание. Время на «дорешивание» рассчитывается как min (t solve,t life), где t solve — 30 минутопределенный интервал (значение различно для разных частей квеста) с момента решения задания первой командой, t life — оставшееся время жизни босс-таскачасти квеста. По истечении этого времени накопленная награда делится между всеми командами, успевшими решить часть квеста.

Кроме атак на чужие сервисы и решения заданий, члены каждой команды могут на общих основаниях участвовать в конкурсе CIA, который будет проходить на площадке PHDays. При выполнении заданий конкурса следует указать, за какую CTF-команду вы играете. В зависимости от сложности найденных уязвимостей команде будут начислены баллы (золото). Максимально возможное количество баллов равняется награде за решение самого сложного задания CTF.

Правила финального этапа

Общие положения

В соревнованиях принимают участие 10 команд, набравших наибольшее число баллов по результатам отборочного этапа. Команда состоит не более чем из 7 участников (5 играющих и 2 запасных).

Во время игры команды могут:

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

Во время игры командам запрещается:

  • осуществлять фильтрацию трафика команд-соперниц от трафика жюри (например, по IP-адресам);
  • генерировать неоправданно большой объем трафика, представляющий опасность для игровой инфраструктуры (жюри и других команд);
  • осуществлять атаки за пределы игровой сети;
  • проводить атаки на компьютеры жюри;
  • проводить деструктивные атаки на серверы команд-соперниц (например, rm –rf /);
  • осуществлять указанные выше действия от имени команд-соперниц;
  • использовать уязвимости жюрейской системы с целью получения незаслуженных баллов.

За нарушение правил команда может быть оштрафована или дисквалифицирована.

Примечание

Жюри оставляет за собой право уточнять правила в любой момент до начала игры.