Як сканувати та виправити вразливість Log4j?

Уразливість Log4j є однією з найнебезпечніших проблем безпеки сучасних систем.

Ведення журналів є ключовою функцією сучасних програм, а бібліотека журналювання Log4j є лідером у цьому просторі.

Ця бібліотека використовується в більшості програм, служб і систем. Таким чином, усі програми, де використовується Log4j, уражені цією уразливістю Log4j, виявленою минулого року.

Зважаючи на зростання занепокоєння кібербезпекою в усьому світі, організації та окремі особи вживають заходів для захисту своїх програм, систем і даних.

І коли цю вразливість було виявлено, це ще більше напружило спеціалістів і компанії.

Отже, виявлення вразливості Log4j і її усунення є важливими, якщо ви хочете захистити свої дані, мережу, репутацію та довіру клієнтів.

У цій статті я обговорю, що таке вразливість Log4j, а також кроки для її виявлення та усунення.

Давайте почнемо з розуміння Log4j і для чого він вам потрібен.

Що таке Log4j?

Log4j це утиліта для реєстрації з відкритим вихідним кодом, написана мовою Java, яка в основному використовується для зберігання, форматування та публікації записів журналу, створених програмами та системами, а потім для перевірки на наявність помилок. Записи можуть бути різних типів, від веб-сторінки та даних браузера до технічних деталей системи, де працює Log4j.

Замість того, щоб писати код з нуля, розробники можуть використовувати бібліотеку Log4j, інтегрувавши її код у свої програми.

Використовуючи Log4j, розробники можуть відстежувати всі події, пов’язані з їхніми програмами, з точною інформацією журналу. Це допомагає їм контролювати додатки, вчасно виявляти проблеми та виправляти проблеми, перш ніж вони можуть перетворитися на більшу проблему з точки зору продуктивності та/або безпеки.

Ця бібліотека на основі Java була написана Ceki Gülcü і була випущена в 2001 році під ліцензією Apache 2.0. Він використовує служби іменування Java та інтерфейсу каталогів (JNDI), щоб дозволити програмам взаємодіяти з іншими програмами, як-от LDAP, DNS, CORBA тощо, і отримати функцію каталогу та іменування для програм на основі Java. Log4j має три компоненти для виконання своїх завдань:

  • Логери для запису журнальних записів
  • Макети для форматування записів журналу в різних стилях
  • Додатки для публікації записів журналу в різні місця призначення

Насправді Log4j є однією з найвідоміших бібліотек журналювання в Інтернеті, яка використовується організаціями з багатьох галузей і країн. Вони інтегрували цю бібліотеку журналів у безліч додатків, включаючи найпопулярніші хмарні служби Google, Microsoft, Apple, Cloudflare, Twitter тощо.

Його розробник, Apache Software Foundation, розробив Log4j 2, оновлення Log4j для вирішення проблем, виявлених у попередніх випусках. Минулого року в Log4j було виявлено вразливість, яка, якщо її не усунути, може дозволити зловмисникам проникати в програми та системи, викрадати дані, заражати мережу та виконувати інші шкідливі дії.

Давайте розберемося більше.

Що таке Log4Shell – уразливість Log4j?

Log4Shell — це критична вразливість кібербезпеки бібліотеки Log4j, яка впливає на основне функціонування бібліотеки. Це дозволяє зловмиснику контролювати підключений до Інтернету пристрій або програму, виконуючи віддалене виконання коду. Коли вони досягають успіху в цьому, вони можуть:

  • Запустіть будь-який код на пристрої чи системі
  • Доступ до всіх мереж і даних
  • Змініть або зашифруйте будь-який файл у програмі чи пристрої, уражених проблемою

Про цю вразливість вперше повідомив 24 листопада 2021 року Чень Чжаоцзюнь, дослідник безпеки в Alibaba (китайський гігант електронної комерції). Уразливість торкнулася їхніх серверів Minecraft, яку команда хмарної безпеки Alibaba виявила 9 грудня.

Потім NIST опублікував цю вразливість у Національній базі даних уразливостей і назвав її CVE-2021-44228. Тоді Apache Software Foundation оцінила цю вразливість як 10 за рівнем серйозності CVSS. Це рідко призначається та є дуже серйозним, оскільки може бути використано широко та легко, що призведе до величезної шкоди для організацій та окремих осіб.

  Як дізнатися, яка програма використовує весь ваш ЦП на Mac

Apache у відповідь випустив патч для цієї вразливості, але все одно деякі частини залишилися без уваги, що призвело до інших уразливостей:

  • CVE-2021-45046, який сприяв атакам типу «відмова в обслуговуванні» (DoS) через пошуки JNDI
  • CVE-2021-45105, щоб дозволити хакерам контролювати інформацію карти контексту потоку та викликати DoS-атаки шляхом інтерпретації створеного рядка
  • CVE-2021-44832 впливає на всі версії Log4j 2 через Remote Code Injection (RCE)

Як працює Log4Shell?

Щоб зрозуміти її серйозність і яку шкоду може завдати Log4Shell, доречно дізнатися, як працює ця вразливість Log4j.

Уразливість Log4Shell дозволяє зловмиснику віддалено вводити будь-який довільний код у мережу та отримати повний контроль над нею.

Ця послідовність кібератак починається з бібліотеки журналу, такої як Log4j, яка збирає та зберігає інформацію журналу. Якщо бібліотека журналу відсутня, усі дані з сервера будуть заархівовані миттєво після збору даних.

Але якщо ви хочете проаналізувати ці дані або вам потрібно виконати певні дії на основі певної інформації журналу, вам знадобиться бібліотека журналу для аналізу даних журналу перед їх архівуванням.

Через уразливість Log4j будь-яка система або програма, що використовує Log4j, стає вразливою до кібератак. Бібліотека журналювання виконує код на основі вхідних даних. Хакер може змусити бібліотеку журналів виконати шкідливий код, оскільки вразливість дозволить йому маніпулювати введенням.

Тим часом багато чого відбувається на задньому плані. Коли Log4j передається спеціально створений рядок, він викличе сервер LDP і завантажить цей код, розміщений у його каталозі, щоб виконати код. Таким чином зловмисники можуть створити сервер LDAP для зберігання шкідливого коду, який може допомогти їм контролювати будь-який сервер, на якому виконується код. Потім він надішле рядок, який спрямовує їхній шкідливий код до цільової програми чи системи, і повністю контролюватиме їх.

Отже, ось як можна використати вразливість Log4j:

  • Зловмисник знаходить сервер із уразливою версією Log4j.
  • Вони надішлють цільовому серверу запит на отримання з посиланням на свій шкідливий сервер LDAP.
  • Цільовий сервер замість перевірки запиту підключатиметься безпосередньо до цього сервера LDAP.
  • Тепер зловмисники надішлють цільовому серверу відповідь сервера LDAP, що містить шкідливий код. Завдяки вразливості Log4j, яка дозволяє отримати код і виконати його без перевірки, хакер може використати цю слабкість, щоб зламати цільовий сервер і використовувати підключені системи, мережі та пристрої.

Як вразливість Log4j може завдати шкоди користувачам?

Уразливість Log4j викликає занепокоєння, оскільки вона використовується в широкому діапазоні програмних програм і систем.

Оскільки журналювання є важливою функцією більшості програмних програм, а Log4j є провідним рішенням у просторі, Log4j знаходить застосування в різноманітних програмних системах.

Деякі з популярних служб і програм, які використовують Log4j, це Minecraft, AWS, iCloud, Microsoft, Twitter, інтернет-маршрутизатори, засоби розробки програмного забезпечення, інструменти безпеки тощо. Таким чином, зловмисники можуть націлитися на велику кількість програм, служб і систем від домашніх користувачів, розробників коду, постачальників послуг та інших відповідних спеціалістів і окремих осіб.

Крім того, зловмиснику надзвичайно легко скористатися вразливістю Log4j. Загальний процес вимагає меншої кількості навичок, а не експертного рівня, щоб здійснити атаку. Ось чому кількість атак, які використовують цю вразливість, зростає.

Наслідки вразливості Log4j:

  • DoS-атаки
  • Атаки на ланцюги поставок
  • Майнінг монет
  • Ін’єкції зловмисного програмного забезпечення, наприклад програм-вимагачів і троянських коней
  • Впровадження довільного коду
  • Віддалене виконання коду

І більше.

У результаті цих атак ви можете втратити контроль над своїми програмами, системами та пристроями, а ваші дані можуть стати жертвою зловмисників, які можуть продати ваші дані, маніпулювати ними або відкрити їх зовнішньому світу. Отже, вашому бізнесу може бути завдано шкоди з точки зору конфіденційності даних клієнтів, довіри, секретів організації та навіть ваших продажів і доходу, не кажучи вже про ризики відповідності.

Згідно з повідомленнямпонад 40% глобальних корпоративних мереж зазнали атак через цю вразливість.

Таким чином, навіть якщо ви не використовуєте жодної вразливої ​​версії Log4j у своїх програмах, ваші сторонні інтеграції можуть використовувати її, що робить вашу програму вразливою до атак.

  Як зберегти електронний лист на жорсткому диску

Зауважте, що всі версії Log4j до Log4j 2.17.0. піддаються впливу; отже, ви повинні оновити реєстратор, якщо ви його використовуєте. Крім того, відомі постачальники, на яких впливає ця вразливість Log4j, це Adobe, AWS, IBM, Cisco, VMware, Okta, Fortinet тощо. Якщо ви користуєтеся будь-яким із них, постійно стежте за своїми програмами та використовуйте системи безпеки для вирішення проблем, як тільки вони виникнуть. виникає.

Як виявити програми, уражені Log4j, і вирішити проблеми

Уразливість Log4Shell отримала 10 балів у рейтингу CVSS. Отже, усі проблеми в Log4j ще не виправлено. Але є шанс, що ви або ваш сторонній постачальник можете використовувати Log4j, який ви використовували у своїй програмі.

Отже, якщо ви хочете захистити свої дані, системи та мережу, переконайтеся, що ви виконали певні кроки з виправлення.

#1. Оновіть свою версію Log4j

Оновлення поточної версії Log4j до Log 4j 2.17.1 є найефективнішим методом виправлення, якщо ви хочете захистити свій пристрій і програми від атак через уразливість Log4j.

Log4Shell — це тип атаки нульового дня, яка потенційно може вплинути на екосистему вашого програмного забезпечення. Apache виправив деякі вразливості в останніх версіях, але якщо ваша система була скомпрометована до оновлення, ви все ще в зоні ризику.

Отже, припускаючи це, ви повинні не лише оновити версію, але й негайно розпочати процедури реагування на інциденти, щоб переконатися, що у ваших системах і програмах немає вразливостей, і пом’якшити атаки. Ви також повинні переглянути всі журнали свого сервера, щоб знайти індикатори компрометації (IOC), і постійно контролювати свої системи та мережу.

#2. Використовуйте новітні брандмауери та системи безпеки

Брандмауери, такі як брандмауер веб-застосунків (WAF) і брандмауери нового покоління, можуть допомогти захистити периметр вашої мережі від зловмисників, скануючи вхідні та вихідні пакети даних і блокуючи підозрілі. Тому використовуйте найновіші брандмауери у своїй мережі та встановіть суворі вихідні правила на своїх серверах, щоб запобігти атакам, пов’язаним із вразливістю Log4j.

Хоча зловмисники можуть обійти брандмауери, ви все одно отримаєте певний рівень безпеки за допомогою брандмауерів, які можуть блокувати запити зловмисників.

Крім того, оновіть усі ваші системи безпеки, такі як системи виявлення вторгнень (IDS), системи запобігання вторгненням (IPS) тощо, за допомогою останніх сигнатур і правил. Ці системи допоможуть блокувати або фільтрувати трафік RMI та LDAP від ​​підключення до зловмисного сервера LDAP.

#3. Впровадити МЗС

Налаштування багатофакторної автентифікації (MFA) у ваших програмах і системі забезпечить кращий захист від зловмисників. Це забезпечить другий рівень безпеки, навіть якщо зловмиснику вдасться зламати перший рівень. Ви можете зробити це за допомогою біометричних даних, таких як відбитки пальців, сканування райдужної оболонки ока тощо, установивши таємне запитання або ввімкнувши PIN-код безпеки.

Використання MFA збільшить складність зловмисників і час для виконання повномасштабної атаки. Тим часом він також може негайно повідомити вас про інцидент, щоб ви могли вжити необхідних заходів для виправлення, коли у вас ще буде час.

Крім того, ви також повинні застосовувати суворі політики VPN, щоб зменшити витік даних. Це дозволить користувачам безпечно отримувати доступ до ваших систем з будь-якого місця, не боячись зловмисників.

#4. Змінити властивості системи

Якщо ви не можете оновити бібліотеку Log4j до останньої версії, вам необхідно негайно змінити властивості системи Java, якщо ви використовуєте версію від Log4j 2.10 до Log4j 2.14.1.

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

#5. Видаліть JNDI

Причина цієї критичної вразливості безпеки полягає в його конструкції. Плагін JNDI Lookup має недолік у конструкції, через який зловмисники можуть здійснити атаку.

JNDI використовується для виконання коду на основі вхідних даних у його журналі, якими будь-хто може легко маніпулювати, оскільки реєстратор приймає будь-які запити без перевірки.

  20 комбінацій клавіш, які повинен знати кожен власник iPad

Дослідники безпеки виявили, що цей плагін завжди дозволяв нерозбірні дані з моменту його випуску в 2013 році та надсилав їх до бібліотеки Log4j.

Таким чином, уразливість Log4j схильна до експлуатації за допомогою простого введення рядка. Після того, як зловмисник введе його, реєстратор прийме операцію, запитану в рядку, і виконає її миттєво без перевірки.

Отже, якщо ви хочете захистити свої системи та програми, ви повинні вимкнути клас – JndiLookup. Це не дозволить реєстратору виконувати дії на основі даних журналу.

Насправді пошук JNDI вже вимкнено в Log4j 2.16.0 за замовчуванням у спробі захистити ваші програми та системи.

Отже, якщо ви використовуєте версію Log4j, нижчу за 2.16.0, переконайтеся, що ви вимкнули JNDI Lookup.

#6. Поговоріть зі своїми продавцями

Якщо у вас все правильно, ваші брандмауери та системи безпеки оновлені, версія Log4j оновлена, JNDI Lookup вимкнено тощо, не розслабляйтеся.

Навіть якщо ви не використовуєте вразливу версію Log4j у своїх програмах, ваші сторонні постачальники можуть використовувати її. Отже, ви ніколи не дізнаєтесь, як зламали вашу програму чи систему, тому що справжня проблема полягала в інтеграції сторонніх розробників.

Тому поговоріть зі своїми постачальниками та переконайтеся, що вони також оновили Log4j до останньої версії та запровадили інші методи безпеки, про які йдеться вище.

#7. Використовуйте сканер вразливостей Log4j

На ринку доступно багато інструментів сканування вразливостей Log4j, які полегшують вам виявлення вразливостей Log4j у ваших системах і програмах.

Тож, коли ви шукаєте ці інструменти, перевірте рівень їх точності, оскільки багато з них дають помилкові спрацьовування. Крім того, знайдіть інструмент, який може задовольнити ваші потреби, оскільки він може зосереджуватися на виявленні вразливості Log4j, звітуванні про загрозу та усуненні вразливості.

Отже, якщо ви зосереджені на виявленні, знайдіть сканер уразливостей Log4j, який може виявити проблему, або використовуйте той, який може виявити та усунути проблему.

Деякі з найкращих інструментів сканування Log4j:

  • Microsoft 365 Defender: Microsoft пропонує низку рішень безпеки та інструментів, які допоможуть вам виявити та запобігти експлойтам Log4j у вашій мережі. Ви зможете помітити віддалене виконання коду та спроби використання, захистивши себе від уразливостей Log4j у пристроях Windows і Linux.
  • Amazon Inspector і AWS: Amazon створив інструмент сканування для пошуку вразливості Log4j в екземплярах Amazon EC2 і Amazon ECR.
  • Інструмент сканування архіву CloudStrike (CAST): CloudStrike також створив чудовий інструмент сканування для виявлення вразливості Log4j, щоб допомогти вам вчасно виправити проблеми, перш ніж зловмисники зможуть скористатися нею.
  • Виявлення Google Cloud Logging: Рішення Google для виявлення хмарних журналів дозволяє виявляти експлойти Log4j за допомогою Logs Explorer. Ви можете створити запит журналу в цьому інструменті та сканувати потенційні рядки експлойтів.
  • Google також створив log4jscanner, сканер файлової системи з відкритим кодом для виявлення вразливості Log4j.
  • BurpSuite Log4j Scanner: це плагін безпеки для професіоналів і підприємств, який допоможе їм виявити вразливість Log4j.
  • Тестер уразливостей Huntress Log4Shell: цей інструмент випадково генерує унікальний ідентифікатор, який можна використовувати під час тестування полів введення. Виявивши вразливість у програмі чи полі введення, його захищений сервер LDAP миттєво припинить зловмисне з’єднання та захистить вас.
  • WhiteSource Log4j Detect: WhiteSource створив безкоштовний інструмент CLI WhiteSource Log4j Detect, розміщений на GitHub, щоб допомогти вам виявити та виправити вразливості Log4j – CVE-2021-445046 і CVE-2021-44228.
  • Інструменти сканування з відкритим кодом JFrog для Log4j: JFrog створив різні рішення та інструменти з відкритим кодом для пошуку вразливостей Log4j у ваших двійкових файлах і вихідному коді.

Висновок

Уразливість Log4j є критичною проблемою безпеки. Оскільки ця бібліотека журналювання широко використовується в різних програмах і системах, уразливість Log4j набула широкого поширення, дозволяючи зловмисникам використовувати широкий спектр систем і програм.

Отже, якщо ви хочете захистити свої системи та програми від цієї вразливості, переконайтеся, що ви оновили бібліотеку Log4j до останньої версії та застосували найкращі методи безпеки, про які йшлося вище.