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
Hacker News görüşleri
OpenSSH, en popüler
sshduygulamasıdır veliblzmakütüphanesine bağlanmaz; ancak Debian ve diğer birçok Linux dağıtımı,sshd'yisystemd'ye bağlayan yamalar ekler.systemd,liblzma'ya bağlı olduğu için xz Utilssshd'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
binutilspaketi deliblzma'ya bağlıdır ve OpenSSH'den daha yaygın kullanılır. Çoğu durumdabinutils, 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_decryptfonksiyonuna 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:
autotoolsveautotoolskültürü kötüdür.libsystemdekosistemde sorun yaratır.systemd'yi eleştirenler sık sık görmezden gelinir, ancaksystemdbü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.liblzmavexz-utilson milyonlarca kurulumda bulunuyor, ancak ortada ruh sağlığı sorunları yaşayan tek bir bakımcı vardı.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.