Настоящие гуру в мире ИБ — люди неординарные, яркие и… скажем так, непростые. Их нельзя загнать в рамки кондово-корпоративной культуры с бесконечной бумажной волокитой, их сложно заставить делать то, что им неинтересно, и почти невозможно убедить в том, во что они не верят. Реально ли создать успешную компанию, состоящую из таких людей целиком?

Когда работаешь один, все, что ты можешь сделать, ограничено только твоими возможностями и твоим временем. Но потом команда начинает расти, и ты понимаешь, что твои амбиции и идеи тоже растут. Начинаешь понимать, что вот это можно реализовать, скажем, впятером. Потом вдесятером. А потом осо­знаешь — нужно 50 человек. И если ты действительно хочешь получить то, что было задумано, придется двигать 50 человек в нужном направлении.

Сейчас Positive Technologies — это целый организм. Это разнородные команды, с разными запросами. Хакеры считают, что программисты пишут странный код, программисты уверены, что хакеры — зазнавшиеся звезды и «кавычку вставлять» может каждый. И все они спамят наших IT-шников ценными советами, как они бы все сделали хорошо, если бы работа не мешала.

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

Я не могу сказать, что «это отнимает у меня время», это просто такая работа. Сейчас взаимодействие команд занимает большую часть моего времени.

Нам важно, чтобы продукты работали. Это наша постоянная установка — продукт не только должен быть продан, запущен и развернут, он также должен работать, приносить пользу.

Продукты, которые мы делаем, и безопасность в целом невозможны без людей. Пусть у вас есть замечательная IDS, она отработала и вы обнаружили некие атаки. Что дальше? Если за этой системой не стоит квалифицированный человек, понимающий, что делать дальше; если этот человек не может взаимодействовать с IT-подразделением, которое закроет какие-то вещи на межсетевом экране или будет искать взломанные машины внутри сети, то ваша система попросту греет воздух.

Внутри компании должны быть налажены процессы, люди должны взаимодействовать друг с другом, должны быть нацелены на повышение защищенности. Поэтому наши ребята помогают клиентам выстроить эти процессы, консультируют, внедряют, даже делают сами какие-то вещи, по принципу «делай, как я».

 

Факты

  • Автор десятков статей в различных изданиях, а также книги «Безопасность беспроводных сетей».
  • Окончил Дальневосточный государственный университет путей сообщения в Хабаровске.
  • Научный редактор портала SecurityLab.ru.
  • В детстве пошел записываться на картинг в автошколу, а в итоге записался в компьютерный кружок.
  • С 15 до 18 лет не занимался компьютерами, а с головой ушел в рок-музыку, играя на фестивалях со своей бандой.
  • В свободное «от жизни» время ресерчит уязвимости АСУ ТП в команде SCADA StrangeLove.
  • Рождество проводит с семьей на хакерской конференции CCC в Германии, где сын во­всю ходит на воркшопы :).
 

Технический директор

Я пришел в Positive Technologies в 2006 году. Компания тогда уже была достаточно известна. Уже действовал портал SecurityLab.ru, был сканер уязвимостей XSpider, но мы все равно были еще маленькими.
Когда я пришел, здесь работало, по-моему, восемь человек. XSpider, конечно, существовал, но его скорее использовали как вспомогательный продукт, бесплатный. На тот момент, по-моему, было уже 200 тысяч скачиваний демки, люди ее применяли, но было понятно, что… восьми людям на зарплату хватает, но большего не получится.

Тогда работали: Дмитрий Максимов — разработчик XSpider и, по совместительству, основатель компании. Он вел его до шестой версии, а в седьмой версии занимался вебом. Юрий Максимов — тогда он был техническим директором, а сейчас генеральный директор компании. Евгений Киреев — один из трех основателей компании и бессменный креативный лидер. Александр Анисимов, был ведущим по базе знаний — сейчас возглавляет многие направления в нашем исследовательском центре. Плюс были еще какие-то люди, занимавшиеся разработкой. Скажем, тогда у нас работала Алиса Белоусова. Но разработчиков было немного, и все занимались «семеркой».

У меня тогда, на самом деле, был переходный период — года за три до этого я переехал в Москву и успел поработать в Информзащите. И понял, что безопасность, которой ты занимаешься, сидя в большом интеграторе и строя большие проекты, она… немного неживая. Ты можешь пытаться выложиться, но у тебя есть сроки, заказчик, нужно поставить определенные системы и сделать так, чтобы они «задышали». Но ты не видишь, как они живут в реальной жизни, несмотря на то, что у тебя большие и интересные проекты. Поэтому в Positive Technologies я пришел заниматься консалтингом, тестами на проникновение, анализом защищенности.

Вообще, я — взрывной человек. Мне интересно что-то сделать, убедиться, что оно заработало, а дальше — «Парни и леди, держите», и побежать в другую сторону. И вот, поработав в Информзащите, я понял, что мне хочется чего-то другого. Какого-то иного применения знаний. Тогда было несколько интересных предложений, в том числе и от глобальных вендоров, но я не был готов уезжать из страны, да и сейчас такие варианты не рассматриваю. А в локальных представительствах вендоров ты в любом случае продаешь чей-то продукт. Ты в этом продукте не участвуешь, тебе просто приносят коробку и говорят: «Держи, побегай по рынку». Свое и чужое — это все-таки большая разница.

Но в Positive Technologies я достаточно быстро сменил профиль работы. Консалтинг консалтингом, но стало понятно, что седьмой XSpider уже не совсем соответствует реалиям рынка и индустрии нужно нечто большее. Тогда же началась работа над MaxPatrol, стали формироваться новые команды, и приходилось заниматься всем: писать код и документацию, внедрять первые версии, поддерживать базу знаний и даже гонять какие-то прототипы. Но при этом я все равно продолжал заниматься и консалтингом тоже, тем более начали приходить сильные, молодые парни, Дмитрий Кузнецов, Дима Евтеев, которые в какой-то степени сняли с меня нагрузку.

Есть люди, перед которыми я преклоняюсь, например Стефан Эссер. Люди, которые «накопали» много в одной области. Эссер прорубил целую дорогу в PHP, а потом ему надоело и он перекинулся на мобильные устройства. Или Дмитрий Скляров, которому IDA, по-моему, нужна только из-за удобного UI, бинарь он и в notepad разберет… У меня так не получилось. Мне же больше пришлось уходить в управление.

 

Продукты и услуги

Сейчас основное направление Positive Technologies — поиск уязвимостей и контроль соответствия стандартам, этим занимается MaxPatrol.

Одна из наших услуг — Security Operation Center. Это некий аутсорсинг информационной безопасности. Скажем, на Универсиаде наш SOC сидел в Казани и следил за инцидентами, которые иногда привносили даже разработчики. Например, мы замечаем: «Ой, а вот тут SQL-инъекция, ее раньше не было». Разработчики тут же подскакивают: «Погодите-погодите, это мы только что развернули новую версию!» Но в ходе таких работ мы часто обнаруживаем и целенаправленные атаки. Атаки, развивающиеся в течение продолжительного времени, они постепенные, размеренные.

В какой-то момент ребята из отдела анализа защищенности, которые исследуют по несколько сотен веб-приложений в год, так «наелись», что заявили: «Нам нужна автоматизация». Сначала мы искали решение на рынке, как честные люди. Посмотрели на разные продукты. Парни сказали: «Нет, мы с этим работать не сможем». К примеру, одна система выдала на 100 тысяч строк 57 тысяч подозрений на уязвимость! Гораздо проще посмотреть сырцы.

В итоге наши ребята сами сделали прототип, для себя. Думали о его развитии, реализации, и вдруг на втором PHDays ко мне подошел Алексей Москвин: «У меня есть идея». И вывалил тетрадь, исписанную формулами. Ты сидишь в центре форума на 1500 человек, вокруг суета, через два часа выступление, презентация не готова, телефон раскаляется, а Алексей методично, как преподаватель, выводит формулы…

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

Цепочка потянулась, к делу подключились другие ребята. И началась громадная работа на стыке хардкорной математики, практического понимания уязвимостей и огромного опыта их поиска и использования. Так в 2013 году у нас появилось два новых продукта. Application Inspector — система анализа исходных кодов, с функцией автоматической генерации эксплойтов. И Application Firewall — он закрывает дырки, которые находит Application Inspector. Это часть нашей так называемой веб-экосистемы, плавно переходящей в application-экосистему.

Еще одно направление для нас — модная сейчас security intelligence. Эти продукты еще не выпущены, это наша перспектива. Суть в том, что, находясь над всеми средствами защиты и получая с них информацию (сетевой трафик, информацию с файрволов, с IPS, IDS и так далее), мы сохраняем ее в течение длительного промежутка времени. Мы не просто коррелируем ее на лету, а можем посмотреть в прошлое.

Если видим, что вдруг на машине обнаружился троян, мы смотрим, — на этой машине в свое время отработал эксплойт, которого мы тогда еще не знали. Или его не знал антивирус. А теперь эксплойт нашелся. Далее смотрим, откуда эти файлы пришли на машину. Оттуда-то, такого-то числа. Кто еще в этом промежутке взаимодействовал с веб-сервером, на котором висела эта связка эксплойтов? И начинаем раскручивать автоматически инцидент вниз, чтобы обнаруживать атаки, которые распределены во времени.

Еще одно крупное направление — безопасность телеком (3G, 4G). С точки зрения защиты это пока абсолютная terra incognita. Уважаемые товарищи из Китая привезли и поставили какой-то ящик, и через него ходит трафик миллионов абонентов. А что в этом ящике, как он работает? Как там сконфигурирован протокол SS7 и что это такое с точки зрения безопасности, даже у самих операторов связи знают очень немногие.

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

Большой кусок – безопасность банковских приложений. Не секрет, что мы заключили технологическое партнерство с некоторыми разработчиками систем ДБО. Наше партнерство состоит в том, что мы включаемся в процесс разработки и проактивно анализируем их код, новые фичи, новые продукты с точки зрения безопасности, позволяя устранять застарелые проблемы, которые порой не лечатся годами. Тимур Юнусов посвятил этому последние полтора года, и надеюсь, нас ждет сногсшибательный $ntach на PHDays в этом году или, на крайний случай, новое выступление на Black Hat.

Сеть операторов связи — это ведь совершенно другая сеть. С точки зрения связности… сразу вспоминается FIDO и интернет 90-х, когда все друг другу доверяли, между всеми были линки, все пропускали трафик друг другу. Все пока совершенно не пуганные.

Также есть направление ERP-систем — SAP, Oracle E-business Suite, Siebel. Такие критические бизнес-системы, куда заводится вся информация. Сейчас все они интегрируются с АСУ ТП, чтобы бизнес-человек на своем iPad мог посмотреть ключевые показатели эффективности работы компании. Это хорошо и круто, но создает понятные проблемы с безопасностью. Здесь у нас много сделано, много идей. Поддержка анализа ERP в MaxPatrol есть с 2009 года. А сейчас мы сконцентрированы на обнаружении фрода в бизнес-модулях.

Кстати, наш Application Firewall запущен на защиту SAP’овских порталов. Могу сказать одно: если кому-то хочется найти много-много хороших 0-day, то самый простой способ — заняться SAP и АСУ ТП. Потому что код там просто ужасен.

Отдельно у нас существует блок R&D, состоящий из двух больших подразделений. Первое — исследовательский центр. Второе — разработка. В последнее время они начинают взаимопроникать.

В чем разница между исследовательским центром и разработкой? Исследовательский центр — это люди, нацеленные на то, чтобы наши продукты содержали те знания, которыми обладает компания. Они поддерживают базу знаний, проводят исследования, пишут proof of concept новых продуктов, новых проверок, сигнатур. Они занимаются консалтинговыми услугами: проводят тесты на проникновение, анализируют исходные коды, разбираются в том, насколько наши продукты применимы в жизни. Они очень много приносят «с поля». Мол, ребята, вы, конечно, молодцы и написали прекрасную штуку, но вот здесь будет проще запустить Nmap, чем возиться с вашим MaxPatrol. Это очень жизненная обратная связь, с которой обязательно нужно работать, если хочешь делать хорошие продукты.

Разработка больше ориентирована на архитектурные вещи. На окружение. Любой продукт — это не только ядро, база знаний и алгоритмы внутри. Это еще и «обвязка». Особенно enterprise-продукты. Ведь ты должен работать в сети, где десятки тысяч компьютеров, из любой точки вселенной. Это хорошо и круто, но создает понятные проблемы с безопасностью, нужна единая точка управления, единая отчетность, дашборды, резервное копирование и восстановление, внутренняя безопасность продукта. Все это огромный труд, который обязательно нужно делать, особенно для продуктов, работающих в больших корпорациях.

 

Application Inspector

Наш Application Inspector — это совмещение трех распространенных сейчас подходов. Это не просто статический сканер, это нечто большее. Понятно, что black box анализатор, или, в терминологии Gartner, DAST (dynamic application security testing), есть у нас в XSpider и MaxPatrol. Поэтому сначала мы смотрели на статический анализ, но увидели, что по понятным причинам (теорема Райса и проблема останова) сделать хорошо не получится. И стали думать.

В Application Inspector есть и статика, и динамика, и так называемый интерактивный анализ. Это анализ инструментированного кода. Но при этом нам не нужно живое приложение!

Фактически мы начинаем со статики — берем исходники и строим слайсы (которые нужны, чтобы не умереть от комбинаторного взрыва) от точки выхода до точки входа. Сначала находим в коде потенциально уязвимые функции — обращения к БД, файловой системе, функции, генерирующие рандом. От них строим слайсы обратно, к точке входа. То есть выясняем: откуда сюда попадают данные? После этого слайс идет на обработку через машину символических вычислений. Мы не выполняем код напрямую, но строим формулу, которая этот код определяет.

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

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

Бесспорно, это огромная работа. Мне лично пришлось подтянуть отдельные области computer science, которые раньше меня попросту не касались. Поскольку ребята с питерского матмеха… с ними иногда просто невозможно общаться, если ты, к примеру, не знаешь слова «предикат» :).

Сейчас AI начал выдавать результаты, которых мы от него не ждали. Недавно на конференции Power of Community в Сеуле демонстрировали 0-day в ядре YII, который «глазами» найти практически невозможно, настолько он спрятан за всевозможными объектными «обвесами».

Это технология, которой нет ни у кого. Понятно, что ребята по всему миру многое делают  в этом направлении. Появились подобные вещи для бинарного анализа, типа Mayhem, но… все равно есть безумное ощущение, что мы впереди.

 

Взаимодействие команд

Сейчас структура компании серьезно поменялась. Мы переходим к матричной структуре. Пример: у нас есть команда безопасности АСУ ТП. Я плотно в ней участвую, ведь иногда вся эта менеджерская суета так достает, хочется поделать что-то руками. А это одно из достаточно новых и интересных направлений.

Сама тематика АСУ ТП — компиляционная. Есть куски безопасности баз данных, куски безопасности сетевых протоколов, есть серьезные разделы, связанные с самим технологическим процессом. Если ты не понимаешь технологический процесс, не понимаешь, на чем основана теория автоматического управления, то найдешь ты SQL-инъекцию и молодец. Но это не будет безопасность АСУ ТП.

Такие люди раскиданы по всей компании, по разным подразделениям. Есть отдел реверсинга, есть отдел безопасности сетевых технологий, которые разберут на запчасти и соберут обратно все, от Cisco от Huawei. Когда занимаешься исследованиями по АСУ ТП, тебе нужны все эти люди. Иногда на день, иногда на полгода.

Скажем, у нас есть проект — новый продукт. У продукта есть заказчик, внутренний или внешний, есть product owner, отвечающий за то, что будет сделано. Возможно, есть ведущий технический человек — архитектор или же технический лидер. И есть команда проекта, которая может быть размазана по всей компании. Таким образом, ты можешь участвовать в двух-трех проектах. Если, конечно, тебе комфортен подобный режим работы.

Это дает возможность довольно быстро инициировать новые направления. Можно просто пройти по компании и найти людей, которые тебе помогут. Грубо говоря — нам нужно десять человек, чтобы сделать вот такую работу.

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

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

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

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

Для меня самого идеально работать вдвоем. Как-то так получалось, возникают связки с разными людьми, появляется общий интерес — вместе что-то тянем. В середине 2000-х был продуктивный альянс в Володей Дурбровиным (3APA3A): написали книжки, делали ресерчи по противодействию client-side атакам. С Димой Евтеевым вместе работали долго. Есть много примеров.

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

 

Кадры

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

Приходят к нам ребята и после PHD. То есть приехали на PHDays, поиграли, подумали и решили с нами работать. Например, Лёша Осипов — победил в $natch и пошутил: «Давайте я $natch буду делать». Конечно, на самом деле он делает гораздо больше.

Black hat’ов мы, конечно, фильтруем. Бывают и смешные ситуации. Скажем, парень в качестве своего преимущества в резюме написал: «супермодератор mazafaka», все посмеялись. У нас есть какие-то очевидные способы проверки, а где-то мы даже взаимодействуем с правоохранительными органами.

Но мы понимаем российскую сцену и российский андеграунд, у нас есть отдельная схема неформальной верификации людей. Ну и опять же — постепенный допуск к работе, сначала смотрим, как и что.
В принципе, сообщество не настолько большое, что white, что black. Если человек сильно влез в black, даже если мы понимаем, что он очень хороший, мы коммерческая компания и не можем себе позволить плотно с ним взаимодействовать. Как бы нам ни хотелось помочь ему выйти в легальное русло.

Мы больше смотрим на ребят, которые еще не определились, у которых появляются знания и умения, но возникают и соблазны, как эти знания и умения применять. В таких случаях мы подключаемся по полной, стараемся сделать так, чтобы эти ребята поняли — ты сидишь в приятном офисе с коллегами, делаешь работу, полезную обществу (и, может быть, даже стране), открыто общаешься, ездишь по модным конференциям, печатаешься в журнале «Хакер», получаешь зарплату, и у тебя не болит душа.

Если влезаешь в black, на каком-то этапе ты получишь побольше денег, но потом, что бы ни говорили некоторые коллеги, деньги там не безумные, а ты будешь бояться каждого стука в дверь и останешься сидеть изолированным от общества.

 

Пожелания читателям

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

Сидеть и плевать с лицом гуру — это очень легко. В рунете есть такая странная культура общения… Читаешь отзывы о конференциях, и первое, что делают люди, — это начинают ругать. Ребята, ну сделайте свое! Узнайте, сколько стоит поставить звукоизолирующую перегородку в этом зале, а потом наберите столько посетителей, чтобы ее оправдать. Цените то, что есть. А вместо того, чтобы хаять, — лучше помогайте.

Тренироваться на живых мишенях не стоит. Сейчас ситуация для этого очень нехорошая и нервная. Отношение к кибербезопасности во всех странах серьезно меняется. Те вещи, на которые раньше закрывались глаза, скоро просто прекратятся. Ни к чему испытывать на себе превратности российской и не российской Фемиды. Если хочется живого, то всегда есть bug bounty.

3 комментария

  1. https://vk.com/dolmatov_aleksey

    08.07.2014 at 11:27

    Спасибо за статью, весьма интересно. Хотя и знаний не хватает всё осознать.

  2. 14.07.2014 at 16:09

    Spasibo, interesno chitat. Uznal mnogo chego.

  3. 23.11.2014 at 22:39

    типичные white..не больше не меньше, без существования black им бы не чего было делать. А про не безумные деньги — если ты не видел это не значит что их нет. Статья психологически направлена на «ковычковтыкателей школяров», теряется основная идея hack….один бизнесс, одни манагеры и продажники…..

Оставить мнение

Check Also

Скрытая сила пробела. Эксплуатируем критическую уязвимость в Apache Tomcat

В этой статье мы поговорим о баге в Apache Tomcat, популярнейшем веб-сервере для сайтов на…