Узнайте, как управлять уязвимостью 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 Defender помогут обнаруживать устройства, подверженные уязвимости Log4Shell.
Подключенные устройства оцениваются с помощью существующих встроенных возможностей управления уязвимостями Defender, которые могут обнаруживать уязвимое программное обеспечение и файлы.
Для обнаружения на обнаруженных, но еще не подключенных устройствах необходимо включить обнаружение Log4j. Это инициирует пробы так же, как обнаружение устройств активно пробует вашу сеть. Проверка включает несколько подключенных конечных точек (устройства с Windows 10+ и Windows Server 2019+) и только в подсетях для обнаружения уязвимых и удаленных устройств CVE-2021-44228.
Чтобы включить обнаружение log4, выполните приведенные далее действия.
Перейдите в раздел Параметры>Настройка обнаружения>устройств Обнаружение устройств.
Выберите Включить обнаружение Log4j2 (CVE-2021-44228).
Выберите Сохранить.
Выполнение этих проб активирует стандартный поток 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-
В этой таблице описаны возможности поиска поддерживаемых платформ и версий:
Возможность | Тип файла | Windows 10+ 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
На портале Microsoft Defender перейдите в разделСлабые места управления >уязвимостями.
Выберите CVE-2021-44228.
Выберите Открыть страницу уязвимости.
Устранение уязвимостей Log4Shell
Уязвимость log4Shell можно устранить, запретив поиск JNDI в Log4j версий 2.10–2.14.1 с конфигурациями по умолчанию. Чтобы создать это действие по устранению рисков, на панели мониторинга осведомленности об угрозах выполните следующие действия.
Выберите Просмотреть сведения об уязвимостях.
Выберите Варианты устранения рисков.
Вы можете применить меры по устранению рисков ко всем открытым устройствам или выбрать определенные подключенные устройства. Чтобы завершить процесс и применить меры по устранению рисков на устройствах, выберите Создать действие по устранению рисков.
Состояние устранения рисков
Состояние устранения рисков указывает, применялся ли обходной путь для отключения подстановок 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:
Откройте окно PowerShell с повышенными правами.
Выполните следующую команду:
[Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)
Изменение вступит в силу после перезапуска устройства.
Для Linux:
Откройте файл /etc/environment и удалите строку LOG4J_FORMAT_MSG_NO_LOOKUPS=true.
Удалите файл /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
Удалите файл /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 , вы увидите еще один всплывающий элемент с дополнительными сведениями:
Выберите Запросить исправление , чтобы создать запрос на исправление.
Изучение уязвимости на портале Microsoft Defender
После обнаружения доступных устройств, файлов и программного обеспечения соответствующая информация передается через следующие возможности на портале Microsoft Defender:
Инвентаризация программного обеспечения
На странице инвентаризации программного обеспечения найдите CVE-2021-44228 , чтобы просмотреть сведения об установке и экспозиции программного обеспечения Log4j:
Слабые стороны
На странице "Слабые места" найдите CVE-2021-44228 , чтобы просмотреть сведения об уязвимости Log4Shell:
Использование расширенной охоты
Вы можете использовать следующий расширенный запрос охоты для выявления уязвимостей в установленном программном обеспечении на устройствах:
DeviceTvmSoftwareVulnerabilities
| where CveId in ("CVE-2021-44228", "CVE-2021-45046")
Для выявления уязвимостей в установленном программном обеспечении на устройствах можно использовать следующий расширенный запрос охоты, чтобы выявить результаты на уровне файла с диска:
DeviceTvmSoftwareEvidenceBeta
| mv-expand DiskPaths
| where DiskPaths contains "log4j"
| project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths