Александр Колесов
В 2013 году окончил Московский государственный университет технологий и управления (МГУТУ) им. К. Г. Разумовского по специальности "Автоматизированные системы обработки и управления информацией".
Тогда же начал работать в сфере информационной безопасности. В качестве специалиста отдела ИБ «ЮниКредит Банка» занимался внутренними пентестами и менеджментом внешних проектов по пентесту. Работал специалистом по пентесту в Positive Technologies, затем в ПАО «Ростелеком». В 2018 году перешел в «Ростелеком-Солар», где вырос с должности пентестера до позиции руководителя отдела анализа защищенности.
Владеет сертификатом OSCP.
Александр Колесов, руководитель отдела анализа защищённости из компании «Ростелеком-Солар», рассказал Anti-Malware.ru о том, как чаще всего удаётся взломать компанию, зачем нужен Red Teaming на самом деле и всегда ли заказчик играет честно.
Настоящий Red Teaming — что входит в это понятие? Какой должна быть эта услуга?
А. К.: Red Teaming — это процесс тренировки службы безопасности и оценки её эффективности. Он направлен на выявление «узких мест» в защите организации: на уровне технологий, процессов мониторинга и реагирования, а также готовности ИБ-специалистов противостоять целенаправленным атакам. При этом в случае с классическим Red Teaming команду защиты не предупреждают о проведении кибероперации, что позволяет ей отточить свои навыки в условиях, максимально близких к реальным.
Часто возникает вопрос: чем это отличается от продвинутого пентеста, когда работают, скажем так, «хакеры в белых шляпах», которые ищут слабые места, а не только запускают сканер с набором сигнатур?
А. К.: Отличий несколько. Основное из них — то, что при Red Teaming работа идёт по заранее продуманному сценарию действий противника, учитывающему карту рисков, то есть вероятность тех или иных атак именно для данной компании. Например, для банка это может быть имитация действий группировки Carbanak или Cobalt. В отличие от пентеста, в этих работах преследуется цель не получить какой-нибудь доступ в инфраструктуре, а пройти путь, который мог бы проделать злоумышленник, просмотреть, как на эти действия реагирует команда защиты, и потренировать её. По итогу заказчик получает не только отчёт, но также информацию о том, что стоит изменить в техническом оснащении или в настройках СЗИ, а также в процессах SOC — исходя из того, какие моменты атаки команда защиты пропустила или не до конца отработала. В случае же с advanced penetration testing мы просто пытаемся «проломиться» и сделать это максимально скрытыми методами — здесь нет цели проанализировать, как и почему SOC не смог нас обнаружить и что необходимо исправить.
Значит, отличия в первую очередь находятся на уровне итоговых рекомендаций и итогового анализа. Я правильно понял?
А. К.: Да. В Red Teaming мы стараемся показать именно реакции SOC, оценить эффективность и потренировать команду защиты.
Почему на рынке царит такая неразбериха уже на уровне определения данной услуги? С чем это связано?
А. К.: Услуга в России появилась не так давно — первое публичное упоминание о правильном подходе к Red Teaming было в 2015 году, когда подобный проект реализовала группа QIWI. Сегодня действительно есть некоторая неразбериха в этом вопросе: каждый пытается привнести в Red Teaming какую-то свою методику. Часто это делается по мотивам каких-нибудь популярных «верхнеуровневых» статей, не дающих точной карты построения сервиса и возможных его нюансов. Заказчики пока не слишком осведомлены в этом вопросе — многие до сих пор путают пентест с оценкой уязвимости (vulnerability assessment), что уж говорить про Red Teaming. А исполнители далеко не всегда погружаются в так называемые университетские документы, описывающие сам подход и подробности реализации. Такой труд есть, например, у института SANS, и мы стремимся придерживаться подобных фундаментальных работ.
Какие заблуждения относительно Red Teaming и advanced penetration testing встречаются чаще всего?
А. К.: Многие не понимают, что «продвинутый» (advanced) пентест — это немного другое, он скорее направлен на то, чтобы показать, как незаметно злоумышленник может зайти во внутренний периметр и получить доступ к какой-либо информации. Red Teaming в свою очередь направлен на тренировку Blue Team. Заказчики иногда приходят за одной из услуг, не представляя, что каждая из них может им дать и как дальше работать с полученной информацией. То есть воспроизведя пентест более скрытыми техниками и получив отчёт о том, как атакующие проникли внутрь, мало кто понимает, как дальше тренировать свою команду, как пересмотреть политики СЗИ и алгоритмы сбора логов, как перестроить процессы реагирования. И Red Teaming как раз преследует своей целью показать, в каком направлении двигаться Blue Team, чтобы эффективно противостоять хакерам.
Если же говорить про коллег по цеху, то они чаще всего видят в Red Teaming историю про «белых хакеров»: пытаются пробиться и обойти СЗИ так, чтобы их не заметили, но не выдают резюме о том, как в ходе этих операций повела себя команда защиты и что именно ей стоит «подтянуть», над чем поработать.
Возможен и эффективен ли на практике внутренний Red Teaming?
А. К.: У крупного бизнеса есть свои внутренние «красные команды». Например, их нанимают многие банки. Но чаще всего у многих нет представления о правильном подходе к её созданию и о том, что они должны получить в итоге, какую пользу для бизнеса.
За рубежом некоторые компании нанимают одного-двух специалистов Red Team, которые выступают в роли рефери между Blue Team и подрядчиком, оказывающим услуги Red Team Assessment. Они могут давать какие-то подсказки «красной» и «синей» команде. Это — так называемая White Сard. Люди, отвечающие за операцию на стороне заказчика, — в курсе того, что и как должно делаться, они помогают провести Red Teaming более качественно и, соответственно, потом предоставить руководству правильный результат.
Есть второй подход — нанять пять-десять парней, которые просто пентестят, и назвать это Red Team. У меня есть большое количество знакомых, которые работают в Red Team в разных компаниях. Чаще всего их работа заключается в том, чтобы просмотреть, например, новый релиз приложения, а как таковой цели по тренировке и улучшению эффективности Blue Team не преследуется.
Вероятно, здесь есть элемент, скажем так, корпоративного сговора. Что-то вроде «ребята, вы особо не усердствуйте, не заваливайте всю нашу работу». Или, наоборот, умолчать и сделать так, как твои коллеги тебя просят, неформально.
А. К.: Да, может быть и такое. Плюс ко всему внутренняя Red Team может знать, как настроены СЗИ и как их обойти. Например, нужно провести пентест инфраструктуры, а нам известно, что на этом сервере до сих пор не установили патчи, и мы пройдём именно там, но о своём знании никому не скажем. Понятно, что такая работа не покажет, как мог бы действовать реальный злоумышленник.
Недавно была открытая полемика по поводу коронавируса: можно ли использовать эту тему в социальных атаках на сотрудников. Есть ли какие-то технические или, может быть, морально-этические ограничения? Что можно делать, а что — нельзя?
А. К.: Всё зависит от сценария, который выберет клиент. Мы считаем, что должна быть полная свобода действий. В реальности, конечно, это не всегда так и перед каждым Red Teaming у нас бывают многочасовые «конф-коллы» с заказчиком. По работам на внешнем или внутреннем периметре ограничения бывают очень редко — можно делать всё что хочешь.
Достаточно часто запрещается использовать «физику», то есть нельзя, например, приехать якобы на собеседование и, находясь в офисе, воткнуть «имплант» в сетевую розетку и получить таким образом доступ в сеть («имплантом» может выступать мини-компьютер наподобие Raspberry Pi). Нередки ограничения на социальную инженерию. Её если и дают провести, то требуют согласовать сценарий, список получателей, приложение, которое будет в письме и через которое мы получим доступ.
Работа Red Teaming происходит на реальной «боевой» инфраструктуре, и в какой-то момент что-то может «упасть». Как это оговаривается? Например, сюда проникать нельзя, этого делать не нужно.
А. К.: На стороне заказчика всегда есть сотрудник, контролирующий процесс. Он связывается с нами и может следить за Blue Team, но не должен общаться с ней, не должен подсказывать, куда мы идём. Создаётся чат со специалистами с нашей стороны и с таким человеком со стороны заказчика. И по всем потенциально узким местам мы стараемся вести достаточно подробную коммуникацию, объяснять, какие мы планируем действия и к чему они могут привести. Если есть сервис, который потенциально может «упасть», мы сообщаем об этом и согласуем даты проверки и риски.
Red Team и Blue Team — это всегда соревнование либо даже война на выживание? Или возможен сценарий совместной работы без назначения выигравшего / проигравшего?
А. К.: Во-первых, не стоит считать это соревнованием. Потому что выигрывают в любом случае все. Допустим, нападающие пробили защиту и прошли внутрь. Правильная Red Team расскажет, как она это сделала и как получить из этого результат. Если же Blue Team так хорошо отбивалась, что «враг» не прошёл, то всё равно это для неё — хорошая возможность отшлифовать навыки и лучше настроить свой инструментарий.
Помимо варианта классической тайной кибероперации, есть вариант киберучений, когда мы работаем совместно, в открытую. У нас было достаточное количество клиентов, которые только-только сформировали у себя команду SOC и пришли к нам именно с таким запросом — потренировать Blue Team. В этом случае мы создаём общий чат с защитниками: показываем им свои действия, а они анализируют, видны ли им эти действия и как можно противостоять. То есть они нас не блокируют, не мешают куда-либо проходить. И за счёт того, что мы всё равно делаем шаги по преодолению периметра, по получению каких-то данных внутри, они могут в реальном времени настраивать свои средства защиты, средства срабатывания правил корреляции. В английском языке такая объединённая команда обозначается термином Purple Team.
Какие требования предъявляются к заказчику, чтобы он мог полноценно воспользоваться услугой Red Teaming? Что у него должно быть уже создано внутри, какой уровень зрелости у заказчика должен быть?
А. К.: Мы не можем предъявлять каких-то определённых требований. Но Red Teaming — это по определению услуга для крупного бизнеса с высоким уровнем зрелости ИБ. У такого клиента уже есть или формируется SOC (свой или аутсорсинговый), и он хочет проверить его эффективность в полубоевых условиях, повысить квалификацию команды защитников и оценить потенциальное воздействие злоумышленника на систему.
На кого ориентирован Red Teaming, кто его заказчик в России?
А. К.: Большинство заказчиков — из финансового сектора, основная часть запросов поступает от банков. Но есть среди наших клиентов компании из сферы ритейла, промышленного направления, телекома и даже разработки ПО. Red Teaming также может быть полезен, например, для организаций ТЭК, транспортной отрасли и других сфер экономики.
Количество текущих и потенциальных заказчиков по России может исчисляться десятками или счёт может идти на сотни-тысячи? Какова динамика спроса на эти услуги?
А. К.: Сейчас это — десятки, ближе к сотням. При этом заметен рост качественных запросов. Если раньше заказчики хотели только узнать, что это вообще такое, то теперь готовы за это платить, потому что собрать свою или нанять внешнюю команду SOC стоит немалых денег, и у многих возникает разумное желание проверить её эффективность.
Клиенты приходят не просто за Red Teaming — они интересуются подробностями того, что мы будем делать: какие выводы будут даны, каким образом мы сможем проанализировать действия защитников, как будем обучать Blue Team и надо ли ей подготовиться и т. д. То есть заказчики начали правильно оценивать эту услугу.
Эта услуга, скорее всего, не из дешёвых, далеко не все могут её себе позволить.
А. К.: Да, услуга дороже, чем пентест, но не в десятки раз. По сравнению с комплексом пентестов — внешнее и внутреннее тестирование, социотехническое исследование и поиск уязвимостей Wi-Fi — Red Teaming будет дороже в несколько раз.
Варьируется и стоимость форматов Red Teaming. Киберучения будут дешевле киберопераций, и длятся они меньше: от двух недель до полутора-двух месяцев. В этом случае мы работаем совместно и нам не нужно тратить время на сокрытие своих действий, переписывание готовых утилит, использование большого количества цепочек туннелей и т. п. А вот секретные кибероперации — это более длительное упражнение. В среднем — по тем кейсам, что мы уже реализовали — оно занимает три-шесть месяцев.
Когда «Ростелеком-Солар» обзавёлся своей Red Team?
А. К.: В момент покупки нашей компании «Ростелекомом» в 2018-м. Надо понимать, что все люди у нас на тот момент уже имели опыт работы, это не была команда новичков.
То есть анонсирование выхода этой услуги в публичную плоскость не значит, что она у вас совсем новая и всё создано с нуля прямо сейчас?
А. К.: Нет. Мы уже несколько лет предоставляем такие услуги, но не массово, а по запросам клиентов. Накопили опыт — опыт проектов, опыт разработки своих инструментов. Плюс есть возможность пообщаться с аналитиками из Solar JSOC, сравнить их подходы с нашими, выработать некие методики обхода инструментов «синей команды».
Чем отличается Red Teaming «Ростелеком-Солар» от услуг компаний-конкурентов?
А. К.: Во-первых, наша услуга направлена на людей и процессы, а не на то, чтобы просто «поломать» клиента. Как я уже говорил, сейчас рынок «подогрет», многие заказчики хотят фактически проверить эффективность своих процессов и инструментов, но под видом Red Teaming им часто продают классический пентест.
Во-вторых, у нас есть определённый опыт за счёт совместной работы с Solar JSOC. Мы получаем от коллег информацию о новых методах работы киберпреступников, векторах и инструментах реальных атак. Плюс JSOC видит это всё очень оперативно и в отраслевом разрезе.
Так что мы проверяем не то, как банк или ритейлер будет отбиваться от какой-то «сферической атаки в вакууме». Мы проверяем, сможет ли он вовремя заметить и отразить именно такую атаку, которую с высокой вероятностью на него рано или поздно проведут.
И у нас за счёт взаимодействия с Solar JSOC этот «скоуп» информации о существующих техниках, пожалуй, — самый полный и актуальный.
Ну, и третье — ещё за то время, когда услуга не тиражировалась массово, мы успели получить ряд благодарственных писем и прочих публичных «референсов» по теме Red Teaming. Наверное, это — тоже показатель.
Интересный аспект — использование аналитики Solar JSOC для вашей работы. Немного подробнее хотелось бы его рассмотреть. Насколько это важно, например, для обхода потенциальных средств защиты? Может, это ещё как-то помогает в работе Red Team?
А. К.: Помощи на самом деле довольно много. JSOC обслуживает «больших» клиентов и видит реальные атаки, в том числе APT. Мы можем посмотреть, как реально действовал злоумышленник, и воспроизвести это у заказчика. Также мы можем посмотреть настройки СЗИ и правила, по которым JSOC ловит атаки — соответственно, понимаем, как эти правила обходить. Кроме того, в JSOC попадает некоторое количество хакерских утилит, которые мы с большим интересом изучаем. Можно сказать, что мы действуем как Purple Team: что-то разработали — показываем ребятам из JSOC, в свою очередь они при обнаружении атаки рассказывают нам, как она проходила, как её увидели и т. д.
Какие варианты предоставления услуги Red Teaming у вас есть?
А. К.: У нас довольно гибкий подход — мы можем предложить и разовые работы, и ежегодные. Также возможно сделать некую подписку: провести базовый Red Teaming, а потом, например, выполнять его по мере появления новых уязвимостей или новых хакерских сценариев APT. Но пока превалирующее количество запросов — разовые.
На какой результат может рассчитывать заказчик Red Teaming? Приведите пример из реальной практики эффективного использования этой услуги.
А. К.: Результат будет разным, в зависимости от запросов клиента. Но основное — это тренировка эффективности и улучшение навыков, техник и процедур команды защиты. Например, у нас был случай, когда на внешнем периметре нам «обломали все копья» и не давали ничего сделать: мы несколько раз проходили во внутренний периметр, начинали развиваться там, но через какое-то время «получали по рукам». Решили проникнуть с помощью социальной инженерии: разослали несколько писем — некоторые сотрудники их открыли и предоставили нам доступ. Дальше дело было за малым. Blue Team на этот раз ничего не заметила и не среагировала — сказались недостатки в анализе активности на конечных точках. А это — уже повод пересмотреть подходы к мониторингу и защите рабочих мест пользователей.
Или, например, был кейс, когда мы нашли в одной из систем уязвимость нулевого дня и смогли «залить» туда шелл. Через два дня Blue Team его удалила, но сама уязвимость осталась — соответственно, мы прописали троян в основную страницу и продолжили действовать внутри уже более осторожно. В данном случае было ясно, что команда защиты не видит полной картины того, как мы проходили. И с этим тоже можно и нужно работать: выявлять причины и устранять.
Было ли такое, что заказчик попадался очень крепкий, и шли дни, недели, а нащупать какой-то «ключик» не удавалось?
А. К.: Бывало, что клиент вопреки договоренности всё же сообщал своей команде SOC о том, что их будут «редтимить». В итоге — Blue Team в полной боевой готовности 24/7 следила за происходящим. Там было в определённой степени сложно. Мы нашли несколько путей, как пройти внутрь, «залились», но нас выбили оттуда. В одном случае забанили через три дня, во втором — попозже. Внутрь мы всё равно попали — через «социалку». Но в целом — да, случаи бывают разные, всё очень зависит от клиента.
Бывали ли неудачные примеры, когда заказчик оказался не готов к Red Teaming?
А. К.: Никто не сможет сказать, кроме самого клиента, получил ли он то, что ожидал, или нет. У нас был случай, когда заказчик пообещал «противодействие, слежку и изгнание», а в конце сказал: «Ребят, а как вы получили домен админа? Мы видели ваше продвижение по «внешке», но не видели, что вы попали внутрь — мы были не готовы к такому».
Red Teaming — это история про цели. Заказчик их задаёт, но не всегда они могут быть достигнуты. Тут и время играет роль, и способности команды Blue Team. Вот, например, добыли мы критическую информацию (пароль, домен админа), получили доступ к некоторым критическим серверам, но не реализовали какую-нибудь условную «цель № 3». И клиент недоволен: «Как так? Почему не все?». Но такого, чтобы говорили «вы делаете не то, мы ожидали другого», — не было.
Думаю, работа на стороне «красной команды» очень интересна. Во-первых — творческая, во-вторых — всегда разные проекты. С такой работой точно не соскучишься.
А. К.: Если клиент не связывает ограничениями по рукам и ногам, то да, работа очень интересна.
Очень интересной получилась и наша беседа. Большое спасибо за интервью. Успехов!