MavenGate Saldırısı, Bilgisayar Korsanlarının Terk Edilmiş Kütüphaneler Aracılığıyla Java ve Android’i Ele Geçirmesine İzin Verebilir


Java ve Android Uygulamaları

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 geçen hafta yayınlanan bir analizde, “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.” dedi.

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 Java tabanlı projeler oluşturmak ve yönetmek için kullanılır; 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 genel olabilirken, bir saldırgan, bilinen depolara eklenen terk edilmiş kütüphanelerden yararlanarak tedarik zinciri zehirlenmesi saldırıları gerçekleştirmek için ikincisini hedefleyebilir.

Spesifik olarak, bağımlılığın sahibi tarafından kontrol edilen süresi dolmuş ters etki alanının satın alınmasını ve grup kimliğine erişim elde edilmesini içerir.

Siber güvenlik

Ş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 sahiplik kanıtı oluşturmak için GitHub kullanıcı adına referans vermek üzere bir DNS TXT kaydı eklenerek talep edilen, düzenlenmiş “güvenilmeyen” bir kopyadır.

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, bildirim sırasının Gradle’ın çalışma zamanında bağımlılıkları nasıl kontrol edeceğini belirlediğini belirtmekte fayda var.

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.

Siber güvenlik

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 Sonatype, özetlenen saldırı stratejisinin “mevcut otomasyon nedeniyle uygulanabilir olmadığını” söyledi 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.”

Bu makaleyi ilginç buldunuz mu? Bizi takip edin heyecan ve yayınladığımız daha özel içerikleri okumak için LinkedIn.





Source link