Мы тут немного поработали ассенизаторами.

Около 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 почти сразу?


  1. В двух инсталляциях с микросегментацией сети, это где периметры DMZ — основной стройматериал сети. Вот пост коллег, написанный до событий, он многое показывает. В таких сетях антивирус и системы обнаружения аномалий работают внутри гипервизора, плюс очень жёстко разграничены права. Никаких проблем, зловред разворачивается на одном АРМ — и никуда с него не уходит после.
  2. Было менее десятка случаев с хорошими песочницами и грамотно внедрёнными системами поиска сетевых аномалий. Зловред создаёт дерево событий — с одной машины прыгает на несколько следующих, они продолжают развитие. Это дерево на втором шаге отлично детектируется (UBA-решения и SIEM-решения). По тревоге изолируется в карантин весь сегмент (чаще всего филиал банка, например), дальше он вручную откатывается админом до момента заражения. Затем по сети запускается какой-нибудь MaxPatrol с обновлёнными настройками. Он же, кстати, потом будет проверять все машины на наличие этого патча и все узлы роутинга на непробиваемость SMB-пакетам зловреда.
  3. Зловред использовал Tor для загрузки пейлоада и получения команд. Некоторые системы защиты сети (в частности, NGFW) умеют детектирвовать Тор-трафик (точнее, определяют его с некоторой долей вероятности), поэтому признак «тор-соединение» послужил простейшей сигнатурой для изоляции машин сети.
  4. Красиво отработали админы в сетях с внедрённой форенсикой. Либо можно в момент тревоги точно перечиcлить все заражённые машины, видя каждую транзакцию, и откатить именно их, либо же смотрите предыдущий случай — это где форенсика и поиск сетевых аномалий связаны в систему.
  5. Что нас порадовало, было два очень зрелых в плане ИТ заказчика со специальными зонами для тестирования экстренных патчей. Один отреагировал за часы, второй — за полтора дня.

Какие песочницы не пробивались?


Совершенно точно хорошо отработали песочница и защита на конечных устройствах от CheckPoint, песочница и защита на конечных устройствах от Palo Alto. Скорее всего, их разработчики поднаторели в «гонке щита и меча».

Дело в том, что с первых защитных песочниц зловреды пытаются определить режим гипервизора и реальность рабочей станции. Первый уровень — посмотреть на физическую адресацию памяти или попробовать получить особенности архитектуры процессора недокументированным методом. Гипервизоры поднялись чуть выше (точнее, ниже) к специальным аппаратным режимам Intel, когда такие фокусы перестали прокатывать. И заодно определили подобные действия как крайне подозрительные. Затем зловреды стали смотреть на реальную жизнь пользователя на рабочей станции. Предполагалось, что образ машины песочницы старый (нет недавно изменённых файлов), и все файлы датируются примерно одной датой. Песочницы стали выбирать случайного юзера и забирать его образ машины как тестовый, плюс определили такие действия по опросу файлов как подозрительные. Зловреды стали смотреть на последние запущенные приложения и время их работы. Ещё виток. Последнее (до опроса доменов) достижение человеческого разума — оценка хаотичности расположения иконок на рабочем столе. Если там срач — значит, живой юзер, можно разворачивать следующий слой.

Что дальше?


Дальше нужно для начала проводить инструктажи по ИБ среди персонала и вообще повышать компьютерную грамотность. Там, где письма не открывали, безопасники устраивали своего рода учебные тревоги, как для пожарной эвакуации. Как показывает практика, плоды это приносит. Процент открытия фишинговых писем снижается. При подозрительной активности пользователи сами звонят в ИТ-отдел. Кстати, там же, на предприятии, есть бабуля-бухгалтер, так вот она воспитывалась ещё при Сталине. Компьютерной грамотности никакой, но именно она одной из первых подняла тревогу. До этого, правда, она один раз вызвала полицию к инженеру, который не представился и начал что-то делать с её компьютером. Его повязали и держали до вечера (сам дурак, надо было зайти и представиться по правилам, показать бумагу).

Нас ждёт больше NextGenFirewall, больше дорогущей форенсики — и для тех админов, которые готовы хапнуть кусок матанализа, — дешёвая, но сложная во внедрении микросегментация.

Мы сейчас уже перешли из режима дежурства «все в готовности» и сна на диванчиках по разным уголкам страны к режиму «не бухать на выходных». После него последует режим обычного дежурства. Через пару месяцев, как все запатчатся.
Поделиться с друзьями
-->

Комментарии (51)


  1. LoadRunner
    25.05.2017 10:41
    +1

    Кстати, там же, на предприятии, есть бабуля-бухгалтер, так вот она воспитывалась ещё при Сталине.
    Лучший файрволл — бабули на проходной :)


  1. Ugrum
    25.05.2017 10:54
    +6

    Остросюжетный киберкриптодетектив детектед.
    Подписался на канал автора.


  1. ChaM
    25.05.2017 11:25
    +4

    Хорошо написано, прям сопереживал участникам процесса.


  1. Fox_exe
    25.05.2017 11:51
    -17

    Маленькая конторка. Комп начальника — MacOS, остальные — поголовно Linux (Arch + максимальный закос оформления под WinXP) + VNC на сервак с 1С (Под управлением Ubuntu).
    Кароче — я вообще не знаю, что такое вирусы :)


    1. Splo1ter
      25.05.2017 12:23
      +17

      Держите нас в курсе.


    1. irbis_al
      25.05.2017 15:42
      +1

      Аналогично,- всех клиентов перевёл на линукс… где совсем уж необходимо виртуальная винда… и уже 10 лет не знаю проблем вредоносного ПО.(500 компов в обслуживании)


      1. plutsik
        25.05.2017 16:24
        +5

        Если вы обратите внимание на КДПВ, то это как раз Linux-версия Wana. Правда, её пришлось специально собирать, но умельцы смогли запустить. Ведь это приложение попало в десятку самых распространённых Win-приложений, нельзя было упускать такой случай.


    1. basili4
      25.05.2017 16:32
      +1

      от шифровальщиков линь не спасет. Они одинаково хорошо работают везде.



  1. Deosis
    25.05.2017 11:52
    +3

    Если там срач — значит, живой юзер, можно разворачивать следующий слой.

    Напомнило комментарий в статье про песочницу


    1. MADDved
      26.05.2017 11:54

      На рабочем столе 3 ярлыка, значит я защищен?))


      1. dimm_ddr
        26.05.2017 12:12

        А они расположены упорядоченно или хаотично? Это важно!


        1. MADDved
          26.05.2017 12:18

          В столбик в левом углу) Думаю, это не тянет на хаотично.


          1. bugrazoid
            26.05.2017 16:05

            А мне так вообще нечего бояться, у меня иконки отключены :D


  1. Dmitry_4
    25.05.2017 13:36
    -1

    'Последнее (до опроса доменов) достижение человеческого разума — оценка хаотичности расположения иконок на рабочем столе. Если там срач — значит, живой юзер' аа, мне заражение не грозит)))


  1. madfer
    25.05.2017 16:18
    +1

    Мы сейчас уже перешли из режима дежурства «все в готовности» и сна на диванчиках по разным уголкам страны к режиму «не бухать на выходных». После него последует режим обычного дежурства.


    Уже… перешли на режим сверхурочного дежурства, так, чисто для профилактики


  1. ElectroGuard
    25.05.2017 17:06
    +6

    Линуксоиды часто говорят — что максимум, что можно испортить — это 'хомяк'. Фигня в том, что хомяк — как раз и есть самое ценное на машине. Операционку, конечно, тоже жалко, но она не идёт ни в какое сравнение с юзерскими данными, лежащими в 'хомяке'. К слову — от крипторов, линукс, увы, тоже не спасает.


    1. Aingis
      25.05.2017 18:50
      +12

      Rule 0xCD: There is xkcd of it:



      То же можно сказать и про малварь.


      1. StraightEdge
        30.05.2017 10:24

        Картинка похожа на подземелье в Diablo. С рейд-босом «Admin Account».


  1. robert_ayrapetyan
    25.05.2017 22:44

    Не очень понятно при чем тут письма с аттачами и инструктаж пользователей к wannacry — оно ж вроде само заползало, разве нет?


    1. Lailore
      25.05.2017 23:12

      Оно само заползает когда проникает через NAT в локальную сеть. За роутер(NAT) он сам попасть не может. Поэтому ему нужно стандартным способом заразить 1 машу в локальной сети, что бы заразить всю сеть.


      1. robert_ayrapetyan
        26.05.2017 01:59

        Т. е. торчащая в инет самба (даже на роутере) — это редкий кейс сам по себе?


        1. Lailore
          26.05.2017 03:23
          +2

          Ну да. Тем более в корпоративной сети


  1. dmitrye1
    26.05.2017 05:27

    Чем меньше виланы сегментов пользовательских ПК, тем лучше, но растет сложность администрирования. Компромисс — вилан формируется на базе только одного свича.
    Сервера размещаются в едином блоке IP адресов, ну или нескольких блоках.Никаких сервисов в пользовательских сегментах, печать через сервер.
    Все корпоративные приложения имеют архитектуру клиент-сервер, исключения составляет VoIP RTP (udp/16k-32k или даже udp/1k-64k).
    На выходе из пользовательского сегмента стоит фильтр: разрешить IP до серверов, ICMP, RTP, запретить IP на приватные адреса, разрешить все.
    Портфолио данной методики начинается с Чернобыля (Virus.Win9x.CIH) 1999г, то был ад. С той поры больше слушаешь про приключения других.


    1. plutsik
      26.05.2017 16:38

      На 99-й год да, это работало. Сейчас такое деление на мелкие виланы рождает уязвимость ошибочной миграции машин. Поэтому используются или системы на базе NGFW-решений, или же микросегментация. Последняя сложнее, поскольку вместо денег надо применять интеллект. Но один раз на конфигурировании среды, дальше всё это довольно просто поддерживается.


      1. dmitrye1
        26.05.2017 18:59

        NGFW умеет много чего, но вот быстро и дешево не может. Именно простого пакетного фильтра достаточно для реализации правила: «сетевые взаимодействия между пользовательскими ПК запрещены, ибо все есть клиент-сервер» при $150 за порт и 40Gb/s матрицы коммутации на свитч с 50ю интерфейсами. Если есть возможность повесить фильтр не на вилан, а на порт — вот и изолированные сегменты в 1 ПК за счет типового для всей корпоративной сети небольшого пакетного фильтра. После реализации ПК не может заразить другой ПК, расслабляться не надо, но там фатального ничего (типа Wannacry) не произойдет, сконцентрируйте интеллект и деньги(NGFW) на периметре, DMZ и серверах.

        Можно раскрыть тему «уязвимость ошибочной миграции машин»?


        1. plutsik
          30.05.2017 10:51

          вот здесь у ребят ситуация рассмотрена https://habrahabr.ru/company/croc/blog/328958/


    1. KorDen32
      26.05.2017 19:38

      У длинка кстати издавна есть Traffic Segmentation, запрещающий ходить пакетам между пользовательскими портами.


  1. some_x
    26.05.2017 08:20

    Не понял из статьи почему 66% на нашу страну пришлось?


    1. markmariner
      26.05.2017 11:01

      Потому что в Европе обновления ставят за месяц, а у нас — за два :-)


    1. milo1
      26.05.2017 11:57

      Так понял, что средний срок установки патчей от майкрософта у нас 2 месяца. Т.е. просто не успели в корпорациях установить.


  1. Oval
    26.05.2017 09:48

    если с трудом читаемый сайт был против динамического анализа корпоративных песочниц, то его бы наоборот зарегистрировали сначала


    1. Alexeyslav
      26.05.2017 10:46
      +3

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


      1. basili4
        26.05.2017 11:16

        можно усложнить ловлю в песочнице зарегать сайт положить файл readme с неким содержимым. И тогда пусть песочницы об возвращаются 200.


        1. Alexeyslav
          26.05.2017 13:11
          -1

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


          1. KorDen32
            26.05.2017 21:17

            А если запрашивать несколько доменов, дальше решать, анализируя все ответы — скажем, в зависимости от имени домена, его доступности, наличия спец.файла и кода в нем — и так четыре домена. Доступность сразу всех доменов, или только одного из всех — песочница.


            1. Alexeyslav
              27.05.2017 00:04

              Сложно, не нужно… слишком палевно в конце концов.


  1. taliano
    26.05.2017 11:58
    -3

    в одном из филиалов оператор открыл письмо

    Если админы в этой организации хоть что-то смыслят в ИБ, то зловред будет еще на излете заблокирован AppLocker`ом.


  1. x67
    26.05.2017 11:58

    матанализ

    А с этого момента подробнее. Очень интересно найти ту грань, где администрирование пересекается с тяжелой математикой (всегда считал, что тут огромная пропасть)


  1. mi888
    26.05.2017 14:09

    Дело в том, что с первых защитных песочниц зловреды пытаются определить режим гипервизора и реальность рабочей станции.


    Из чего следует что лучшее решение работать в «песочнице».


  1. jankovsky
    26.05.2017 16:26
    -3

    Прямо экшн такой. А на деле скорее всего студент какой-нибудь с cureit походил по компам да и все.


    1. mayorovp
      26.05.2017 16:29
      +2

      cureit не помогает от шифровальщиков


  1. teecat
    29.05.2017 11:43

    От статического анализа он защищён несколькими свертками сжатия-шифрования

    Wanna Cry, если мне память не изменяет, имеет 4 компонента. Если не сложно — кто из них упакован? Насколько я знаю, то про Wanna Cry как разговорилось, что как минимум первые версии не паковались, использовался только архив

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

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


  1. vviz
    30.05.2017 10:24

    Господа, лишите пользователя админовских прав и запретите через gpedit.msc (дополнительно) запуск кода везде, кроме:
    %ProgramFiles%
    %ProgramFiles(x86)%
    %WINDIR%

    И что сможет сделать код трояна при попытке его запуска?


    1. mayorovp
      30.05.2017 10:41
      +1

      Он сможет запуститься с системными привилегиями благодаря уязвимости класса RCE в системном процессе.


      1. grumbler66rus
        30.05.2017 22:00

        Вы не поняли. Вопрос был про момент первого проникновения внутрь периметра: пользователь открыл письмо с трояном и покликал на аттач.
        С одной стороны, vviz забыл про %windir%\temp
        С другой стороны, пользовательский %TEMP% и %TMP% указывают в профиль пользователя. Чтобы предотвратить случайный (тупой) запуск троянов и прочего шлака пользователем, достаточно запретить запуск из %TEMP%,%TMP%, Temporary internet files, Downloads и Загрузки, при этом добавить в список запрещённого *.js


        1. mayorovp
          31.05.2017 07:14

          Значит, трояну нужна будет для запуска уязвимость в уже установленной программе.


          1. grumbler66rus
            31.05.2017 07:53

            И опять вы не поняли.
            При наличии защищённого периметра, хотя бы файрвола на маршрутизаторе, у трояна нет возможности (дистанционного) выполнения кода до момента выполнения внутри периметра (на компьютере в локальной сети).
            Чтобы что-то (троян) запустить, нужно выполнить системный вызов с исполняемым файлом в параметре. Запрет запуска программ работает на этом этапе — если запуск запрещён, системный вызов не будет выполнен, троян не получит управление — останется просто файлом с данными.
            Речь о AppLocker или Software Restriction Policies.


            1. mayorovp
              31.05.2017 09:20
              +1

              Нет, на этот раз не поняли уже вы.


              Я говорил об уязвимостях, приводящих к выполнению произвольного кода при открытии файлов с данными.


              Вот недавно нашли: http://blog.checkpoint.com/2017/05/23/hacked-in-translation/


              1. grumbler66rus
                31.05.2017 10:04

                Действительно, не понял сразу.
                Тут работает вероятность.
                В таком векторе атаки я ещё понимаю смысл рассылать файл Microsoft Office или PDF. (И опасность уязвимости в Adobe PDF Reader плюс его требовательность к ресурсам давно подвигли меня рекомендовать клиентам альтернативные ридеры — Sumatra, Foxit и др.)
                Описанное по ссылке имеет очень маленький шанс к распространению, это применимо разве что для целенаправленной атаки как один из вариантов проникновения, и даже в таком сценарии маловероятно. Тот же VLC по умолчанию не скачивает субтитры.


        1. vviz
          31.05.2017 09:06

          Нет, я не забыл — я упоминать не стал, вроде как известная уже, набившая оскомину, вещь. При поднятии системы все %TEMP% %TMP% перенаправляю в c:\temp. И раз уж разбор по косточкам — необходимо разрешить запуск *.lnk
          И — Win с начало времен сильно «гадит» в «темп», и плохо прибирает за собой. «Темп» в рамдиск.