Table of Contents[Kache][Montre]
Log4Shell, yon vilnerabilite entènèt, dènyèman afekte dè milyon de machin. Log4j, yon moso lojisyèl ki fènwa men prèske omniprésente, lakòz li.
Log4j yo itilize pou konekte tout aksyon ki fèt dèyè sèn nan yon varyete sistèm òdinatè.
Li baze sou yon bibliyotèk louvri-sous ki itilize pa biznis e menm òganizasyon gouvènman an nan pifò aplikasyon yo.
Kòm youn nan pi move twou sekirite cyber ki te janm dekouvri, li enpòtan pou pwoteje sistèm ou yo kont vilnerabilite sa a. Men kouman?
Ann eksplore vilnerabilite Log4j an detay ak tout solisyon ranje posib pou li.
ki sa ki Log4j?
Log4j se yon louvri-sous kad anrejistreman ki pèmèt devlopè lojisyèl anrejistre done diferan nan aplikasyon yo. Li se yon eleman nan pwojè Apache Logging Services, ki se kouri pa la Apache lojisyèl Fondasyon.
Plizyè santèn sit entènèt ak aplikasyon yo itilize Log4j pou fè operasyon enpòtan tankou done anrejistreman pou debogaj ak lòt itilizasyon.
Lè w antre oswa klike sou yon lyen pòv sou entènèt epi jwenn yon avi erè 404, sa a se yon egzanp souvan Log4j nan travay. Sèvè wèb la ki kouri domèn lyen entènèt ou te eseye jwenn aksè a fè w konnen pa gen okenn paj wèb sa a ki egziste. Li tou anrejistre evènman an nan Log4j pou administratè sistèm sèvè a.
Pandan tout pwogram lojisyèl, siyal dyagnostik menm jan an ap travay. Nan jwèt la sou entènèt Minecraft, pou egzanp, sèvè a sèvi ak Log4j konekte aktivite tankou total RAM itilize ak enstriksyon itilizatè yo voye nan konsole a.
Ki jan vilnerabilite a rive?
Lookups se yon nouvo karakteristik prezante nan Log4j 2.0, ki ede enkòpore enfòmasyon adisyonèl nan antre nan log. Youn nan rechèch sa yo se rechèch JNDI (Java Naming and Directory Interface), ki se yon API Java pou kominike avèk yon sèvis anyè.
Sèvi ak apwòch sa a, ID itilizatè entèn yo ka trase nan non itilizatè aktyèl yo. Rekèt sa a montre vilnerabilite RCE ki fèk dekouvri a, paske youn nan kalite done sèvè LDAP a bay se yon URI ki montre yon klas Java, ki answit chaje nan memwa epi ki kouri pa egzanp Log4j la.
Akòz yon feblès nan validation opinyon bibliyotèk Log4j la, li posib pou enjekte yon sèvè LDAP abitrè ki soti nan yon sous ki pa fè konfyans. Paske devlopè yo sipoze ke done yo voye nan mòso bwa yo pral okipe kòm tèks klè, pa gen okenn validasyon siplemantè antreprann, ak opinyon itilizatè danjere antre nan mòso bwa yo.
Yon deklarasyon log ta ka sanble sa a:
Yon itilizatè move ta kounye a mete yon rechèch JNDI refere li a yon sèvè LDAP vakabon nan yon paramèt URL. Chèche JNDI a ta dwe jan sa a:
Lè sa a, bibliyotèk Log4j la pale ak sèvè LDAP sa a nan attacker.com pou jwenn enfòmasyon anyè, ki gen ladan valè pou Java Factory ak Java Codebase.
De valè sa yo gen ladan klas Java atakè a, ki se Lè sa a, chaje nan memwa epi egzekite pa egzanp Log4j la, ranpli ekzekisyon kòd la.
Ki moun ki nan risk?
Vilnerabilite Log4j a ekstrèmman laj, ki afekte aplikasyon pou biznis, aparèy entegre, ak subsistèm yo. Aplikasyon ki afekte yo enkli Cisco Webex, Minecraft, ak FileZilla FTP.
Sepandan, sa a pa vle di yon lis antye. Defo a menm afekte misyon chopper Ingenuity Mars 2020, ki itilize Apache Log4j pou anrejistreman evènman an.
Kominote sekirite a te konpile yon lis sistèm vilnerab yo. Li enpòtan pou sonje ke lis sa yo ap kontinye mete ajou, kidonk si yon sèten pwogram oswa sistèm pa prezante, pa sipoze li pa afekte.
Ekspozisyon nan vilnerabilite sa a gen anpil chans, e menm si yon espesifik chemine teknoloji pa aplike Java, ekzekitif sekirite yo ta dwe atann sistèm founisè kritik, founisè SaaS, founisè hosting nwaj, ak founisè sèvè entènèt fè sa.
Ki jan yo tcheke pou vilnerabilite Log4j?
Premye etap la se detèmine si yon atak te deja fèt. Ou ka fè sa lè w tcheke mòso sistèm yo pou fragman chaj RCE.
Si yon rechèch pou tèm tankou "jndi", "ldap", oswa "$::" bay nenpòt mòso bwa, chèchè sekirite yo ta dwe eksplore pi lwen pou wè si se te yon atak lejitim oswa si se te sèlman anprent.
Anpil atak nan bwa yo te dekouvri ki pa te delivre okenn chaj danjere. Sepandan, yo te pote soti nan ekspè sekirite yo detèmine konbyen apps yo te vilnerab a atak sa a.
Pwochen etap la se sèvi ak bibliyotèk Log4j pou idantifye tout pwojè yo. Si yo itilize vèsyon ant 2.0-beta9 ak 2.14.1, pwojè a ka sansib.
Etandone difikilte pou detèmine kote vilnerabilite sa a egziste, li ka pi bon pou sipoze pwojè a sansib epi mete ajou bibliyotèk la se pi bon aksyon pou retire danje ekzekisyon kòd.
Pwojè a pa vilnerab si vèsyon an itilize mwens pase 2.0-beta 9, byenke bibliyotèk Log4j la ta dwe toujou modènize paske vèsyon nan seri 1.x yo fin vye granmoun epi yo pa jwenn mizajou ankò.
Kit yo dekouvri yon pwojè sansib, li konseye pou tcheke li pou wè si nenpòt enfòmasyon ki konekte lè l sèvi avèk Log4j gen enfòmasyon itilizatè a ka chanje. URL, paramèt demann, headers, ak bonbon yo se egzanp done sa yo. Si youn nan sa yo konekte, pwojè a an danje.
Konesans sa a ka ede w nan fouye pi lwen nan mòso bwa sistèm yo ak detèmine si aplikasyon entènèt ou a te deja atake.
Gen zouti gratis sou entènèt ki ka detekte si yon aplikasyon entènèt vilnerab. Youn nan pwogram sa yo se Log4Shell chasè. Li se sous louvri epi li disponib sou GitHub.
Si yo dekouvwi yon zòn vilnerab nan kòd nan aplikasyon an sou entènèt, chaj la ki bay zouti divilge a ka itilize pou enjekte li nan aplikasyon entènèt la. Zouti tès la ta revele koneksyon ki fèt ant aplikasyon entènèt ou a ak sèvè LDAP yo si vilnerabilite a te eksplwate.
Solisyon pou ranje vilnerabilite Log4j
Premye etap la se mete ajou Log4j, sa ou ka fè lè w sèvi ak administratè pakè nòmal yo oswa lè w telechaje li dirèkteman nan sa a. paj.
Li posib tou pou diminye eksplwatasyon vilnerabilite a lè w mete varyab anviwònman FORMAT MSG NO LOOKUPS a vre. Kontre mezi sa a, sepandan, se sèlman aplikab a Log4j vèsyon ki pi gran pase oswa egal a 2.10.
Se pou nou kounye a konsidere opsyon altènatif.
1. solisyon pou Log4j vèsyon 2.17.0
Li definitivman konseye anpil pou itilize Log4j vèsyon 2.15.0 pou pwoteje kont Log4Shell, sepandan, si sa a pa posib, lòt solisyon yo disponib.
Vèsyon 2.7.0 ak pita nan Log4j: Li posib pou pwoteje kont nenpòt atak lè w chanje fòma evènman yo dwe konekte lè l sèvi avèk sentaks pousan m nolookups pou done itilizatè a bay yo. Aktyalizasyon sa a mande pou modifye fichye konfigirasyon Log4j pou jenere yon nouvo vèsyon pwogram nan. Kòm yon rezilta, anvan deplwaye nouvo vèsyon sa a, etap validasyon teknik ak fonksyonèl yo dwe repete.
Log4j vèsyon 2.10.0 ak pita: Li posib tou pou pwoteje kont nenpòt atak lè w mete paramèt konfigirasyon log4j2.formatMsgNoLookups sou vre, pa egzanp, lè w kòmanse machin vityèl Java a ak opsyon -Dlog4j2 la. formatMsgNoLookups = vre, Yon lòt opsyon se retire klas JndiLookup nan agiman classpath, ki pral retire vektè atak prensipal la (chèchè yo pa ekskli posibilite pou yon lòt vektè atak).
Amazon Web Services bay yon hotpatch ki "ta dwe itilize sou pwòp risk ou." Lòt "teknik," tankou Logout4Shell, ki "itilize vilnerabilite sa a kont tèt li," yo te pibliye. Ekspè nan sekirite a kesyone legalite mouvman sa a, ki enplike "rache yon machin pou ranje li."
2. Pwoblèm lan te rezoud nan Log4j v2.17.0.
Pou vèsyon ki pi gran pase 2.10: Log4j2.formatMsgNoLookups ta dwe mete sou vre.
Pou vèsyon 2.0 jiska 2.10.0: Kouri lòd sa a pou retire klas LDAP nan Log4j.
Log4j2.formatMsgNoLookups ta dwe mete sou vre nan paramèt sistèm yo.
Diminisyon nan JVM
Diminisyon ak paramèt JVM se pa yon opsyon ankò. Lòt metòd atténuation kontinye gen siksè. Upgrade ak Log4j vèsyon 2.17.0 si sa posib. Gen yon gid migrasyon ki disponib pou Log4j v1.
Si yon aktyalizasyon pa posib, asire w ke konpozan bò kliyan ak bò sèvè yo genyen -Dlog4j2.formatMsgNoLookups = vre pwopriyete sistèm lan.
Tanpri sonje ke Log4j v1 rive nan fen lavi li (EOL) epi li p ap resevwa repare ensèk ankò. Lòt vektè RCE yo tou sansib a Log4j v1. Pakonsekan, nou ankouraje w ajou ak Log4j 2.17.0 pi vit ke posib.
3. Mezi mitigasyon
Eksplwatasyon aktyèl yo pa ka travay menm si Log4j sansib nan kèk ka, tankou si machin lame a ap kouri yon vèsyon Java ki pi wo pase 6u212, 7u202, 8u192, oswa 11.0.2.
Sa a se akòz pi bon pwoteksyon Java Naming ak Anyè Entèfas (JNDI) klas aleka chaje nan vèsyon aktyèl yo, ki nesesè pou atak la opere.
Anplis de sa, ak vèsyon Log4j ki pi gwo pase 2.10, pwoblèm nan ka evite lè w mete valè sistèm formatMsgNoLookups la sou vre, bay agiman JVM -Dlog4j2.formatMsgNoLookups = vre, oswa efase klas JndiLookup la nan chemen klas la.
Antretan, jiskaske ka vilnerab yo fikse, yo ka adrese vilnerabilite a lè l sèvi avèk teknik ki anba yo:
- Mete pwopriyete sistèm log4j2.formatMsgNoLookups sou vre pou >=2.10.
- Mete opsyon anviwònman LOG4J FORMAT MSG NO LOOKUPS la vre pou >=2.10.
- Retire JndiLookup.class nan classpath pou 2.0-beta9 rive 2.10.0: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Youn nan pi bon pratik rekòmande se limite trafik soti nan entènèt la sèlman nan pò ki apwopriye yo.
Menm si pifò atak nan jaden an yo delivre sou HTTP, vilnerabilite a ta ka eksplwate atravè nenpòt pwotokòl ki anrejistre done itilizatè yo lè l sèvi avèk Log4j.
Sepandan, mete ajou nan log4j 2.17.0 se pi bon remèd paske yon moun ka dekouvri yon apwòch adisyonèl nan pwoblèm nan. Anplis de sa, yon anpil nan piblikatè ak manifaktirè yo te anonse amelyorasyon nan sèvis yo oswa aplikasyon yo.
4. Log4Shell patch vilnerabilite
Log4j omniprezan, sitou kounye a ke vilnerabilite a ap eksplwate. Pou rezime, tout sa ou bezwen fè se mete karaktè sa yo nan mòso bwa Log4j enspekte yo.
Epi sa a pral telechaje ak egzekite fichye Java ki sitiye nan fen URL la. Li senp menm jan li dramatik.
Kòm ou konnen, li enpòtan pou ajou log4j ak vèsyon >= 2.17.0 pou remèd vilnerabilite Log4Shell sa a (CVE-2021-44228).
Si sa pa posib:
Pou aplikasyon ki sèvi ak vèsyon bibliyotèk Log4j 2.10.0 ak pita, li posib tou pou pwoteje kont nenpòt atak lè w mete paramèt konfigirasyon log4j2.formatMsgNoLookups a vre, pa egzanp, pandan w ap kòmanse machin vityèl Java a ak -Dlog4j2.formatMsgNoLookups = vre. opsyon.
Yon lòt opsyon se efase klas JndiLookup nan agiman classpath, ki pral retire vektè atak prensipal la (chèchè yo pa ekskli egzistans yon lòt vektè atak).
nòt
Òganizasyon ki ezite oswa ki pa vle fè ajisteman nan sistèm sansib (oswa ki men ki vle enstale pwoteksyon siplemantè) ta dwe reflechi sou:
- Asire w ke tout trafik yo dirije atravè yon iSensor/WAF/IPS. Sa a ka anpeche atak la jwenn aksè nan sistèm nan.
- Limite kantite trafik ki ka rive nan sistèm sansib la Si sistèm nan pa bezwen konekte ak entènèt la, limite aksè a jis esansyèl ak konfyans IPS ak chenn.
- Diminye trafik sòtan otorize lame a. Paske atak sa a opere pa konekte ak yon sèvè vakabon, tout adrès IP initil ak pò yo ta dwe bloke sou yon firewall.
- Si sèvis la pa nesesè ankò, li ta dwe enfim jiskaske yon ranje pare.
konklizyon
Defo Log4j yo te choke kominote nou an epi yo te raple nou tout jan nou depann sou lojisyèl sous louvri.
Log4j inik. Li pa ni yon sistèm operasyon, ni se yon navigatè, ni se yon lojisyèl. Olye de sa, se sa pwogramè yo refere kòm yon bibliyotèk, yon pake, oswa yon modil kòd. Li jis sèvi yon sèl objektif, se sa ki, kenbe yon dosye sou sa k ap pase sou yon sèvè.
Moun ki ekri kòd prefere konsantre sou sa ki fè lojisyèl yo diferan. Yo pa enterese nan reenvante wou an. Kòm yon rezilta, yo konte sou yon multitude nan bibliyotèk kòd ki egziste deja, tankou Log4j.
Modil Log4j la sòti nan Apache, lojisyèl sèvè entènèt ki pi lajman itilize. Se poutèt sa li ka dekouvri sou dè milyon de serveurs. Pakonsekan, ogmante menas sekirite yo.
Mwen espere solisyon ki anwo yo ede w kenbe aparèy ou yo an sekirite.
Rete branche HashDork pou plis enfòmasyon itil nan mond teknoloji a.
Kite yon Reply