3 puan yazan GN⁺ 2024-04-02 | 1 yorum | WhatsApp'ta paylaş

xz Utils arka kapı olayı: Neredeyse tüm dünyayı enfekte edecek olay hakkında bildiklerimiz

  • xz Utils, Linux dahil olmak üzere neredeyse tüm Unix benzeri işletim sistemlerinde kurulu bulunan bir veri sıkıştırma yardımcı programıdır.
  • Bu yazılıma kötü niyetli bir güncelleme yapılmak üzereydi ve içine bir arka kapı yerleştirilmesine ramak kalan bir olay yaşandı.
  • Microsoft'ta çalışan bir geliştirici bu arka kapıyı keşfedip kamuoyuna açıkladı ve böylece Debian ile Red Hat gibi büyük Linux dağıtımlarına entegre edilmek üzere olan tehdit son anda engellendi.

Arka kapı nasıl çalışıyor?

  • 5.6.0 ve 5.6.1 sürümlerine eklenen kötü amaçlı kod, sshd, yani SSH bağlantıları için kullanılan yürütülebilir dosyayı manipüle ediyordu.
  • Belirli bir şifreleme anahtarına sahip olan biri, SSH oturum açma sertifikasına kod gizleyip yükleyebilir ve bunu arka kapının kurulu olduğu cihazda çalıştırabilirdi.
  • Gerçekte hangi kodun yüklendiği bilinmiyor, ancak teorik olarak kriptografik anahtar hırsızlığı ya da kötü amaçlı yazılım yükleme gibi çeşitli eylemler mümkündü.

Arka kapının yerleştirildiği yol

  • Arka kapının birkaç yıl boyunca hazırlanmış olduğu düşünülüyor.
  • 2021'de JiaT75 adlı bir kullanıcı açık kaynak projelere ilk katkısını yaptı.
  • 2023 Ocak'ta JiaT75, xz Utils'e ilk katkısını yaptı ve sonrasında Jia Tan adıyla giderek daha fazla sorumluluk üstlendi.
  • Tan, oss-fuzz projesinde Collins'in iletişim bilgilerini kendi bilgileriyle değiştirdi ve testler sırasında ifunc özelliğinin devre dışı bırakılmasını talep etti.
  • Bu değişiklikler, Tan'ın xz Utils'e kötü niyetli değişiklikler eklediğinde bunların tespit edilmesini zorlaştırdı.

Etkilenen dağıtımlar

  • Fedora Rawhide, Fedora 41, Debian testing/unstable/experimental, openSUSE Tumbleweed ve MicroOS ile Kali Linux, arka kapı eklenmiş xz sürümlerini içeriyordu.

GN⁺ görüşü

  • Bu olay, açık kaynak ekosistemindeki güvenlik zafiyetlerini ortaya koyarken geliştirici topluluğunda farkındalığı artıran bir dönüm noktası oldu.
  • Arka kapı yerleştirilmiş yazılımın yaygın kullanımı göz önüne alındığında, bu gelişme Linux kullanıcıları ve yöneticilerine hızlı güncelleme ile güvenlik denetiminin önemini yeniden hatırlattı.
  • Benzer bir örnek olarak SolarWinds saldırısı yaşanmıştı; o olay da tedarik zinciri saldırılarının riskini göstermişti.
  • Açık kaynak projelere katkı yapan geliştiricilerin kimliklerinin doğrulanması ve kod inceleme süreçlerinin güçlendirilmesi gerekiyor.
  • Bu olayın ardından güvenlik denetimleri ve zafiyet tespit araçlarının önemi daha da belirgin hale gelecek gibi görünüyor.

1 yorum

 
GN⁺ 2024-04-02
Hacker News görüşleri
  • OpenSSH, en popüler sshd uygulamasıdır ve liblzma kütüphanesine bağlanmaz; ancak Debian ve diğer birçok Linux dağıtımı, sshd'yi systemd'ye bağlayan yamalar ekler. systemd, liblzma'ya bağlı olduğu için xz Utils sshd'yi etkileyebilir.

  • Xz, açık kaynaklı bir sıkıştırma programı ve kütüphanesidir; sıkıştırılmış verileri işleyen kendi programlarınızı yazmanıza yardımcı olur. OpenSSH dahil birçok başka programda kullanılır.

  • GNU'nun binutils paketi de liblzma'ya bağlıdır ve OpenSSH'den daha yaygın kullanılır. Çoğu durumda binutils, OpenSSH'nin, sshd'nin çalıştığı işletim sisteminin vb. derlenmesinde kullanılır. Bu da kötü niyetli aktörlerin açık kaynak yazılıma derinlemesine sızmak için iyi bir proje seçtiğini gösterir.

  • Amaç, XZ projesinin uzun vadeli kararlılığına yardımcı olmak için daha fazla test yazmayı kolaylaştıracak standartlaştırılmış bir test çatısı kullanmaktır. Birçok işlev hâlâ test edilmediği için bu testler faydalı olacaktır.

  • RSA_public_decrypt fonksiyonuna bağlanabilen linking mekanizması hakkında çok fazla tartışma yoktu. Process separation gibi yöntemlerle nelerin başarılabileceği çok tartışıldı, ancak o fonksiyon çağrısının yeniden yönlendirilmesi hakkında az şey söylendi. Önemli bileşenleri güven katmanı yaklaşımıyla bağlamanın bir yolu oluşturulup oluşturulamayacağı sorgulanıyor.

  • Dünyayı "neredeyse" enfekte etti deniyor, ama gerçekte Arch, Gentoo, openSUSE Tumbleweed gibi popüler Linux dağıtımları haftalar boyunca backdoor içeren sürümleri dağıttı ve Tumbleweed'de bunun kesin olarak çalıştığı görüldü. "Neredeyse" ifadesi uygun değil.

  • Önümüzdeki 12 ay içinde benzer bir vakanın bulunacağı tahmini yapılıyor. Bu, bakımcıların birbirlerinin geçmiş commit'lerinden şüphelenmesiyle başlayacaktır.

  • Bu olaydan çıkarılan kişisel dersler:

    • Kaynak deposundan farklı kod içeren kaynak dağıtım tarball'ları kötüdür. Bu yöntemden uzaklaşmak gerekir.
    • Otomatik üretilen artifact'ler her zaman commit edilmelidir.
    • Kod incelemesi sırasında herkesin gözünden kaçan otomatik üretilen artifact'ler sorun olabilir. Depoda bu tür dosyalar varsa, birinin bunları manipüle etmediğini doğrulayan otomatik testler olmalıdır.
    • autotools ve autotools kültürü kötüdür.
    • libsystemd ekosistemde sorun yaratır. systemd'yi eleştirenler sık sık görmezden gelinir, ancak systemd büyük, karmaşık ve çok sayıda bağımlılığa sahiptir; çoğu program da bunun yalnızca küçük bir bölümünü kullanır.
    • Kod yeniden kullanımının her zaman iyi olduğu ve küçük bir işlev için büyük bir kütüphaneye bağımlı olmanın iyi olduğu yönündeki kültür yanlıştır. Bağımlılıklar bakım yükü ve güvenlik riski getirir; bu yüzden bunlar işlevsellikle dengelenmelidir.
    • Dağıtım bakımcılarının paketlere ciddi yamalar uygulaması sorun olabilir. Bu, gerçekte yöneten kimsenin olmadığı ama yaygın kullanılan fiilî fork'lar yaratır.
    • Geliştiricilerin OSS üzerinde maddi olarak çalışabilmesi sağlanmalıdır. liblzma ve xz-utils on milyonlarca kurulumda bulunuyor, ancak ortada ruh sağlığı sorunları yaşayan tek bir bakımcı vardı.
    • Kod incelemesi ve bakımcı değişiklikleri artık mevcut jeopolitik değerlendirmeleri de hesaba katmalıdır.
  • Sorunu fark eden kişinin Azure Postgres'te çalışan bir Microsoft mühendisi olmasına yönelik teşekkürler dile getiriliyor. Artık Azure daha sempatik geliyor.

  • xz'nin orijinal bakımcısı sorumluluğu Jia Tan'a devretti, ancak onunla gerçekten hiç yüz yüze görüşmemiş ya da telefonla konuşmamış olabilir. Yalnızca e-posta/GitHub üzerinden iletişim kurmanın normal olup olmadığı sorgulanıyor. Bu hikâyeden sonra açık kaynak proje bakımcılarının daha dikkatli olması bekleniyor.

  • Bu backdoor'un erken keşfedildiği düşünülse de, hedeflerine çoktan ulaşmış olabilir. Özellikle hedef Kali ve Debian gibi rolling release dağıtımlarını kullanan geliştiriciler idiyse bu daha da olası.

  • xz Utils'in uzun süredir bakımcılığını yapan Lasse Collin'in yazılımı sık ya da yeterince hızlı güncellemediği iddiasının bir hata olduğu ima ediliyor.