Зачем участвовать в CTF и как извлечь из этого максимальную пользу

Дата: 23.05.2023. Автор: Swordfish Security. Категории: Статьи по информационной безопасности
Зачем участвовать в CTF и как извлечь из этого максимальную пользу
Изображение: J. Kelly Brito (unsplash)

Сегодня хакеры взламывают системы за 4–7 дней, а год назад им требовались для этого месяцы. Специалисты по ИБ и пентестеры тоже активно совершенствуют свои навыки — многие делают это на соревнованиях Capture The Flag (CTF). Там же они привлекают внимание работодателей и получают денежные награды. Расскажем всё самое интересное о CTF: зачем принимать в них участие и как извлекать из этого максимальную выгоду. Автор – Константин Крючков, многократный участник CTF (команда Keva), организатор учебных CTF в Swordfish Security.

Суть CTF

Capture The Flag (CTF) — буквально, «захват флага» – соревнование, участники которого пытаются захватить флаг соперников и защитить свой. В области ИБ флагами в таких играх выступает секретная информация — организаторы «зашивают» ее в специально разработанные системы. Заполучить эти данные можно только через взлом. Условия игр максимально приближены к реальным, а время ограничено. Принимают в них участие команды, заинтересованные в теме кибербезопасности, или отдельные специалисты, в том числе, хакеры разного уровня, разработчики, безопасники, студенты.

Первые в мире CTF-соревнования были проведены 30 лет назад в Лас-Вегасе на ежегодной хакерской конференции DEF CON. В России этот вид игр начал активно развиваться с 2009 года, когда команда HackerDom организовала в стране первые международные соревнования RuCTFE. В них приняли участие 43 команды со всего земного шара.

Где найти подходящий CTF

Найти подходящий вам CTF можно с помощью популярного ресурса CTFtime – здесь представлены описания 830 соревнований по всему миру, и их число постоянно растет. Также здесь можно посмотреть примеры решения заданий [write-up’ы] и статистику по командам. Больше всего на ресурсе западных и азиатских площадок. На CTFtime у каждого CTF есть вес — чем оно более топовое, тем вес ближе к 100. Сейчас самые весомые российские соревнования в рейтинге — это RuCTF, CTFzone и VolgaCTF. Самым большим соревнованием от российских организаторов по количеству участников была серия CyBRICS, сейчас она не проводится.

Очевидно, что у самых престижных соревнований и призовой фонд всегда самый высокий, может превышать 10 тыс долларов. Но и попасть на такие состязания нелегко. Бывает, что на участие в крупных CTF (типа парижской  «Ночи хака», Nuit du Hack) изначально заявляется 700-800 команд, а отборочный тур проходит лишь 15. Поэтому в качестве первого состязания лучше выбирать что-то в своей стране и поближе к дому, чтобы расходы были не такими большими, а дальше совершенствоваться, постепенно оттачивать навыки, продвигаться.

Ну и всегда помнить о том, зачем вы идете на CTF. Основными целями могут быть следующие: попробовать свои силы, улучшить скиллы, повысить престиж, заработать денег – и тогда мы говорим про CTF как киберспорт; прокачать навыки в определенном направлении, попрактиковаться в решении реальных задач, стать заметными в тусовке, привлечь внимание работодателя – CTF как обучение и рост; отточить конкретные навыки в соответствии с конкретными задачами – CTF как инструмент для профессионального развития.

CTF как киберспорт

Участие в CTF стремительно набирает обороты с ростом популярности сервисов по кибербезопасности и с увеличением потребоности в специалистах, обладающих навыками защиты. Не секрет, что многие молодые ребята идут в эти соревнования с тем, чтобы заработать деньги и имя. Те, кто регулярно становятся победителями, известны в отрасли. И не только забирают себе призовые фонды состязаний, но и получают привлекательные предложения о работе от крупных работодателей. И так, начав «рубиться» в CTF со студенчества, годами остаются в этой сфере.

Изначальная мотивация участников отличается. Например, «гроссмейстер» CTF – Омар Beched Ганиев, «этичный хакер», специалист по безопасности приложений и тестированию на проникновение, спикер различных конференций (Highload++, PHDays, ZeroNights, OWASP и т. д.), член одной из сильнейших российской CTF-команд «More Smoked Leet Chicken», основатель компании «DeteAct», отвечая на наш вопрос, сказал: «Главной мотивацией было «надрать зад» остальным участникам и показать, что я самый крутой хакер». Другим интересно заработать деньги, получить признание тусовки.

Ребят, участвующих в состязаниях CTF из «спортивного интереса», обычно все знают. Их никнеймы часто светятся в процессе на мониторах и нередко выходят на первые строчки в финале. Они обладают не только знаниями в области кибербезопасности, но и «натренированностью» именно в таком формате. Ведь для «захвата флагов» требуются определенные навыки, знание тонкостей самих соревнований. Иногда впервые попавший сюда хороший специалист может ничего не завоевать только потому, что не в курсе всего этого. Профессиональные игроки точно знают, как организовать небольшую DDos-атаку в игре, положить сервис, отвлечь внимание ботов, которые контролируют процесс. Например, бывает, что образы, которые дают на CTF, сложно развернуть. И тогда преимущество получит команда, в которой есть специалист с мощными навыами по системному администрированию.

Есть два классических формата CTF: Jeopardy и Attack-Defense. Jeopardy – это набор задач на разные темы, которые команда решает вместе. Благодаря такому формату можно выявить лучшую команду в той области, для которой организаторы делали задания. На Attack-Defense участники сталкиваются с противниками напрямую, атакуя не автономную систему, а сервер реальных соперников, которые следят за атаками и реагируют на них. Чтобы победить, здесь, помимо обладания нужными скиллами, нужно провести большую подготовку: приготовить анализаторы трафика и авто-запускалки эксплоитов, оттренировать чёткое командное взаимодействие в «пылу битвы», придумать заготовки, чтобы обхитрить соперников. Attack-Defense прокачивает умение противостоять людям, а не просто машинам. Также есть третий формат – Cyber Polygon. Его особенность – в том, что команды стартуют в «живой» инфраструктуре, сети большой компании, где есть сотни узлов. В каждую секунду времени ситуация меняется. Участники, взломав машину, могут «пропатчить ее» и перекрыть к ней доступ другим командам. Это максимально близкий к боевым условиям формат.

Команды получают очки, участники становятся известными в мире CTF и, постепенно, в мире кибербезопасности. В России пока что люди из данной сферы исчисляются сотнями, максимум – тысячами, что говорит о существенном недостатке таких специалистов.

CTF как обучение

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

В таком CTF могут участвовать хоть 10, хоть 100 человек – число не имеет значения. Крайне важно для поддержания мотивации соблюсти баланс между азартом турнира и практической полезностью: чередовать сложные и простые задания, а также добавлять задачи «для разгрузки». Для всесторонней «прокачки» навыков, конечно, будет полезным попробовать оба формата.

В целях обучения для не-новичков в кибербезопасности можно сделать фокус (в том числе и в CTF) на определенных темах. Такое случается редко, но это возможно.

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

Подобного рода обучающие CTF обычно проводятся в течение 2 дней (выходных, например), но иногда бывает и в будни. Набор задач обычно согласовывается с заказчиком и учитывает его задачи.

CTF как бизнес

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

Прежде всего, для организации CTF потребуется команда, которая напишет задания. Обычно это те, кто уже занимал топовые места в массовых турнирах, и услуги этих ребят стоят недешево. Также потребуется инфраструктура. Если речь идет о Jeopardy – нужна платформа для выдачи заданий и загрузки решений, плюс – некий анализатор результатов, чтобы ускорить процесс подсчета очков, если участников больше тысячи. Либо живые люди, проверяющие решение. Соответственно, тоже дорогие эксперты. Если речь идет об Attack-Defense, то необходимо «поднять» инфраструктуру на базе организатора или заказчика, обеспечить бесперебойность. Фактически, это сопоставимые затраты с фондом оплаты труда (ФОТ) полноценной компании за 1 день.

Любому CTF важно прежде всего наработать репутацию. Не должно быть никаких проблем с заданиями, организацией, накладок, поломок, неработающих серверов. Затем важно получить признание в отрасли, проведя ряд соревнований. И только потом, года через два-три после старта, можно наращивать объемы. Влад Росков, капитан команды LC↯BC / More Smoked Leet Chicken, многократный победитель и организатор CTF (с сообществом SPbCTF), рассказал нам, что когда у его команды накопилось несколько лет опыта по организации успешных соревнований и митапов, их начали приглашать проводить внутренние CTF’ы для сотрудников. Эта деятельность сочетает в себе и образование, и практику, и hiring-event, который помогает компании выделить самых склонных к изучению кибербезопасности коллег, а также – это нестандартный, но очень увлекательный тимбилдинг: сотрудники попадают в дружеское соревнование, где можно драйвово и полезно провести время с командой коллег над сложными и непривычными задачами, укрепив взаимодействие друг с другом, и перенести полученный опыт в работу.

Рекомендации по CTF разного уровня сложности от Swordfish Security: Для супер новичков: picoCTF – двухдневная игра, где у игрока есть персонаж, и его нужно передвигать от точки к точке, от задания к заданию; CSAW – интересный американский CTF, asisCTF – иранский CTF. Для экспертов («хардкор»): Hack.lu. Из Attack-Defense – RuCTFE. Там есть возможность поучаствовать участнику любого уровня. Один из самых интересных CTF – HacktheBox.

Попробовать свои силы также можно на платформе Root Me. Это ресурс, где вы можете потестировать свои навыки индивидуально без участия в соревнованиях (для тех, кто избегает публичности). Еще можно пройти Курс молодого бойца – довольно полезный ресурс для начинающего CTF’ера.

Заключение

CTF – это вызов, это игра и формат, который затягивает, и при участии в подобных мероприятиях, как и при занятии спортом, через некоторое время человеческий мозг запускает выработку серотонина, что стимулирует развитие навыков и, как следствие, компетенции участников. Они прокачиваются не только в области поиска и эксплуатации уязвимостей, но и в навыках работы в команде, организации процессов, управлении ресурсами, тайм-менеджменте, приобретают полезные связи, расширяют кругозор, смотрят на проблему «сверху», отчего она становится обыкновенной задачей. Многие регулярные участники CTF смогли применить полученные навыки в жизни, начав собственное дело. По нашему опыту, это один из лучших форматов для комфортного вовлечения разработчиков в культуру DevSecOps.

Об авторе Swordfish Security

Лидер рынка стратегического консалтинга в области цифровой трансформации процессов разработки защищенного ПО и внедрения технологических практик DevSecOps
Читать все записи автора Swordfish Security

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *