И снова привет, Хабр! Это Алексей Вишняков, руководитель отдела обнаружения вредоносного ПО экспертного центра безопасности Positive Technologies (PT Expert Security Center, PT ESC). Сегодня вас ждет нетипичный контент от нашего подразделения: без технических деталей о вредоносах и скриншотов из дизассемблера, не о перехватах на уровне гипервизора и даже не о том, чем отличается Process Doppelgänging от Process Herpaderping. В этом посте мы с коллегами раскроем то, что обычно остается за кадром публичного представления результатов нашей работы, и ответим на вопросы:
чем занимаются вирусные аналитики, помимо реверс-инжиниринга;
какие цели мы преследуем — и достигаем (что, кстати, гораздо важнее);
почему наша работа — это работа мечты (без холивара у этой статьи нет будущего????).
Ранее мы уже приоткрывали дверь в наш мир и рассказывали, как и чем мы живем. Если интересно узнать о [не]технической стороне одного из отделов PT ESC, услышать больше про людей, а не про технологии — оставайтесь. Будем разбираться!
Экспертизу — в продукты
Озаглавить этот раздел я решил словами основателя Positive Technologies Юрия Максимова. Можете называть это как угодно — девизом, кратким описанием, но, по сути, это и есть точная формулировка смысла нашей работы.
Minimum viable product team
Появление и жизненный путь команд чем-то похож на историю развития продукта. Становление нашей команды произошло в 2021 году. При разработке PT Sandbox потребовалось поддержать его экспертизой в части вредоносного ПО, и часть команды по исследованию угроз ИБ переориентировалась на задачи по передаче в песочницу знаний о том, какие образцы вредоносов есть, какие техники используют киберпреступники и какие существуют методы их обнаружения. Еще к нам присоединились опытные вирусные аналитики, которые, быстро освоившись, взялись за наиболее сложные задачи. Некоторые из задач были успешно завершены в прошлом году.
Тогда же мы получили первые стратегические задачи на длинную дистанцию, и со временем отдел обнаружение вредоносного ПО стал отвечать за экспертную составляющую других продуктов Positive Technologies. Хочу обратить внимание, что любая наша задача начинается с исследования (зловреда, вредоносной техники, технологии или чего-то еще) и завершается занесением полученных знаний в целевой продукт. Возможно, вам кажется, что так это везде и работает. Увы, не везде и не всегда. Нередко специалистам поручают абстрактные исследовательские задачи без сроков и объяснения того, зачем это нужно сделать. Такой подход может повлиять не только на отдачу и эффективность работы, но и в конечном счете на мотивацию сотрудников. Зачем им что-то делать или делать именно вот так, если у них нет четкого ответа, почему второе лучше первого? Считаю, что нам повезло: наша команда всегда понимает, какой вклад то или иное исследование или прототипирование технологии внесет в работу продукта. За счет этого многие процессы, в том числе по поиску оптимального решения задачи и достижения соответствующего уровня качества, становятся прозрачнее.
Также мы занимаемся развитием талантов внутри команды. Наш отдел один из немногих, кто готов обучать молодых драйвовых ребят с горящими глазами и помогать им войти в профессию. Больше половины команды — нынешние или бывшие студенты. Решая в нашем отделе боевые задачи, ребята с энтузиазмом осваивают практические навыки, получают актуальные знания с полей, прокачивают профессиональные скилы и вдобавок развивают нетехнические навыки (например, дисциплину и ответственность в работе). Разумеется, они уделяют этому столько времени, сколько им позволяет основная учеба. Для многих Positive Technologies становится первым местом работы: стажеры плавно переходят на штатные позиции и успешно растут дальше.
Александр Лаухин
Специалист отдела обнаружения вредоносного ПО PT Expert Security Center
1) Как ты оцениваешь график работы в отделе?
Благодаря свободному графику намного проще совмещать работу с учебой и личными делами. К тому же сама работа становится приятнее и идет легче, когда над тобой нет постоянного надзора со стороны руководства. Поэтому, даже несмотря на то, что я сам стараюсь придерживаться стандартного рабочего графика, возможность заниматься работой в удобное для себя время считаю невероятно ценной.
2) Расскажи о твоей самой интересной задаче.
Самой интересной задачей для меня оказалась одна из первых. Я занимался разбором протектора CloudEye и написанием детектирующих правил для него. Для меня это стало первым серьезным опытом реверс-инжиниринга. Кроме того, в ходе ее решения мне пришлось изучить немалое количество техник, нацеленных на усложнение анализа. Большую часть из них я до этого не встречал, поэтому на каждом шагу меня поджидало небольшое открытие.
3) Что нового ты узнал за время работы в команде?
Всего сразу и не перечислить, поэтому отмечу то, что мне больше всего запомнилось из последнего. Я узнал, почему эксплойт CVE-2021-40444 не отрабатывает на Windows 7, научился автоматизированно восстанавливать рабочие исполняемые файлы из дампов памяти, подтянул навыки программирования на Python.
Задачи, которые мы решаем
Несложно догадаться, что задачи отдела обнаружения вредоносного ПО крутятся вокруг процесса … обнаружения вредоносного ПО! В силу того, что работа команды непосредственно связана с продуктовой линейкой, задачи разнообразны. Прежде всего, есть блок активности, напрямую сопряженный с нашими профессиональными навыками, — вирусная аналитика. Это то, благодаря чему, собственно, и появляются знания, передаваемые в продукты. Конечно же, анализ вредоноса сложно провести, не применяя методы реверс-инжиниринга. О реверсе уже написано и еще будет написано колоссальное множество статей, поэтому я не буду на нем подробно останавливаться. Лишь подчеркну:
реверс-инжиниринг — это инструмент, а не синоним вирусного анализа;
реверс-инжиниринг — это не только работа с дизассемблером;
в контексте анализа вредоносного ПО реверс-инжиниринг отличается, например, от исследования приложения на уязвимые места;
вирусный аналитик занимается не только реверс-инжинирингом — а может быть так, что он и вовсе реверсом не занимается (да простят меня адепты — реверсеры ВПО).
Почему я акцентировал на этом внимание? Дело в том, что мне встречаются две крайности. Например, общаясь с соискателем, я могу подметить, что он знает язык ассемблера и хорошо воспринимает его. Однако при анализе зловреда у него возникают трудности высокоуровневой трактовки. К примеру, он не может понять, что в целом делает программа, как она влияет на операционную систему.
Бывает и другая ситуация: специалист разбирается в особенностях работы ОС, знает программный интерфейс, семейства и классы зловредов, но почему-то считает, что путь в эту сферу ему закрыт.
Помимо вирусной аналитики и реверса в обнимку с IDA Pro, в список наших задач также входит:
исследование вредоносных техник (уклонение от обнаружения, повышение привилегий, закрепление в системе и т. п.);
анализ поведения подозрительных файлов;
прототипирование программ, использующих уязвимости (PoC для эксплойтов);
получение индикаторов компрометации (IoC) и их обработка;
анализ сетевого трафика вредоносного ПО;
проверка гипотез о способах обнаружения вредоносной активности;
применение ML-алгоритмов для поиска аномалий в работе ОС или статических данных;
и многое другое.
Как видите, не лишь реверсом едины!
Другой фронт задач связан с передачей накопленной экспертизы в продукты. Здесь происходит перевоплощение некоего представления о полученном знании (разумеется, пока лишь в собственной голове) в алгоритмы. В таких случаях мы выступаем либо консультантами, либо «колхозными» программистами, когда стараемся объяснить разработчикам, как мы видим реализацию той или иной технологии, которая поможет лучше обнаруживать зловреды. Иногда нам удается передать идею на словах, иногда приходится делать минималистичную программную рабочую реализацию. В дальнейшем она перерабатывается в корректный продакшнн без потери изначальной сути. Когда технология реализована, можно наполнять ее знаниями в задуманном нами формате — правилами, сигнатурами, репутационными списками и прочим. С одной стороны, данная процедура становится детерминированной (читайте — простой). С другой — это и есть целевой ожидаемый результат проделанной до этого работы. Без наполнения правилами или сигнатурами некоторые технологии становятся либо бесполезными, либо быстро утрачивают применимость и актуальность.
Перечислю продукты, для которых мы это делаем. Год 2021-й, как, впрочем, и 2020-й, прошел для нас с первичным фокусом на песочнице PT Sandbox. Команда проделала колоссальную работу по прокачке этого решения экспертизой по всему, что там теперь есть. Весной этого года была выпущена коммерческая версия нового решения PT XDR, в состав которого входит продукт для защиты конечных точек. Поэтому нам также предстоит выполнить большой пласт работы по развитию EDR. Кроме того, ведется планомерная работа по предоставлению расширенной информации о вредоносных объектах в виде TI-фида. И, конечно, мы прорабатываем возможность представления результатов этой работы в виде отдельного сервиса или платформы.
Думаю, вы согласитесь, что делать классные штуки и не делиться ими с другими — это не стиль жизни сообщества ИБ. Немалая доля нашей активности посвящена публичному представлению добытых нами знаний: мы проводим вебинары (они полезны не только экспертам-технарям, но и пользователям наших продуктов), выпускаем статьи с подробным изложением технического материала и разборы нашего участия в мероприятиях по ИБ, делимся нашим опытом и видением на конференциях по мере возможностей и с учетом некомпьютерных вирусов в мире. Помимо этого, мы обеспечиваем поддержку наших продуктов на проектах по демонстрации и пилотированию. Вспоминаются случаи, когда потенциальные заказчики интересовались подробностями работы технологий, обнаруженных нами троянов, и мы предоставляли им актуальную информацию.
Антон Белоусов
Cтарший специалист отдела обнаружения вредоносного ПО PT Expert Security Center
1) Что больше всего тебя привлекает в команде?
Возможность предлагать, обсуждать и реализовывать новые фичи в продукте. У тебя возникает идея, которая, возможно, еще не обросла деталями, или это может быть некая концепция без путей решения. Ты закидываешь ее на очередной встрече и получаешь фидбэк, конструктивную критику или варианты, как эту идею можно раскрыть. Или же, наоборот, благодаря отзывам понимаешь, что предлагаешь что-то нежизнеспособное.
Важный плюс самого направления по обнаружению вредоносного ПО в том, что твоя работа заключается не только в реверсе, результаты которого уходят куда-то в пустоту, но еще и в воплощении полученных знаний в коде, инструментах или плагинах.
2) Расскажи о самой сложной задаче, с которой ты сталкивался.
Не уверен, что это самая сложная задача, но точно очень интересная. Нужно было сделать так, чтобы виртуалка выдавала себя за реальную машину в ответ на разные WMI-запросы. И если с большинством запросов удалось справиться малой кровью, то запрос объекта типа
MSAcpi_ThermalZoneTemperature
не поддавался просто так. Пришлось восстанавливать всю цепочку событий от запроса до обращения к драйверу. А потом еще и написать код, который перехватывал бы все этапы и выдавал нужные результаты.3) Чем вы как подразделение отличаетесь от остальных?
Сложно сказать, но мне кажется, что наши ребята успешно совмещают способность поисследовать что-то, никем не тронутое ранее, а потом переложить это в практический результат.
Как мы работаем
Современным офисом, хорошими страховками, спортивной зоной с массажными креслами, печеньками, фруктами и другими плюшками сегодня в ИБ и ИТ никого уже не удивить. Скорее, вызывает вопросы отсутствие чего-либо из перечисленного (спойлер: у нас все это есть ????). С другой стороны, эпидемиологическая обстановка в мире меняет приоритеты. Пандемия сказалась на стиле работы: к удаленке мы не просто пришли в силу обстоятельств, а хорошо адаптировались, найдя в этом плюсы. Например, команда распределена по городам: сейчас это Москва и Санкт-Петербург, но вскоре будут и другие.
Многие в отделе еще получают образование, и если их занятия проходят не в удаленном формате, возможность общаться с коллегами без физических встреч позволяет им экономить время на перемещениях и совмещать учебу с работой без сложностей.
Наши рабочие процессы прозрачны. Участники команды видят весь список задач: кто чем занимается сейчас, что уже сделано, какие задачи еще не распределены, что у нас в планах. Мы не следуем классическим методологиям Scrum или Agile, а пришли к оптимальному гибриду из синхронизации встреч и планирования задач, который позволяет нам поддерживать высокий темп при реализации задач. Также у нас проходят ежеквартальные встречи формата 1:1 с сотрудниками, где поднимаются затерявшиеся вопросы, существенные и не очень проблемы, а также отмечаются результаты и выстраивается план, куда мы хотели бы двигаться в будущем.
Вместо заключения
К росту и новым достижениям мотивируют результаты. Мы видим, во что трансформируется вклад нашей команды: продукты переходят на новый уровень, технологии приносят реальную пользу, публикуемая экспертиза хорошо принимается сообществом. Нам доверяют новые направления развития. Мы растем, беремся за новые сложные задачки и масштабные затеи. И всегда рады видеть в наших рядах таких же заряженных ребят с горящими глазами, которые не боятся вызовов и хотят заниматься не только интересными, но и полезными вещами. Присоединяйтесь к нашей безбашенной, но организованной движухе. Все, за что берется PT ESC, становится лучше!