XZ Arka Kapısı: Bilmeniz Gereken Her Şey


Cuma günü, yalnız bir Microsoft geliştiricisi, Linux ve diğer Unix benzeri işletim sistemlerinin neredeyse tüm kurulumlarında kullanılabilen açık kaynaklı bir veri sıkıştırma aracı olan XZ Utils'e kasıtlı olarak bir arka kapı yerleştirildiğini ortaya çıkardığında dünyayı salladı. Bu projenin arkasındaki kişi veya kişiler muhtemelen bunun üzerinde yıllarını harcadı. Dikkatli bir yazılım geliştiricisi şüpheli bir şey fark ettiğinde arka kapı güncellemesinin Linux'un en büyük iki dağıtımı olan Debian ve Red Hat ile birleştirildiğini görmeye çok yaklaşmışlardı.

Yazılım ve kriptografi mühendisi Filippo Valsorda bu çaba hakkında şunları söyledi: “Bu, açıkta açıklanan en iyi gerçekleştirilen tedarik zinciri saldırısı olabilir ve bu bir kabus senaryosu: kötü niyetli, yetkin, yaygın olarak kullanılan bir kütüphanede yetkili yukarı yönlü saldırı.” bu da başarıya korkunç derecede yaklaştı.

Araştırmacılar hafta sonunu ipuçları toplamakla geçirdiler. Şu ana kadar bildiklerimiz bunlar.

XZ Yardımcı Programları Nedir?

XZ Utils Linux'ta neredeyse her yerde bulunur. Linux dahil hemen hemen tüm Unix benzeri işletim sistemlerinde kayıpsız veri sıkıştırma sağlar. XZ Utils, her türlü işlem sırasında verileri sıkıştırmak ve açmak için kritik işlevler sağlar. XZ Utils ayrıca eski .lzma formatını da destekleyerek bu bileşeni daha da önemli hale getiriyor.

Ne oldu?

Microsoft'un PostgreSQL teklifleri üzerinde çalışan bir geliştirici ve mühendis olan Andres Freund, yakın zamanda Debian sisteminin yaşadığı performans sorunlarını, İnternet üzerinden cihazlarda uzaktan oturum açmak için en yaygın kullanılan protokol olan SSH ile gideriyordu. Özellikle, SSH oturum açma işlemleri çok fazla CPU döngüsü tüketiyordu ve bilgisayar belleğini izlemeye yönelik bir yardımcı program olan valgrind'de hatalara neden oluyordu.

Tamamen şans ve Freund'un dikkatli bakış açısı sayesinde, sonunda sorunların XZ Utils'e yapılan güncellemelerin sonucu olduğunu keşfetti. Cuma günü Freund, Açık Kaynak Güvenlik Listesi'ne giderek güncellemelerin birisinin kasıtlı olarak sıkıştırma yazılımına arka kapı yerleştirmesinin sonucu olduğunu açıkladı.

Arka Kapı Ne İşe Yarar?

XZ Utils 5.6.0 ve 5.6.1 sürümlerine eklenen kötü amaçlı kod, .lzma sıkıştırma veya sıkıştırmayı açmayla ilgili işlemleri gerçekleştirirken yazılımın çalışma biçimini değiştirdi. Bu işlevler SSH'yi içerdiğinde, kötü amaçlı kodların kök ayrıcalıklarıyla yürütülmesine izin verdiler. Bu kod, önceden belirlenmiş bir şifreleme anahtarına sahip olan birinin arka kapılı sisteme SSH üzerinden giriş yapmasına olanak sağladı. O andan itibaren bu kişi herhangi bir yetkili yöneticiyle aynı düzeyde kontrole sahip olacaktır.

Bu Arka Kapı Nasıl Ortaya Çıktı?

Görünüşe göre bu arka kapının yapımı yıllar sürdü. 2021'de JiaT75 kullanıcı adına sahip biri, bilinen ilk açık kaynak projesine taahhütte bulundu. Geçmişe bakıldığında, libarşiv projesinde yapılan değişiklik şüphelidir çünkü Safe_fprint işlevini uzun süredir daha az güvenli olarak kabul edilen bir değişkenle değiştirmiştir. O sırada kimse fark etmedi.

Ertesi yıl, JiaT75, XZ Utils e-posta listesi üzerinden bir yama sundu ve hemen ardından, Jigar Kumar adında daha önce hiç görülmemiş bir katılımcı tartışmaya katıldı ve XZ Utils'in uzun süredir bakımını yapan Lasse Collin'in bu güncellemeyi almadığını savundu. Yazılımın sık sık veya yeterince hızlı güncellenmesi. Kumar, Dennis Ens'in ve listede hiç yer almayan birkaç kişinin desteğiyle Collin'e projeyi sürdürmek için ek bir geliştirici getirmesi konusunda baskı yaptı.

Ocak 2023'te JiaT75, XZ Utils'e ilk taahhütünü gerçekleştirdi. Takip eden aylarda Jia Tan adını kullanan JiaT75, XZ Utils işlerine giderek daha fazla dahil olmaya başladı. Örneğin Tan, açık kaynaklı yazılımları istismar edilebilecek güvenlik açıklarına karşı tarayan bir proje olan oss-fuzz'da Collins'in iletişim bilgilerini kendi bilgileri ile değiştirdi. Tan ayrıca oss-fuzz'dan, test sırasında ifunc işlevini devre dışı bırakmasını talep etti; bu, Tan'ın yakında XZ Utils'te yapacağı kötü niyetli değişiklikleri tespit etmesini engelleyen bir değişiklikti.

Bu yılın Şubat ayında Tan, XZ Utils'in 5.6.0 ve 5.6.1 sürümleri için taahhütler yayınladı. Güncellemeler arka kapıyı uyguladı. Sonraki haftalarda Tan ve diğerleri, Ubuntu, Red Hat ve Debian geliştiricilerine güncellemeleri kendi işletim sistemleriyle birleştirmeleri konusunda çağrıda bulundu. Güvenlik firması Tenable'a göre, sonunda iki güncellemeden biri birkaç sürümde yerini aldı. Burada Tan ve zaman çizelgesi hakkında daha fazla bilgi var.

Bu Arka Kapının Ne Yaptığı Hakkında Daha Fazla Şey Söyleyebilir misiniz?

Özetle, doğru özel anahtara sahip birinin, SSH bağlantılarını yapmaktan sorumlu yürütülebilir dosya olan sshd'yi ele geçirmesine ve oradan kötü amaçlı komutlar yürütmesine olanak tanır. Arka kapı, kendisini gizlemek için bir dizi basit ama akıllı teknik kullanan beş aşamalı bir yükleyici aracılığıyla uygulanır. Ayrıca yeni yüklerin büyük değişiklikler gerektirmeden teslim edilmesine olanak sağlar.

Güncellemelere tersine mühendislik uygulayan birçok kişinin arka kapı hakkında söyleyecek çok şeyi var. Geliştirici Sam James burada bir genel bakış sundu.



Source link