Новости RuCTF 2010 - отчет SiBears

Progressor
, 02 May 2010

25 апреля состоялся финал всероссийских соревнований по защите информации среди вузов RuCTF 2010. Команда Томского Государственного университета SiBears заняла первое место.

В этом году RuCTF включал в себя целый комплекс мероприятий. Так, помимо собственно игры CTF участникам предлагалось померяться силами в кластерных войнах - захват мощностей общего кластера у соперников для решения вычислительно сложной задачи; написать программу для настоящего робота с целью помочь ему выйти из лабиринта; поиграть в perlgolf - соревнования на самое короткое решение поставленной задачи на языке программирования perl и поучаствовать в "клавогонках для админов" - набор реальных команд администрирования на языке bash. Также работала секция "воркшоп", на которой читались доклады на различные темы в области ИТ. А после главной игры состоялся традиционный турнир по боулингу между сборными команд.

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

В этом году финал RuCTF совпал с празднованием 50-летия Математико-Механического факультета УрГУ. В связи с этим традиционный "бардак на мат-мехе" - это когда студентам "разрешено всё, что не подпадает под Уголовый кодекс и слабо подпадает подпадает под Административный", - проходил с ещё бОльшим размахом. К сожалению, участникам RuCTF очень нужен вечер перед игрой для подготовки и поэтому наша команда снова не приняла участия в этом веселом действе.

Подготовка же к игре прошла очень продуктивно, были написаны вспомогательные программы и скрипты, которые очень помогли в процессе игры. Главный День начался для нашей команды хорошо, мы явились миру в своих футболках, на которых было написано по одной букве из слова SiBears. Таким вот оригинальным образом мы еще раз подчеркнули, что выступаем сплоченной и организованной командой. По итогам жеребьевки впервые за три года нам выпало играть не в самом корпусе Мат-Меха, а в корпусе на Куйбышева. Впрочем, аудитория попалась отличная, с кондиционерами и проектором - все условия для хорошей игры:)

[caption id="attachment_1173" align="aligncenter" width="300" caption="Построение перед игрой"][/caption]

Правила RuCTF 2010 были слегка изменены. Так, в середине игры сегменты команд были вновь разделены, жюрейская система приостановлена, а командам был предоставлен полноценный обед. Впрочем, не запрещалось за время обеда продолжать играть автономно, чем я и занимался. Еще одно очень существенное дополнение - за два часа до конца игры скорборд был заморожен, осталось только отображение состояний сервисов команд и статистика по захваченным флагам. Это сильно действовало на нервы - приходилось играть вслепую. Также в рамках соревнований жюри организовало тотализатор на угадывание первых трех мест с денежными ставками. Мы ставок делать не стали, а вот многие другие команды и болельщики поставили на нас и выиграли с коэффициентом 2,2.

Сама игра была довольно показательна - снова подавляющее большинство флагов было стянуто командами с одного и того же сервиса (скорее всего и через одну уязвимость). В этом свете нам очень помог сервис на криптографию, который мы раскопали первыми (и практически всю игру были единственными, кто это сделал; отдельный респект команде Quinque, которая к концу игры тоже стала тянуть флаги с этого сервиса). Криптография - наш конёк и спасибо за это нашей кафедре Защиты Информации и Криптографии.

Подолью ложку дегтя - довольно много клеточек в скорборде показывали состояние "checker error". Это иногда очень мешало командам, поскольку для успешной атаки на сервис соперника необходимо, чтобы свой сервис был в состоянии "up" и только в нем. Например, мы вручную стащили самый первый флаг в игре на 15-й минуте после открытия сегментов. Потом я написал скрипт автоматизации браузера специально для этой уязвимости, который успешно тянул флаги со всех остальных команд, но система их не принимала, отвечая "your service is not up". Так мы и стянули за всю игру всего 2 флага с этого сервиса:)

Что касается защиты - в этой игре наша команда следовала другой тактике - мы исправляли только то, что можно было быстро пофиксить. А остальная защита строилась на таком принципе: мы проводим успешные атаки на сервисы соперников, они при этом не получают очки за защиту, а мы получаем (так как не все команды автоматизируют атаку). В итоге наша защита повышается относительно других команд. Я, например, просто не знал, как исправить баг в своем сервисе (незнакомый язык программирования и незнакомая система компиляции, а разбираться некогда). В итоге за атаку мы получили 100%, а за защиту - всего 76.

Адвайзори - это еще одна категория, по которой мы получили 100% очков. Совет всем командам - пишите адвайзори на всё (в разумных пределах, конечно). С того сервиса, с которого мы не поимели флагов из-за свалившегося чекера, - мы взяли очки за рабочий эксплойт в адвайзори.

А еще жюри сделало красивую визуализацию игры. На диаграмме в реальном временем линиями показывалось, какая команда и откуда стянула флаг. Там были красивые моменты, когда появлялся автоматический эксплойт и от команды линии разлетались веером по командам-соперницам:) Правда, нам было некогда смотреть на эту визуализацию на самой игре, но на подведении итогов этот мультик очень всех порадовал.

[caption id="attachment_1174" align="aligncenter" width="300" caption="SiBears attack!"][/caption]

На игре среди независимых наблюдателей был один особенно независимый, у которого на футболке было написано название нашей команды. Спасибо, Аня:)

Кстати, насчет замораживания скорборда - мы реально не знали, кто взял первое место (хотя очень надеялись, что все-таки SiBears), поэтому после игры даже как-то особо не похлопали и не поорали сами себе песни типа "We are the champions". На награждении вот большой сюрприз преподнесла команда CIT из Санкт-Петербурга, занявшая третье место. Во-первых они играли втроем(!), а во-вторых во время работы скорборда ни разу не входили в первую тройку. И уже через несколько дней, в середине мая, они проводят свой онлайн CTF, в чем мы им искренне желаем успеха. Команда CIT стремительно набирает обороты - молодцы!

И вообще, в этом году чувствовался возросший уровень команд, конкуренция сильно ожесточилась, играть стало еще интереснее. И это здорово.

В итоге, на следующий день после игры мы узнали, что заняли первое место и очень обрадовались. SiBears и ТГУ стали двукратными чемпионами RuCTF!

Спасибо организаторам RuCTF - команде (клубу) ХакерДом, Мат-Меху и всему Уральскому Государственному университету. RuCTF снова удался на славу! И спасибо нашей кафедре Защиты Информации и Криптографии и всему Томскому Государственному университету за поддержку - мы старались:)

Спасибо всем участникам за здоровую конкуренцию и честную игру!