Как да сканирате и коригирате уязвимостта на Log4j?

Уязвимостта на Log4j е сред най-смъртоносните проблеми със сигурността в съвременните системи.

Регистрирането е ключова характеристика в съвременните приложения и библиотеката за регистриране, Log4j, е лидер в това пространство.

Тази библиотека се използва в повечето приложения, услуги и системи. Следователно всички приложения, където се използва Log4j, са засегнати от тази уязвимост на Log4j, открита миналата година.

С нарастващите опасения за киберсигурността в световен мащаб организациите и хората предприемат стъпки за защита на своите приложения, системи и данни.

И когато тази уязвимост беше открита, това стресира професионалистите и бизнеса още повече.

Следователно откриването на уязвимостта на Log4j и коригирането й е от съществено значение, ако искате да защитите вашите данни, мрежа, репутация и доверие на клиентите.

В тази статия ще обсъдя какво представлява уязвимостта на Log4j, заедно със стъпките за нейното откриване и коригиране.

Нека започнем с разбирането на Log4j и защо ви е необходим.

Какво е Log4j?

Log4j е помощна програма за регистриране с отворен код, написана на Java, която се използва главно за съхраняване, форматиране и публикуване на регистрационни записи, генерирани от приложения и системи, и след това проверка за грешки. Записите могат да бъдат от различни видове, от уеб страница и данни на браузъра до техническите подробности на системата, където се изпълнява Log4j.

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

Използвайки Log4j, разработчиците могат да проследяват всички събития, свързани с техните приложения, с точна информация за регистриране. Помага им да наблюдават приложенията, да откриват проблемите навреме и да ги коригират, преди те да се превърнат в по-голям проблем по отношение на производителността и/или сигурността.

Тази базирана на Java библиотека е написана от Ceki Gülcü и е пусната през 2001 г. под Apache License 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 г. от Chen Zhaojun, изследовател по сигурността в Alibaba (китайски гигант за електронна търговия). Уязвимостта засегна техните Minecraft сървъри, които екипът за облачна сигурност на Alibaba откри на 9 декември.

След това NIST публикува тази уязвимост в Националната база данни за уязвимости и я наименува CVE-2021-44228. След това Apache Software Foundation оцени тази уязвимост с 10 по отношение на сериозността на CVSS. Това рядко се възлага и е много тежко, тъй като има потенциал да бъде използвано широко и лесно, което води до огромни щети за организации и лица.

  Как да играете стари флаш игри през 2020 г. и след това

Apache, в отговор, издаде корекция за тази уязвимост, но въпреки това някои части бяха оставени неадресирани, което доведе до други уязвимости:

  • CVE-2021-45046, който улеснява атаки за отказ от услуга (DoS) чрез JNDI търсения
  • CVE-2021-45105, за да позволи на хакерите да контролират информацията на Thread Context Map и да причинят DoS атаки чрез интерпретиране на създаден низ
  • CVE-2021-44832 засяга всички версии на Log4j 2 чрез дистанционно инжектиране на код (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 атаки
  • Атаки по веригата на доставки
  • Копаене на монети
  • Инжектиране на злонамерен софтуер, като рансъмуер и троянски коне
  • Инжектиране на произволен код
  • Дистанционно изпълнение на код

И още.

В резултат на тези атаки можете да загубите контрол върху вашите приложения, системи и устройства и вашите данни могат да станат жертва на нападателите, които могат да продадат вашите данни, да ги манипулират или да ги изложат на външния свят. Следователно вашият бизнес може да бъде ощетен по отношение на поверителността на клиентските данни, доверието, тайните на организацията и дори вашите продажби и приходи, да не говорим за рисковете за съответствие.

  8 най-добри SaaS HRMS за стартиращи фирми и предприятия

Според докладнад 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

Настройването на многофакторно удостоверяване (MFA) във вашите приложения и система ще осигури по-добра сигурност от нападатели. Той ще осигури втори слой на сигурност, дори ако нападателят успее да пробие първия слой. Можете да го направите чрез биометрични данни като пръстови отпечатъци, сканиране на ириса и т.н., задаване на защитен въпрос или активиране на защитен ПИН.

Използването на MFA ще увеличи трудността на нападателите и времето за извършване на пълна атака. Междувременно може също да ви информира незабавно за инцидента, така че да можете да предприемете необходимите стъпки за отстраняване, когато все още имате време.

Освен това трябва също така да прилагате строги VPN политики, за да намалите нарушенията на данните. Това ще даде възможност на потребителите да имат безопасен достъп до вашите системи отвсякъде, без да се страхуват от нападатели.

#4. Промяна на системните свойства

В случай, че не можете да надстроите до най-новата версия на библиотеката Log4j, трябва незабавно да промените системните си свойства на Java, ако използвате версия, варираща от Log4j 2.10 до Log4j 2.14.1.

Трябва да го настроите по такъв начин, че да предотвратите търсенето, което атакуващите използват, за да открият уязвимостите и след това да намерят начини да ги използват.

#5. Премахнете JNDI

Причината за тази критична уязвимост на сигурността се крие в неговия дизайн. Приставката JNDI Lookup има дефект в дизайна, чрез който нападателите могат да извършат атака.

  Как да проверите дали някой шпионира вашия телефон

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

Изследователите по сигурността са открили, че този плъгин винаги е позволявал неанализирани данни, откакто е пуснат през 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 Archive Scan Tool (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 до най-новата версия и приложете най-добрите практики за сигурност, обсъдени по-горе.