Log4Shell: 4 вывода для разработчиков в 2022 году

Log4Shell 4 вывода для разработчиков в 2022 году Изучение

В декабре 2021 года произошла массовая волна кибератак, направленных против частных лиц, крупных организаций и правительств. Многие разработчики работали допоздна, чтобы устранить острую угрозу. Для многих работа не сделана. Злоумышленники использовали возможности для эксплуатации уязвимостей, обнаруженных в Log4j, широко используемом инструменте ведения журналов. Log4Shell относится к первой из трех уязвимостей Log4j, обнаруженных в этом месяце. В то время как последовали две другие уязвимости, Log4Shell оказалась самой серьезной.

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

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

Log4j и уязвимость Log4Shell

Что такое Log4j?

Apache Log4j — это среда ведения журналов Java. Он поддерживается Apache Software Foundation, кооперативом с открытым исходным кодом, поддерживающим несколько технологий, включая Hadoop. Фреймворки ведения журналов, такие как Log4j, помогают стандартизировать процессы ведения журналов. Ведение журнала — это документирование событий, ошибок и сообщений в запущенных приложениях и операционных системах. Инструменты ведения журнала, такие как Log4j, могут быть развернуты в различных службах и компонентах системы и помогают отслеживать системы и диагностировать сбои.

Библиотека журналов Log4j используется множеством приложений и служб. Многие крупные организации используют Log4j в своих системах, включая Cloudflare, Minecraft, AWS, Microsoft, Cisco и VMWare. Повсеместная природа библиотеки Log4j является причиной того, что уязвимости Log4j оказали такое разрушительное воздействие.

Что такое Log4Shell?

Log4Shell: первая из трех уязвимостей Log4j

Log4Shell относится к первой уязвимости Log4j, обнаруженной в декабре 2021 года. За ней последовали еще две уязвимости Log4j, но Log4Shell была самой серьезной. Она считается критической уязвимостью и занимает 10 из 10 баллов в Системе оценки общих уязвимостей (CVSS).

Читайте также:  Как блокчейн улучшает управление цепочками поставок

График трех уязвимостей Log4j, обнаруженных в декабре 2021 года, выглядит следующим образом:

  • 9 декабря 2021 г.: Log4Shell, анонсирована первая уязвимость Log4j (CVE-2021-44228).
    • Включает удаленное выполнение кода (RCE)
    • Атаки используют функцию подстановки поиска сообщений
  • 14 декабря 2021 г.: обнаружена вторая уязвимость Log4j (CVE 2021-45046).
    • Позволяет атаковать отказ в обслуживании (DoS)
    • Атаки используют небезопасные поисковые запросы Java Naming and Directory Interface (JNDI) из-за ошибки в первом патче Log4Shell.
  • 17 декабря 2021 г.: обнаружена третья уязвимость Log4j (CVE-2021-45105).
    • Включает DoS-атаки
    • Результат бесконечной ошибки рекурсии
    • Использует поиск в контекстной карте

Объявлена ​​уязвимость нулевого дня

Эксплойт Log4Shell был публично опубликован с помощью POC (proof-of-concept) 9 декабря 2021 года в Twitter и GitHub. Как уязвимость нулевого дня, атаки начались в день объявления. Это коснулось всех версий Log4j от 2.0-beta9 до 2.15.0. Попытки эксплуатации начались быстро и в больших объемах, потому что использовать эксплойт Log4Shell было относительно легко. Патча, напротив, не было.

Смягчение

К моменту объявления Apache выпустил патч, но повсеместный характер Log4j делает исправление утомительным процессом. Команды ИТ-безопасности должны идентифицировать каждый компонент в своей системе, на котором работает Log4j, и развертывать исправление для каждой отдельной службы. Это трудоемкий процесс, и у злоумышленников остается много времени для использования уязвимых систем, подключенных к Интернету. Системы, которые не были полностью пропатчены, еще сильнее пострадали от двух последующих уязвимостей.

Удаленное выполнение кода

Log4Shell — это уязвимость, связанная с удаленным выполнением кода (RCE). RCE позволяет злоумышленникам выполнять произвольный код в любой пораженной системе, регистрируя вредоносную строку. Это позволило оппортунистическим злоумышленникам удаленно захватить контроль над целыми серверами. Атаки имели различные формы: от кражи данных до вредоносных программ, таких как вредоносные программы и программы-вымогатели. Эксплойт Log4Shell использует функцию «подстановки сообщений» Log4j. Злоумышленники использовали эту функцию для вставки вредоносных URL-адресов через поиск JNDI через удаленные службы, такие как LDAP, RMI и DNS.

Log4Shell: 4 вывода для разработчиков в 2022 году

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

Угрозы кибербезопасности никуда не денутся. Скорее, такие события, как Log4Shell, говорят о развивающейся природе кибератак во все более взаимосвязанном мире. Больше взаимосвязанных компонентов постоянно находятся в сети, чем когда-либо прежде, что дает злоумышленникам возможность атаковать все больше и больше. Как и в случае с Log4j, ставки выше, когда во взаимосвязанной системе есть одна уязвимость. Правильная ошибка в одном компоненте может открыть дверь для оппортунистических хакеров, чтобы получить больше отдачи от своих попыток эксплуатации.

2. Масштабируемые системы могут быть разработаны, чтобы помочь оптимизировать смягчение последствий.

Ошибки неизбежны. Когда они обнаруживаются, самое сложное — это определить, где исправить и как это сделать в масштабе. Чем больше взаимосвязанных распределенных систем, тем труднее этот процесс.

Очень важно, чтобы команды могли комплексно оценить масштабируемость своих распределенных систем. И зависимости, и процессы развертывания должны быть масштабируемыми. Одна из лучших вещей, которые команды могут сделать для подготовки к неизбежной ошибке, — это внедрить методы DevOps, такие как конвейеры CI / CD, в свой цикл разработки программного обеспечения.

3. Спрос на междисциплинарных инженеров будет только расти.

Распределенные системы — это настоящее и будущее программной инженерии. Ожидается, что для того, чтобы идти в ногу с развивающимися угрозами в сложных системах, инженеры-программисты будут обладать более широкими междисциплинарными навыками, чем раньше. Будет возрастать спрос на разработчиков, специализирующихся на DevOps, для поддержки ИТ-безопасности и поддержки потенциальных клиентов. Инженеры DevOps должны будут уметь писать подключенные компоненты, которые эффективно обслуживают несколько платформ. Чтобы идти в ногу с развивающимися угрозами, организациям будет расти потребность в специалистах по ИТ-безопасности, таких как исследователи в области безопасности и аналитики по анализу угроз.

4. Обратная связь и сотрудничество — ключ к успеху.

Log4Shell мог быть хуже, чем был. К тому времени, когда общественность узнала об этом, Apache уже выпустил патч. Это стало возможным, потому что команда Apache была предупреждена о Log4Shell за 15 дней до того, как публика объявила об этом. Команда инженеров Alibaba Cloud обнаружила и сообщила об ошибке Apache 24 ноября 2021 года. Благодаря этому заблаговременному уведомлению разработчики Apache могли действовать быстро, чтобы упростить последующие меры по устранению последствий.

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

Оцените статью
bestprogrammer.ru
Добавить комментарий