Перейти к материалам
Максим Мороз
истории

«Мы начинаем наше мочилово» «Медуза» поговорила с российскими победителями международного турнира хакеров в Шанхае

Источник: Meduza
Максим Мороз
Максим Мороз
Фото из личного архива

В конце апреля российская команда хакеров LC↯BC заняла первое место в финале международного турнира по компьютерной безопасности 0CTF в Шанхае. Журналистка «Медузы» Екатерина Кронгауз поговорила с участником команды Максимом Морозом о том, что это за соревнования, законны ли они — и какие задачи приходится решать соперничающим хакерам. 

— Расскажите, что это вообще за соревнования?

— Они называются Capture the Flag — гонка за флагом, и смысл соревнований — в решении задач. Ответ к каждой задаче — это какая-то строка заданного формата, в ней только цифры и несколько букв. Собственно, этот ответ и есть «флаг». 

Есть два формата проведения соревнований. Первый: все команды получают одинаковый набор заданий, это похоже на олимпиаду. У этих заданий есть один ответ, иногда его можно получить несколькими способами. Такой формат называется Jeopardy, это как «Своя игра».

Второй формат — Attack-Defense, где каждая команда получает сервер или несколько серверов в свое пользование, на которые установлены какие-то сервисы — веб-сайты, почта, какие-то другие сервисы, не самые понятные для обычного человека. Задача каждой команды — исследовать сервисы, находить в них уязвимости, исправлять их на своем сервисе и атаковать через них сервера соперников. За каждую успешную атаку команды получают секретную информацию, которая опять же является «флагом». 

В Jeopardy все просто соревнуются за общий счет — кто больше нарешает, а в Attack-Defense — это война: нужно себя защищать, других атаковать; кто это делает быстрее, грамотнее, тот в итоге получает больше очков.

— Почему конкурс называется 0CTF?

— Этот конкретный 0CTF организован китайской командой 0ops — она так называется, начиная с нолика, поэтому, видимо, они решили включить нолик туда. Может быть, там и другой смысл: в мире информационной безопасности есть такое понятие, как 0-day — это уязвимость, которая еще никому неизвестна. Есть готовый продукт, все им пользуются, и тут раз — кто-то находит уязвимость. Она называется 0-day.

— Кто организует эти соревнования?

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

— Сколько команд участвуют?

— В отборочных турах — 874. Это Jeopardy, и в нем все участвуют из своих стран; Attack-Defense обычно используется на финалах, уже на очных, потому что его труднее готовить, нужна инфраструктура, общая сеть.

— Сколько было в финале команд?

— В финале — 12.

— Откуда они берутся, кто вы такие?

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

— А кто вы?

— Я по образованию инженер по информационной безопасности, у меня специальность по защите информации. Я работаю в Google, в Германии сейчас. То есть я с института этой темой интересовался, знал, что такие соревнования есть — и, собственно, я уговорил ребят, которые со мной учились, и несколько человек с работы [участвовать в соревнованиях]. Так у нас появилась команда BalalaikaCr3w. А потом мы объединились со старой известной командой More Smoked Leet Chicken и получилось LC↯BC.

Российская команда LC↯BC

— На соревнования приезжают хантеры крупных IT-компаний? 

— Хантеры приезжают. Часто после соревнований подходят люди и дают какие-то визитки или просят оставить им свои контакты. Конечно, никого не берут на работу только за его успехи в соревнованиях, это решается на собеседованиях, но обратить на себя внимание или добавить пару строчек в резюме соревнования, безусловно, помогают.

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

— Как физически выглядят отборочные туры? 

— Как правило, они длятся 48 часов, иногда бывает меньше, редко больше.

— Вы сидите за компьютером и быстро стучите по клавиатуре?

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

— А финал сколько идет?

— Финал обычно длится два дня.

— То есть вы не спите?

— Мы приходим утром в первый день, нам дают оборудование, полчаса или час на настройку, чтобы мы разобрались и подключились, открывается сеть между командами — и мы начинаем наше мочилово. Это длится часов десять, потом сеть закрывают, заставляют всех остановиться, пойти поужинать и отдохнуть в отеле. И из отеля мы как бы не можем ломать другие команды. Но мы можем взять эти сервисы с собой и ночью продолжить в них искать и исправлять уязвимости. Собственно, так это и происходит.

— А оборудование — это что?

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

— То есть иногда вы даже в первый раз сталкиваетесь с каким-то устройством?

— Да. Вот, например, в 2014 году в финале DEF CON CTF всем командам раздали на второй день бейджи — не бумажные бейджи, а на плате. На них есть экранчик с парой кнопок — то есть это такие портативные маленькие компьютеры. Прикол в том, что они с радиодатчиками и между собой пересылают сигнал другим командам плюс компьютеру организаторов. И получается, что вместо обычной сети, как мы привыкли, вся информация ходит по воздуху, по радиоканалу. Это уже совсем другой уровень задачи — нужно понять, какая архитектура в самом этом устройстве, какой там протокол, как мы можем исправить ход его мыслей или можно просто по воздуху какими-то другими устройствами этот сигнал перехватывать, перекодировать.

Открытие турнира по компьютерной безопасности CTF на DEF CON в Лас-Вегасе
Фото: Nate Grigg / Flickr (CC BY 2.0)

— Какие задания были на финале в этом году?

— На финале 0CTF было всего 6 сервисов: на операционной системе Linux, один был на Windows, еще один — на архитектуре CGC. Это расшифровывается как CyberGrandChallenge — архитектура, придуманная специально для соревнований, автоматизированных систем по поиску и устранению уязвимостей. Американское агентство DARPA проводит уже не первый год конкурс — он, собственно, и называется CyberGrandChallenge. Его участники должны разработать системы, которые делают все это автоматически. То, что мы приезжаем и делаем руками, они делают автоматически, но в упрощенной среде — она как раз называется CGC-архитектура. Это такой очень урезанный Linux. Там мы не должны были напрямую ломать соперников, каждой команде нужно было написать свою программу, потом в компьютере организаторов их одновременно загружают в память — и там уже нужно было бороться друг с другом. То есть цель каждой из команд — остаться единственной работающей программой в памяти.

— Что делает программа?

— В прикладном смысле — она не делает ничего, а ее основная задача — искать другие программы в памяти и каким-то образом их ломать, чтобы они прекратили свою работу.

— То есть вы не знаете, что делают они, но ваша задача сделать нечто, что победит всех остальных?

— В общем, да. У нас одинаковые условия, у нас 500 килобайт памяти на всех. Чем больше наша программа, тем ее легче найти, чем она меньше, тем ее труднее найти. Грубо я бы назвал это войной вирусов и антивирусов.

— То есть ваша программа в итоге сломала всех?

— Там были раунды, но да, наша была успешной. Мы самыми первыми смогли, так сказать, уничтожить [остальные программы] и на протяжении следующих раундов чаще других в этом сервисе выигрывали.

— Это законно вообще?

— Да, это законно. Мы не делаем ничего плохого, поэтому я и говорю, что прикладного смысла тут нет никакого. Это все-таки интеллектуальное соревнование, а не битва преступников.

— А среди тех, кто участвует в этих соревнованиях, есть люди, которые занимаются чем-то незаконным?

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

— Что вы получаете как победители?

— В данном случае мы получили денежный приз в размере 40 тысяч юаней — это чуть больше 6 тысяч долларов. Мы вышли в самый престижный финал, который называется DEF CON CTF, — он пройдет в августе в Лас-Вегасе. На него команды отбираются в течение года. Если сравнивать со спортом, то мы выиграли такой этап Кубка мира, а в августе — Лига чемпионов.

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

— Нет. Во-первых, это незаконно, а во-вторых, чаще всего неинтересно.

Екатерина Кронгауз

Рига