Краткая история CTF на Урале
0. Начало.
В начале 20
05–2006 уч. года, в УрГУ [1], был организован новый семинар «Секреты Хакердома». Это еженедельный семинар о компьютерной безопасности. Вокруг этого семинара и начала расти команда «Хакердом». В итоге собралось около 6 человек из УрГУ, УГТУ-УПИ [2] и ИММ УроРАН [3] которые стали еженедельно тренироваться.
1. Let the battle begin!
17 мая 2006 г. состоялись 1е на Урале соревнования CTF между командами «Хакердом» из Екатеринбурга и сборной команды ЮрГУ и ЧелГУ. Соревнования проходили в здании УрГУ и полностью готовилось силами УрГУ. В жюри был один человек из Челябинска. В команде играют не больше 6 человек. Первые соревнования были только на web потому что первые и опыта нет). Т.е. траффик между серверами ходил исключительно на 80й порт, где висел web-сервер. Также, существовало ограничение на ОС. Заранее было известно, что это будет Fedora Linux, Debian GNU/Linux или FreeBSD. Заранее было известно, что в качестве web-сервера будет Apache. Также было обязательно, чтобы приложения были написаны на PHP и использовали только БД mysql (если им вообще нужна БД). Жюри выбрало Debian GNU/Linux. Был установлен web-сервер Apache, на нем было настроено 3 вирт. хоста изолированные друг от друга (с помощью suexec). На вирт. хостах стояло открытое ПО, в которое жюри заранее внесло дополнительные ошибки (бэкдоры, ...). Во время игры было запрещено пользоваться Интернетом и средствами мобильной свзяи, но с собой можно было приносить все что угодно. Игра длилась 3 часа и завершилась со счетом 6:20 в пользу команды Челябинска.
Также, хотелось бы отметить, что команда из Челябинска приехала за 2 дня до соревнования, чтобы выступить с докладами на семинарах «Секреты Хакердома» и «Системном семинаре». В последствии, это стало доброй традицией, которую очень хотелось бы продолжить.
2. Новые люди.
В конце этого же семестра (2й семестр 20
05–2006 уч.г.) в команду влилисьновые силы – КБшники c 1го курса. Странно, но до этого в команде не было ни одного человека со специальности «Компьютерная Безопастность» (у нас никогда не было и не будет ограничения по курсам, специальностям и проч.).
3. New Wave.
Поражение сильно «взбодрило» нашу команду. Сразу после сессии (в июле) было решено продолжить тренировки. На октябрь след. года был запланирован матч-реванш. Всем было понятно, что времени, чтобы догнать и перегнать Челябинск очень мало. Тренировки были 2 раза в неделю: в понедельник и четверг с 17:00 и до пока нас не выгонет охрана (это где-то в районе 21:00). На удивление, команда ходила на тренировки очень дисциплинорованно. Не смотря на то, что лето и что каникулы. Особенно это касается студентов 2го (теперь уже) курса. Подробнее о тренировках можно прочитать в отчете команды об игре 26 ноября 2006г [4] (о самой игре см. след. абзац)
4.
26 ноября 2006г. состоялись очередные соревнования между Челябинском и Екатеринбургом. Теперь уже по традиции, мы приехали в Челябинск за 2 дня и прочитали 2 доклада на семинарах. Где-то за месяц выяснилось, что команда Челябинска готовилась к бою на «всем» сервере, когда как мы готовились опять к «только web» (реванш ведь). В результате переговоров было решено играть на всем сервере. Соревнование проходило в ЧелГУ и полностью готовилось силами ЧелГУ и ЮрГУ. На этот раз заранее было известно, что на серверах будет Linux, но не было известно какой именно дистрибутив будет. Какие сервисы поставит жюри и на каком языке они будут написаны также заранее известно не было. Жюри выбрало Fedora Linux. Сервисы были: POP3, FTP, WWW (с несколькими сайтами), telnet, time, discard. Опять использовалось открытое ПО с заранее внесенными ошибками. Точно также, как и в прошлый раз пользоваться Интернетом и мобильной связью было запрещено, но с собой можно было приносить все что угодно.
Соревнование длилось 5 часов и закончилось со счетом 12:16 в пользу Екатеринбурга.
Подробнее об игре в отчете о соревновании команды Екатеринбурга [4].
5. iCTF
Каждый декабрь Университет Калифорнии устраивает международные соревнования CTF через Сеть [5]. 08 декабря 2006 прошли 6е соревнования iCTF. Наша команда была единственная, которая представляла Россию. Сразу бросилось в глаза, что организаторы даже не пытались составить какие-либо более-менее формализованные правила. Они так и сказали: «Вы же понимаете, что невозможно описать все правила этой игры; вот вам основные принципы и дальше думайте сами». Более того, где то за 15 минут до начала организаторы выставили «новые правила». Выяснилось, что в этом году флагов не будет («Захват фалага» без флагов!). Все команды выступали в роли виртуальных банков. А вместо флагов предлагалось «воровать» деньги (естественно, условные) у соперников. Было интересно :) Подробнее об этой игре можно прочитать в отчетах нашей команды [6].
Стоит отметить особо разницу наших и международных соревнований. Во время наших соревнований мы пытались четко формализовать рамки, когда как на международных границ практически не было. Хотя, все команды соблюдали некоторый негласный кодекс чести. Думаю, что в будующем надо двигаться в эту сторону. Т.е. как можно меньше ограничений. Но об этом позже.
6.
Сейчас команда представляет из себя
12–15 человек. Это примерно 2 состава: основной и второй. Это настоящая сплоченная команда (этого еще не было в 1е соревнования). Помимо соревнований, мы занимаемся исследовательской деятельностью в различных сферах Компьютерных наук и Компьютерной безопасности.
Сноски и полезные ссылки
[0] Сайт команды «Хакердом» УрГУ.
https://hackerdom.ru
[1] Уральский государственный университет им. А.М. Горького.
Сайт:
http://www.usu.ru.
[2] Уральский государственный технический университет (бывший Уральский
Политехнический Институт – УПИ)
Сайт:
http://www.ustu.ru
[3] Институт Математики и Механики Уральского Отделения РАН.
Сайт:
http://www.imm.uran.ru
[4] «Отчет о втором бое со сборной командой г. Челябинска» нашей команды
https://www.hackerdom.ru/CtF/reports/report02
[5] The UCSB International Capture The Flag (также известны, как iCTF)
Сайт:
http://www.cs.ucsb.edu/~vigna/CTF/
[6] Отчеты команды «Хакердом» о соревнованиях
https://www.hackerdom.ru/CtF/reports .
[7] «Хакер – (от англ. to hack- успешно управлять)
В изначальном значении хакер – высокопрофессиональный и весьма
любопытный программист, способный к нетривиальным решениям. [...]"
http://slovari.yandex.ru/art.xml?art=internet/284.htm&encpage=internet
Также, см.
http://en.wikipedia.org/wiki/Hacker