Мы тут немного поработали ассенизаторами.
Около 66% атак первой волны пришлось на российские сети. И здесь есть огромное заблуждение: почему-то все называют механизм поиска определённого домена killswitch'ем. Так вот, возможно, нет. В случае российских сетей госкомпаний, финансов и производств — это механика обхода песочниц. Основные песочницы на входе в защитный периметр имеют множество тестов. В частности, при запросе определённых сайтов изнутри песочницы они умеют отдавать, например, 200 ОК или 404. Если приходит подобный ответ, зловред мгновенно деактивируется — и таким образом проходит динамический анализатор кода. От статического анализа он защищён несколькими свертками сжатия-шифрования. Таким образом, это не killswitch, а одна из новых механик обхода песочниц.
Об этом я тоже расскажу, но куда интереснее другой практический вопрос: какого чёрта полегло столько машин от троянца? Точнее, почему все вовремя не запатчились или не отключили SMB 1.0? Это же просто как два байта переслать, правда же?
Выезды икс-команды
Первые выезды были по факту заражения. Ситуация развивалась очень быстро, и мы опять вместо семейного отдыха получили тревогу. Но на этот раз весёлую. В пятницу начали обращаться заказчики — в субботу и воскресенье подключили команду и профильных специалистов по имеющимся у заказчика системам защиты, чтобы расследовать инциденты. Другие заказчики (кто ещё не заразился) начали обдумывать превентивные меры.
Представьте себе банк, где в одном из филиалов оператор открыл письмо (напомню: отлично прошедшее песочницу на входе в DMZ). Дальше поражается, предположительно, весь сегмент сети. Админ сначала раскатывает филиал из бекапа, а потом сталкивается с тем, что не может проконтролировать распространение зловреда: «Я сносил машины пофилиально и разворачивал из вчерашних бекапов. Пришлось делать это дважды, второй раз открыв дополнительное техническое окно, чтобы снести весь сегмент сразу. Шесть минут после развертывания — и образ уже покоррапчен». Или: «Выявили признаки заражения вручную до апдейтов, накатили бекапы на заражённые машины. Утром проснулся один из выключенных на ночь аппаратных терминалов — и всё началось с самого начала». Очень многие сегменты обменивались по SMB с файловой шарой, которая входила в другие сегменты, включая критичные. В одной компании так погиб сегмент сети с рабочими графиками (включая логистику внутри производств). У админов, по сути, не было внятных инструментов поиска угрозы внутри периметра — нельзя было быстро однозначно сказать, какие машины и сегменты скомпрометированы.
Сотрудникам начали отправлять массовые корпоративные рассылки «не открываем письма от непонятно кого, читаем только от тех, с кем вы ранее общались». На одном предприятии реально сработало — там архивы приходили, но никто из сотрудников их не открыл. Это дало время админу запатчиться на уровне сетевых правил.
А дальше пошёл цирк. Выяснилось, что многие реагируют тяжело на такие события: кто-то не в курсе вообще, что делать, кто-то в отпуске. Очень много конфликтов ИБ и ИТ — нет точных процедур, например, механически это делает ИТ-инженер, а безопасник говорит: моя юрисдикция, решим на совещании в понедельник. Вариантов принципиально остановить распространение было три:
1. Запретить SMB 1.0-трафик. Самый простой метод. Проблема номер раз в том, что он используется в прикладе (файлшары с источниками данных и обмен в крупных логистических сетях). Да, кое-где удалось перейти на свежие версии. Но это всё большие усилия, каждое из которых вполне может вызвать каскад падающих костылей на боевых системах. Но даже если просто попробовать закрыть SMB, уже возникают проблемы. Одна из наиболее ярких — обойти 150 устройств разных производителей, с разными прошивками, с разными консолями управления и прочее вручную, когда нет софта в управляющем центре сети. «Вручную» — это получая санкции безопасников на доступ к критичным настройкам для каждого устройства.
Скриншот, как в мультивендорной каше из единой консоли накатать политику сразу на все устройства. Призван вызывать боль у тех, кто ходил руками.
2. Обновить Win-машины. MS на удивление оперативно выпустила патчи для семейства систем. Напомню: SMB 1.0 поддерживается по умолчанию для обратной совместимости в том же 2012server. Средний срок накатывания такого патча в просвещённой Европе — месяц. В России в среднем — два. Почему? Потому что нельзя катить патч на боевую систему. Нужна полная её копия в тестовой среде, полный прогон теста, затем поиск техокна (в ночь с субботы на воскресенье, например) — и апдейт. В Европе тестовые среды на такие ситуации готовы. У нас — не всегда. Плюс встаёт вопрос сертификации — не все системы можно взять и обновить, они тут же потеряют сертификат. Российская госбезопасность бдит и не хочет, чтобы с патчем в наши критичные системы случайно попала закладка потенциального противника. То есть патч — отличный вариант на будущее, а что-то делать надо сейчас. Да, в паре случаев админы превентивно накатили патч без тестов на критичные системы производств (там не было вопроса сертификации). К счастью, ничего не упало, но безопасники чуть не развесили их внутренние органы по лесу. А если бы ещё и что-то упало — оба бы не выжили, мне кажется.
3. Внедрить антивирусы на машины пользователей и обновить их. И даже если это сделать, зловред уже внутри периметра. Потоковые антивирусы против него не работают — дистрибутив поставляется пользователю в архиве, который он сам расшифровывает на рабочем месте. А песочницы зловред проходит благодаря крайне полезной для выживания фиче «killswitch».
Итог — много где пришлось решать убиванием (изоляцией) сегментов сети или остановкой SMB с потерей части рабочих процессов.
Там, где админы что-то накатывали, всегда делались бекапы инфраструктуры «до». Мы рекомендовали делать их на отдельную железку и отсекать её от основной сети — был один пример в не очень крупной компании, где файлы бекапа также оказались зашифрованными.
Где остановили Wannacry почти сразу?
- В двух инсталляциях с микросегментацией сети, это где периметры DMZ — основной стройматериал сети. Вот пост коллег, написанный до событий, он многое показывает. В таких сетях антивирус и системы обнаружения аномалий работают внутри гипервизора, плюс очень жёстко разграничены права. Никаких проблем, зловред разворачивается на одном АРМ — и никуда с него не уходит после.
- Было менее десятка случаев с хорошими песочницами и грамотно внедрёнными системами поиска сетевых аномалий. Зловред создаёт дерево событий — с одной машины прыгает на несколько следующих, они продолжают развитие. Это дерево на втором шаге отлично детектируется (UBA-решения и SIEM-решения). По тревоге изолируется в карантин весь сегмент (чаще всего филиал банка, например), дальше он вручную откатывается админом до момента заражения. Затем по сети запускается какой-нибудь MaxPatrol с обновлёнными настройками. Он же, кстати, потом будет проверять все машины на наличие этого патча и все узлы роутинга на непробиваемость SMB-пакетам зловреда.
- Зловред использовал Tor для загрузки пейлоада и получения команд. Некоторые системы защиты сети (в частности, NGFW) умеют детектирвовать Тор-трафик (точнее, определяют его с некоторой долей вероятности), поэтому признак «тор-соединение» послужил простейшей сигнатурой для изоляции машин сети.
- Красиво отработали админы в сетях с внедрённой форенсикой. Либо можно в момент тревоги точно перечиcлить все заражённые машины, видя каждую транзакцию, и откатить именно их, либо же смотрите предыдущий случай — это где форенсика и поиск сетевых аномалий связаны в систему.
- Что нас порадовало, было два очень зрелых в плане ИТ заказчика со специальными зонами для тестирования экстренных патчей. Один отреагировал за часы, второй — за полтора дня.
Какие песочницы не пробивались?
Совершенно точно хорошо отработали песочница и защита на конечных устройствах от CheckPoint, песочница и защита на конечных устройствах от Palo Alto. Скорее всего, их разработчики поднаторели в «гонке щита и меча».
Дело в том, что с первых защитных песочниц зловреды пытаются определить режим гипервизора и реальность рабочей станции. Первый уровень — посмотреть на физическую адресацию памяти или попробовать получить особенности архитектуры процессора недокументированным методом. Гипервизоры поднялись чуть выше (точнее, ниже) к специальным аппаратным режимам Intel, когда такие фокусы перестали прокатывать. И заодно определили подобные действия как крайне подозрительные. Затем зловреды стали смотреть на реальную жизнь пользователя на рабочей станции. Предполагалось, что образ машины песочницы старый (нет недавно изменённых файлов), и все файлы датируются примерно одной датой. Песочницы стали выбирать случайного юзера и забирать его образ машины как тестовый, плюс определили такие действия по опросу файлов как подозрительные. Зловреды стали смотреть на последние запущенные приложения и время их работы. Ещё виток. Последнее (до опроса доменов) достижение человеческого разума — оценка хаотичности расположения иконок на рабочем столе. Если там срач — значит, живой юзер, можно разворачивать следующий слой.
Что дальше?
Дальше нужно для начала проводить инструктажи по ИБ среди персонала и вообще повышать компьютерную грамотность. Там, где письма не открывали, безопасники устраивали своего рода учебные тревоги, как для пожарной эвакуации. Как показывает практика, плоды это приносит. Процент открытия фишинговых писем снижается. При подозрительной активности пользователи сами звонят в ИТ-отдел. Кстати, там же, на предприятии, есть бабуля-бухгалтер, так вот она воспитывалась ещё при Сталине. Компьютерной грамотности никакой, но именно она одной из первых подняла тревогу. До этого, правда, она один раз вызвала полицию к инженеру, который не представился и начал что-то делать с её компьютером. Его повязали и держали до вечера (сам дурак, надо было зайти и представиться по правилам, показать бумагу).
Нас ждёт больше NextGenFirewall, больше дорогущей форенсики — и для тех админов, которые готовы хапнуть кусок матанализа, — дешёвая, но сложная во внедрении микросегментация.
Мы сейчас уже перешли из режима дежурства «все в готовности» и сна на диванчиках по разным уголкам страны к режиму «не бухать на выходных». После него последует режим обычного дежурства. Через пару месяцев, как все запатчатся.