четверг, 11 августа 2016 г.

CTF: соревнования по информационной безопасности

Как и среди других сфер человеческой детальности в компьютерном мире есть свои соревнования. В сегодняшней публикации речь пойдет о CTF соревнованиях по информационной (компьютерной) безопасности. Это термин который некогда перекочевал из терминологии шутеров, в котором кибер-игроки атаковали базу противника одновременно при этом удерживаю свои контрольные точки от проникновения. Концепт хакерских CTF игр остался неизменным, несколько команд игроков защищают свою ИТ-инфраструктуру от атак со стороны соперников пытаясь при этом вывести их сервисы из строя, либо решая нетривиальные задачи пытаются найти заранее спрятанную фразу (флаг). Не смотря на то, что первые CTF игры были проведены в 2004 году, настоящую популярность и широкую известность они получили с началом 2010-х годов. Теперь же не одно солидное мероприятие вроде BlackHat, DefCon, ZeroNights, PHDays не проходит без CTF соревнований или им подобных кейсов HackQuest.

Данная статья станет первой из цикла публикаций посвященных в целом CTF, а так же команде crazY geek$, в которой состоит автор, и разборам неторных интересных заданий и практических кейсов


Концепция игр CTF


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

Ваш покорный слуга впервые познакомился с этим понятием в годы юности проводя большое количество времени, как и все сверстники в тот момент, за  компьютерными играми, а именно эпохальной Unreal Tournamnt 2003. Это безбашенный шутер от первого лица, где отстреливаясь разнообразным оружием нужно было уничтожать противника и отстаивать свою базу.  Так общий концепт игры перекочевал от мира развлечений в соревнования по информационной (компьютерной) безопасности. Задумка CTF носит обучающий и соревновательный характер одновременно, позволяющий играющим получить опыт в защите и атаке компьютерных систем. Для решения этих задач участникам  приходится  применять весь свой запас знаний, а именно в сферах связанных с reverse-engineering,  исследованию сети, протоколов, администрированием компьютерных систем, приложений и ОС, программированием, решением  кейсов из реальной жизни и т.д.

Позднее, уже в студенческие годы после опыта нескольких олимпиад по вузовским дисциплинам  и вступлений на конференциях посвященных вопросам ИБ, в кругу энтузиастов была сформирована CTF команда CrazY geek$, в которую в качестве участника вошел автор блога.  С тех пор начался новый интересный и качественный этап профессионального развития, а первые соревнования прошедшие в городе стали первыми среди во всем федеральном округе.

В настоящее время выделилось два варианта проявления игр CTF:


1. task-based / jeopardy — игрокам предоставляется набор некоторых заданий (тасков), к которым требуется найти ответ (флаг) и отправить его в судейский комитет. Наденный флаг — набор символов или произвольная фраза. Каждое такое задание оценивается различным количеством очков, в зависимости от сложности как правило градация от простого к сложном 100, 150, 200, 250, 300, 400, 500 очков). 

Задания принят категорировать по следующим типам
  • admin — задачи на администрирование
  • joy — различные развлекательные задачи вроде коллективной фотографии или мини-игры
  • pwn — поиск и последующая эксплуатация уязвимостей системы
  • recon — поиск информации в Интернете
  • reverse — исследование программ без исходного кода (реверс-инжиниринг)
  • stegano — стеганография
  • ppc — задачи на программирование (professional programming and coding)
  • crypto — криптография
  • web — задачи на веб-уязвимости, такие как SQL injection, XSS и другие

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

История возникновения и развития игр CTF

Впервые соревнования CTF были проведены на хакерской конференции DEF CON в Лас-Вегасе в начале девяностых годов. Известно, что первые удалённые международные межвузовские соревнования iCTF UCSB были проведены университетом Калифорнии, город Санта-Барбара  в 2004 году.   Сначала в них участвовали команды только одного вуза – University of California, Santa Barbara (UCSB). Через два года в соревновании принимало участие уже четырнадцать команд из разных штатов Америки. На следующий год, в 2004, в названии соревнования UCSB перед CTF появляется буква i – international. Так соревнования UCSB iCTF становятся международными. Сегодня UCSB iCTF считаются крупнейшими межконтинентальными соревнованиями формата CTF.

В России соревнования проводятся по международным правилам. Они проходят в форме оллетивной игры, соревнуясь в которой, команды приобретают и демонстрируют навыки и умения в области информатики и защиты информации. Основной целью соревнований является обмен опытом и знаниями в сфере защиты информации, профессиональный рост и развитие культуры программирования и проектирования систем у студентов и молодых ученых, интересующихся и занимающихся безопасностью информационных систем. Одним из постоянных и первых организаторов соревнований RuCTF начиная с 2007 года выступает Уральский федеральный университет и РУНЦ "Интеллектуальные системы и информационная безопасность" Института математики и компьютерных наук при поддержку Ассоциации руководителей служб информационной безопасности (АРСИБ). Соревнования с 2009 года проходят в два этапа – первый этап (отборочный) проходит в сети Интернет без ограничения числа участвующих команд, второй этап (финал) проходит с очным участием лучших команд, по результатам отборочного этапа.

Длительность полуфинальных игр составляет 48 часов. За это время командам предлагается решить несколько десятков заданий из различных областей информатики и защиты информации. Задания объединены в тематические категории: криптография, стеганография, администрирование, обратная инженерия, программно-техническая экспертиза, история информатики и другие.

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

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

Дополнительные материалы и ссылки

Общая информация о CTF





Открытая безопасность. Подкаст соревнования CTF


Прохождения, хинты, советы, подсказки


Подготовка к Web-заданиям:

1. Видео-курсы по вебу. Пока что их не так много.
2. Блоги по вебу.
3. Онлайн варгеймы.

Комментариев нет:

Отправить комментарий

Вы можете добавить свой комментарий...

Примечание. Отправлять комментарии могут только участники этого блога.