PyTorch Vakfı, 31 Aralık tarihli bir danışma belgesinde, çabanın, bilinmeyen bir varlığın Python Paket Dizininde aynı ada sahip bir paket oluşturduğu bir bağımlılık karıştırma saldırısı olduğunu belirtti. meşale, PyTorch projesinin bağlı olduğu bir kod kitaplığı olarak. Kötü amaçlı kitaplık, normalde PyTorch tarafından kullanılan ancak kötü amaçlı bir değişiklikle birlikte kullanılan işlevleri içeriyordu: Kurbanın sisteminden artık kullanılmayan bir etki alanındaki bir sunucuya veri yükleyecekti.
Kötü amaçlı işlev, sisteme özgü çeşitli bilgileri, kullanıcı adını, ortam değişkenlerini, kurbanın makinesinin bağlandığı ana bilgisayarların listesini, parola karmalarının listesini ve kullanıcının ana dizinindeki ilk 1.000 dosyayı ele geçirebilir.
Danışma belgesi, “PyPI dizini öncelikli olduğundan, resmi depomuzdaki sürüm yerine bu kötü amaçlı paket yükleniyordu” dedi. “Bu tasarım, birisinin bir üçüncü taraf dizininde bulunanla aynı ada sahip bir paketi kaydetmesini sağlar ve [the package manager] sürümlerini varsayılan olarak yükleyecektir.”
Saldırı, açık kaynak havuzlarını hedef alan en son yazılım tedarik zinciri saldırısıdır. Örneğin, Aralık ortasında araştırmacılar, siber güvenlik firması SentinelOne’dan bir müşteri kılığına girmiş ve PyPI’ye yüklenmiş kötü amaçlı bir paket keşfettiler. Kasım ayındaki bir başka bağımlılık karmaşası saldırısında, saldırganlar, dikkatsiz geliştiricileri kandırmak için tasarlanmış adlara sahip iki düzineden fazla popüler yazılım klonu oluşturdu. Benzer saldırılar, .NET odaklı Nuget deposunu ve Node.js Paket Yöneticisi (npm) ekosistemini hedef aldı.
Aynı İsim, Farklı Paketler
PyTorch’a yapılan son saldırıda saldırgan, PyTorch geliştiricilerinin projenin özel deposundan yükleyeceği bir yazılım paketinin adını kullandı ve kötü niyetli paket PyPI deposunda bulunduğu için öncelik kazandı. Danışma belgesinde, PyTorch Vakfı’nın gecelik yapılarındaki bağımlılığı kaldırdığı ve PyPI projesini zararsız bir paketle değiştirdiği belirtildi.
Grup ayrıca, meşale projenin indirme sayfasından bağımlıdır ve projenin sahipliğini almayı planladığını söyler. meşale PyPI üzerinde proje.
Neyse ki, çünkü meşale tritanı Siber güvenlik firması Sophos’ta baş araştırmacı bilim insanı Paul Ducklin, bir blog gönderisinde, bağımlılığın yalnızca programın gece yapılan yapılarına aktarıldığını, saldırının etkisinin tipik kullanıcılara yayılmadığını söyledi.
“PyTorch kullanıcılarının çoğunluğunun, gece derlemelerini kullanmadıkları veya tatil döneminde çalışmadıkları veya her ikisi nedeniyle bundan etkilenmeyeceğini tahmin ediyoruz” diye yazdı. “Ancak, gece yapılarıyla uğraşan bir PyTorch meraklısıysanız ve tatillerde çalışıyorsanız, güvenliğinizin ihlal edildiğine dair net bir kanıt bulamasanız bile, yine de yeni şeyler oluşturmayı düşünebilirsiniz. Önlem olarak SSH anahtar çiftleri ve SSH aracılığıyla eriştiğiniz çeşitli sunuculara yüklediğiniz ortak anahtarların güncellenmesi.”
PyTorch Foundation, PyTorch kitaplığının kararlı sürümünün kullanıcılarının sorundan etkilenmeyeceğini doğruladı.
Yanlış Niyetler?
Yaygın olarak dolaşan bir Mea Culpasaldırgan, meşru bir araştırmacı olduklarını ve sorunun bağımlılık karışıklığı sorunlarına yönelik araştırmalarından kaynaklandığını iddia etti.
“Birinin sırlarını çalmak gibi bir niyetim olmadığından emin olmak istiyorum.” yazan kişi29 Aralık’ta Facebook’a konuyu bildirdiğini ve HackerOne kitle kaynak platformunu kullanan şirketlere bildirimde bulunduğunu iddia ediyor. “Niyetim kötü niyetli olsaydı, asla doldurmazdım. [sic] herhangi bir hata ödülü rapor eder ve verileri en yüksek teklifi verene satmış olur.”
Açıklama nedeniyle, bazı uzmanlar PyTorch tavsiyesini bir “yanlış alarm”, ancak yanlış anlaşılan bir araştırmacı kisvesine bürünen başka saldırganlar da oldu.
Dahası, Sophos’tan Ducklin, yazılım tedarik zinciri saldırısıyla ilgili bir blog yazısında, kötü amaçlı yazılımın arkasındaki kişi iyi niyetli olsa bile, saldırının etkisinin kurbanların hassas bilgilerini açığa çıkarmış olabileceğini yazdı.
“Bu nasıl ‘yanlış alarm’ olur?” bir tweette de söyledi. “Bu kötü amaçlı yazılım, verilerinizi kasıtlı olarak çalıyor… ve şifreli değil, karıştırılmış olarak iletiyor… böylece ağ yolunuz üzerinde onu kaydeden herhangi biri önemsiz bir şekilde kodunu çözebilir.”