Антивирусные будни. Как аналитики Avast детектируют новые угрозы

В конце октября компания Avast провела мероприятие CyberSec & AI, в честь которого в штаб-квартиру компании в Праге были приглашены журналисты из разных стран. Я тоже посетил это мероприятие и посмотрел на то, как делают знаменитые на весь мир антивирусные продукты. А одной из наиболее интересных бесед был рассказ главы группы детектирования угроз Михала Салата о том, как в Avast работают с малварью.

INFO

Читай также интервью с CISO компании Avast Джайлой Балу, где она рассказала о недавней атаке и о том, как непросто в таких случаях полностью ликвидировать последствия.

Живой иллюстрацией к этой беседе стало табло из полутора десятков мониторов, которое висит на стене в отделе Михала и демонстрирует разные показатели, связанные с детектированием малвари и обновлением антивирусных баз. Мы прошлись по наиболее интересным графикам и обсудили связанные с ними реалии.


— Расскажите, чем каждый день занимается ваш отдел?

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

— Как именно происходит процесс сбора сэмплов?

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

— Какие дебаггеры вы используете?

— Преимущественно IDA Pro, мы закупили лицензии на него. Некоторые предпочитают x64dbg или WinDbg, но все зависит от того, с чем именно понадобится работать и кто с чем лучше знаком.

— Hydra еще не пробовали?

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

— После того, как вы получили файл, и узнали, что он делает и как работает, какой следующий шаг?

— Следующий шаг — найти характерные признаки, которые позволят детектировать эту малварь. Это могут быть адреса серверов C&C, ключи, какие-то другие признаки, характерные для используемых способов коммуникации. У нас есть два типа правил — одни для бэкенда, они помогают маркировать малварь, другие — правила детектирования для эндпоинтов, они уже работают на компьютерах пользователей. Причина такого разделения в том, что вирусописатели всегда проверяют свою малварь на всех доступных антивирусах, чтобы снизить вероятность детекта. Поведенческий анализ, который работает у нас в облаке и недоступен по запросу, тоже дает дополнительное небольшое преимущество.

— Пока я стоял здесь, я разглядывал ваше табло. Сначала решил, что оно по большей части декоративное, но чем больше смотрел, тем интереснее становилось. Не могли бы вы устроить небольшой тур и рассказать, какие графики наиболее полезны в реальности?

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

График Streaming Updates — слева внизу, StatsSubmits connections, который мы тоже затронули, — второй сверху в правом столбце

Вообще, потоковые обновления (streaming updates) — это фактические небольшие пакеты данных, которые мы получаем при детектировании малвари . Мы тестируем каждый детект и проверяем, будет ли он работать на тех файлах, на которых должен, и не задевает ли что-то, что мы считаем чистым. Каждая колонка со знаком плюса здесь означает добавленные срабатывания, а с минусом — удаленные. Удаляем мы их тогда, когда узнаем о ложноположительном срабатывании или о том, что правила накладываются друг на друга. Колонки UR — это, например, детект по URL. Если мы убеждаемся, что сервер больше не распространяет малварь, мы удаляем из базы его адрес.

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

Дальше мы видим размер VPS (так мы называем антивирусную базу) для разных версий. Мы стараемся по возможности уменьшать ее.

— Как вы этого достигаете?

— Если новое правило более широкое или более эффективное, мы исключаем старые, более узкие правила. Дважды в день выходит полное обновление базы. Например, если кто-то уехал на каникулы и потом вернулся, он получит обновление в наиболее компактном виде.

— Что произошло вот здесь в 8:20, график StatsSubmits connections?

— Мы выпустили обновление базы с эвристическими правилами, которые направлены на поиск чего-то конкретного. Соответственно, выросло число соединений, поступающих от клиентов, которые нам сообщают о находках.


— А вот эти три разноцветные панели что означают?

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

— А номер — это..

— Это хеш. Номера здесь берутся из OdinBox. Это средство на основе машинного обучения, которое кластеризует файлы, чтобы найти закономерности. Номер здесь — это версия кластеризации. Например, вот это версия номер 83. Второй номер — номер кластера, то есть группы файлов. Третий номер — это тип кластеризации, который мы использовали для создания модели. У нас есть несколько моделей, и мы их сменяем время от времени. Цветовое разделение здесь означает разные варианты решений при детектировании. Зеленые — «чистые» файлы, красные — малварь. Вот этот большой красный квадрат — это явно малварь одной группы, раз она объединена в один кластер. Кстати, явно что-то необычное, потому что кластеры вирусных семейств чаще всего имеют примерно одинаковый размер.

— Это не червь Brontok из вот того графика?

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

— Раз уж мы заговорили о вот этих хит-парадах малвари (Top detections и Top malware files), расскажите, в чем разница между ними.

— Они основаны на двух разных метриках. Top detections — это признаки, по которым выявлена малварь. Например, CVE-2017-0144 — это уязвимость Eternal Blue, и она часто встречается несмотря на то, что многие компьютеры уже запатчены. И все равно мы видим много уязвимых машин и заражений. Как мы видим, прямо сейчас — более двух миллионов попыток. Популярность в колонке рядом — это наша метрика, которая позволяет понять, насколько часто статистически встречаются инциденты с тем же названием детекта. А строки с одинаковыми названиями (например, Mandang) мы видим, потому что технически детекты на основе разных признаков считаются разными.


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


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

Колонка Prevalence — это как раз число пользователей, у которых был этот файл. Например, вот эту адварь RelevantKnowledge попытались запустить 903 тысячи пользователей. Но иногда это очень маленькие цифры. Например, вот тут мы видим единицу в графе Prevalence и 262 в графе Popularity, это значит, что какой-то пользователь безуспешно пытался открыть этот файл 262 раза. Часто люди просто продолжают кликать на файл, потому что не понимает, почему антивирус не дает его запускать (хоть он, конечно, показывает сообщение об угрозе). Но бывает, что пользователь не верит или думает, что скачал файл из доверенного источника и все должно быть нормально.

— Переходим к главной показухе. Вот это табло с картой, где показано кто и кого атакует в реальном времени. Насколько это показательно в реальности?

— Ну да, карта и вот этот земной шар, конечно, выглядят наиболее круто. В реальности это данные только одного движка, самого первого уровня защиты. То есть то, что мы блокируем еще до того, как оно проникает на компьютер. Это срабатывания Web Shield, которые происходят, когда мы заранее знаем, что файл вредоносный. По цвету линий заметно, что большая часть — это заблокированные URL. Для нас это наиболее эффективный подход: если мы видим, что файл приходит по одной и той же ссылке, мы блокируем ее. Кстати, если бы мы показали на этом экране все угрозы, то он был бы просто плотно покрыт линиями.

Еще тут видно другие типы информации. Например, круги — это Wi-Fi Inspector находит уязвимости в беспроводных сетях пользователей. Это, кстати, не включает слабые пароли, которые сейчас являются проблемой номер один в мире IoT. А квадраты — это вредоносные приложения для Android, которые мы детектировали благодаря Avast Mobile Security.

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

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

Экскурсия по офису Avast

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

Вот так здание выглядит снаружи (официальный снимок Avast).


А вот ресепшн на этаже. На снимке плохо видно, но на его переднюю сторону проецируется анимация с Пакманом.


Зона отдыха с диваном и столиками.


И вид из окна на Прагу — на зависть многим офисным работникам.


Библиотека.


Гамаки.


Зона для тех, кто любит более активный отдых.


Буфет — сердце любого офиса.



Музейный экспонат — компьютер, на котором когда-то была создана первая антивирусная программа основателей Avast. На стекле напечатан ее исходник на ассемблере.


По стечению обстоятельств мне в кадр ни разу не попали сидящие за компьютерами и напряженно работающие люди. Отчасти — потому что дело было ближе к вечеру, но и в это время работа в реальности еще идет.

А вот снимок из лаборатории IoT, которую недавно открыли в Avast.


Но это, как говорится, уже совсем другая история.

Андрей Письменный: Главный редактор