Учимся играя

Изучать практику мы будем, сами находя уязвимости в системах. Разумеется, неправильно искать их на случайных сайтах, и тем более неправильно их там использовать — это неэтично, а также наказуемо. Вместо этого однажды были придуманы соревнования, где участники практикуются на специально созданной инфраструктуре. Реальных данных пользователей в ней, естественно, нет. Такие соревнования называют CTF (англ. capture the flag — захват флага).

«Своя игра» для хакеров

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

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

К решению любой задачи всегда можно прийти своим трудом, не полагаясь на волю случая и удачу. Не понимаете, о чём речь в очередной задаче? Поищите в интернете, пообщайтесь с сокомандниками, выпейте чаю, пробегите глазами какую-нибудь книжку, поищите ещё немного — решение придёт, принеся с собой удовлетворённость и бесценный опыт.

Анатомия задач

Задачи в CTF ещё называются тасками (англ. task). В каждой категории есть несколько тасков. Таски бывают разной сложности: одни большинство команд решит за несколько минут, а другие не смогут решить и сильнейшие. Чем сложнее таск, тем больше очков приносит его решение.

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

О курсе ⟶