MavenGate Saldırısı, Bilgisayar Korsanlarının Terk Edilmiş Kitaplıklar Aracılığıyla Java ve Android'i Ele Geçirmesine İzin Verebilir

Oversecured, geçen hafta yayınlanan bir analizde, "Projelere erişim, alan adı satın alma yoluyla ele geçirilebilir ve çoğu varsayılan yapı yapılandırması savunmasız olduğundan, bir saldırının gerçekleştirilip gerçekleştirilmediğini bilmek zor, hatta imkansız olacaktır" dedi.

Bu eksikliklerin başarılı bir şekilde kötüye kullanılması, kötü niyetli aktörlerin bağımlılıklardaki yapıtları ele geçirmesine ve uygulamaya kötü amaçlı kod enjekte etmesine ve daha da kötüsü, kötü amaçlı bir eklenti aracılığıyla derleme sürecini tehlikeye atmasına izin verebilir.

Mobil güvenlik firması, Gradle de dahil olmak üzere tüm Maven tabanlı teknolojilerin saldırıya karşı savunmasız olduğunu ve Google, Facebook, Signal, Amazon ve diğerleri dahil olmak üzere 200'den fazla şirkete rapor gönderdiğini de sözlerine ekledi.

Apache Maven, temel olarak Java tabanlı projeler oluşturmak ve yönetmek için kullanılır ve kullanıcıların bağımlılıkları (groupId'leri tarafından benzersiz bir şekilde tanımlanan) indirmesine ve yönetmesine, belgeler oluşturması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ş kitaplıklardan yararlanarak tedarik zinciri zehirlenmesi saldırıları gerçekleştirmek için ikincisini hedefleyebilir.

Özellikle, bağımlılığın sahibi tarafından denetlenen süresi dolmuş ters etki alanını satın almayı ve groupId'ye erişim elde etmeyi içerir.

Şirket, "Bir saldırgan, savunmasız groupId'yi yöneten hiçbir hesabın bulunmadığı bir depodaki bir DNS TXT kaydı aracılığıyla haklarını iddia ederek savunmasız bir groupId'ye erişim sağlayabilir" dedi.

"Bir groupId depoya zaten kayıtlıysa, bir saldırgan deponun destek ekibiyle iletişime geçerek bu groupId'ye erişmeyi deneyebilir."

Saldırı senaryosunu test etmek için Oversecured, Maven Central'a (sürüm 1.0) "Merhaba Dünya!" mesajını görüntüleyen kendi test Android kitaplığını (groupId: "com.oversecured") yükledi ve aynı zamanda sürüm 1.0'ın Maven Central'da yayınlanan aynı kitaplığın bir kopyası olduğu JitPack'e iki sürüm yükledi.

Ancak sürüm 1.1, aynı groupId'ye sahip, ancak kontrolleri altındaki bir GitHub deposuna işaret eden ve sahiplik kanıtı oluşturmak için GitHub kullanıcı adına başvurmak üzere bir DNS TXT kaydı eklenerek talep edilen düzenlenmiş "güvenilmeyen" bir kopyadır.

Saldırı daha sonra hem Maven Central hem de JitPack'i Gradle derleme betiğindeki bağımlılık deposu listesine 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, sürüm 1.0 JitPack'ten indirildi" dedi. "Kitaplık sürümünü 1.1 olarak değiştirmek, JitPack'in depo listesindeki konumundan bağımsız olarak JitPack sürümünün kullanılmasıyla sonuçlandı."

Sonuç olarak, yazılım tedarik zincirini bozmak isteyen bir saldırgan, daha yüksek bir sürüm yayınlayarak bir kitaplığın mevcut sürümlerini hedefleyebilir veya meşru muadilinden daha düşük bir sürümü zorlayarak yeni sürümlere karşı çıkabilir.

Bu, bir saldırganın amaçlanan özel depodaki bir paketle aynı ada sahip bir ortak paket deposuna sahte bir paket yayımladığı bağımlılık karışıklığı saldırısının başka bir biçimidir.

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 edilmeden kalmak istiyorsa, kütüphanenin yeni bir sürümünü gömülü kötü amaçlı kodla yayınlamak ve geliştiricinin buna yükseltmesini beklemek mantıklıdır."

Analiz edilen toplam 33.938 etki alanı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ı enjekte etmesine olanak tanıdığı tespit edildi.

Maven Central'ın sahibi olan Sonatype, belirtilen 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 bir "açık anahtar doğrulamasında gerileme" sürecini ele aldığını söyledi. Ayrıca, bileşenleri dijital olarak imzalamak için SigStore ile işbirliği yapmayı planladığını 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."

Diğer haberlerimiz hakkında daha fazla bilgi için Twitter sayfamızı, Instagram sayfamızı ve LinkedIn sayfamızı takip etmeyi unutmayın.

0 Yorum

Henüz Yorum Yapılmamıştır.! İlk Yorum Yapan Siz Olun

Yorum Gönder

Lütfen tüm alanları doldurunuz!

Ototaksitli Al

E-Bülten Aboneliği