Zephyrnet Logosu

Log4J güvenlik açığı nasıl tespit edilir ve yamalanır - IBM Blogu

Tarih:

Log4J güvenlik açığı nasıl tespit edilir ve yamalanır - IBM Blogu



Karanlık odada bilgisayar üzerinde çalışan BT uzmanı

Log4j güvenlik açığı veya “Log4Shell,” şimdiye kadarki en yıkıcı yazılım kusurlarından biri olarak kabul ediliyor. Apache, kusuru Aralık 2021'de yamaladı ancak bu durum güvenlik ekipleri için endişe kaynağı olmaya devam ediyor. Aslında hala arasında en çok istismar edilen güvenlik açıkları.

Log4Shell varlığını sürdürüyor çünkü etkilediği Apache Log4j 2 yazılım paketi dünyanın en yaygın kullanılan günlük kitaplıklarından biri. Log4Shell'in her örneğini bulmanın ve düzeltmenin on yıl sürmesi bekleniyor. ABD İç Güvenlik Bakanlığı.

Bu arada güvenlik ekipleri, ağlarında Log4Shell azaltma ve iyileştirme işlemlerini hızlandırmak için bazı adımlar atabilir. 

Log4j güvenlik açıklarını anlama  

Log4Shell'in nasıl tespit edilip yamalanacağı konusuna girmeden önce, güvenlik açığının doğasını anlamak önemlidir.

log4j bir programdaki bilgileri ve olayları kaydeden açık kaynaklı bir günlükçüdür (Apache Yazılım Vakfı tarafından korunur). Log4j bağımsız bir yazılım değil, geliştiricilerin kendi Java uygulamalarına ekleyebilecekleri bir kod paketidir. Apache Log4j çerçevesi, Amazon Web Services (AWS) ve Cisco çözümleri gibi ağ altyapısından Twitter ve Minecraft gibi popüler uygulamalara kadar web üzerindeki en büyük hizmetlerden bazılarında kullanılmaktadır.

Log4j'nin bazı sürümleri (özellikle Log4j 2.17.0 ve altı) ciddi güvenlik açıklarına sahiptir. Bunlardan en tehlikelisi Log4Shell (CVE-2021-44228; CVSS derecesi: 10), uzaktan kod yürütme (RCE) sıfır gün güvenlik açığı Log4j'nin 2.14.1 ve önceki sürümlerinde bulunur. 

Log4Shell, Log4j'nin savunmasız sürümlerinin Java Adlandırma ve Dizin Arayüzünü (JNDI) nasıl işlediğinin bir sonucudur. API Java uygulamalarının harici sunucularda barındırılan kaynaklara erişmek için kullandığı. Tehdit aktörleri, Log4j aracılığıyla kötü amaçlı JNDI arama komutları göndererek savunmasız sistemlerin neredeyse tüm kontrolünü ele geçirebilir. Bu komutlar, uygulamayı hemen hemen her şeyi yapabilen rastgele kod çalıştırması için kandırır: veri çalmakyüklemek fidye, cihazları çevrimdışına alın ve daha fazlasını yapın.

Log4Shell saldırıları

Tipik bir Log4Shell cyberattack şu şekilde çalışır: 

  1. Bilgisayar korsanı, Basit Dizin Erişim Protokolü (LDAP) veya Etki Alanı Adı Sistemi (DNS) gibi ortak bir protokolü kullanarak bir sunucu kurar. 
  2. Bilgisayar korsanı, kötü amaçlı yazılım veya başka bir kötü amaçlı yükü sunucuda depolar.
  3. Bilgisayar korsanı, Log4j çalıştıran bir uygulamaya bir JNDI araması göndererek uygulamayı bilgisayar korsanının sunucusuna yönlendirir. 
  4. JNDI araması, uygulamanın bilgisayar korsanının sunucusuna bağlanmasına, kötü amaçlı yükü indirmesine ve kötü amaçlı kodu yürütmesine neden olur. 

İlgili Log4j güvenlik açıkları ve bunların nasıl istismar edildiği

Apache, Log4Shell'e yama yapmaya çalışırken, güvenlik araştırmacıları Log4j'nin bazı sürümlerinde bir takım ilgili kusurları tespit etti. Bunlar şunları içerir: 

  • CVE-2021-45046 Bilgisayar korsanlarının, belirli varsayılan olmayan ayarları kullanan sistemlere, söz konusu sistemler Log4Shell'i düzeltmiş olsa bile, kötü amaçlı JNDI aramaları göndermesine olanak tanır. Log4j 2.15 ve altındaki sürümlerde mevcuttur.  
  • CVE-2021-45105 bilgisayar korsanlarının başlatılmasını sağlar hizmet reddi saldırıları Log4j'e kötü amaçlı mesajlar göndererek. Log4j 2.16 ve altındaki sürümlerde mevcuttur. 
  • CVE-2021-44832 uzaktan kod yürütme güvenlik açığıdır. Bu kusur Log4Shell'e göre daha az kritiktir çünkü bilgisayar korsanlarının bundan faydalanabilmesi için yüksek izinler alması gerekir. Log4j 2.17 ve altındaki sürümlerde mevcuttur.  

Log4j güvenlik açıkları nasıl tespit edilir   

Bir ağda Log4j'nin savunmasız her örneğini bulmak zor olabilir. Log4j tahmini olarak görünüyor milyonlarca uygulamaBu, güvenlik ekiplerinin incelemesi gereken çok sayıda varlık olduğu anlamına gelir. 

Ayrıca Log4j genellikle dolaylı bir bağımlılık olarak mevcuttur. Bu, doğrudan bir varlığın kaynak kodunda yer almadığı, ancak varlığın bağlı olduğu bir yazılım paketine veya entegrasyona bağımlılık olarak göründüğü anlamına gelir. Google raporları En savunmasız Log4j örneklerinin bağımlılık zincirinde birden fazla seviye derinliğinde olduğu ve bazılarının dokuz seviyeye kadar derinlikte olduğu görülüyor.

Bununla birlikte, güvenlik ekipleri Log4j açıklarını doğru taktikler ve araçlarla tespit edebilir.  

Bakılacak şey

Log4j 2'nin 2.0-beta9'dan 2.17'ye kadar her sürümü Log4Shell'e veya ilgili bir kusura karşı savunmasızdır. Başka bir deyişle, güvenlik ekipleri Log4j'nin 2.17.1'den önceki herhangi bir sürümünü bulmalı ve ele almalıdır.

Log4Shell ve ilgili kusurları yalnızca Log4j'nin temel işlevlerini sağlayan "Log4j-core" dosyalarında mevcuttur. Kusurlar, uygulamalar ve Log4j kaydediciler arasındaki arayüzü kontrol eden "Log4j-api" dosyalarında mevcut değil.

Log4j, şirketin kontrol ettiği varlıklarda, şirketin kullandığı üçüncü taraf varlıklarında (örneğin bulut hizmetleri) ve şirket ağına erişimi olan hizmet sağlayıcıların kullandığı varlıklarda görünebilir. Log4j büyük olasılıkla Java tabanlı uygulamalarda görünse de, bağımlılıklar ve entegrasyonlar yoluyla Java dışı uygulamalarda da mevcut olabilir.

Java uygulamalarında Log4j gibi kitaplıklar genellikle Java Arşivi dosyalarında veya "JAR dosyalarında" paketlenir. JAR dosyaları diğer JAR dosyalarını içerebilir ve bunlar da kendi JAR dosyalarını vb. içerebilir. Log4j'nin tüm savunmasız sürümlerini bulmak için güvenlik ekiplerinin yalnızca üst düzey dosyaları değil, tüm JAR dosyalarını incelemesi gerekir.

nasıl bulunur 

Uzmanlar, Log4j açıklarını bulmak için çeşitli tekniklerin bir arada kullanılmasını öneriyor.

Manuel aramalar. Güvenlik ekipleri Log4j kusurlarını manuel olarak arayabilir. Bir uygulamadaki tüm bağımlılıkları haritalayan bağımlılık ağaçları oluşturmak için Apache Maven gibi geliştirme araçlarını kullanabilirler veya harici tehdit istihbaratı Etkilenen varlıkları belirlemek için. Örneğin Siber Güvenlik ve Altyapı Güvenliği Ajansı (CISA), Log4Shell'den zarar gördüğü bilinen yazılımların bir listesini derledi. Liste mevcut GitHub'da.

Linux, Microsoft Windows ve macOS işletim sistemlerinde güvenlik ekipleri, komut satırı arayüzünü kullanarak Log4j örnekleri için dosya dizinlerinde arama yapabilir.

Güvenlik açığı tarama araçları. Log4Shell'in keşfinin ardından bazı kuruluşlar Log4j açıklarını bulmak için tasarlanmış ücretsiz araçlar yayınladı. Örnekler şunları içerir: Palantir'in Log4j algılayıcısı ve CERT Koordinasyon Merkezi'nin tarayıcısı, Diğerleri arasında.

Özel tarayıcılar hâlâ mevcut olsa da, birçok standart güvenlik çözümü gibi güvenlik açığı tarayıcıları, saldırı yüzeyi yönetimi (ASM) platformları ve uç nokta algılama ve yanıt (EDR) çözümleri artık Log4j açıklarını tespit edebiliyor.

Log4Shell bağımlılık zincirlerinin derinliklerine gizlenebildiği için güvenlik ekipleri otomatik taramaları aşağıdakiler gibi daha uygulamalı yöntemlerle destekleyebilir: penetrasyon testleri.

Tehdit avcılığı. CISA'ya göreSaldırganların bir ağa sızmak için Log4Shell'i kullandıkları ve ardından izini kaybettirmek için ele geçirdikleri varlığa yama yaptıkları biliniyor. Bu nedenle, güvenlik ekiplerinin bir ihlalin zaten gerçekleştiğini varsayması ve aktif olarak avlanmak Log4Shell'in kötüye kullanıldığına dair işaretler için.

Siber güvenlik araçları gibi güvenlik bilgileri ve etkinlik yönetimit (SIEM) çözümleri ve genişletilmiş algılama ve yanıt (XDR) platformları, garip günlük girişleri veya şüpheli trafik modelleri gibi Log4Shell ile ilişkili anormal etkinliklerin tespit edilmesine yardımcı olabilir. Güvenlik ekipleri tam olarak başlamalı olay yanıtı ve bir saldırının sonuçlarının ne kadar ciddi olabileceği göz önüne alındığında, Log4Shell'e dair olası herhangi bir ipucu için soruşturma prosedürleri.

Log4j güvenlik açıkları nasıl düzeltilir

Güvenlik ekiplerinin Log4j güvenlik açıklarını ele alırken birkaç seçeneği vardır.

En iyi durum: Savunmasız sistemlerin yamalanması  

Log4Shell ve ilgili kusurların tamamen giderilmesi için kuruluşların ağlarındaki tüm Log4j örneklerini en son sürüme (veya en azından sürüm 2.17.1'e) güncellemesi gerekir. Log4j'nin en son sürümleri, saldırganların yararlanabileceği işlevleri ve LDAP gibi yaygın olarak kötüye kullanılan protokollere yönelik desteği ortadan kaldırır.

Sistem çapında tek bir yama mevcut değildir ve Java'nın güncellenmesi sorunu gidermez. Güvenlik ekipleri, etkilenen her varlıktaki Log4j'nin her örneğini güncellemelidir. 

Diğer azaltıcı önlemler

Güvenlik araştırmacıları bu konuda hemfikir yamama ideal çözümdür. Yama uygulamak mümkün değilse kuruluşlar, saldırı olasılığını en aza indirmek için diğer azaltma adımlarını kullanabilir.

Savunmasız uygulamalarda mesaj aramalarına izin verilmemesi. Saldırganlar, savunmasız uygulamalara kötü amaçlı komutlar göndermek için Log4j'nin "mesaj arama değiştirmeleri" adı verilen bir özelliğini kullanıyor. Güvenlik ekipleri, "Log4j2.formatMsgNoLokups" sistem özelliğini "true" olarak değiştirerek veya "LOG4J_FORMAT_MSG_NO_LOOKUPS" ortam değişkeninin değerini "true" olarak ayarlayarak bu işleve manuel olarak izin vermeyebilir.  

Mesaj arama değiştirme fonksiyonunun kaldırılması saldırganların saldırmasını zorlaştırsa da kusursuz değildir. Kötü niyetli aktörler, varsayılan olmayan ayarlara sahip uygulamalara kötü amaçlı JNDI aramaları göndermek için CVE-2021-45046'yı kullanmaya devam edebilir.

JNDIlookup sınıfını savunmasız uygulamalardan kaldırmak. Log4j'de JNDIlookup sınıfı, kaydedicinin JNDI aramalarını nasıl işleyeceğini yönetir. Bu sınıf Log4j'nin sınıflar dizininden kaldırılırsa JNDI aramaları artık gerçekleştirilemez.

Apache JNDIlookup sınıfını savunmasız uygulamalardan kaldırmak için aşağıdaki komutun kullanılabileceğini belirtiyor:   

zip -q -d Log4j-core-*.jar org/Apache/logging/Log4j/core/lookup/JndiLookup.class

Bu yöntem, mesaj aramalarına izin vermemekten daha etkili olsa da, saldırganların yinelemeli aramalar yoluyla hizmet reddi saldırılarını tetiklemek gibi diğer istismar girişimlerini gerçekleştirmesini engellemez.

Potansiyel Log4Shell saldırı trafiğini engelleme. Güvenlik ekipleri kullanabilir web uygulaması güvenlik duvarları (WAF'ler), saldırı tespit ve önleme sistemleri (IDPS), EDR'ler ve diğer siber güvenlik araçları, LDAP veya RMI gibi yaygın olarak kullanılan protokolleri engelleyerek saldırgan tarafından kontrol edilen sunuculara giden ve sunuculardan gelen trafiği engellemek için kullanılır. Güvenlik ekipleri de engelleyebilir Saldırılarla ilişkili IP adresleri veya saldırganların kötü amaçlı isteklerde yaygın olarak kullandığı "jndi", "ldap" ve "rmi" gibi dizeler.

Ancak saldırganlar yeni protokoller ve IP adresleri kullanarak veya kötü amaçlı dizeleri gizleyerek bu savunmaları aşabilirler.

Etkilenen varlıkların karantinaya alınması. Her şey başarısız olursa, güvenlik ekipleri bir yama beklerken etkilenen varlıkları karantinaya alabilir. Bunu yapmanın bir yolu, savunmasız varlıkları doğrudan internetten erişilemeyen izole bir ağ bölümüne yerleştirmektir. Ekstra koruma için bu ağ kesiminin etrafına bir WAF yerleştirilebilir.

Log4Shell'i uzak tutmak

Log4Shell'i düzeltmenin en zor yanlarından biri, her zaman yamalı kalmamasıdır. Kasım 2022'de, savunulabilir rapor edildi Log29Shell'e karşı hala savunmasız olan varlıkların %4'unun "tekrarlama" olduğu, yani yama uygulandıkları ancak kusurun yeniden ortaya çıktığı anlamına geliyor. Geliştiriciler, uygulamaları oluşturmak veya güncellemek için yanlışlıkla Log4j'nin yama yapılmamış sürümlerini içeren yazılım kitaplıklarını kullandığında yinelenmeler meydana gelir.

Geliştiriciler kullandıkları çerçeveleri daha yakından inceleyebilirken, JAR dosyalarının birkaç düzeyde derinlerinde bulunan Log4j'nin savunmasız sürümlerini gözden kaçırmak kolaydır.

Resmi uygulama güvenlik açığı yönetimi ve yama yönetimi programlar, güvenlik ekiplerine Log4j güvenlik açıklarının geri dönüşüne karşı varlıkları izlemenin daha etkili bir yolunu sunabilir. Düzenli güvenlik açığı taraması ve sızma testleri, Log4Shell veya başka şekilde yeni güvenlik açıklarının hızla yakalanmasına yardımcı olabilir. Yama yönetimi, satıcılar düzeltmeleri yayınlar yayınlamaz yeni güvenlik açıklarının kapatılmasını sağlar.   

Log4Shell ve diğer sıfır gün güvenlik açıklarıyla mücadelede daha fazla yardım

Bilgisayar korsanları, Log4Shell gibi sıfır gün güvenlik açıklarından kolaylıkla yararlanmak ve fidye yazılımı saldırıları ve diğer siber tehditleri başlatmak için otomatikleştirilmiş araçları giderek daha fazla kullanıyor. Geleneksel uç nokta güvenlik yaklaşımlarıyla çalışan güvenlik ekipleri, uyarı yorgunluğu, karmaşık araçlar ve uzun araştırmalarla karşı karşıya kalıyor ve bunlara ayak uydurmak için mücadele ediyor.

Eski adıyla ReaQta olan IBM Security® QRadar® EDR, çok az insan etkileşimi gerektiren veya hiç gerektirmeyen, kullanımı kolay akıllı otomasyonla bilinen ve bilinmeyen uç nokta tehditlerini neredeyse gerçek zamanlı olarak düzeltir. QRadar EDR ile analistler hızlı, bilgiye dayalı kararlar alabilir ve en önemli tehditlere odaklanmak için otomatik uyarı yönetimini kullanabilir. Gelişmiş sürekli öğrenme yapay zeka yetenekleri ve kullanıcı dostu arayüz, güvenlik personelinin kontrolü tekrar ele almasını sağlar ve iş sürekliliğinin korunmasına yardımcı olur.

IBM Security QRadar EDR'yi keşfedin

Kategoriler

Güvenlik'ten daha fazlası

SIEM ve tehdit istihbaratı: Trend olan tehditler konusunda güncel kalın

3 min kırmızı - Bir veri ihlalinin ortalama maliyetinin 4.45'te tüm zamanların en yüksek seviyesi olan 2023 milyon ABD dolarına ulaşmasıyla birlikte, kuruluşlar giderek artan sayıda siber güvenlik tehdidiyle karşı karşıyadır. Bu tehditler fidye yazılımı saldırılarından kimlik avı kampanyalarına ve içeriden gelen tehditlere kadar değişebilir ve potansiyel olarak veri ihlalleriyle sonuçlanabilir. Siber suçlular daha karmaşık hale geldikçe ve taktikleri daha çeşitli hale geldikçe, işletmelerin hassas verilerini ve dijital varlıklarını korumak için gelişmiş güvenlik önlemleri alması hayati önem taşıyor. Modern siber güvenlikte iki önemli araç…

Geliştirici Püf Noktaları: Yerel Uygulama Geliştirme için Bulut Güvenliğini Simüle Edin

5 min kırmızı - Güvenilir bir profil bilgi işlem kaynağının ortamını simüle etmek için yapmanız gereken her şey. Bu kulağa korkutucu geliyor mu? Güvenilir profil, bilgi işlem kaynağı, erişim belirteci, belirteç dönüşümü? Yakın zamanda Kubernetes'e dağıtılan bir uygulama için bunlarla uğraşmak zorunda kaldım. Bu blog yazısında, uygulamayı yerel makinemde nasıl geliştirip test ettiğimi tartışıyorum. Bir geliştirici olarak yerel olarak geliştirmeyi (test dahil) ve kodlamayı tercih ediyorum. Bazen kodun işlevsellikle etkileşime girmesi gerekir:

25 IBM Ürünü TrustRadius'tan En Yüksek Puanı Kazandı

2 min kırmızı - TrustRadius En Beğenilen Ödüllerinin en son sonuçları geldi. Müşterilerimize, IBM ürün ve çözümlerinin değeri hakkında geri bildirimde bulundukları için teşekkür ederiz. Deneyimleriniz ürün yol haritalarını şekillendirmeye devam ediyor ve incelemeleriniz güven veriyor. Müşteri geri bildirimi, potansiyel alıcılara, belirli bir ürünün sorunlarını gerçekten çözeceğine dair çok ihtiyaç duyulan güvenceyi sağlar ve hem artıları hem de eksileri çok önemli temel bilgiler olarak aktarır. Fiyat şeffaflığı ve ücretsiz demolar veya denemelerin yanı sıra TrustRadius Top Rated…

IBM Tech Now: 1 Mayıs 2023

<1 min kırmızı - IBM Security QRadar Suite, IBM Storage Güncellemeleri ve IBM Cloud Projeleri ve Maliyet Tahmini Teknoloji dünyasındaki en son ve en önemli haberleri ve duyuruları içeren video web serimiz IBM Tech Now'a hoş geldiniz. Yeni bir IBM Tech Now videosu yayınlandığında bildirim almak için YouTube kanalımıza abone olduğunuzdan emin olun. IBM Tech Now: Bölüm 75 Videoyu izleyin Bu hafta aşağıdaki konulara odaklanıyoruz: IBM Security QRadar Suite'e Giriş IBM Depolama Güncellemeleri IBM…

spot_img

En Son İstihbarat

spot_img