Узнайте, как управлять уязвимостью Log4Shell в Microsoft Defender для конечной точки

Область применения:

Уязвимость Log4Shell — это уязвимость удаленного выполнения кода (RCE), обнаруженная в библиотеке ведения журнала Apache Log4j 2. Так как Apache Log4j 2 часто используется многими программными приложениями и веб-службы, он представляет собой сложную ситуацию с высоким риском для компаний по всему миру. Он называется Log4Shell (CVE-2021-44228, CVE-2021-45046), он представляет новый вектор атаки, который злоумышленники могут использовать для извлечения данных и развертывания программ-шантажистов в организации.

Примечание.

Рекомендации по предотвращению, обнаружению и охоте на использование уязвимости Log4j 2 иМайкрософт Центра реагирования на безопасность см. в блогах, чтобы получить рекомендации и технические сведения об уязвимостях и рекомендациях по устранению уязвимостей и конкретных продуктов для защиты вашей организации.

Обзор возможностей обнаружения, мониторинга и устранения рисков

Управление уязвимостями Defender предоставляет следующие возможности, помогающие выявлять, отслеживать и устранять уязвимость Log4Shell в вашей организации:

  • Обнаружение. Обнаружение открытых устройств, как Microsoft Defender для конечной точки подключенных устройств, так и устройств, которые были обнаружены, но еще не подключены, основано на уязвимом программном обеспечении и уязвимых файлах, обнаруженных на диске.
  • Осведомленность об угрозах: Консолидированное представление для оценки уязвимости организации. В этом представлении отображаются сведения об уязвимости на уровне устройства и программного обеспечения, а также предоставляется доступ к сведениям об уязвимых файлах, например, в последний раз, когда они были замечены, в последний раз и в последний раз, когда они выполнялись с открытыми портами. Эти сведения можно использовать для определения приоритетов действий по исправлению. Для отображения на панели мониторинга данных, связанных с предоставленными устройствами, может потребоваться до 24 часов.
  • Варианты устранения рисков: Применяйте варианты устранения рисков, чтобы снизить риск воздействия.
  • Расширенная охота: Используйте расширенный поиск для возврата сведений об уязвимых файлах log4j, обнаруженных на диске.

Примечание.

Эти возможности поддерживаются в Windows 10 & Windows 11, Windows Server, Linux и macOS.

Для поддержки Linux требуется Microsoft Defender для конечной точки клиента Linux версии 101.52.57 (30.121092.15257.0) или более поздней.

Для поддержки в macOS требуется Microsoft Defender для конечной точки клиента macOS версии 20.12111.15416.0 или более поздней.

Дополнительные сведения о поддерживаемых версиях см. в разделе Поддерживаемые платформы и возможности операционных систем.

Обнаружение открытых устройств

Встроенные возможности управления уязвимостями Defender, а также включение обнаружения Log4j на портале Microsoft 365 Defender помогут обнаруживать устройства, подверженные уязвимости Log4Shell.

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

Для обнаружения на обнаруженных, но еще не подключенных устройствах необходимо включить обнаружение Log4j. Это инициирует пробы так же, как обнаружение устройств активно пробует вашу сеть. Сюда входит проверка из нескольких подключенных конечных точек (устройств Windows 10+ и Windows Server 2019+) и только проверка в подсетях для обнаружения устройств, которые уязвимы и удаленно подвержены риску CVE-2021-44228.

Чтобы включить обнаружение log4, выполните приведенные далее действия.

  1. Перейдите в раздел Параметры>Настройка обнаружения>устройств Обнаружение устройств.
  2. Выберите Включить обнаружение Log4j2 (CVE-2021-44228).
  3. Нажмите Сохранить.

Снимок экрана: параметр для включения обнаружения log4j2.

Выполнение этих проб активирует стандартный поток Log4j без каких-либо вредных последствий для зондируемого устройства или зонда. Само изучение выполняется путем отправки нескольких HTTP-запросов на обнаруженные устройства, предназначенных для общих портов веб-приложений (например, 80 8000 8080 443 8443) и URL-адресов. Запрос содержит http-заголовки с полезными данными JNDI, которые активируют DNS-запрос от пробуемого компьютера.

Например, User-Agent: ${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent}, где 192.168.1.3 — это IP-адрес компьютера для проверки.

Примечание.

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

Обнаружение уязвимого программного обеспечения и файлов

Управление уязвимостями Defender предоставляет уровни обнаружения, помогающие обнаружить:

  • Уязвимое программное обеспечение. Обнаружение основано на установленных приложениях Common Platform Enumerations (CPE), которые, как известно, уязвимы для удаленного выполнения кода Log4j.

  • Уязвимые файлы: Оцениваются файлы в памяти и файлы в файловой системе. Эти файлы могут быть JAR-файлами Log4j-core с известной уязвимой версией или Uber-JAR, содержащим уязвимый класс поиска jndi или уязвимый файл log4j-core. В частности, это:

    • определяет, содержит ли JAR-файл уязвимый файл Log4j, изучив JAR-файлы и выполнив поиск следующего файла: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties. Если этот файл существует, версия Log4j считывается и извлекается.
    • выполняет поиск файла JndiLookup.class внутри JAR-файла путем поиска путей, содержащих строку "/log4j/core/lookup/JndiLookup.class". Если файл JndiLookup.class существует, управление уязвимостями Defender определяет, содержит ли этот JAR-файл Log4j с версией, определенной в pom.properties.
    • выполняет поиск всех уязвимых JAR-файлов Log4j-core, внедренных во вложенный JAR-файл, путем поиска путей, содержащих любую из следующих строк:
      • lib/log4j-core-
      • WEB-INF/lib/log4j-core-
      • App-INF/lib/log4j-core-

В этой таблице описаны возможности поиска, поддерживаемые платформами и версиями:

Возможность Тип файла Windows10+,
server2019+
Server 2012R2,
server2016
Server 2008R2 Linux + macOS
Поиск в памяти Log4j-core Да Да[1] - Да
Uber-JARs Да Да[1] - Да
Поиск по всем файлам на диске Log4j-core Да Да[1] Да -
Uber-JARs Да Да[1] - -

(1) Возможности доступны при установке KB5005292 на Windows Server 2012 R2 и 2016.

Узнайте о возможностях по устранению рисков в Log4Shell.

  1. На портале Microsoft 365 Defender перейдите в разделСлабые места управления >уязвимостями.
  2. Выберите CVE-2021-44228.
  3. Выберите Открыть страницу уязвимости.

Снимок экрана: страница уязвимостей на панели мониторинга управления уязвимостями.

Устранение уязвимостей Log4Shell

Уязвимость log4Shell можно устранить, предотвратив поиск JNDI в Log4j версий 2.10–2.14.1 с конфигурациями по умолчанию. Чтобы создать это действие по устранению рисков, на панели мониторинга осведомленности об угрозах выполните следующие действия.

  1. Выберите Просмотреть сведения об уязвимостях.
  2. Выберите Варианты устранения рисков.

Вы можете применить меры по устранению рисков ко всем открытым устройствам или выбрать определенные подключенные устройства. Чтобы завершить процесс и применить меры по устранению рисков на устройствах, выберите Создать действие по устранению рисков.

Снимок экрана: параметры устранения рисков для CVE-2021-44228.

Состояние устранения рисков

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

Снимок экрана: возможные состояния устранения рисков.

В приведенной ниже таблице перечислены возможные состояния устранения рисков.

Состояние устранения рисков Описание
Применено обходное решение Windows: переменная среды LOG4J_FORMAT_MSG_NO_LOOKUPS наблюдалась до последней перезагрузки устройства.

Linux + macOS: все выполняемые процессы имеют LOG4J_FORMAT_MSG_NO_LOOKUPS=true в переменных среды.
Временное решение в ожидании перезагрузки Переменная среды LOG4J_FORMAT_MSG_NO_LOOKUPS задана, но после перезагрузки не обнаружено.
Не применяется Windows: переменная среды LOG4J_FORMAT_MSG_NO_LOOKUPS не наблюдалась.

Linux + macOS: не все выполняемые процессы имеют LOG4J_FORMAT_MSG_NO_LOOKUPS=true в переменных среды, и действие по устранению рисков не было применено на устройстве.
Частично устранено Linux + macOS. Хотя действие по устранению рисков было применено на устройстве, не все выполняемые процессы имеют LOG4J_FORMAT_MSG_NO_LOOKUPS=true в переменных среды.
Неприменимо Устройства с уязвимыми файлами, которые не входят в диапазон версий защиты.
Unknown На данный момент не удалось определить состояние устранения рисков.

Примечание.

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

Отмена мер, применяемых для уязвимости Log4Shell

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

Для Windows:

  1. Откройте окно PowerShell с повышенными правами.
  2. Выполните следующую команду:
  [Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)

Изменение вступит в силу после перезапуска устройства.

Для Linux:

  1. Откройте файл /etc/environment и удалите строку LOG4J_FORMAT_MSG_NO_LOOKUPS=true.
  2. Удалите файл /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
  3. Удалите файл /etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf

Изменение вступит в силу после перезапуска устройства.

Для macOS:

Удалите файл setenv. LOG4J_FORMAT_MSG_NO_LOOKUPS.plist из следующих папок:

  • /Library/LaunchDaemons/
  • /Library/LaunchAgents/
  • /Users/[username]/Library/LaunchAgents/ — для всех пользователей

Изменение вступит в силу после перезапуска устройства.

Рекомендации по безопасности Apache Log4j

Чтобы просмотреть активные рекомендации по безопасности, связанные с Apache log4j, перейдите на вкладку Рекомендации по безопасности на странице сведений об уязвимостях. В этом примере, если вы выберете Обновить Apache Log4j , вы увидите еще один всплывающий элемент с дополнительными сведениями:

Снимок экрана: рекомендация по безопасности apache log4j по обновлению.

Выберите Запросить исправление , чтобы создать запрос на исправление.

Изучение уязвимости на портале Microsoft 365 Defender

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

Инвентаризация программного обеспечения

На странице инвентаризации программного обеспечения найдите CVE-2021-44228 , чтобы просмотреть сведения об установке и экспозиции программного обеспечения Log4j:

Снимок экрана: уязвимость log4j на странице инвентаризации программного обеспечения.

Слабые стороны

На странице "Слабые места" найдите CVE-2021-44228 , чтобы просмотреть сведения об уязвимости Log4Shell:

Снимок экрана: уязвимость log4j на странице слабых мест.

Использование расширенной охоты

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

   DeviceTvmSoftwareVulnerabilities
   | where CveId in ("CVE-2021-44228", "CVE-2021-45046")

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

   DeviceTvmSoftwareEvidenceBeta
   | mv-expand DiskPaths
   | where DiskPaths contains "log4j"
   | project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths