Вы окончили матмех УрГУ, где получали фундаментальное образование. С чего началось увлечение именно информационной безопасностью?
Больше всего мою сферу интересов можно определить как системное программирование в целом. Это не только информационная безопасность, которая является одним из наиболее очевидных его приложений. Момент, который стал переломным и определил мой переход к этой теме, произошел в 2012 году. К тому времени я уже окончил бакалавриат на математико-механическом факультете Уральского государственного университета имени Горького. Екатеринбург был родиной движения CTF (Capture the Flag) — командных соревнований по компьютерной безопасности, в которых каждая команда контролирует один сервер (пытается исследовать и закрыть дыры в его безопасности) и при этом старается взломать чужие сервера. Мы были первыми участниками CTF в России, постепенно к нам стали присоединяться команды из других вузов.
Я пришел в это движение на первом курсе, мне тогда было 18 лет, но оно зародилось еще за два года до моего поступления. А началось все с того, что к Максиму Викторовичу Баклановскому, нашему преподавателю и впоследствии моему научному руководителю, который позже работал в Университете ИТМО, стали приходить люди и просить его устраивать семинары не только по системному программированию, но и по хакерству.
Впоследствии к этому подключился аспирант института математики и механики Илья Зеленчук, который как раз был погружен в эту тему: сидел на иностранных форумах, увлекался разработкой протоколов и сетевой безопасностью. Он стал вести семинары, эта научная школа зарождалась в течение двух лет, были свои успехи и неудачи. Но факультативные курсы, тем не менее, продолжались, студенты сидели даже летом, изучали материал. И уже со временем это дало результат. Бессонные ночи не прошли даром: ребята стали побеждать на международных соревнованиях. В 2008 году они решили организовать уже собственные соревнования RuCTF, собрав команды со всей страны.
Что касается моей истории, пару раз я играл за команду XOR еще на матмехе УрГУ, потом поступил в магистратуру матмеха СПбГУ. Однажды команде «Питер Пэн», которая была на матмехе, потребовался специалист по реверс-инжинирингу, который мог взламывать программы. И с этого момента я начал заниматься соревнованиями по кибербезопасности более плотно – регулярно участвовал в соревнованиях и решал задачи. Можно сказать, случайно оказался в центре «движухи», а в итоге в общей сложности посвятил участию в CTF девять лет.
Кроме того, на втором курсе магистратуры матмеха СПбГУ у нас преподавал капитан одной из сильнейших команд — Leet More, который вел вирусологию. Он приносил нам вредоносные программы, которые мы могли разбирать. У нас многие этим живо заинтересовались, сидели над этими программами по 20 часов. И это тоже во многом определило мою дальнейшую деятельность.
Хакеры — это в понимании многих этакие анонимусы, которые взламывают сервера, похищают данные, своего рода, компьютерные преступники. О том, чем стали в массовом сознании «русские хакеры» и вспоминать не стоит. Чем хакерство всегда было прежде всего для вас?
Это расхожее мнение, но в реальности все совсем не так. Есть такая книга, которая называется «Хакеры — герои компьютерной революции» (книга Стивена Леви о движении хакеров, выпущенная в 1984 году), повествование в ней ведется еще со времен первых аспирантов Джона Маккарти (известный американский информатик, автор термина «искусственный интеллект», изобретатель языка Лисп, основоположник функционального программирования, лауреат премии Тьюринга за огромный вклад в область исследований искусственного интеллекта — прим.ред.). Как раз эти аспиранты однажды сделали такой хак: они сказали Джону, что написали программу, которая обыграет его в шахматы. Заинтересовавшись, он сел играть с компьютером и проиграл. Он, конечно, удивился и поначалу не понял, что это за искусственный интеллект такой. Но в итоге выяснилось, что они просто провели кабель, подключенный к компьютеру, из другой комнаты, где играл аспирант, очень хороший шахматист.
Такие трюки называются хаками. Но не обязательно хаки позволяют кого-то обмануть или ограбить, они помогают сделать что-либо на высоком техническом уровне. К примеру, вы приходите в аэропорт, взмахиваете рукой, а терминал печатает вам билет. Кажется, что вы его украли, но, может быть, вы сделали все законно и уже за все заплатили? Хакерам важно провести такой трюк, который обычным пользователям будет казаться чем-то сродни магии. Тот же взлом wi-fi соседей — тоже из этой серии, это просто способ проявить свои способности.
Для меня хакерство — это как раз возможность сделать что-то на высоком техническом уровне. Хороший хак — когда вы подносите телефон к своему лицу, а он его распознает, или вы делаете так, что автомобиль едет по дороге и не врезается в препятствия. Взлом — это лишь одна из граней хакерства – набор эдаких трюков, которые кажутся непосвященным магией. Но при ближайшем рассмотрении все просто, на все есть свое техническое объяснение.
Что дало вам многолетнее участие в профильных соревнованиях?
Безусловно, главный урок, который я вынес, — это полезность и эффективность командной работы: два человека работают не в два, а в четыре раза быстрее. Когда ты сидишь над заданием один и не можешь найти ответ на какой-то вопрос, ты открываешь Google и начинаешь разбираться. Но все будет происходить гораздо быстрее, если с тобой в паре будет другой человек, который уже в этом разбирается. И к тому же, когда ты один, возникает соблазн углубиться в детали или просто пойти прокрастинировать.
Например, мы как-то мы решали задачу на DEFCON Quals (крупнейшая в мире конференция хакеров, каждый год проводящаяся в Лас-Вегасе — прим.ред.), и я даже не знаю, сколько бы я потратил времени на решение, если был бы один. Но со мной в паре был тот самый Илья Зеленчук, в итоге вместе мы все-таки сдали решение за десять минут до конца соревнований.
Почему вы в свое время решили сменить Екатеринбург на работу здесь, в Петербурге?
В 2009 году мой научный руководитель Максим Баклановский переехал в Петербург, до этого он набирал себе так называемые системные группы — группы усиленного обучения, которые подразумевают, что вы ходите не на два спецкурса, а на все восемь. Но мы ходили на десять. С тех пор, как он уехал, в течение года нам практически нечем было заняться. Но однажды он позвонил и пригласил меня в Питер, на кафедру системного программирования СПбГУ. И я для себя решил, что лучше попробовать что-то новое, чем сидеть и ничего интересного не делать.
По статистике в России всего 200 тысяч программистов, аудитория безопасников — это порядка 10 тысяч. В Екатеринбурге их хоть и немного, но это хорошая школа и все фактически находятся по соседству. В Москве и Петербурге, несмотря на то, что их концентрация значительно больше, они разрозненны. Поэтому вместе с представителями команды LeetMore (ныне LCBC) и Ксенией Кравцовой мы организовали движение CTF в Петербурге, чтобы ребята из разных вузов могли тренироваться на единой площадке.
Какими проектами вы занимаетесь сейчас?
Сейчас я не живу по какому-то фиксированному графику и вряд ли можно описать мой «типичный рабочий день». Помимо преподавания, я занимаюсь несколькими проектами. Одним из первых был проект CODA, который родился в команде во время CTF, тогда ребята просто накидали идеи по системам защиты Максиму Викторовичу, причем все они ему не понравились. Он показал, как надо делать, в итоге ребята пошли и выиграли «Тендер на создание защиты будущего» Лаборатории Касперского на «Саммите студенческих исследовательских групп». В 2011 году Максим Викторович планировал пройти с этим проектом в Сколково, которое тогда только открылось, но не получилось. А год спустя мой научный руководитель пригласил позаниматься проектом и меня, я взялся и продолжил разработку. Впоследствии я возглавил эту компанию и прошел в Сколково, с третьей заявки. В 2014 году компания стала резидентом.
Достаточно долгое время я программировал эту систему и разрабатывал алгоритмы один. В это время я уже вел занятия на матмехе, а в феврале 2016 года я пришел работать на кафедру «Безопасные информационные технологии» (БИТ) Университета ИТМО. Как только я пришел сюда, мы сразу же решили использовать все возможности, и я пошел в акселератор Future Technologies. Там же мы заполнили заявку в Фонд Бортника и в итоге выиграли. Тогда была открыта еще одна компания «CODA-технологии». Получение финансирования позволило мне привлечь в проект дополнительных сотрудников.
Когда вы для себя решили, что будете заниматься именно собственными проектами, развивать свою компанию?
Представьте, что вы приходите куда-нибудь, вам показывают ваш деревянный стул, стол, мощный компьютер с хорошей видеокартой, говорят: «Вот твое рабочее место, вот твое задание, на этом сайте ты будешь отвечать вот за эту кнопку, раз в месяц ты будешь получать хорошую зарплату, завтра в восемь утра необходимо подойти на КПП, в 8:15 тебе оформят пропуск, в 18:00 — конец рабочего дня, с 13:00 до 14:00 у нас обед — пюре с котлетой». И так каждый день. Это не мой выбор.
То, чем занимаюсь я, позволяет, во-первых, использовать свои наработки в других проектах, а во-вторых, заводить полезные знакомства, которые также обеспечивают постоянное развитие. Например, имело смысл регистрировать компанию в Сколково хотя бы для того, чтобы познакомиться с новыми людьми. На одной из выставок я встретился с Ильей Рабиновичем, разработчиком DefenseWall. Очень интересно было узнать о его опыте разработки систем защиты. Или по одному из проектов я ездил в Лабораторию Касперского, где разговорился с менеджером. Итогом стала организация совместной летней школы.
Нам всегда говорили, что, если мы освоим то, что мы изучаем, в будущем мы можем заниматься чем угодно. Когда-то мне приходилось писать и 3D-движки для игр, просто потому, что на тот момент мне было это интересно – делать сайты, писать приложения. Я не представляю, в какой еще профессии я мог бы получить такую же свободу самореализации. Например, однажды я проходил курсы по программированию WCF-сервисов. Для кого-то это то, что нужно, но не для меня. Ведь писать это целыми днями в течение многих десятков лет не очень здорово. У меня есть сертификат Cisco, но, опять же, ходить в свитере всю жизнь и собирать сети из роутеров тоже не очень заманчивая для меня перспектива.
В Сколково вы прошли с третьей попытки. Как мотивировать себя продолжать, даже если не все получается сразу? И какие возможности стоит не упускать еще во время обучения в вузе?
В этом году в Университете ИТМО ко мне на занятия приходило очень много студентов — порядка 60 человек, и столько же в СПбГУ. Также нашей командой тренеров проводятся массовые занятия на аудиторию из 400 человек. Среди них часто встречаются люди, которые говорят что-то вроде: «Я не пойду заниматься к вам, сначала я почитаю какую-нибудь умную книжку, стану крутым, а потом приду и все тут решу». Они приходят, каждый раз говорят, что все, сейчас займутся, а потом я их больше не вижу. Какой из этого можно сделать вывод? Нельзя развиваться в каком-то вакууме, всегда все делается какой-то группой людей. Если ты прорабатываешь тему, нужно, чтобы ее прорабатывал еще кто-то рядом с тобой.
Как не пасть духом, когда что-то не получается? Падай, на твое место придет кто-то другой. Ты можешь сидеть и плакать в уголочке, но в это время кто-то будет развиваться и программировать за тебя. Идея проста: если что-то не получается, нужно просто идти и работать дальше.
Я надеюсь, что и в будущем вокруг меня будут люди, которые работают над своими идеями, которые делятся своими знаниями и помогают мне узнать то, чего я еще не знаю. Важно не останавливаться на достигнутом уровне, продолжать искать в технологиях ту самую магию, о которой грезят хакеры.