Получайте программное обеспечение в течение нескольких минут с момента размещения заказа! Автоматическая система работает круглосуточно 24/7
Получайте программное обеспечение в течение нескольких минут с момента размещения заказа! Автоматическая система работает круглосуточно 24/7
Как Trellix NSP защищает от уязвимости Follina

Как Trellix NSP защищает от уязвимости Follina

В конце мая 2022 года обнаружили уязвимость CVE-2022-30190 в средстве диагностики поддержки Microsoft (MSDT). 

follina_head

Предположительно, цель атаки - выполнение произвольного кода при вызове MSDT с использованием протокола URI. Протокол URI ms-msdt:/ также может быть вызван из поврежденного документа Word, который при открытии жертвой позволит выполнить вредоносный код на целевом устройстве. В ответ на обнаруженную уязвимость Microsoft выпустила рекомендации по отключению протокола MSDT URI. Впоследствии уязвимость была устранена. С тех пор было выявлено, что эта уязвимость используется несколькими государственными субъектами в кампаниях целевых атак .

Исследователи Trellix Network Security Platform (Trellix NSP) по предотвращению вторжений стремятся создать расширенные функции обнаружения, улучшая общие возможности продукта по выявлению угроз. В этой статье расскажем о нескольких расширенных функциях обнаружения в Trellix NSP, которые помогают защитить клиентов от подобных атак в будущем.

Документ MS Word, использующий уязвимость средства диагностики службы поддержки Microsoft (CVE-2022-30190), впервые был отправлен в VT 27 мая 2022 года из Беларуси с именем файла 05-2022-0438.doc . Число 0438 является телефонным кодом региона Фоллина в Италии и, следовательно, названием. Эксплойт-документ никак не связан с Италией.

1.jpg

Cвязывание и внедрение объектов (OLE) – это одна из основных функций, которую использовали в качестве начального вектора атаки, и CVE-2022-30190 не стала исключением. Это был еще один классический пример объединения OLE с другой логической ошибкой для выполнения произвольного кода на целевой машине. Традиционно связывание и встраивание объектов вносили значительный вклад в создание оснащенных офисных эксплойтов, и такая тенденция будет продолжаться. Как и в случае с предыдущей CVE-2021-40444 и многими другими эксплойтами, было обнаружено, что OLE используется для связывания документа с внешним объектом, в этой ситуации с html-файлом.
В спецификациях MS Office Open XML упоминается, что документ упрощает встраивание объектов или ссылки на внешние объекты, они указываются через объединение. Любой встроенный/взаимосвязанный объект, указанный в приложении-контейнере (документ OOXML), должен быть идентифицирован своей уникальной строкой ProgID. Согласно спецификациям, эта строка должна использоваться для определения типа и приложения, используемого для загрузки данных объекта. Выдержка из спецификаций документа показана ниже:

2.jpg

Как указано в спецификациях ISO-29500-4, ST_OLEType определяет тип объекта OLE в document.xml, а ProgID="htmlfile" указывает тип данных связанного объекта. Как показано в файле эксплойта CVE-2022-30190 ниже, document.xml.rels с атрибутом Type, указывающим связь «oleObject» c атрибутом Target, установленным на ссылку объекта OLE, и TargetMode, установленным как внешний. Это позволяет созданному документу связываться с внешне размещенным потенциально вредоносным объектом. Также он вызывает соответствующие обработчики протоколов для визуализации объекта, что может привести к использованию потенциальных логических недостатков в средствах визуализации объектов.

3.jpg

Как показано, файл document.xml.rels содержит внешнюю ссылку на вредоносный домен для получения html-файла:
"hxxps://www.xmlformats.com/office/word/2022/wordprocessingDrawing/ RDF842l.html! -

Размещенный html-файл на этом домене содержит блок скрипта с комментариями. Это необходимо для создания HTML-файла достаточного размера (точно больше 4 КБ), чтобы его можно было обработать и отобразить с помощью mshtml.dll.

4.jpg

Затем сценарий пытается вызвать пакет PCWDiagnostic, используя обработчик протокола MSDT URI с несколькими аргументами. Один из них — IT_BrowseForFile, который может принимать встроенный сценарий PowerShell внутри $( ) в качестве аргумента, что приводит к выполнению кода. Сценарий PowerShell закодирован в Base64, а декодированная форма сценария показана ниже.

5.jpg

Как мы видим в расшифрованной полезной нагрузке, скрипт предназначен для запуска вредоносного rgb.exe в целевой системе. Резюмируя последовательность действий, связанных с атакой, отметим:

  • Вредоносный документ MS Office со связанным объектом доставляется жертве, возможно, в рамках фишинговой кампании.
  • При нажатии на документ отображается вредоносный HTML-скрипт, что приводит к выполнению произвольного кода в уязвимой системе.

Система Windows регистрирует бесчисленное количество обработчиков протоколов URI, которые потенциально можно незаконно применять для создания подобных проблем. Например, обработчик протокола URI search-ms, используемый для запроса функции индексации поиска Windows, может быть использован хакерами для подключения к удаленному общему ресурсу SMB на сервере. Этот сервер контролируется злоумышленниками. Тем не менее, это не приводит непосредственно к выполнению кода, поскольку требует нескольких уровней взаимодействия с пользователем. Однако можно создать запрос, чтобы заставить пользователей выполнить законно смотревшиеся исполняемые файлы, как показано ниже.

6.jpg

Как Trellix NSP защищает от уязвимости Follina

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

Формат файла Microsoft Open Office XML (OOXML)

Формат файла OLE, который традиционно использовался в Microsoft Office, заменен на Office open xml. Office Open XML (OOXML) — это заархивированный формат файла на основе XML, разработанный Microsoft для представления электронных таблиц, диаграмм, презентаций и текстовых документов. Проще говоря, это означает, что весь документ содержится в zip-архиве. Несколько файлов и каталогов вместе образуют документ. Существуют такие каталоги, как [Content_Types].xml, _rels, docProps, они составляют основную часть всех офисных zip-пакетов, а также есть каталог, характерный для определенного типа документа (каталог word для docx, каталог xl и ppt для xlsx и pptx соответственно). Для каждого типа документа конкретный каталог будет содержать разные файлы, ограниченные типом. Как и в случае с типом docx, в каталоге word содержится файл document.xml, который сохраняет базовую информацию документа. Вот краткий обзор важных файлов в этих каталогах:

[Content_Types].xml

В этом файле представлена информация о типах MIME для содержимого пакета. Он применяет значения стандартно согласно расширениям файлов, переопределяет части, которые представлены международным идентификатором ресурса.

_rels 

В каталоге содержится информация о взаимосвязях файлов в пакете.

_rels/.rels 

Тут приложения сначала ищут связи между пакетами.

docProps/core.xml 

Файл сохраняет основные характеристики любого документа Office Open XML.

word/document.xml 

Этот файл - основная часть любого документа Word.

В соответствии со спецификацией формата Zip-файла, файл в ZIP-архиве хранится в структуре записи файла. Каждому файлу в zip-архиве соотносится запись этой структуры.

[заголовок локального файла 1]
[данные файла 1]
[дескриптор данных 1]
.
.
.

[локальный заголовок файла n]
[данные файла n]
[дескриптор данных n]

[заголовок расшифровки архива]
[запись дополнительных данных архива]
[заголовок 1 центрального каталога]
.
.
.

[заголовок центрального каталога n]
[конец записи центрального каталога zip64] [конец локатора центрального каталога zip64]
[конец записи центрального каталога]

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

Заголовок локального файла

Offset Byte Description
0 4 Подпись заголовка локального файла # 0x04034b50 (читается как число с прямым порядком байтов)
4 2 Версия, необходимая для извлечения (минимум)
6 2 Битовый флаг общего назначения
8 2 Метод сжатия
10 2 Время последней модификации файла
12 2 Дата последнего изменения файла
14 4 CRC-32
18 4 Сжатый размер
22 4 Несжатый размер
26 2 Длина имени файла (n)
28 2 Длина дополнительного поля (m)
30 n Имя файла
30+n m Дополнительное поле
0 4 Подпись заголовка локального файла # 0x04034b50 (читается как число с прямым порядком байтов)
4 2 Версия, необходимая для извлечения (минимум)
6 2 Битовый флаг общего назначения

Для документов Microsoft обычно используется сжатие deflate. Другими словами, составляющие документа, сохраняются в зашифрованном/сжатом формате в zip-пакете. На рисунке ниже приведен анализ этой структуры для файла document.xml, он находится в каталоге Word, с помощью шестнадцатеричного редактора (редактор 010) с возможностями анализа zip, который помогает исследовать детали

7.jpg

Необходимость глубокой проверки файлов

Пройденный опыт показывает, что различные уязвимости могут потребовать от устройств IPS проверки содержимого различных файлов, находящихся внутри zip-пакета. То же самое и с Фоллиной. Как объяснялось ранее, эта уязвимость неправильно использует функции связывания и внедрения объектов Microsoft OOXML, связывая файл с внешним ресурсом через специальный файл для загрузки вредоносного содержимого. Следовательно, требуется, чтобы устройство обнаружения проверяло внешние ссылки, используемые в файле word/rels/document.xml.rels.

8.jpg

Поскольку этот файл присутствует в виде сжатого объекта в zip-архиве, значимое обнаружение с помощью IPS невозможно, пока файл не будет распакован. Это стало возможным благодаря уникальной в отрасли возможности NSP, известной как глубокая проверка файлов.

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

9.jpg

Некоторые из ключевых моментов: глубокая проверка файлов

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

Идентификатор атаки Trellix NSP 0x452a8400 — HTTP: в файле OOXML обнаруживается связывание объектов OLE. Дальше используется функция глубокой проверки файлов Microsoft Office для обнаружения признаков связывания внешних объектов. Однако простой проверки внешних ссылок OLE будет недостаточно, пока не будет установлено, что внешний URI выполняет вредоносную деятельность. Поскольку уже известно, что внешний URI загружает HTML, который злонамеренно вызывает обработчик MSDT.
Вызов MSDT через содержимое HTML обнаруживается с помощью идентификатора атаки Trellix NSP 0x452ac200 — HTTP: уязвимость средства диагностики службы поддержки Microsoft, связанная с удаленным выполнением кода (CVE-2022-30190)

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

Визуализация атаки лучше, когда точки могут быть связаны между различными этапами атаки. Возможность корреляции идентификаторов нескольких атак помогает достичь этого путем корреляции нескольких атак.
Идентификатор атаки Trellix NSP 0x43f02000 HTTP: Уязвимость RCE средства диагностики службы поддержки Microsoft (CVE-2022-30190) использует эту возможность и коррелирует «HTTP: Ссылка на объект OLE, обнаруженная в файле OOXML (0x452a8400)» и «HTTP: Удаленное выполнение кода инструмента диагностики службы поддержки Microsoft Уязвимость (CVE-2022-30190) (0x452ac200)» для создания связанного события атаки.

Оповещение, созданное с помощью корреляции Multi AID, имеет высокую достоверность, и помогает администраторам безопасности предпринять дальнейшие действия. Эта функция встроена в Trellix NSP по умолчанию, и для ее включения не требуется дополнительная настройка.
Некоторые из ключевых моментов: корреляция идентификаторов множественных атак.

  • Две или более атак могут быть связаны
  • Предоставляет возможность помещать злоумышленника в карантин (настраивается в политике)
  • Корреляция с использованием таких атрибутов, как –
    1. IP-адрес источника/IP-адрес назначения: этот атрибут помогает сопоставить атаки, исходящие с одного и того же IP-адреса источника и/или направленные на один и тот же IP-адрес назначения.
    2. Срок службы: максимальный интервал времени, в течение которого должны произойти все событие подписи корреляции.
    3. Порог: Обнаружение атаки, которая повторяется определенное время.

Благодаря этим мощным возможностям корреляции для полного цикла атаки решение Threat Detection Trellix Network Security Platform хорошо сочетает эффективность и производительность. Исследовательская и инженерная группа Trellix NSP активно отслеживает новые модели угроз, создает функции и возможности для повышения общей эффективности обнаружения системы предотвращения вторжений.

Заключение

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