Java kütüphanesi Log4j'deki meşhur güvenlik açığına yönelik acil durum yaması kusursuz değildir. Apache Yazılım Vakfı, güvenlik açığını kesin olarak gidermek için yeni bir sürüm yayınlıyor.
Java için son derece popüler bir kitaplıkta bulunan bir güvenlik açığı, küresel BT ortamını sarsıyor. Kütüphanenin çoğu kurumsal ortamda mevcut olduğu tahmin edilmektedir.
Log4j esas olarak günlük kaydı için kullanılır. Uygulamalardaki olaylar notlarla kaydedilebilir. Oturum açma girişiminden sonra oturum açma ayrıntılarının çıktısını almayı düşünün. Veya Java'daki bir web uygulaması durumunda, kullanıcının bağlanmaya çalıştığı tarayıcının adı.
Son örnekler yaygındır. Her iki durumda da harici bir kullanıcı Log4j'nin çıkardığı günlüğü etkiler. Bu etkiyi kötüye kullanmak mümkündür. 4 Eylül 13 ile 2013 Aralık 5 arasındaki herhangi bir Log2021j sürümünün günlükleri, Java uygulamalarına kodu yerel bir cihazdaki uzak bir sunucudan çalıştırma talimatı verebilir.
Log2013j, 4'ten beri bir API işlemektedir: JNDI veya Java Adlandırma ve Dizin Arayüzü. JNDI'nin eklenmesi, bir Java uygulamasının yerel bir cihazdaki uzak bir sunucudan kod çalıştırmasına olanak tanır. Programcılar, bir uygulamaya uzak sunucu hakkında tek bir satırlık ayrıntı ekleyerek talimat verirler.
Sorun, kuralı uygulamalara ekleyemeyenlerin yalnızca programcılar olmamasıdır. Log4j'nin oturum açma girişimlerinin kullanıcı adlarını günlüğe kaydettiğini varsayalım. Birisi kullanıcı adı alanına yukarıda belirtilen satırı girdiğinde, Log4j satırı çalıştırır ve Java uygulaması, kodu belirtilen sunucuda çalıştırmak için bir komutu yorumlar. Aynı durum Log4j'nin bir HTTPS isteğini günlüğe kaydettiği durumlar için de geçerlidir. Bir tarayıcı adını satıra değiştirirseniz, Log4j satırı çalıştırarak dolaylı olarak kodu istenildiği gibi çalıştırması talimatını verir.
Acil durum yaması da güvensiz olabilir
9 Aralık'ta güvenlik açığı büyük ölçekte ortaya çıktı. Log4j'nin geliştiricisi Apache Yazılım Vakfı, güvenlik açığını gidermek için bir acil durum yaması (2.15) yayınladı. O zamandan bu yana, yazılım satıcılarının 2.15 sürümünü işlemesi ve kuruluşlar için bir yama sağlaması en büyük öncelik haline geldi.
Ancak güvenlik kuruluşu LunaSec, yamanın tamamen su geçirmez olmadığını belirtiyor. Bir ayarı değiştirmek ve JNDI komutlarının yürütülmesini günlüğe kaydetmek mümkün olmaya devam eder.
Lütfen unutmayın: 2.15'in değiştirilmemiş versiyonlarının gerçekten güvenli olması için ilgili ayarın manuel olarak yapılması gerekir. Yine de Luna Sec, tedarikçilerin ve kuruluşların Log4j 2.16'ya güncelleme yapmasını tavsiye ediyor. 2.16, Apache Software Foundation tarafından LunaSec'e yanıt olarak yayınlandı. Yeni sürüm, güvenlik açığı bulunan ayarları tamamen ortadan kaldırarak, kötüye kullanım koşullarının yaratılmasını imkansız hale getiriyor.