Захват флага

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Захват флага (англ. Capture the Flag, CTF) — командная игра на местности, в которой надо захватить флаг противника и принести его на свою базу. Часто реализуется в компьютерных играх.

Содержание

Правила игры на местности

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

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

Правила компьютерных игр

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

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

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

Считается, что первой компьютерной реализацией захвата флага была Capture the Flag, а первым шутером от первого лица, в котором реализован этот тип игры,— Rise of the Triad.

Компьютерная безопасность

Общее описание

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

История

Данные соревнования были популяризованы на хакерской конференции DEF CON. Сейчас организацией DEF CON CTF занимается Kenshoto.

CTF носит обучающий характер, позволяющий играющим получить опыт в защите и атаке компьютерных систем. На соревнованиях, как правило, необходимо применять знания в reverse-engineering, уметь исследовать сети, проводить анализ протоколов, администрировать компьютерные системы, программировать, проводить криптоанализ.

Первые удалённые международные межвузовские соревнования iCTF UCSB были проведены университетом Калифорнии, город Санта-Барбара в 2004 году.

Другими известными соревнованиями CTF являются USFCTF, C.I.P.H.E.R., UralCTF.

В 2008 году УрГУ были впервые проведены российские очные соревнования RuCTF.

В 2009 году 27 июня были впервые проведены открытые соревнования по CTF на Юге России на базе ТТИ ЮФУ — UfoCTF.

В 2009 году 7 ноября командой HackerDom из УрГУ были впервые в России проведены удаленные международные студенческие соревнования RuCTFE.

Правила

Так было на RuCTF в 9 утра воскресенья 26 апреля 2009 года:

1. Защита (Defensive points) В течение всей игры, в некоторые промежутки времени, игровая система жюри производит следующие операции: 1) Доступ к 1-му сервису 1-ой команды. 2) Проверка работоспособности протокола сервиса. 3) Установка флага. 4) Чтение одного флага, случайно выбранного из ранее установленных. Следующим шагом этот алгоритм выполняется на 1-м сервисе 2-ой команды, затем на 1-м сервисе 3-ей команды и так далее. После выполнения алгоритма на уязвимых машинах всех команд, система выполняет те же действия на 2-м сервисе 1-й команды и так далее. Время выполнения этих операций на всех сервисах всех команд называется раундом. Раунд - величина переменная во времени, так как зависит от множества различных факторов, например, загруженности сети, уязвимых образов команд и т.п. У нас раунд в среднем длился 1,5-2 минуты. По итогам выполнения алгоритма система выносит решение о статусе сервиса: 1) Если соединение установилось, то переходим к пункту 2, иначе сервис находится в состоянии Down (нет соединения) 2) Если обмен сообщениями по протоколу завершен успешно, переходим к пункту 3, иначе сервис в состоянии Mumble (ошибка протокола) 3) Если чтение случайно выбранного флага удалось, переходим к пункту 4, иначе сервис в состоянии Corrupt (флаг не найден), сбрасывается счетчик флагов сервиса 4) Если предыдущие пункты выполнены успешно, сервис находится в состоянии Up (работоспособен). Добавляем +1 за каждый работоспособный сервис к счетчику очков защиты Defensive points.

2. Атака (Оffensive points) Очки атаки начисляются за захват флагов. Флаг - некоторая информация, в нашем случае цифробуквенная последовательность длиной 32 байта. Флагом может быть строка в файле, имя файла, ячейка в базе данных, md5 или другой хеш чего-нибудь, например файла. Флаг может быть зашифрован xor-ом или blowfish-ем со 128-битным ключом, в-общем, флаги приходится искать. Индикатором, что порция информации является флагом, может быть то, что флаги добавляются каждый новый раунд. Похищенные флаги отправляются в игровую систему жюри по простому протоколу. Например, просто устанавливается telnet-соединение, отправляется флаг, игровая система отвечает о том, принят ли флаг. Для того, чтобы флаг был принят: 1) Он должен быть актуальным. Время актуальности флага - несколько раундов, затем он устаревает, как и любая информация. 2) У команды, посылающей флаг с похищенного сервиса противника, этот же сервис должен быть в состоянии Up. 3) Команда, посылающая этот флаг впервые, получает 2 очка атаки, если этот же флаг будут посылать другие команды, то получат по 1 очку атаки. Пример отправки флага: < Please identify your team with its numerical team-number > 2 < Welcome 'team 2'. Enter one flag per line, or QUIT when finished > 12533a26f625cd7f903eab8e100c4988 < Congratulations, you captured a flag! > ac9172a11ebde0c64b6661d7fb74162a < Congratulations, you captured a flag! > 12533a26f625cd7f903eab8e100c4988 < Sorry, you already submitted this flag > quit

3. Адвайзори (Advisory points) Адвайзори - это описание найденных уязвимостей. Адекватно перевести это слово на русский язык участники RuCTF затруднились, потому оставили транскрибированное название :) Адвайзори состоит из трех пунктов. 1) В чем состоит уязвимость. 2) Как ею воспользоваться (Exploit) 3) Как ее устранить (Patch) Адвайзори присылаются членам жюри в течение игры, ими оценивается сложность нахождения уязвимости, сложность реализации, сложность устранения, а также полнота адвайзори. Как правило, адвайзори оценивают сами авторы уязвимых сервисов. За каждое присланное адвайзори команде начисляется некоторое количество очков, в нашем случае от 0 до 300.

4. Таски (Task points) Таски или квесты - небольшие, но непростые задания самой различной направленности. Например, задания на отладку, дизассемлбирование, или на простую логику. Задания различаются по направленности и по сложности, которая выражается в количестве получаемых очков за решенное задание. Заработанные очки в реальном времени отражаются в таблице рейтинга (scoreboard), которая обновляется после каждого раунда.

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


cs:Capture the Flag

da:Capture the flag de:Capture the Flag en:Capture the flag es:Capturar la bandera fi:Capture the Flag fr:Capture du drapeau he:הדגל hr:Capture the Flag it:Capture the Flag nl:Capture the flag pl:Zdobądź flagę pt:Capturar a bandeira sv:Capture the flag

Личные инструменты

Served in 0.108 secs.