Ситиэферы: соревнования белых хакеров
Изначально хакерами считали высококлассных программистов, быстро и элегантно исправляющих ошибки в ПО. Впоследствии хакером стали называть знатока, намеренно обходящего системы компьютерной безопасности. Постепенно это вылилось в целое движение. Человек, обладающий такими навыками, может пойти двумя путями: вскрывать чужие системы или бороться со взломом. Но, чтобы надежно защищать системы, он должен уметь быстро вскрывать их. Желательно эффективнее преступников.
Киберзарница
Один из лучших способов совершенствования навыков – соревнования. Есть такие соревнования и у «белых хакеров», или, как их сейчас называют, специалистов по информационной безопасности – CTF (Capture the Flag). Цель битвы – захват вражеского флага. Формат довольно известный, так же пионеры играли в «Зарницу», ролевики выясняли отношения, пейнтболисты устраивали свои сражения, а уж подобных компьютерных игр и не перечесть.
Впервые соревнования были проведены в 1993 году на легендарной хакерской конференции DEF CON в Лас-Вегасе. В начале 2000-х соревнования стали проникать в ведущие университеты мира с сильными кафедрами компьютерных наук. Крупнейшими международными соревнованиями считаются iCTF, проводимые Калифорнийским университетом в Санта-Барбаре.
В России соревнования более десяти лет устраивают студенты матмеха Уральского государственного университета из команды HackerDom (название образовано двух слов – Hacker и Freedom). Сначала состязались студенты из Екатеринбурга и Челябинска, уже на следующий год появились знаменитые студенческие соревнования RuCTF, а чуть позже – и их международная версия RuCTFE, являющаяся отборочным этапом на DEF CON CTF.
Своя игра
Существуют два типа состязаний. Самыми массовыми считаются Task-Based, или Jeopardy (русский аналог одноименной телеигры – «Своя игра»). Как правило, такие соревнования проводятся онлайн. Игрокам предлагается ряд заданий-тасков разной сложности, которые нужно решить за определенное время, чаще всего за сутки. Ответ – набор символов или определенная фраза – и является флагом. Каждое задание оценивается в баллах, аналогично вопросам в «Своей игре». Задачи могут быть на совершенно разные темы: администрирование, криптография, стеганография, нахождение веб-уязвимостей и даже развлекательные задачи (категория joy). На недавнем отборочном CTF, который устраивала «Лаборатория Касперского», играли несколько тысяч человек, несколько сотен команд, и за некоторые команды выступали 50–100 игроков. Часто это целые курсы факультетов компьютерных наук. Бывает, что играют сотрудники специализированных компаний. Например, в финал прошла команда PwnThyBytes, которая состоит из сотрудников Bitdefender, известной румынской антивирусной компании, – взрослые дяди, которые постоянно играют в CTF и держатся в топе команд мира.
Игра по правилам
Самый интересный тип соревнований – Attack and Defence. У каждой команды есть своя база, которая состоит из некоторого набора сервисов-программ. Например, чат с поддержкой, или онлайн-банкинг, или доска объявлений, или система управления башенным краном. И там есть предустановленные уязвимости. Командам выдаются эти образы с сервисами. Во-первых, нужно найти в них уязвимости. Во-вторых, защититься от нападения извне. Игра существует и в онлайн-версии, но самые крутые – офлайн-соревнования. Задача участников – обеспечить работу и защиту сервиса и атаковать сервисы других команд. Если команда не поднимает сервисы, им не начисляются баллы. Если подняли, но не защищают – тоже снимаются баллы. В команде четкое распределение ролей: одни отвечают за инфраструктуру, чтобы все работало, другие – за поднятие сервисов, третьи – за поиск уязвимостей, четвертые – за атаку, пятые – за защиту. У многих команд есть наработанные программные продукты для автоматизации действий, домашние заготовки. Такие соревнования позволяют быстро искать ответы на нетривиальные задачи.
Ситиэферы
Игроков в CTF называют ситиэферами. Отношение к ним неоднозначное. Некоторые считают, что ситиэферы занимаются ерундой. Другие полагают, что соревнования позволяют держать себя в форме, тренируют мозг. Решая сложные CTF-задачи, с повседневными справляешься быстрее, оригинальнее и изящнее. Многие компании ищут сотрудников именно с опытом игры в CTF. В России 1000–1500 ситиэферов, и все они известны специалистам. Это и ветераны из HackerDom, которые выходили в финал DEF CON CTF, и игроки помоложе, например команды LC/BC и Bushwhackers (МГУ). В мире сильными игроками традиционно являются команды PPP, Dragon Sector, «Eat, Sleep, Pwn, Repeat», а также команды из университета Карнеги – Меллона. Очень сильны корейцы, они решают безумно сложные задачи на бинарную эксплуатацию.
CTF от «Лаборатории Касперского»
Соревнования CTF, которые проводит «Лаборатория Касперского» с 2015 года, стали международными случайно. Британский таблоид перевел русскоязычный пресс-релиз компании, и организаторы заметили, что в системе регистрации стало появляться много англоязычных команд. Через год компания сделала ставку на международный статус, а финал 2017 года провели в Шанхае. В финал попали три команды – из Китая, Кореи и Японии. Наши в том году не прошли.
Русские не были бы русскими, если бы слегка не изменили формат соревнования, назвав его Research аnd Destroy, предоставляя для взлома модель реального технологического процесса. В самом первом CTF-турнире «Лаборатория Касперского» давала только уменьшенную копию цифровой подстанции, реальное железо, протоколы и софт. Если правильно проводить атаку, можно получить доступ к реле защитной автоматики, отключить блокировки и элементы защиты, опустить заземляющий нож и вызвать короткое замыкание.
Первая команда сделала короткое замыкание через тридцать минут, а в финал прошла одна русская команда «релейщиков» – ребята, которые профессионально занимаются электроэнергетикой.
В 2016 году финал CTF проходил в Иннополисе под Казанью. Там тоже была модель цифровой подстанции, но она входила в состав микрогрида – автономной энергетической ячейки, в которой есть генерация, распределение и потребители – город и завод. Эта RTDS – Real Time Digital Simulator – дорогая коробка, которая стоила под миллион евро. Организаторы эмулировали несколько точек входа: Wi-Fi, корпоративный Ethernet, промышленный PLC-модем. Вдобавок симулировали реальный случай, когда инженер, чтобы ему проще было заниматься мониторингом, воткнул в систему 3G-модем со статическим IP-адресом.
И вот эту почти неубиваемую коробку за миллион евро ребята научились выводить из строя программно и дистанционно. Они не влияли на нее напрямую, только на внешние данные, которые она анализирует, что приводило к полному отключению потребителей. Они поэтапно разбалансировали систему, отключая сначала генераторы, потом потребителей, излишки энергии сбрасывались, после чего они замыкали все в бесконечный цикл, и система выходила из строя.
«Взорвать» завод
В Шанхай «Лаборатория Касперского» привезла небольшую часть цифровой подстанции и модель нефтеперегонного завода с фрагментом сливо-наливной эстакады. Технологический процесс, скопированный с системы реального заказчика. Для полного эффекта в модель был встроен модуль, который использовал пропиленгликоль, что применяется в вейпах. Когда атака проходила успешно и команда роняла заземляющий нож, из заводика эффектно шел пар. Как в кино.
Финал этого года «Лаборатория Касперского» будет проводить в Сингапуре. В финал прошли две команды из России – VoidHack и LC/BC, PwnThyBytes из Румынии и Tokyo Westerns из Японии. Будем болеть, ясное дело, за наших.