Orodha ya Yaliyomo[Ficha][Onyesha]
Log4Shell, hatari ya mtandao, iliathiri mamilioni ya mashine hivi majuzi. Log4j, kipande cha programu kisichojulikana lakini karibu kila mahali, husababisha.
Log4j hutumika kurekodi vitendo vyote vinavyotokea nyuma ya pazia katika mifumo mbalimbali ya kompyuta.
Inategemea maktaba ya uwekaji kumbukumbu ya chanzo huria ambayo hutumiwa na biashara na hata mashirika ya serikali katika programu nyingi.
Kwa kuwa mojawapo ya mashimo mabaya zaidi ya usalama wa mtandao kuwahi kufichuliwa, ni muhimu kulinda mifumo yako dhidi ya athari hii. Lakini, jinsi gani?
Hebu tuchunguze kwa undani uwezekano wa kuathirika wa Log4j na masuluhisho yote yanayowezekana kwake.
Log4j ni nini?
Log4j ni wazi chanzo mfumo wa ukataji miti unaowezesha wasanidi programu kurekodi data tofauti ndani ya programu zao. Ni sehemu ya mradi wa Huduma za Kukata Magogo wa Apache, unaoendeshwa na shirika la Apache Software Foundation.
Mamia ya tovuti na programu hutumia Log4j kutekeleza shughuli muhimu kama vile kuweka data kwa utatuzi na matumizi mengine.
Unapoingiza au kubofya kiungo duni cha mtandaoni na kupata arifa ya hitilafu ya 404, huu ni mfano wa mara kwa mara wa Log4j kazini. Seva ya wavuti inayoendesha kikoa cha kiungo cha wavuti ulichojaribu kufikia inakujulisha kuwa hakuna ukurasa wa wavuti kama huo. Pia huweka tukio katika Log4j kwa wasimamizi wa mfumo wa seva.
Katika programu zote za programu, ishara sawa za uchunguzi hutumiwa. Katika mchezo wa mtandaoni Minecraft, kwa mfano, seva hutumia Log4j kuweka kumbukumbu za shughuli kama vile jumla ya RAM iliyotumiwa na maagizo ya mtumiaji yanayotumwa kwenye dashibodi.
Je, udhaifu hutokeaje?
Lookups ni kipengele kipya kilicholetwa katika Log4j 2.0, ambacho husaidia kujumuisha maelezo ya ziada katika maingizo ya kumbukumbu. Mojawapo ya utaftaji huu ni utaftaji wa JNDI (Jina la Java na Kiolesura cha Saraka), ambayo ni API ya Java ya kuwasiliana na huduma ya saraka.
Kwa kutumia mbinu hii, vitambulisho vya mtumiaji wa ndani vinaweza kupangwa kwa majina halisi ya watumiaji. Hoja hii inafichua uwezekano mpya uliogunduliwa wa RCE, kwa kuwa mojawapo ya aina za data zinazotolewa na seva ya LDAP ni URI inayoelekeza kwenye darasa la Java, ambayo hupakiwa kwenye kumbukumbu na kuendeshwa na mfano wa Log4j.
Kwa sababu ya udhaifu katika uthibitishaji wa ingizo wa maktaba ya Log4j, inawezekana kuingiza seva ya LDAP kiholela kutoka kwa chanzo kisichoaminika. Kwa sababu wasanidi programu wanadhani kwamba data iliyotumwa kwa kumbukumbu itashughulikiwa kama maandishi wazi, hakuna uthibitishaji wa ziada wa ingizo unaofanywa, na ingizo hatari la mtumiaji huingia kwenye kumbukumbu.
Taarifa ya kumbukumbu inaweza kuonekana kama hii:
Mtumiaji hasidi sasa ataingiza utafutaji wa JNDI akimaanisha seva mbovu ya LDAP katika kigezo cha URL. Utafutaji wa JNDI utakuwa kama ifuatavyo:
Maktaba ya Log4j kisha huzungumza na seva hii ya LDAP kwenye attacker.com ili kupata maelezo ya saraka, ikiwa ni pamoja na maadili ya Kiwanda cha Java na Codebase ya Java.
Thamani hizi mbili ni pamoja na darasa la Java la mshambuliaji, ambalo huwekwa kwenye kumbukumbu na kutekelezwa na mfano wa Log4j, kukamilisha utekelezaji wa nambari.
Nani yuko hatarini?
Athari ya Log4j ni pana sana, inayoathiri programu za biashara, vifaa vilivyopachikwa na mifumo yao midogo. Programu zilizoathiriwa ni pamoja na Cisco Webex, Minecraft, na FileZilla FTP.
Walakini, hii sio orodha nzima. Kasoro hiyo inaathiri hata misheni ya Ingenuity Mars 2020, ambayo hutumia Apache Log4j kwa kurekodi tukio.
Jumuiya ya usalama imekusanya a orodha ya mifumo iliyo hatarini. Ni muhimu kutambua kwamba orodha hizi zinaendelea kusasishwa, kwa hivyo ikiwa programu au mfumo fulani haujaangaziwa, usifikirie kuwa haujaathiriwa.
Mfiduo wa athari hii kuna uwezekano mkubwa, na hata ikiwa ni maalum stack ya teknolojia haitumii Java, wasimamizi wa usalama wanapaswa kutarajia mifumo muhimu ya wasambazaji, wasambazaji wa SaaS, watoa huduma wa kukaribisha wingu, na watoa huduma za seva za wavuti kufanya hivyo.
Jinsi ya kuangalia uwezekano wa Log4j?
Hatua ya kwanza ni kuamua ikiwa shambulio tayari limetokea. Unaweza kufanya hivyo kwa kuangalia kumbukumbu za mfumo za vipande vya upakiaji wa RCE.
Ikiwa utafutaji wa maneno kama vile "jndi", "ldap", au "$::" utatoa kumbukumbu zozote, watafiti wa usalama wanapaswa kuchunguza zaidi ili kuona kama lilikuwa shambulio halali au alama ya vidole tu.
Mashambulio mengi porini yaligunduliwa ambayo hayakuleta mzigo wowote wa hatari. Hata hivyo, yalitekelezwa na wataalam wa usalama ili kubaini ni programu ngapi ambazo zinaweza kuathiriwa na shambulio hili.
Hatua inayofuata ni kutumia maktaba ya Log4j kutambua miradi yote. Ikiwa matoleo kati ya 2.0-beta9 na 2.14.1 yanatumiwa, mradi unaweza kuathiriwa.
Kwa kuzingatia ugumu wa kuamua mahali ambapo athari hii iko, inaweza kuwa vyema kudhani kuwa mradi unaweza kuathiriwa na kwamba kusasisha maktaba ndiyo njia bora ya kuchukua ili kuondoa hatari ya utekelezaji wa msimbo.
Mradi hautakuwa hatarini ikiwa toleo lililotumiwa ni chini ya 2.0-beta 9, ingawa maktaba ya Log4j bado inapaswa kuboreshwa kwa sababu matoleo katika safu ya 1.x ni ya zamani na hayapati masasisho tena.
Iwapo mradi unaohusika utagunduliwa, inashauriwa uangaliwe ili kuona kama taarifa yoyote iliyoingia kwa kutumia Log4j ina taarifa ambayo mtumiaji anaweza kubadilisha. URL, vigezo vya ombi, vichwa na vidakuzi ni mifano ya data hii. Ikiwa moja ya haya yameingia, mradi uko hatarini.
Maarifa haya yanaweza kukusaidia kutafiti zaidi kumbukumbu za mfumo na kubaini ikiwa programu yako ya wavuti tayari imeshambuliwa.
Kuna zana za mtandaoni zisizolipishwa ambazo zinaweza kutambua ikiwa programu ya wavuti iko hatarini. Moja ya programu hizi ni Log4Shell mwindaji. Ni chanzo-wazi na inapatikana kwenye GitHub.
Ikiwa eneo hatarishi la msimbo katika programu ya mtandaoni litagunduliwa, mzigo wa malipo unaotolewa na zana iliyofichuliwa unaweza kutumika kuiingiza kwenye programu ya wavuti. Zana ya majaribio itafichua miunganisho iliyofanywa kati ya programu yako ya wavuti na seva yao ya LDAP ikiwa athari ilitumiwa.
Suluhu za kurekebisha uwezekano wa Log4j
Hatua ya kwanza ni kusasisha Log4j, ambayo unaweza kufanya kwa kutumia wasimamizi wa vifurushi vya kawaida au kwa kuipakua moja kwa moja kutoka kwa hii. ukurasa.
Pia inawezekana kupunguza unyonyaji wa athari kwa kuweka utofauti wa mazingira FORMAT MSG NO LOOKUPS kuwa kweli. Hatua hii ya kukabiliana, hata hivyo, inatumika tu kwa matoleo ya Log4j makubwa kuliko au sawa na 2.10.
Sasa hebu tuangalie chaguzi mbadala.
1. Matayarisho ya Log4j toleo la 2.17.0
Inashauriwa sana kutumia Log4j toleo la 2.15.0 kulinda dhidi ya Log4Shell, hata hivyo, ikiwa hii haiwezekani, suluhu zingine zinapatikana.
Matoleo ya 2.7.0 na ya baadaye ya Log4j: Inawezekana kulinda dhidi ya mashambulizi yoyote kwa kubadilisha umbizo la matukio ili kurekodiwa kwa kutumia sintaksia ya asilimia m nolookups kwa data iliyotolewa na mtumiaji. Sasisho hili linahitaji kuhariri faili ya usanidi ya Log4j ili kutoa toleo jipya la programu. Kwa hiyo, kabla ya kupeleka toleo hili jipya, hatua za uthibitishaji wa kiufundi na kazi lazima zirudiwe.
Matoleo ya Log4j 2.10.0 na ya baadaye: Pia inawezekana kulinda dhidi ya mashambulizi yoyote kwa kuweka kigezo cha usanidi cha log4j2.formatMsgNoLookups kuwa kweli, kwa mfano, unapoanzisha mashine pepe ya Java kwa chaguo la -Dlog4j2.” formatMsgNoLookups = kweli, Chaguo jingine ni kuondoa darasa la JndiLookup kutoka kwa hoja ya njia ya darasa, ambayo itaondoa vekta kuu ya mashambulizi (watafiti hawaondoi uwezekano wa vector nyingine ya mashambulizi).
Huduma za Wavuti za Amazon hutoa hotpatch ambayo "inapaswa kutumika kwa hatari yako mwenyewe." "Mbinu" zingine, kama vile Logout4Shell, ambayo "hutumia athari hii dhidi yake," zimechapishwa. Mtaalamu wa usalama anahoji uhalali wa hatua hii, ambayo inahusisha "kudukua mashine ili kuirekebisha."
2. Tatizo limetatuliwa katika Log4j v2.17.0.
Kwa matoleo makubwa kuliko 2.10: Log4j2.formatMsgNoLookups inapaswa kuwekwa kuwa kweli.
Kwa matoleo 2.0 hadi 2.10.0: Tekeleza amri ifuatayo ili kuondoa darasa la LDAP kutoka kwa Log4j.
Log4j2.formatMsgNoLookups inapaswa kuwekwa kuwa kweli katika mipangilio ya mfumo.
Kupunguza katika JVM
Kupunguza na vigezo vya JVM sio chaguo tena. Njia zingine za kupunguza zinaendelea kufanikiwa. Pata toleo jipya la Log4j 2.17.0 ikiwezekana. Kuna mwongozo wa uhamiaji unaopatikana kwa Log4j v1.
Ikiwa sasisho haliwezekani, hakikisha kuwa vipengele vya upande wa mteja na seva vina -Dlog4j2.formatMsgNoLookups = seti ya mali ya mfumo halisi.
Tafadhali kumbuka kuwa Log4j v1 imefikia mwisho wa maisha (EOL) na haitapokea tena marekebisho ya hitilafu. Vekta zingine za RCE pia huathiriwa na Log4j v1. Kwa hivyo, tunakuhimiza upate toleo jipya la Log4j 2.17.0 haraka iwezekanavyo.
3. Hatua za kupunguza
Ushujaa wa sasa hauwezi kufanya kazi hata kama Log4j inaweza kuathiriwa katika hali fulani, kama vile ikiwa mashine mwenyeji ina toleo la juu la Java kuliko 6u212, 7u202, 8u192, au 11.0.2.
Hii ni kutokana na ulinzi bora wa Kutaja Java na Kiolesura cha Saraka (JNDI) katika matoleo ya sasa, ambayo ni muhimu ili shambulio lifanye kazi.
Zaidi ya hayo, kwa matoleo ya Log4j makubwa kuliko 2.10, suala linaweza kuepukwa kwa kuweka thamani ya mfumo wa umbizoMsgNoLookups kuwa kweli, kutoa hoja ya JVM -Dlog4j2.formatMsgNoLookups = kweli, au kufuta darasa la JndiLookup kutoka kwa njia ya darasa.
Wakati huo huo, hadi hali hatarishi zirekebishwe, uwezekano huo unaweza kushughulikiwa kwa kutumia mbinu zifuatazo:
- Weka log4j2.formatMsgNoLookups kuwa kweli kwa >=2.10.
- Weka chaguo la mazingira LOG4J FORMAT MSG NO LOOKUPS kuwa kweli kwa >=2.10.
- Ondoa JndiLookup.class kutoka kwa njia ya darasa kwa 2.0-beta9 hadi 2.10.0: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Mbinu mojawapo iliyopendekezwa ni kupunguza trafiki ya kuingia kwenye mtandao kwa bandari zinazofaa pekee.
Ingawa mashambulizi mengi kwenye uwanja hutolewa kupitia HTTP, athari inaweza kutumiwa kupitia itifaki yoyote inayoweka data ya ingizo ya mtumiaji kwa kutumia Log4j.
Walakini, kusasisha hadi log4j 2.17.0 ndio suluhisho bora kwa sababu mtu anaweza kugundua njia ya ziada ya suala hilo. Zaidi ya hayo, wachapishaji na watengenezaji wengi wametangaza uboreshaji wa huduma au programu zao.
4. Kiraka cha kuathiriwa cha Log4Shell
Log4j inapatikana kila mahali, hasa kwa vile sasa uwezekano wa kuathiriwa unatumiwa. Kwa muhtasari, unachohitaji kufanya ni kujumuisha herufi zifuatazo kwenye kumbukumbu zilizokaguliwa na Log4j.
Na hii itapakua na kutekeleza faili ya Java iliyoko mwisho wa URL. Ni moja kwa moja kama ilivyo ya kushangaza.
Kama unavyojua, ni muhimu kusasisha log4j hadi toleo >= 2.17.0 ili kurekebisha athari hii ya Log4Shell (CVE-2021-44228).
Ikiwa hii haiwezekani:
Kwa programu zinazotumia matoleo ya maktaba ya Log4j 2.10.0 na matoleo mapya zaidi, inawezekana pia kulinda dhidi ya mashambulizi yoyote kwa kuweka kigezo cha usanidi log4j2.formatMsgNoLookups kuwa kweli, kwa mfano, wakati wa kuanzisha mashine pepe ya Java na -Dlog4j2.formatMsgNoLookups = kweli. chaguo.
Chaguo jingine ni kufuta darasa la JndiLookup kutoka kwa hoja ya njia ya darasa, ambayo itaondoa vekta ya msingi ya shambulio (watafiti hawakatai uwepo wa vekta nyingine ya shambulio).
Kumbuka
Mashirika ambayo yanasitasita au hayataki kufanya marekebisho kwa mifumo inayoathiriwa (au ambayo yanatamani kusakinisha ulinzi wa ziada) yanapaswa kufikiria kuhusu:
- Hakikisha kuwa trafiki yote inapitishwa kupitia iSensor/WAF/IPS. Hii inaweza kuzuia uvamizi kupata ufikiaji wa mfumo.
- Kupunguza kiwango cha trafiki kinachoweza kufikia mfumo unaoathiriwa Ikiwa mfumo hauhitaji kuunganishwa kwenye mtandao, zuia ufikiaji wa IPS na masafa muhimu tu na ya kuaminika.
- Kupunguza trafiki iliyoidhinishwa ya mwenyeji. Kwa sababu shambulio hili linafanya kazi kwa kuunganisha kwa seva mbovu, anwani zote za IP na milango isiyo ya kawaida inapaswa kuzuiwa kwenye ngome.
- Ikiwa huduma haihitajiki tena, inapaswa kuzimwa hadi kurekebisha iko tayari.
Hitimisho
Hitilafu za Log4j zilishtua jumuiya yetu na kutukumbusha sote jinsi tunavyotegemea programu huria.
Log4j ni ya kipekee. Si mfumo wa uendeshaji, wala si kivinjari, wala si programu. Badala yake, ni kile ambacho waandaaji wa programu hurejelea kama maktaba, kifurushi, au moduli ya msimbo. Inatumikia kusudi moja tu, yaani, kuweka rekodi ya kile kinachotokea kwenye seva.
Watu wanaoandika msimbo wanapendelea kuzingatia kile kinachofanya programu zao kuwa tofauti. Hawana nia ya kurejesha gurudumu. Kama matokeo, wanategemea idadi kubwa ya maktaba zilizopo za msimbo, kama vile Log4j.
Moduli ya Log4j inatokana na Apache, programu inayotumika sana ya seva ya wavuti. Ndiyo sababu inaweza kugunduliwa kwenye mamilioni ya seva. Kwa hivyo, kuongeza vitisho vya usalama.
Natumai masuluhisho yaliyo hapo juu yatakusaidia kuweka vifaa vyako salama.
Endelea kufuatilia HashDork kwa taarifa muhimu zaidi kutoka kwa ulimwengu wa teknolojia.
Acha Reply