Terk edilmiş ancak hâlâ Java ve Android uygulamalarında kullanılan birçok halka açık ve popüler kütüphanenin, MavenGate adı verilen yeni bir yazılım tedarik zinciri saldırı yöntemine açık olduğu tespit edildi.

Oversecured, “Projelere erişim, alan adı satın alma yoluyla ele geçirilebilir ve varsayılan yapı yapılandırmalarının çoğu savunmasız olduğundan, bir saldırının gerçekleştirilip gerçekleştirilmediğini bilmek zor, hatta imkansız olabilir.” söz konusu Geçen hafta yayınlanan bir analizde.

Bu eksikliklerin başarılı bir şekilde kullanılması, hain aktörlerin bağımlılıklardaki yapıtları ele geçirmesine ve uygulamaya kötü amaçlı kod yerleştirmesine ve daha da kötüsü, kötü amaçlı bir eklenti aracılığıyla derleme sürecini tehlikeye atmasına olanak tanıyabilir.

Mobil güvenlik firması, Gradle da dahil olmak üzere tüm Maven tabanlı teknolojilerin saldırıya karşı savunmasız olduğunu ve aralarında Google, Facebook, Signal, Amazon ve diğerlerinin de bulunduğu 200’den fazla şirkete rapor gönderdiğini ekledi.

Apache Maven esas olarak kullanılan Java tabanlı projeler oluşturmak ve yönetmek için, kullanıcıların bağımlılıkları (grup kimlikleriyle benzersiz bir şekilde tanımlanan) indirmelerine ve yönetmelerine, belgeler oluşturmalarına ve sürüm yönetimine olanak tanır.

Bu tür bağımlılıkları barındıran depolar özel veya halkBir saldırgan, bilinen depolara eklenen terk edilmiş kütüphanelerden yararlanarak tedarik zinciri zehirlenmesi saldırıları gerçekleştirmek için ikincisini hedefleyebilir.

Özellikle, süresi dolmuş bir ürünün satın alınmasını içerir ters etki alanı bağımlılığın sahibi tarafından kontrol edilir ve grup kimliğine erişim sağlanır.

Şirket, “Bir saldırgan, savunmasız grup kimliğini yöneten hiçbir hesabın bulunmadığı bir depodaki DNS TXT kaydı aracılığıyla haklarını ileri sürerek savunmasız bir grup kimliğine erişim sağlayabilir” dedi.

“Bir grup kimliği depoda zaten kayıtlıysa, saldırgan, deponun destek ekibiyle iletişime geçerek bu grup kimliğine erişmeye çalışabilir.”

Saldırı senaryosunu test etmek için Oversecured, “Merhaba Dünya!” mesajını görüntüleyen kendi test Android kitaplığını (groupId: “com.oversecured”) Maven Central’a (sürüm 1.0) yüklerken, aynı zamanda JitPack’e de iki sürüm yüklüyor. , burada sürüm 1.0, Maven Central’da yayınlanan aynı kitaplığın bir kopyasıdır.

Ancak sürüm 1.1, aynı grup kimliğine sahip, ancak kendi kontrolleri altındaki bir GitHub deposuna işaret eden ve GitHub kullanıcı adına referans vermek üzere bir DNS TXT kaydı eklenerek talep edilen, düzenlenmiş “güvenilmeyen” bir kopyadır. mülkiyet kanıtı oluşturmak.

Saldırı daha sonra Gradle derleme betiğindeki bağımlılık deposu listesine hem Maven Central’ı hem de JitPack’i ekleyerek çalışır. Bu aşamada şunu belirtmekte yarar var. beyan sırası Gradle’ın çalışma zamanında bağımlılıkları nasıl kontrol edeceğini belirler.

Araştırmacılar, “JitPack deposunu mavenCentral’ın üzerine taşıdığımızda, JitPack’ten 1.0 sürümü indirildi” dedi. “Kütüphane sürümünü 1.1 olarak değiştirmek, JitPack’in depo listesindeki konumuna bakılmaksızın JitPack sürümünün kullanılmasıyla sonuçlandı.”

Sonuç olarak, yazılım tedarik zincirini bozmak isteyen bir düşman, daha yüksek bir sürüm yayınlayarak bir kitaplığın mevcut sürümlerini hedefleyebilir veya yasal muadilinden daha düşük bir sürümü yayınlayarak yeni sürümleri hedefleyebilir.

Bu, bir saldırganın amaçlanan özel depodaki bir paketle aynı adı taşıyan genel bir paket deposunda hileli bir paket yayınladığı bağımlılık karışıklığı saldırısının başka bir şeklidir.

Araştırmacılar, “Çoğu uygulama bağımlılıkların dijital imzasını kontrol etmiyor ve birçok kütüphane bunu yayınlamıyor bile” diye ekledi. “Saldırgan mümkün olduğu kadar uzun süre tespit edilmemek istiyorsa, kötü amaçlı kodun gömülü olduğu kütüphanenin yeni bir sürümünü yayınlamak ve geliştiricinin bu sürüme yükseltme yapmasını beklemek mantıklı olacaktır.”

Analiz edilen toplam 33.938 alan adından 6.170’inin (%18,18) MavenGate’e karşı savunmasız olduğu ve tehdit aktörlerinin bağımlılıkları ele geçirmesine ve kendi kodlarını eklemesine olanak tanıdığı tespit edildi.

Maven Central’ın sahibi olan Sonatype, söz konusu özetlenen saldırı stratejisi “uygulanan otomasyon nedeniyle mümkün değil” ancak bir güvenlik önlemi olarak “süresi dolmuş alan adları ve GitHub projeleriyle ilişkili tüm hesapları devre dışı bıraktığını” belirtti.

Ayrıca, eserlerin kamuya açık olmayan bir anahtarla depoya yüklenmesini mümkün kılan “ortak anahtar doğrulamasındaki gerileme” sürecini de ele aldığı belirtildi. Ayrıca bileşenleri dijital olarak imzalamak için SigStore ile işbirliği yapma planlarını da duyurdu.

Oversecured, “Son geliştirici yalnızca doğrudan bağımlılıklar için değil, aynı zamanda geçişli bağımlılıklar için de güvenlikten sorumludur.” dedi.

“Kütüphane geliştiricileri beyan ettikleri bağımlılıklardan sorumlu olmalı ve ayrıca bağımlılıkları için ortak anahtar karmaları yazmalı, son geliştirici ise yalnızca doğrudan bağımlılıklarından sorumlu olmalıdır.”



siber-2