7 уроков, извлеченных из разработки DEF CON Cloud Village CTF

7 уроков, извлеченных из разработки DEF CON Cloud Village CTF

7 уроков, извлеченных из проектирования DEF CON Cloud Village CTF PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

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

«Как дизайнер, я хочу, чтобы это [CTF] было увлекательным занятием. Я хочу вознаграждать людей, которые умны, действительно работают над этим и настойчивы», — говорит Дженко Хвонг, главный исследователь команды Netskope Threat Research Labs и руководитель группы прошлогоднего DEF CON Cloud Village CTF. «Это также должно быть практично для нас».

Веселым и практичным был образ мышления, который Хвонг привнес в DEF CON CTF, масштабное многодневное мероприятие, в котором приняли участие более 400 человек и команд, пытающихся принять участие в соревновании, а команда из 20 человек работала под его руководством, чтобы провести мероприятие. Опытный исследователь и опытный участник CTF, Хвонг никогда не проводил CTF до этого мероприятия. Одной из его самых больших надежд на свою первую попытку работы было повышение актуальности и реалистичности задач в событии, что иногда может стать проблемой в современных CTF.

«Иногда в таких CTF перед тобой стоит очень сложная задача, но какой в ​​этом смысл? Это будет проблема расшифровки или шифрования, когда событие будет выглядеть так: «Вот что-то, удачи», а затем вам придется перепрыгнуть через все эти обручи, которые, возможно, не полностью оторваны от реальности, но на самом деле не вписываются в более широкую картину. сюжетная линия», — говорит он. «Итак, когда мне позвонили, я подумал: «Давайте приступим, давайте придумаем хорошую историю и хороший набор задач, которые будут интересными, но также имеют смысл и, возможно, относятся к реальному миру исследований по тестированию на проникновение». защитные меры, что происходит в реальном мире».

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

«Сообщество обычно разделяет массу вопросов, так почему же мы не делимся проблемами CTF?» он говорит. «Я думаю, мы можем добиться большего».

В этом духе обмена опытом с сообществом безопасности он делится некоторыми важными уроками, которые его команда усвоила за время работы, чтобы другие, отвечающие за разработку CTF, могли извлечь уроки и понять этот процесс. Его цель — провести мероприятие снова и опираться на то, чему они научились в прошлом году. Он также надеется, что другие поделятся своими передовыми практиками и даже техническими подробностями, чтобы все сообщество безопасности могло улучшить качество предлагаемых CTF.

Рассказывание историй – это ключ к успеху

Хвонг говорит, что его команда DEF CON Cloud Village очень хотела создать увлекательную и веселую сюжетную линию. Он говорит, что думал об этой истории как о сценарии фильма со встроенными реалистичными киберсценариями. Для мероприятия они выбрали тему «Гномы», которая была веселой и забавной. но важно было не только написание сюжетной линии, но и то, как в ней планировались технические задачи.

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

Используйте подход к разработке программного обеспечения

Создателям CTF обязательно следует использовать подход к разработке программного обеспечения при разработке технических элементов своей задачи, рекомендует Хвонг.

«Вы должны думать о проектировании, реализации и тестировании», — говорит он, объясняя, что он и его команда на собственном горьком опыте узнали, насколько сложно может быть тестирование задач в сложной среде CTF, которой участники могут манипулировать множеством способов. .

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

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

Оперативная строгость… и немного кофеина

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

«У нас было несколько замечательных людей, которые управляли серверами, учетными записями AWS, учетными записями Google и Azure и следили за тем, чтобы все работало, и что мы отслеживали ситуацию», — говорит он. «Со всем этим надо разобраться. И если вы проигнорируете это, это может означать, что что-то пошло не так, сломалось или у вас проблемы с производительностью».

Одна из операционных проблем, с которыми они столкнулись, заключалась в том, что они столкнулись с некоторыми противоречиями между участниками и задачами, поскольку команда работала с ограничением, заключавшимся в том, что они не могли создать автономную среду для каждого участника в AWS, Google и Azure.

«Поскольку это происходило в одной и той же среде, это помогало им решать другие задачи, а если перед вами стоит задача, требующая изменения среды, тогда люди наступают друг другу на пятки, меняя общий объект», — сказал он, объяснив, что он и его команде пришлось сбросить политику по мере продвижения CTF, чтобы участники не столкнулись друг с другом.

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

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

«Я был в Discord после полуночи и такой: «У меня утром есть доклад, не могли бы вы пойти спать?» — пошутил Хвонг, который объяснил, что у участников будут вопросы, и они собираются постоянно обращайтесь к организаторам за советами и подсказками.

Проектировать разные уровни сложности сложно

Правильно определить уровни сложности задач и создать справедливую систему подсчета очков может быть сложнее, чем может показаться новичку-организатору CTF, предупредил Хвонг. Он объяснил, что некоторые уровни, которые его команда сочла более простыми, участникам было сложнее пройти, чем они ожидали, в то время как некоторые из более сложных уровней были успешно пройдены большим количеством участников, чем ожидалось.

Задача повышения уровня сложности неразрывно связана с разработкой разумной системы подсчета очков. После своего опыта в DEF CON Хвонг является сторонником использования какой-то системы подсчета очков по кривой колокола. Но он говорит, что проблема не так проста, как создание кривой. Существует также проблема нормализации и балансирования преимуществ, которые большие команды CTF имеют в наборе контрольных очков — проблема, о которой один из участников дал ему отзыв после мероприятия.

«Поэтому, если ваши задачи можно разделить и выполнять параллельно несколькими игроками, если у меня есть 10 человек, я буду в 10 раз быстрее. И в этом есть преимущество», — говорит он. «Его точка зрения заключалась в том, чтобы немного повысить уровень динамического подсчета очков. Если есть вещи, в которых он действительно хорош, возможно, он будет единственным, кто их решит, и получит максимальное количество очков. Гауссова кривая вознаградит его по сравнению с масштабом, не обязательно имеет значение, если это что-то в его рубке опыта с точки зрения 10 против одного. Здесь есть некоторые спорные вещи, над которыми нам предстоит проработать».

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

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

Синим командам нужно больше веселых испытаний CTF

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

«Упражнения синей команды обычно проходят следующим образом: «У нас неправильно настроенная среда с множеством уязвимостей. Можешь их починить?», — говорит он. И что они делают, так это просто проверяют, изменены ли эти конфигурации или нет, и могу ли я получить доступ к этому общедоступному хранилищу. И как только вы сделаете это личным, мы будем знать, что вы это исправили, и вы получите баллы. Было бы намного лучше сделать что-то сверх этого, например, что, если вы скомпрометированы, в вашей среде есть злоумышленник, вы должны найти его и выгнать. Итак, прямо сейчас происходит инцидент, и пока злоумышленник есть, у него есть учетные данные, и пока он что-то делает, вы можете его обнаружить. Это ваша работа как участника. И пока вы не отзовете им доступ, вы не решите ее и не получите максимальное количество очков».

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

CTF нуждаются в более свежих и актуальных компонентах.

Хвонг также призывает разработчиков CTF (и себя самого) включать в свои задачи более свежую информацию об эксплойтах и ​​уязвимостях. Это была одна из вещей, которым он хотел бы уделять больше времени во время своего первого выступления в DEF CON Cloud Village, и которую он решил улучшить в следующем году.

«Это одна из областей, где CTF могут стать в большей степени инструментом обучения и подготовки», — объясняет он. «Мы хотели бы использовать актуальные идеи и достижения, свежие от исследователей, появившиеся ранее в этом году или даже представленные на DEF CON».

CTF «Строительные блоки» для улучшения «повторного использования»

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

«Вам все равно придется настроить его и добавить что-то свое, но идея в том, чтобы убрать первые 60%, чтобы организаторы CTF могли сосредоточиться на действительно новых вещах. Таким образом, никто не изобретает велосипед», — говорит он. «И тогда оставшиеся 40% могут быть добавлены новые методы, сценарии и сюжетные линии».

Отметка времени:

Больше от Темное чтение