Безопасность №12, ноябрь 2019

Бесфайловое вредоносное программное обеспечение

Фото аватара
Редакция
Редакция

С течением времени авторы вредоносных программ становятся все более искусными и хитрыми, затрудняя обнаружение своего кода и предотвращение его действия. Одним из наиболее тревожных последних «достижений» стало появление «бесфайловых» вирусов. В этом случае существует весьма серьезная причина для беспокойства, поскольку такой тип атак может нанести более серьезный ущерб, а само вредоносное ПО может целыми неделями или месяцами находиться в ваших компьютерах и сетях до того момента, когда оно будет, наконец, нейтрализовано. Давайте поговорим о том, что собой представляет это вредоносное ПО, и лучше поймем его особенности с тем, чтобы попытаться вообще предотвратить его проникновение в наши сети.

С течением времени авторы вредоносных программ становятся все более искусными и хитрыми, затрудняя обнаружение своего кода и предотвращение его действия. Одним из наиболее тревожных последних «достижений» стало появление «бесфайловых» вирусов. В этом случае существует весьма серьезная причина для беспокойства, поскольку такой тип атак может нанести более серьезный ущерб, а само вредоносное ПО может целыми неделями или месяцами находиться в ваших компьютерах и сетях до того момента, когда оно будет, наконец, нейтрализовано. Давайте поговорим о том, что собой представляет это вредоносное ПО, и лучше поймем его особенности с тем, чтобы попытаться вообще предотвратить его проникновение в наши сети.

Обычно целью большинства вредоносных программ является внедрение в одной из конечных точек (сети, компьютера) чего-то «вещественного» – одного или нескольких файлов, которые содержат исполняемую программу, повреждающую ваш компьютер, превращающую его в часть ботнета или копирующую конфиденциальные данные и перемещающую их во внешнее хранилище. Со временем различные средства обнаружения научились лучше находить эти – как их называют – остаточные следы и блокировать их.

Однако борьба с вредоносным ПО напоминает игру в «кошки-мышки», и по мере того, как защита все лучше останавливает такие программы, их авторы совершенствуют способы ускользания от барьеров. В ранние годы развития Интернета большинство блокирующих процедур искали определенные сигнатуры либо в виде имени одной из программ, исполняющихся на вашем ПК, либо в виде конкретных паттернов поведения в рамках сети. Все эти опции работали до тех пор, пока авторы вредоносных программ не научились лучше скрывать свой характерный почерк.

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

Фактически название «бесфайловый» частично искажает смысл, поскольку такая программа все-таки кое-что после себя оставляет. Возможно, это не будет полный исполняемый файл или файл DLL, однако некоторый программный код все же используется для фактического выполнения ряда процессов, которые делают «грязную работу» вредоносной программы. Начиная с 2016 года исследователи отмечают возрастающие усилия авторов вредоносного ПО в этом направлении, и такие программы становятся все более популярными, поскольку подобный вирус может стать мощным средством заражения, которое нелегко найти или предотвратить1.

Типы бесфайловых атак

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

Первый тип атак получил название возвратно-ориентированного программирования, которое является наиболее популярным и может считаться «классической» версией. Такая вредоносная программа может исполнять стандартные DLL-файлы и другие последовательности кода, которые способны обеспечить несанкционированный доступ к незараженной системе. Подобный код может также входить в состав вашего веб-браузера или обычных инструментов операционной системы (ОС), например, приложений рабочего стола. Поскольку такой код уже присутствует в этих функциях операционной системы, не существует конкретного, фактически исполняемого «файла», который является уникальным для данной вредоносной программы. Вместо этого автор вредоносного ПО для достижения своей цели эксплуатирует существующие в ОС методы.

Для того чтобы реализовать такой тип атак, автор должен быть знаком с программным кодом, который планируется «захватить» в злонамеренных целях, и быть уверенным в том, что в целевой конечной точке исполняется конкретная версия кода для этой операционной системы. Незначительные изменения в версиях ОС, например, переход с Windows 7 на 7.1 или с MacOS 10.12.5 на 10.12.6, могут сорвать атаку, поскольку изменилась база кода. Либо если Microsoft или Apple (в особенности учитывая их популярность и установленную базу ПО) выпустят патч для исправления потенциальной уязвимости.

Атаки на базе скриптов являются вторым типом бесфайлового вредоносного ПО. Еще один метод, позволяющий избежать обнаружения, заключается в использовании встроенных в Windows механизмов выполнения скриптов, таких как Microsoft Office, Windows PowerShell или Microsoft HTML Application Host. Обычно такие атаки используют преимущества привязки к процессам и не оставляют никаких файловых следов в конечной точке. Если ваша система обнаружения не видит исполнение скрипта или не понимает аргументы командной строки, то вы не сможете без промедления определить наличие вредоносного ПО.

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

Скриптовые атаки набирают популярность в основном по причине того, что в типовом современном ПК имеется большое количество встроенного ПО, которое может выполнять то, что требуется вредоносной программе: получать доступ к общему сетевому диску, копировать части файлов, настраивать некий инструмент мониторинга и т.д. Зачем заново «изобретать колесо», если оно уже имеется в составе среднего настольного ПК или ноутбука?

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

За последние несколько лет поставщики решений в сфере безопасности начали брать на вооружение принцип полиморфизма и превратили его в защитный маневр. Идея заключается в том, чтобы создать видимость того, что целевой веб-сервер или другая единица сетевой инфраструктуры часто изменяются, затрудняя их идентификацию и заражение. Иногда такой метод называют защитой с помощью подвижной мишени, что может быть синонимом некоего аспекта защиты, который изменяет природу приложений или участков кода. В число этих поставщиков входят компании Morphisec, Shape Security и Polyverse – все они стартапы. Один из таких стартапов – CyActive – добился достаточного успеха, чтобы его купила компания PayPal. Полиморфные средства защиты могут ограничить период времени, в течение которого потенциальный злоумышленник способен вторгнуться в сеть, поскольку создается видимость того, что целевая система движется по сети или меняются ее свойства.

Исследователи рассматривают комбинации из всех трех видов атак и считают, что это сделает их еще более изощренными и трудными для отслеживания. В некоторых случаях авторы вредоносного ПО планируют сразу несколько типов атак с тем, чтобы гарантировать, что часть их кода избежит средств защиты и проникнет в вашу сеть. Как я уже упоминал ранее, все это напоминает игру в кошки-мышки.

Образцы бесфайлового вредоносного ПО

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

В 2014 году компания-ретейлер Target подверглась ставшему печально известным взлому. Оказалось, что вредоносное ПО попало в ее сеть с помощью очень простой стратегии: были раскрыты и скопированы реквизиты доступа в сеть одного из пользователей – в данном случае это оказался сотрудник поставщика систем отопления. Эта атака оказалась примечательна своей простотой и тем фактом, что топология сети Target была совершенно «плоской», без использования виртуальных локальных сетей (vLAN) или другой сегментации. Этот пример напоминает о том, что плохой дизайн сетевой инфраструктуры может сделать опасным любой вид вредоносного ПО – является ли оно бесфайловым или нет. Брайан Кребс (Brian Krebs) изучил обстоятельства и то, что пошло неправильно, написав об этой атаке в своём блоге2.

Как большинство из вас уже знает, в 2016 году был взломан Национальный комитет демократической партии США (DNC). В ходе атаки была задействована бесфайловая вредоносная программа, которая воспользовалась средствами PowerShell и Windows Management Instrumentation (WMI) для того, чтобы «получить плацдарм» в системах политической партии.

Инструментарий WMI обычно используется в каждодневных задачах управления, таких как развертывание скриптов автоматизации, выполнение процесса в определенное время либо получение информации об установленных приложениях или аппаратном обеспечении.

Вредоносное ПО, проникшее в системы DNC, также использовало (инструмент написания скриптов) PowerShell в качестве инсценировочного инструмента для выполнения других скриптов, обеспечивающих взлом системы. Эта вредоносная программа использовала WMI для установки бэкдоров (программных закладок), которые обеспечивали злоумышленникам длительный доступ за счет автоматического запуска вредоносного кода через определенный период функционирования системы либо по специальному графику. Опять же, вредоносное ПО использовало все эти тактики для того, чтобы избежать обнаружения3.

Рис. 1. Модули Poison Ivy.

Вредоносная программа August Stealer была обнаружена  в конце 2016 года и приписывается преступной группе TA530. Нацеленная на службы поддержки клиентов и персонал кол-центров, она использует зараженные макросы Word и скрипты PowerShell, доставленные через фишинговые электронные письма. Подобные электронные письма специально создаются так, чтобы выглядеть как запросы от пользователей по вопросам поддержки, и используют разнообразные темы, например, перечисленные ниже:

  • Ошибочные платежи от [домен получателя]
  • [домен получателя] Помогите: продукты исчезают из корзины до оформления и оплаты заказа
  • [домен получателя] Поддержка: продукты исчезают из корзины во время оформления заказа
  • Необходима помощь с заказом [домен получателя]
  • Двойная плата за продукт [домен получателя]

Вредоносная программа August Stealer содержит функции для кражи из зараженных компьютеров идентификационных данных, бумажников криптовалют и конфиденциальных документов4.

Обнаруженная в начале 2017 года вредоносная программа Duqu2 – это еще один хороший пример первых бесфайловых вредоносов. Эта программа была обнаружена в более чем 140 корпоративных сетях, принадлежащих банкам, государственным организациям, телекоммуникационным компаниям в 40 разных странах.

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

  • HKLM\SYSTEM\ControlSet001\services\ – путь меняется после использования утилиты SC
  • HKLM\SYSTEM\ControlSet001\services\PortProxy\v4tov4\tcp – путь меняется после использования утилиты NETSH

После того, как программа проникла на целевой жесткий диск, она запускается через вредоносный установщик Windows или файл MSI, который затем удаляет себя и переименовывает различные файлы для сокрытия своих действий. После того, как вредоносная программа будет установлена на ПК, она просто работает в памяти этого ПК.

«Вот почему ретроспективный анализ памяти критически важен для исследования вредоносного ПО и его функций. Фактически обнаружение такой атаки возможно только в памяти, сети и системном реестре Windows», – говорит один из участников группы исследователей Kaspersky Labs, который изучал действия вредоноса5. Очевидно, что работа в памяти означает, что вредоносная программа Duqu2 не переживет перезагрузки ПК – это один из недостатков многих бесфайловых продуктов.

Вредоносная программа Poison Ivy, также обнаруженная в начале 2017 года, является еще одним примером бесфайлового вредоносного ПО, она использовалась для заражения конкретной цели, в данном случае компьютеров, принадлежащих чиновникам монгольского правительства. Она имеет форму вредоносного макроса Microsoft Word. Если целевой ПК разрешает макросы –  что является типичным параметром настройки для большинства пользователей, – то программа запускается и создает соединение удаленного доступа для регистрации нажатия клавиш и записи экранов и видео с этого ПК. Все эти действия выполняются из располагающихся в памяти программ, которые пользуются возможностями определенных последовательностей команд PowerShell. На рис. 1 показаны различные модули этого вредоноса (с разрешения FireEye).

Poison Ivy также пытается избежать обнаружения системой защиты Microsoft AppLocker, вставляя ссылку на себя в список имеющих аккредитацию приложений AppLocker с помощью ряда программ и скриптов Windows. Кроме того, эта программа изготавливает копию отвлекающих документов для того, чтобы создать видимость безвредности своих действий для зараженного пользователя. Как видите, она отличается большой сложностью, а также включает несколько этапов и методов для проникновения в ПК пользователя. Этот вредонос также использовался в некоторых других случаях помимо монгольских организаций6.

Другие случаи целевого использования бесфайловых вредоносных программ, например, атака с помощью OilRig7, приписывалась злоумышленникам, спонсируемым иранским правительством. Эта атака была нацелена на 250 аккаунтов электронной почты, принадлежащих различным гражданам Израиля, включая, что весьма иронично, исследователей проблем кибербезопасности из Университета имени Бен-Гуриона. Хотя в апреле 2017 года компания Microsoft выпустила патч, который предотвращает распространение этой вредоносной программы, однако многие организации до сих пор его не установили. По иронии судьбы (опять) авторы этого вредоноса использовали данные из опубликованного концептуального исследования для разработки своих инструментов.

Эта конкретная вредоносная программа использовала зараженный документ Word, который отправлялся в качестве вложения в письмо и использовался для кражи информации с целевого ПК. Она использовала специализированную бесфайловую версию трояна Helminth Trojan. Более ранние версии OilRig использовали зараженные макросы, однако в ходе данной атаки была задействована вложенная веб-ссылка, использующая исполняемый файл .HTA. Такой тип файла автоматически исполняется входящей в состав ОС Windows программой MSHTA.EXE  (для HTML-приложений Microsoft). Обычно при исполнении этой программой файла .HTA отображается предупреждающее сообщение (см. рис 2).

Рис. 2. Это предупреждение о разрешении исполнения файла Windows на короткое время показывает пользователям, когда они щелкают зараженный файл.

Однако данный вредонос ожидает такую ситуацию и автоматически отправляет команду «Ввод». В результате окно с предупреждением быстро убирается и вредоносная программа продолжает свою работу. Другие подобные целевые атаки включают атаку, направленную на компьютеры американского ресторана с использованием вредоноса Fin78. В прошлом эта вредоносная программа атаковала банки и государственные финансовые документы. Подобно другим бесфайловым вредоносам, эта программа скрывается внутри документа Microsoft Word, который вложен в фишинговое электронное письмо. Одной из новых особенностей атаки на рестораны с помощью Fin7 стало то, что вредоносный код полностью располагался и исполнялся в памяти без использования каких-либо команд PowerShell.

Еще один метод обфускации получил название DoubleAgent. Он использует незадокументированную функцию Microsoft Application Verifier. Этот верификатор представляет собой код, который присутствовал в ОС со времен как минимум Windows XP, и является утилитой Windows, которая позволяет разработчикам проверять исполнение своих приложений с целью нахождения и устранения проблем с безопасностью.

К сожалению, данный верификатор имеет в своём составе незадокументированную функцию, которую обнаружили исследователи из компании Cybellum. Эта функция позволяет злоумышленникам заменить законный верификатор на поддельный и получить полный контроль над приложением. Представитель Cybellum отметил: «DoubleAgent дает возможность злоумышленнику контролировать AV (Application Verifier) и выполнять все вышеперечисленные операции без риска обнаружения, сохраняя при этом иллюзию того, что AV работает нормально»9.

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

В июле 2017 года была обнаружена новая бесфайловая вредоносная программа, названная oinMiner10, которая главным образом распространяется в Японии и Индонезии. Целью этого вредоноса является создание скрытого приложения по майнингу биткоинов, генерирующего криптовалюту для злоумышленника. Он использует WMI для продления своего существования после перезагрузки компьютера и исполняет набор скриптов. CoinMiner атакует ПК через эксплойт EternalBlue11, что совпадает с методом, использовавшимся червем WannaCry. На рис. 3 приведена схема его логического потока (с разрешения Trend Micro):

Рис. 3. Логический поток CoinMiner.

Общие методы по предотвращению опасности

Принимая во внимание масштабы этих эксплойтов, ниже мы перечислили несколько вариантов по предотвращению заражения в рамках вашей сети:

  • Необходимо устанавливать патчи быстро и на все системы. Компания Microsoft выпускает регулярные патчи для Windows, а разработчики других операционных систем делают это для своих ОС. Не откладывайте обновление, поскольку некоторые злоумышленники используют это для того, чтобы заразить непропатченные системы своим вредоносным ПО. Хорошим примером является эксплойт EternalBlue: патч, предотвращающий эту атаку, был доступен больше месяца, прежде чем данный эксплойт стали использовать злоумышленники.
  • Тщательно сегментируйте свою сеть, убедитесь в том, что вы понимаете права доступа, особенно те, которые предоставляются третьим лицам.
  • Ограничьте права администратора до минимального количества систем. Многие эксплойты на базе WMI полагаются на обильное использование прав администратора, которые не являются необходимыми.
  • Отключите не требующиеся вам программы Windows, например, WMI, PowerShell, а также поддержку старых протоколов, таких как Server Message Block (SMB) v1.
  • Создайте список аккредитованных приложений с тем, чтобы еще больше ограничить набор программ, разрешенных к исполнению в большинстве конечных точек

Заключение

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

Об авторе

Дэвид Стром ранее являлся одним из авторов журнала The Internet Protocol Journal, публикуя статьи на тему электронной почты; он ведет информационный бюллетень по безопасности для Inside. com. Он был одним из основателей и ответственных редакторов журнала Network Computing (USA), а также является соавтором вышедшей в 1998 году книги The Internet Message: Closing the Book with Electronic Mail (совместно с Marshall T. Rose).

Ссылки

  1. Ericka Chickowski, “Fileless Malware Takes 2016 By Storm”, DarkReading, December 2016
  2. “Target Hackers Broke in Via HVAC Company”, Krebs on Security blog, February 2014
  3. “DNC Hack Exhibits One of 3 Attack Trends To Watch for in 2017”, Crowdstrike blog, January 2017
  4. “August in November: New Information Stealer Hits the Scene”, Proofpoint, December 2016
  5. “Fileless attacks against enterprise networks”, Securelist, February 2017
  6. “Poison Ivy: Assessing Damage and Extracting Intelligence”, FireEye Special Report, 2014
  7. Michael Gorelik, “Iranian Fileless Attack Infiltrates Israeli Organizations”, Morphisec Cyber Security Blog, April 2017
  8. Michael Gorelik, “FIN7 Takes Another Bite at the Restaurant Industry”, Morphisec Cyber Security Blog, June 2017
  9. Michael Engstler, “DoubleAgent: Zero-Day Code Injection and Persistence Technique”, Cybellum blog, March 2017
  10. Buddy Tancio, “Cryptocurrency Miner Uses WMI and EternalBlue To Spread Filelessly,” TrendLabs Security Intelligence Blog, August 2017
  11. “EternalBlue,” Wikipedia article

Источник: The Internet Protocol Journal,  Volume 21, Number 2, http://ipj.dreamhosters.com/wp-content/uploads/2018/08/ ipj212.pdf