Поиск уязвимостей в веб-приложениях и файлах, работа с криптоалгоритмами, анализ операционных систем и защита от киберугроз.
Участники финала смогут решать задачи на специально создаваемом киберполигоне — учебные угрозы основаны на реальных приемах и инструментах хакеров.
В рамках предметного тура участникам предстоит решать задачи по математике и информатике, а также освоить образовательный блок для получения или подтверждения основных требуемых компетенций.
В рамках инженерного тура участники будут индивидуально выполнять задания профиля, связанные со следующими инженерными компетенциями: криптография, устранение бинарных уязвимостей, веб-безопасность, анализ инцидентов.
В рамках второго этапа вам предстоит принять участие в командном соревновании по практической работе по обеспечению информационной безопасности.
Решайте задачи по криптографии, расследованию инцидентов, закрытию бинарных уязвимостей, веб-безопасности, анализу протоколов атак.
Все задачи автоматизированы и с динамическим рейтингом: решил сложную задачу — получил больше баллов.
В начале участникам будет необходимо решить несколько заданий на знание уязвимостей веб-приложений, бинарных уязвимостей, программирования и криптографии.
Затем им необходимо будет провести расследование инцидента в компании, проведя анализ образов машин и восстановить действия злоумышленника. После этого они смогут в реальном времени защитить инфраструктуру от атак.
Для работы участникам потребуется компьютер, а также знания и навыки, полученные на предыдущих этапах олимпиады.
В результате командам нужно будет полностью восстановить вектор атаки злоумышленника и устранить уязвимости приложения, атакуемого в реальном времени.
Представленные ниже знания должны быть «распределены» в команде. Нет необходимости, чтобы каждый владел всеми знаниями, но необходимо, чтобы каждый понимал в этих областях смысл базовых слов и конструкций. Иначе не получится построить коммуникацию.
Чтобы успешно справиться с задачами важно знать математику и уметь программировать. Но если вы уже интересуетесь основами информационной безопасности и у вас есть знания в области безопасности web-приложений, реверс-инжиниринга и вирусного анализа, цифровой форензики, поиска бинарных уязвимостей, безопасной разработки и проектировании систем информационной безопасности, то решать задачи будет приятно и интересно.
Советуем исследовать самый крупный новостной портал в России, посвященный соревнованиям по информационной безопасности — CTF News. Стоит начать с раздела для новичков. Кроме того, можно попробовать свои силы и порешать задачи прошлого года.
Очень полезно попробовать решить задачу и заглянуть в разбор, если застрял на каком-то шаге и не понимаешь, как двигаться дальше.
Цель каждого задания — найти флаг. Все флаги данного соревнования имеют одинаковый формат: CC{[\x20-\x7A]+}. Пример: CC{w0w_y0u_f0und_7h3_fl46}. Флаг используется в качестве некоторой секретной информации, которую нужно извлечь, находя уязвимости в анализируемых сервисах или исследуя предоставленный файл.
Если не знаешь, с каких заданий начать, начни с тех, которые уже решило больше всего участников. Скорее всего, они будут проще остальных.
Для каждой из категорий мы собрали список инструментов, которые могут оказаться полезными при решении:
Обычно все эти профессиональные навыки увязываются в знакомые категории соревнований в области информационной безопасности, но в финальной задаче не будет «категорий». Поэтому держите при себе «навык», а не умение решить конкретный тип «таска».
Для участия на втором и заключительном этапах вам понадобится команда из 4 человек:
Лидер команды (тимлид) — из этой роли видно задачу целиком. Тот, кто выберет эту роль должен уметь разделить задачу на подзадачи, а также собирать вместе результаты выполнения подзадач. В этой роли может быть как самый подготовленный человек в команде, так и тот, кто просто лучше всех знает сильные и слабые стороны каждого члена команды.
Программист — это роль техническая. Программист должен написать нужный программный код, который работает правильно и быстро. Правильно и быстро, а не абы как!
Ревёрсер — ещё одна техническая роль. Это человек, который разберёт любые бинарники на запчасти и увидит их слабое место. Эта роль очень важна, так как только в этой роли можно разобрать вредоносного агента.
У одного человека может быть несколько ролей, но не переборщите. Понятно, что ревёрсер скорее всего умеет программировать. Но вот программист вовсе не обязан уметь делать ревёрс. Учтите, что базовые навыки должны быть у всех примерно одинаковые, иначе не получится наладить взаимодействие.