RuCTF 2015: танковые битвы «белых хакеров»

cb0ee737a93746e0bcd19c8158faf22c.jpgПривет, Хабр. Хочу рассказать тебе о крупнейших и самых авторитетных в России межвузовских соревнованиях по защите информации — RuCTF. Уверен, многие из вас знают, что это такое, некоторые даже не понаслышке. Более того, поискав чуть по хабам, обнаружил несколько попыток разной степени успешности рассказать об этом движении, но все они предпринимались довольно давно (3–6 лет назад), а RuCTF c тех пор не прекращал эволюционировать. Соревнования стали намного интереснее, а также в этом году они вышли на международный уровень — в последнем финале вне зачета участвовали команды из Китая и Беларуси. Так что возьму на себя смелость вновь поднять эту тему и об этом самом финале рассказать подробнее.Как все начиналосьВпервые соревнования по компьютерной безопасности в формате игры CTF (Capture the flag) прошли более двадцати лет назад на хакерской конференции DEF CON в США. С тех пор они стали проводиться в различных форматах по всему миру. Ежегодно на них съезжаются сильнейшие команды из разных стран. В 2014 году в Лас-Вегасе был проведен 22-ой в истории DEF CON CTF.В России RuCTF — первые открытые межвузовские соревнования по защите информации по международным правилам «Capture the flag» —впервые прошли в 2007 году в тогда ещё в Уральском государственном университете им. А.М. Горького. Уже на следующий год соревнования RuCTF приобрели статус всероссийских.

297897f30c65467d88fa0ee9b4fa3ed0.jpg3ceeba797d704fd08d1231f7b3115def.jpg

RuCTF 2015Поскольку ноги RuCTF растут из Екатеринбурга, то именно там, в Уральском федеральном университете, ежегодно финал и проходит. Обычно до финала RuCTF в сети проводились отборочные соревнования, но в этом году правила изменились. Шансом попасть в очный финал RuCTF 2015 теперь стало успешное выступление команды на RuCTFE 2014 — международном онлайн-состязании по защите информации, проводимом с 2009 года разработчиками RuCTF — командой «Хакердом» (Екатеринбург). В ноябре 2014 в соревнованиях RuCTFE участвовало 322 команды со всего мира, для финала из их числа было отобрано десять лучших российских коллективов + две команды — победители дружественных региональных российских CTF-соревнований DvCTF 2014 (Владивосток) и VolgaCTF 2014 (Самара).В этом году RuCTF проходил 24–27 апреля, в первые два дня организаторы провели традиционную конференцию, на которую ежегодно приезжают известные специалисты по информационной безопасности, разработчики тасков, участники команд, которым есть что рассказать. Например, в этом году несколько дней на RuCTF провел известный программист Дмитрий Скляров. На конференции выступили разработчик RuCTFE 2014 Александр Берсенев, который рассказал про сеть и инфраструктуру международных онлайн-соревнований, а также представители российских и международных IT-компаний. Кстати, соревнования уже не первый год поддерживают WebMoney, СКБ Контур, Минкомсвязь и другие.Кроме участия в конференции, финалисты RuCTF 2015 состязались в двух конкурсах: командном квесте «Hack the tank!» и личном первенстве Всероссийской олимпиады по информационной безопасности.

a25d4082fde24cca909f1ffcf3303074.jpga79b330676034dfaa632eee03f905301.jpg

73d45d32223c49999f29f08aa0575a1d.jpgc65c5082127c425e8772fc29efbcc483.jpg

«Hack the tank! «За последние годы участникам соревнований успел полюбиться конкурс «Hack the tank!», подготовленный командой ЦСР МО РФ совместно с МОО АРСИБ. Для этого соорудили специальный лабиринт-полигон. В соревнованиях были задействованы модели легендарных танков Т-34 и КВ-1С, оснащённые web-камерами, памятью (Micro SD на 8 гигов), Wi-Fi-адаптерами и считывателями RFID-меток, которые были приклеены к полу. Двигались танки благодаря virt2real, платформе для удаленного управления и видеотрансляций через Wi-Fi. Задача команд состояла в том, чтобы, находясь в отдалении от полигона и не имея возможности со стороны наблюдать за передвижением в нём, получить доступ к танкам в лабиринте и собрать наибольшее количество RFID-меток. По сути, в квесте «Hack the tank!» RFID-метки выполняли роль флагов, как в обычных соревнованиях CTF: для их получения команды-участницы могли перехватывать друг у друга управление танками и тем самым зарабатывать дополнительные очки в финальной таблице результатов.Технически это было реализовано следующим образом. Танки были объединены в сеть, разделенную на две точки доступа, каждая из которых держала по 4 машины. Точки доступа были разнесены на удаленные каналы, чтобы не перебивать друг друга. И каждому отдельному танку была дана своя виртуальная сеть. Фишка же вся была в маршрутизации между сетями. Допустим, команда решала по ходу конкурса задание (CTF-таск) и получала за это «монетку». «Монетку» использовала в сервисе, называемом «Игровой автомат». Система это регистрировала и меняла схему маршрутизации так, что сетевые пакеты от команды попадали в виртуальную сеть одного из танков. Танков меньше, чем команд, поэтому получив доступ к танку, команда-участница «вышибала» одного из соперников, который управлял танком ранее. Таким образом, сетевая связность между командой и танком могла появляться и пропадать в динамичном режиме.Сервисов с уязвимостями в этом конкурсе («Hack the tank!») не было, но были таски из самых разных категорий — реверс-инжиниринг, форензика («компьютерная криминалистика»), стеганография, законодательство ИБ, математика, физика и даже викторина по Великой Отечественной войне. Для решения задач участникам также необходимо было продемонстрировать знание устройства LLVM, анализа сетевого трафика и разведки в интернете. Всего на конкурс и организационные моменты у команд было 4 часа.

821bb9de23304123bedc953066634314.jpg7e06678797b34577a7874158c045da44.jpg

Финальное состязаниеВ этом году в зачёте в финальной таблице с результатами участвовало 17 команд, пять из которых, включая команды школьников, были вне зачета. Список команд можно найти здесь.Задания для финала разработали екатеринбуржцы — CTF-команда «Хакердом» (УрФУ), входящая в десятку лучших мировых команд и в тройку мировых лидеров. На протяжении всего дня команды соревновались между собой в области криптографии, web-уязвимостей и администрирования операционных систем для нестандартных процессорных архитектур.В этом году участникам предоставлялись микрокомпьютеры Raspberry Pi 2 Model B, отличающиеся, несмотря на свои небольшие размеры, достаточно впечатляющими характеристиками. Кроме того, каждая команда имела также плату под управлением процессора Мультиклет уральской разработки. Участники имели возможность исследовать и эксплуатировать шесть сервисов, два на скриптовых языках программирования, два на реверс инжиниринг, один бинарный с исходными кодами и отдельный сервис по работе с Мультиклетом. Из особенностей можно отметить то, что Raspberry Pi имеет процессор на архитектуре ARM, которая не настолько исследована и натренирована, как x86, но доступна в любом настольном компьютере. Как всегда, использовался очень широкий спектр языков программирования и технологий, включающий C++, Python, Perl, Go, F#. Ну и главной особенностью этого года был вышеупомянутый Мультиклет. О нем команды, конечно, могли узнать побольше в рамках доклада на конференции, но, тем не менее, он представлял немалую сложность даже будучи довольно простым с точки зрения логики.

c6d755e934334ecab0267536bdcacf79.jpga2feed387ad74fa1a91fad5803608f95.jpg

В результате по ходу соревнований финальный скорборд порой выдавал весьма неожиданные результаты. Так, например, периодически на 1 месте всероссийских студенческих соревнований по защите информации оказывались и школьники, и сборная студентов из Китая. Согласно правилам состязаний, эти команды соревновались вне зачёта. К середине игры уверенную позицию лидеров стала занимать команда Noobs4Win из УрФУ — она так и осталась на самой верхней строчке в финальной таблице, завоевав победу.Второе место в финале всероссийских межвузовских соревнований по защите информации RuCTF 2015 заняла команда Honeypot из Владимирского государственного университета, третье место — у команды Leet More (НИУ ИТМО, г. Санкт-Петербург). Таким образом, переходящий кубок соревнований до следующего года остается в Екатеринбурге — городе, где и родились соревнования RuCTF.Если вы заинтересовались и хотели бы попробовать силы своей студенческой команды в таком мероприятии, то мне остается только еще раз напомнить, что для попадания в финал RuCTF надо «всего лишь» успешно выступить в онлайн-битве «белых хакеров» RuCTFE и попасть в ее итоговой таблице в топ-10 российских команд. ;) Успехов!

© Habrahabr.ru