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

По данным WIRED, сотни миллионов серверов, от технологических гигантов (таких как Google, Microsoft или Apple) до серверов компьютерных игр, таких как Minecraft, находятся под угрозой. Угрозе уже присвоен самый высокий уровень опасности, а некоторые страны даже вынуждены приостановить свои онлайн-сервисы.

Что такое уязвимость библиотеки Log4j?

  • Log4j2 — это платформа ведения журналов с открытым исходным кодом на основе Java, которую разработчики используют для записи активности программного обеспечения. (Обычно встраивается в веб-серверы Apache.)
  • 9 декабря 2021 года Log4j 2 обнаружил критическую уязвимость, которая позволяет запускать произвольный код. Уязвимости был предоставлен код CVE-2021-44228.
  • Суть уязвимости заключается в следующем: если каким-либо образом Log4J записывает строку с определенной командой в журнал событий программы, это позволит злоумышленнику удаленно запустить любой код на сервере, в том числе вредоносный.
  • И хотя Java сегодня не очень популярен среди пользователей, он по-прежнему широко используется в корпоративных системах и веб-приложениях.
  • Джен Истерли, глава Агентства кибербезопасности США (CISA), даже сказала, что уязвимость в log4j является одной из самых серьезных, если не самой серьезной, которую она видела за время своей работы. А это почти 20 лет.

Как злоумышленники его используют?

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

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

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

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

Кто под угрозой?

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

По данным WIRED, крупнейшие мировые технологические компании, в том числе Amazon Web Services, Microsoft, Cisco, Steam, Apple iCloud, Google Cloud и IBM, уже заявили, что по крайней мере некоторые из их сервисов оказались уязвимыми, и пытаются исправить проблемы и посоветовать клиентам, как лучше действовать.

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

Что делать?

Исследователи обнаружили, что все версии Java, выпущенные до 11 декабря, и Log4j версий от 2.0 до 2.14.1 были уязвимы. Согласно LunaSec, самый простой способ определить, уязвима ли удаленная конечная точка, — это приложение CanaryTokens.org, которое даже автоматически генерирует строку эксплойта и отправляет уведомление по электронной почте при запросе DNS.

Самым простым способом защиты Log4Shell является установка последней версии библиотеки Log4j, где описанная уязвимость уже нейтрализована. Apache даже выпустил очередной релиз библиотеки, он доступен по ссылке.