Злоумышленники твердо намерены применять для обхода средств защиты все более сложные методы. Использование бесфайловых вредоносных программ повышает незаметность и эффективность атаки. В прошлом году бесфайловые методы применялись в ходе двух крупномасштабных кампаний по распространению программ-вымогателей (Petya и WannaCry).



В основе бесфайловых атак лежит простая идея: если на устройстве уже имеются средства, способные выполнить задачи злоумышленника (например, PowerShell.exe или wmic.exe), то зачем размещать на нем специальные программы, которые могут быть распознаны как вредоносные? Если злоумышленник сможет перехватить управление процессом, запустить в пространстве памяти такого процесса свой код и использовать его для вызова средств, которые уже имеются на устройстве, обнаружить атаку будет сложнее.

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

Misfox: бесфайловая угроза для сетей


В апреле 2016 года в группу Microsoft по реагированию на инциденты обратился клиент по поводу кибервымогательства. Злоумышленники требовали от него значительную сумму за то, чтобы не публиковать конфиденциальную корпоративную информацию, похищенную со скомпрометированных компьютеров клиента. При этом они угрожали «раздавить» его сеть, если клиент обратится в правоохранительные органы. Ситуация была сложной.
Справка
Количество обнаружений Misfox средствами Windows Defender Antivirus в II квартале 2017 года по сравнению с I кварталом того же года выросло более чем в два раза.
Группа Microsoft по реагированию на инциденты исследовала компьютеры в сети, обнаружила целевые импланты и проанализировала степень компрометации. Клиент использовал известный сторонний антивирусный продукт, который был установлен на большинстве компьютеров. Несмотря на обновление с последними версиями сигнатур, антивирус не обнаружил ни один из целевых имплантов.

Также исследователи Microsoft узнали, что злоумышленники дважды пытались зашифровать файлы при помощи программы-вымогателя. К счастью, эти попытки не удались. Как выяснилось, угроза уничтожить сеть представляла собой «план Б» по извлечению прибыли из атаки на случай, если «план А» не сработает.

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

  • Первый из этих каналов включал бэкдор под названием Swrort.A, который был развернут на нескольких компьютерах. Этот бэкдор был легко обнаружен антивирусом.
  • Второй канал оказался гораздо более изысканным и интересным:
    • Он не заражал файлы на устройстве.
    • Он не оставлял артефактов на диске.
    • Его нельзя было обнаружить при помощи обычных способов проверки файлов.
Пора отключать PowerShell?
Нет. PowerShell — это мощный и безопасный инструмент, который важен для многих функций системы и ИТ-инфраструктуры. Используемые злоумышленниками вредоносные сценарии PowerShell являются последствием внедрения вредоносных программ и могут быть реализованы только после осуществления первичной компрометации. Злонамеренное использование PowerShell — симптом атаки, которая началась с других вредоносных действий, таких как использование уязвимостей программного обеспечения, применение методов социальной инженерии или хищение учетных данных. Поэтому нужно не дать злоумышленникам использовать PowerShell в своих целях. О том, как обеспечить такую защиту, читайте дальше.
Вторым инструментом оказалась бесфайловая вредоносная программа под названием Misfox. При выполнении в памяти Misfox делала следующее:

  • Создавала раздел реестра, который запускал однострочный командлет PowerShell.
  • Запускала замаскированный сценарий PowerShell, сохраненный в реестре BLOB-объектов. Этот замаскированный сценарий PowerShell содержал загрузчик переносимого исполняемого файла (PE), который загружал из реестра PE-файл, закодированный с помощью алгоритма Base64.

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

Бесфайловые методы


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

  1. Рефлексивное внедрение библиотек DLL
    Рефлексивное внедрение библиотек DLL позволяет загружать библиотеки DLL в память процесса без сохранения их на локальном диске. Вредоносная библиотека DLL может размещаться на удаленном компьютере, которым управляет злоумышленник, и доставляться через скомпрометированный сетевой канал (например, по протоколу TLS). Также она может внедряться в замаскированной форме, например, через макросы и сценарии. В результате злоумышленникам удается обойти средства мониторинга и отслеживания загрузки исполняемых модулей в операционной системе. Примером вредоносного ПО, использующего рефлексивное внедрение библиотек DLL, является HackTool:Win32/Mikatz!dha.
  2. Эксплойты в памяти
    Злоумышленники используют бесфайловые эксплойты в памяти для удаленного запуска произвольного кода на пораженных компьютерах. Например, угроза UIWIX использует эксплойт EternalBlue, который был задействован в Petya и WannaCry. По наблюдениям, он устанавливал бэкдор DoublePulsar, который полностью помещается в памяти ядра (таблица отправки SMB). В отличие от Petya и Wannacry, UIWIX не размещает файлов на диске.
  3. Методы на основе сценариев
    Языки сценариев предлагают эффективные средства для доставки полезной нагрузки, полностью исполняемой в памяти. Файлы сценариев могут внедрять зашифрованные шелл-коды или двоичные объекты, расшифровка которых возможна без записи на диск в процессе выполнения через объекты .NET или непосредственно при помощи API. Сами сценарии могут быть спрятаны в реестре (как в случае Misfox). Они могут считываться из сетевых потоков или запускаться злоумышленником вручную при помощи командной строки без обращения к диску.
  4. Сохранение в WMI
    В ряде наблюдавшихся случаев злоумышленники использовали репозиторий инструментария управления Windows (WMI) для сохранения вредоносных сценариев, которые затем периодически вызывались через привязки WMI. Развернутые примеры использования такой техники приведены в этой статье [PDF].

Способы защиты от бесфайловых вредоносных программ в Microsoft 365


Microsoft 365 включает набор технологий безопасности нового поколения для защиты устройств, приложений SaaS, электронной почты и инфраструктуры от широкого спектра атак. Ниже перечислены компоненты Microsoft 365, связанные с Windows, которые позволяют обнаруживать бесфайловые атаки и предотвращать заражение.
Совет
Наряду со специальными средствами защиты от бесфайловых атак Windows 10 включает и другие технологии безопасности нового поколения для противодействия атакам в целом. Например, Windows Defender Application Guard позволяет остановить загрузку и запуск вредоносных программ (как бесфайловых, так и иных) через Microsoft Edge и Internet Explorer. Подробнее о функциях безопасности и управления Microsoft 365, представленных в обновлении Windows 10 Fall Creators Update, вы можете прочитать здесь.

Windows Defender Antivirus


Windows Defender Antivirus (WDAV) блокирует подавляющее большинство вредоносных программ при помощи общих, эвристических и поведенческих методов обнаружения, используя как локальные, так и облачные модели машинного обучения. Windows Defender Antivirus обеспечивает защиту от вредоносного ПО за счет следующих возможностей:

  • Обнаружение атак, использующих сценарии, при помощи интерфейса противовредоносного сканирования AMSI, который позволяет проверять сценарии PowerShell и других типов даже при нескольких уровнях маскировки.
  • Обнаружение и удаление вредоносного ПО, пытающегося сохраняться через WMI, посредством сканирования репозитория WMI — как периодического, так и при регистрации аномального поведения.
  • Обнаружение рефлексивного внедрения библиотек DLL при помощи методов углубленной проверки памяти и мониторинга поведения.

Windows Defender Exploit Guard


Windows Defender Exploit Guard (WDEG) — это новый набор функций для защиты от вторжения на уровне хостов, который помогает уменьшить уязвимую зону, блокируя широкий спектр векторов атаки на устройство. Для остановки бесфайловых атак используются следующие способы:

  • Защита от эксплойтов ядра памяти, таких как EternalBlue, при помощи службы целостности кода гипервизора (HVCI), которая с высокой эффективностью препятствует внедрению вредоносного кода через уязвимости программного обеспечения, работающего в режиме ядра
  • Предотвращение эксплойтов памяти в режиме пользователя при помощи модуля защиты от эксплойтов, который включает ряд средств для предотвращения эксплойтов, применяемых на уровне операционной системы или на уровне отдельных приложений
  • Защита (в числе прочего) от различных бесфайловых атак, использующих сценарии, посредством правил уменьшения уязвимой зоны (ASR), которые блокируют определенное поведение приложений
Совет
В дополнение к техническим средствам контроля важен также эффективный административный контроль сотрудников и процессов. Чтобы использовать на удаленном компьютере бесфайловые техники с применением сценариев PowerShell и инструментария WMI, злоумышленнику необходим привилегированный доступ к такому компьютеру. Такой доступ можно получить, если применяются недостаточно безопасные методы администрирования (например, настройка выполнения службы Windows в контексте учетной записи администратора домена), которые позволяют похитить учетные данные. Подробнее об обеспечении безопасности привилегированного доступа читайте здесь.

Windows Defender Application Control


Windows Defender Application Control (WDAC) предлагает механизм для реализации строгих политик обеспечения целостности кода и разрешает выполнение только доверенных приложений. Для борьбы с бесфайловыми атаками этот компонент переводит PowerShell в режим ограниченного языка, который не дает использовать расширенные средства языка, способные запустить код, который невозможно проверить, — например, прямые сценарии .NET, вызов API Win32 через командлет Add-Type и взаимодействие с COM-объектами. Это эффективно предотвращает атаки с рефлексивным внедрением библиотек DLL через PowerShell.

Windows Defender Advanced Threat Protection


Служба Windows Defender Advanced Threat Protection (WDATP) — это интегрированная платформа средств защиты рабочих мест (Windows Endpoint Protection, EPP) и средств обнаружения атак на конечные точки и реагирования на эти атаки (Endpoint Detection and Response, EDR). Если безопасность системы уже нарушена, ATP оповещает пользователей компании об изощренных атаках повышенной сложности на устройства и корпоративные сети, которые не удалось предотвратить при помощи других профилактических средств защиты. Для обнаружения таких атак служба использует подробные данные из глобальных систем безопасности, расширенный анализ поведения и машинное обучение. Она позволяет обнаружить бесфайловые вредоносные программы несколькими способами:

  • Выявление при помощи специальных инструментов, которые регистрируют аномальное выделение памяти, скрытых атак, использующих такие бесфайловые методы, как рефлексивное внедрение библиотек DLL.
  • Обнаружение бесфайловых атак на основе сценариев при помощи интерфейса противовредоносного сканирования AMSI, который осуществляет проверку при выполнении PowerShell и других компонентов, использующих сценарии, и применение моделей машинного обучения.

Браузер Microsoft Edge


Согласно результатам независимого эксперта в сфере безопасности NSS Labs, браузер Microsoft Edge блокирует больше фишинговых сайтов и вредоносного ПО, использующего методы социальной инженерии, чем другие браузеры. Microsoft Edge противодействует бесфайловым атакам благодаря функциям защиты от произвольного кода, которые блокируют выполнение произвольного кода, включая вредоносные библиотеки DLL. Это помогает избежать атак с рефлексивным внедрением библиотек DLL. Кроме того, Microsoft Edge предоставляет широкий набор средств защиты от бесфайловых и иных угроз благодаря интеграции Windows Defender Application Guard и технологии Windows Defender SmartScreen.

Заид Арафех (Zaid Arafeh)
Старший менеджер программы, исследовательская группа Windows Defender
Первоисточник

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


  1. sergeymolchanovsky
    30.03.2018 12:10

    И все равно статья кончилась рекламой продуктов от мелкомягких.
    Хабр, ты скатился!


    1. 14th
      30.03.2018 13:31

      Так оно и было задумано.

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

      И еще: начиналось с операционной системы, а закончилось, почему-то, Офисом.


      1. jurok04
        30.03.2018 23:51

        Протер сонные глаза, но Офиса в статье так и не увидел. Где же этот суслик, которого не видно, но но есть?


      1. Andrey_Kalugin Автор
        02.04.2018 12:55

        Microsoft 365 <> Office
        Microsoft 365 = Office 365 + Windows 10 + EMS


  1. mickvav
    30.03.2018 14:02

    Что мешает антивирусам искать в реестре по сигнатурам?
    Какой процент обнаружения новых атак у windows defender?


    1. Andrey_Kalugin Автор
      30.03.2018 14:28

      Михаил, можно посмотреть свежую информацию здесь — cloudblogs.microsoft.com/microsoftsecure/2018/03/22/why-windows-defender-antivirus-is-the-most-deployed-in-the-enterprise


  1. teecat
    30.03.2018 15:28

    Что-то нагнетание какое-то

    В основе бесфайловых атак лежит простая идея: если на устройстве уже имеются средства, способные выполнить задачи злоумышленника (например, PowerShell.exe или wmic.exe),

    То есть скриптовые вредоносные программы, в том числе на языке JavaScript или JScript. Сложно ловить в силу изменчивости, но можно.
    И опять же если скрипт кто-то запускает, то это процесс. А процесс он откуда-то стартует. А значит при старте он ловится. Достаточно известная схема, когда в файле хранятся зашифрованные строки, которые извлекаются при старте

    При выключении питания информация в памяти не сохраняется, и, если файлы не записаны на диске,

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

    Второй канал оказался гораздо более изысканным и интересным:
    Он не оставлял артефактов на диске.
    Создавала раздел реестра, который запускал однострочный командлет PowerShell.

    То есть артефакт — изменение реестра, который контролируется поведенческим анализатором, который при доступе в реестр на запись проверит что нужно

    Злоумышленники используют разные бесфайловые методы, которые затрудняют обнаружение вредоносных имплантов. Среди них:
    Вредоносная библиотека DLL может размещаться на удаленном компьютере…

    Проверяется встроенным в клиентскую программу антивирусным модулем или на уровне проверки трафика

    Также она может внедряться в замаскированной форме, например, через макросы и сценарии.

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

    В результате злоумышленникам удается обойти средства мониторинга и отслеживания загрузки исполняемых модулей в операционной системе

    Бесфайловые вирусы известны очень давно. Вспомним хотя бы руткиты. Не новое явление, чтобы системы защиты их не видели. Кроме всего прочего есть периодическое сканирование запущенных процессов и контроль их целостности

    Злоумышленники используют бесфайловые эксплойты в памяти для удаленного запуска произвольного кода на пораженных компьютерах. Например, угроза UIWIX использует эксплойт EternalBlue, который был задействован в Petya и WannaCry.

    Контроль целостности процесса

    В ряде наблюдавшихся случаев злоумышленники использовали репозиторий инструментария управления Windows (WMI) для сохранения вредоносных сценариев

    Трендмайкро постоянно выпускает прессрелизы о нахождении таких вредоносных программ.


  1. yanus2face
    31.03.2018 01:54

    Ну, это в стиле мелкомягких… зачем править архитектуру системы, когда можно бесконечно изобретать костыли для правки каскада багов и уязвимостей, порождённых предыдущим поколением костылей. Заодно и новое поколение костыликов прорекламировали. Я такие комплексные заразы изводил ещё лет 5 назад. Очень мило, когда вирус уже прочно прописался в реестре и выкуривать его можно только с кусками системных файлов, которые он успел модифицировать. Ясен пень, зачем неподготовленному пользователю смотреть на эти «страшные» расширения файлов по дефолту, пущай он лучше кликает на всякую бяку, думая что там картинка с котиком.