Log4j nədir, təsiri, aşkarlanması və qarşısının alınması




Log4j nədir?


CVE-2021-44228 kodu ilə CVE məlumat bazasında saxlanılan log4j boşluğu Apache veb serverinin log4j kitabxanasında yerləşən remote code execution boşluğudur. Belə ki, Apache log4j Java Naming and Directory Interface əsaslı işləyir, hücumçulara log mesajlarını sorğulamaq üçün icazə verir və lookup sorğuları göndərdiyi serverlər üzərindən kod çalışdırmasını təmin edir. Bu serverlər LDAP, DNS və yaxud başqa log4j kitabxanası ilə çalışan xidmət ola bilər. JNDI bir java api-dır. Bu api sizə LDAP və DNS kimi xidmətlər üzərindən əlaqəyə keçərək data axtarışı etməyinizə icazə verir. Bu boşluğun istifadəsi ilə potensial hücumçu hər hansısa bir veb serverə LDAP sorğusu göndərə bilər. Bu sorğunun geri döndərdiyi java klasının içində yerləşən zərərli kod veb server üzərində çalışa bilər.


Nə kimi təsirləri var?


Log4j -nin əsas təsirləri kimi göstərə bilərik ki, Java-nın JINDI api ilə çalışan bütün xidmətləri potensial hədəfə çevriliblər və çox dərin biliklərə malik olmayan hakerlər belə log4j boşluğundan istifadə edə bilərlər. Hal-hazırda Steam, Minecraft, Apple iCloud kimi böyük şirkətlərin də bulud xidmətlərində eyni adlı boşluq aşkar edilmişdir. Həmçinin, bu boşluq sayəsində hücumçu serverdə kod çalışdırmaqdan əlavə olaraq, həm də serverə ransomware, trojan, worm və s. kimi zərərli proqram təminatı yükləyə bilər. Lakin hücumçuları tapmaq üçün ldapsearch alətindən istifadə edərək sonuncu payload-ın yerini taparaq potensial zərərvericini aşkar etmək mümkündür.


Necə aşkarlaya bilərik?


Log4j boşluğunu aşkarlamaq üçün Github üzərindən bu scripti öz əməliyyat sisteminizə və CPU arxitekturanıza uyğun variantını yükləyərək və öz şəxsi proyektlərinizdə *.jar və ya *.war uzantılı fayllarınızı skan edərək bu boşluğun olub olmamasını yoxlaya bilərsiniz.


Nümunə kodlar:


Linux və OSX: log4shell scan your-project-dir/

Windows: log4shell.exe scan your-project-dir/


Həmçinin siz Portswigger-in BurpSuite aləti üçün yayımladığı log4j skaneri vasitəsi ilə də siz bu boşluğu aşkarlaya bilərsiniz. Bu aləti Github üzəridən BurpSuite-nin BApp Store-si üzərindən yükləyə bilərsiniz. Daha ətraflı bu video təlimatı izləməyiniz tövsiyə olunur.



Qarşısını necə ala bilərik?


Log4j boşluğu əsasən log4j 2.15.0-dan daha aşağı versiyalarda hələ də öz mövcudluğunu qoruyub saxlaya bilmişdir. Lakin 2.16.0 versiyası ilə boşluq fiks edilmişdir. Bu versiyanı Apache-nin log4j səhifəsindən yükləyə bilərsiniz. Əgər 2.10.0-dan yüksək olan versiyaları (2.10.0-2.14.0) işlədirsinizsə, sistem xarakteristikalarından "log4j2.formatMsgNoLookups" dəyərini “true” edərək fix edə bilərsiniz. 2.0-beta9-dan 2.10.0-a qədər olan versiyalar üçün isə JndiLookup klasını silərək bunun qarşısını ala bilərsiniz. Məsələn, zip -q -d log4j-core-*.jar.org/apache/logging/log4j/core/lookup/JndiLookup.class)


Müəssisənizdə bu boşluğun aşkarlanması və qarşısının alınması ilə bağlı Defscope-un peşəkar komandasına müraciət edə bilərsiniz.


Email: support@defscope.com

Telefon: +99412 4092565, 055 2040826




Referanslar:


317 views0 comments