GitHub'daki Milyonlarca Depo, Ele Geçirilmeye Karşı Potansiyel Olarak Hassastır

GitHub'daki Milyonlarca Depo, Ele Geçirilmeye Karşı Potansiyel Olarak Hassastır

GitHub'daki Milyonlarca Depo, PlatoBlockchain Veri İstihbaratının Ele Geçirilmesine Karşı Potansiyel Olarak Savunmasız. Dikey Arama. Ai.

GitHub'daki milyonlarca kurumsal yazılım deposu saldırıya açık yeniden soygun, bir tehdit aktörünün belirli bir depoya bağımlı projeleri bunun yerine kötü amaçlı bir depoya yönlendirdiği nispeten basit bir tür yazılım tedarik zinciri saldırısıdır.

Aqua Security'deki araştırmacılar bu hafta bir raporda, sorunun GitHub kullanıcısı veya kuruluşu bir projenin adını değiştirdiğinde veya mülkiyetini başka bir varlığa devrettiğinde GitHub'un bağımlılıkları nasıl ele aldığıyla ilgili olduğunu söyledi.

İsim Değişikliği Riskleri

Kod bağımlılıklarının bozulmasını önlemek için GitHub, orijinal depo adı ile yeni depo adı arasında bir bağlantı oluşturur; böylece orijinal depoya bağımlı olan tüm projeler otomatik olarak yeni yeniden adlandırılan depoya yönlendirilir. Bununla birlikte, bir kuruluş eski kullanıcı adını yeterince koruyamazsa, bir saldırgan bunu orijinal deponun truva atı haline getirilmiş bir sürümünü oluşturmak için yeniden kullanabilir, böylece depoya güvenen projeler bir kez daha buradan bağımlılıkları indirmeye başlayabilir.

"Bir depo sahibi kullanıcı adını değiştirdiğinde, eski depodan bağımlılıkları indiren herkes için eski ad ile yeni ad arasında bir bağlantı oluşturulur." Su araştırmacıları şunları söyledi bu hafta bir blogda. “Ancak herkesin eski kullanıcı adını oluşturup bu bağlantıyı koparması mümkün.”

Aqua'daki araştırmacılar kısa bir süre önce GitHub'da bu tür repojacking'lere veya bazı güvenlik araştırmacılarının bu tehdide atıfta bulunduğu bağımlılık deposu ele geçirmesine karşı savunmasız olan depoların yaygınlığını araştırmaya karar verdiler.

Yaygın Olarak Yaygın Sorun

Aqua'nın keşfettiği şey iki yönlüydü: Google ve Lyft gibi şirketlere ait olanlar da dahil olmak üzere bu tür milyonlarca depo GitHub'da mevcut; Saldırganların bu depoları bulup ele geçirmelerini sağlayacak araçlar kolayca kullanılabilir. Bu araçlardan biri, GitHub'da taahhütler ve çekme istekleri gibi tüm genel olayların neredeyse eksiksiz bir kaydını tutan bir proje olan GHTorrent'tir. Saldırganlar, kuruluşun daha önce kullandığı depoların GitHub adlarını toplamak için GHTorrent'i kullanabilir. Daha sonra repoyu bu eski kullanıcı adı altında kaydedebilir, depoyu yeniden oluşturabilir ve onu kullanan herhangi bir projeye kötü amaçlı yazılım dağıtabilirler.

Doğrudan GitHub deposuna başvuran herhangi bir proje, havuzun sahibinin deposunun kullanıcı adını değiştirmesi veya silmesi durumunda güvenlik açığına maruz kalır.

Aqua Nautilus güvenlik araştırmacısı Yakir Kadkoda, "Saldırganların kuruluşlara ait önceki depoların adlarını toplamak için kullanabileceği önemli bir veri kümesi sunduk" diyor.

Kadkoda, "Kuruluşlar eski kuruluş adlarının açıklanmayacağını varsaymamalı" diye uyarıyor. "Eski kullanıcı adlarını GitHub'da talep etmeleri ve saklamaları ve bir saldırganın potansiyel olarak ele geçirebileceği depoları belirlemek için GitHub URL'lerini ve kodlarındaki referansları taramaları çok önemli."

Korumaları Atlamak

Kadkoda, GitHub'ın daha önce sahip olunan ve artık başka projelere yönlendirilen kullanıcı adlarının ve depoların oluşturulmasını engelleyerek bu sorunu çözmeye çalıştığını söylüyor. GitHub ayrıca bir mekanizma uyguladı Birkaç yıl önce bu tehdidi hafifletmenin bir yolu olarak popüler veri havuzu ad alanlarını kullanımdan kaldırma kararı aldık. "Ancak son birkaç yılda birçok bypass keşfedildi" diyor. Aqua'nın çalışması sırasında araştırmacıları, GitHub tarafından uygulanan korumanın geçerli olmadığı birkaç depo örneği buldu. "Dolayısıyla kullanıcılar bu noktada bu savunmalara tam olarak güvenemezler" diyor.

Aqua'nın blogu GitHub'daki bir güvenlik açığına işaret etti Checkmarx geçen yıl keşfetti Saldırganların GitHub'un yeniden saldırılara karşı koruma girişimlerini atlatmak için kullanabileceği yolların bir örneği olarak. Kusur, "popüler veri havuzu ad alanının kullanımdan kaldırılması" adı verilen bir mekanizmayı içeriyordu ve Swift, Packagist ve Go gibi paket yöneticilerindeki 10,000'den fazla paket de dahil olmak üzere GitHub'daki tüm yeniden adlandırılan kullanıcı adlarını etkiledi. Checkmarx, güvenlik açığıyla ilgili bir raporunda, "Repojacking, yeniden adlandırılan depo URL'lerinin trafiğini ele geçirmek ve orijinal yönlendirmeyi bozan mantıksal bir kusurdan yararlanarak onu saldırganın deposuna yönlendirmek için kullanılan bir tekniktir" dedi. "Bir GitHub deposu, eski kullanıcı adı kayıt için uygunken, yaratıcısı kullanıcı adını yeniden adlandırmaya karar verdiğinde yeniden ele geçirilmeye karşı savunmasızdır."

Kadkoda, kuruluşların kodlarını, depolarını ve bağımlılıklarını GitHub bağlantıları için tarayarak repojacking tehdidine maruz kalmalarını azaltabileceğini söylüyor: "Bu bağlantıların doğrudan GitHub projelerine atıfta bulunup bulunmadığını veya başka kullanıcı adları veya depolar altındaki depolara işaret eden yönlendirmeler olup olmadığını kontrol etmeleri gerekiyor orijinal bağlantılardan farklı adlar. Bu gibi durumlarda kuruluşlar, saldırganların bunu yapmasını önlemek için mevcut kullanıcı adını talep etmeye çalışmalıdır. "Ayrıca kuruluşlar GitHub'da her zaman eski kullanıcı adlarını korumalıdır" diyor.

Zaman Damgası:

Den fazla karanlık okuma