Milyonlarca GitHub depoları, saldırganların çok sayıda kullanıcıyı etkileyen tedarik zinciri saldırılarını dağıtmalarına yardımcı olabilecek "yeniden örme" olarak da bilinen Bağımlılık Deposu Kaçışına karşı savunmasız olabilir.
Uyarı, Aquasec'in güvenlik ekibi 'Nautilus'tan geliyor ve 1.25 milyon GitHub deposundan oluşan bir örneği analiz etti ve bunların yaklaşık% 2,95'inin yeniden örgüye karşı savunmasız olduğunu tespit etti.
Araştırmacılar, bu yüzdeyi GitHub'ın 300 milyondan fazla olan tüm depo tabanına ekstrapolasyon yaparak sorunun yaklaşık 9 milyon projeyi etkilediğini tahmin ediyor.
Kuruluşlar edinme veya birleşme yoluyla yeni yönetim alabilir veya yeni bir marka adına geçebildiğinden, kullanıcı adı ve depo adı değişiklikleri GitHub'da sık görülür.
Bu olduğunda, isimlerini değiştiren depolardan kod kullanan projeler için bağımlılıkları kırmak için bir yeniden yönlendirme oluşturulur; Ancak, birisi eski adı kaydederse, bu yönlendirme geçersiz hale gelir.
RepoJacking, kötü niyetli bir aktörün bir kullanıcı adını kaydettiği ve geçmişte bir kuruluş tarafından kullanılan ancak o zamandan beri adını değiştiren bir depo oluşturduğu bir saldırıdır.
Bunu yapmak, saldırgan projenin, kötü amaçlı yazılım içerebilen saldırgan kontrollü depodan bağımlılıklar ve kod almak için saldırıya uğramış projenin bağımlılıklarına dayanan herhangi bir proje veya kodla sonuçlanır.
Github bu olasılığı bilir ve saldırıları yeniden oluşturma için bazı savunmalar uyguladı. Ancak Aquasec, çözümlerin şimdiye kadar eksik ve kolayca atlandığını bildiriyor.
Örneğin, GitHub yalnızca son derece popüler projeleri korur, ancak bu projeler, kapsanmayan daha az popüler, savunmasız bir depodan bağımlılık kullanabilir, bu nedenle tedarik zinciri uzlaşması onları da etkiler.
Ayrıca Github, adını değiştirmeden önce haftada 100'den fazla klonla depoları korur ve kötü niyetli hazırlıkları gösterir. Bu koruma, yeniden adlandırıldıktan veya sahiplik transferinden sonra popüler hale gelen projeleri kapsamaz.
Sorunun önemini vurgulamak için Aquasec, ünlü kuruluşları savunmasız depolar için taradı ve Google ve Lyft tarafından yönetilen depolarda sömürülebilir davalar buldu.
Google'ın durumunda, oldukça popüler proje "MathSteps" projesini oluşturma talimatları içeren bir ReadMe dosyası, Google'ın 2018'de edindiği ve asimile ettiği ve artık mevcut olmayan bir şirket olan Sokratic'e ait bir GitHub deposuna işaret etti.
Bir saldırgan yeniden yönlendirmeyi kırmak için bu depoyu klonlayabildiğinden, ReadMe talimatlarını izleyen kullanıcılar, haydut depodan kötü amaçlı kod indirebilirdi.
Ayrıca, talimatlar bağımlılık için bir "NPM yükleme" komutu içerdiğinden, saldırganın kodu, şüpheli olmayan kullanıcıların cihazlarında keyfi kod yürütme elde edecektir.
Lyft durumunda, Aquasec, şirketin deposunda başka bir depodan bir fermuar arşivi getiren ve yeniden örgüye karşı savunmasız olan bir kurulum betiği bulduğu için saldırı daha otomatik olacak.
Doğru adlarla (bu durumda "Yesgraph" ve "Dominus") yeni bir kullanıcı adı ve depo kaydeden bir saldırgan, kodlarını Lyft'in "Install.sh" komut dosyasını yürüten herkese enjekte edebilir.
Ne yazık ki, yeniden örme riski yaygındır, azaltılması zordur ve kuruluşlar ve kullanıcılar için ciddi yansımalar yapabilir.
Proje sahipleri, dış depolardan getirdikleri kaynakları mümkün olduğunca en aza indirmelidir.
Buna ek olarak, sahipler sadece kendilerine ve kullanıcılarına bağımlılık kaçırma saldırılarını önlemek için eski markaların veya edinilmiş kuruluşların depolarının kontrolünü tutmayı düşünmelidir.
Araştırmacı, bir iş bulmak için popüler paketçi php paketlerini kaçırır
PYPI, tüm yazılım yayıncıları için zorunlu 2FA kullanımını duyurdu
GitHub Push Windows, Linux Kötü Yazılımlarda Sahte Sıfır Gün POC istismarları
Bilgisayar korsanları kripto haber gazetecilerini taklit ederek 3 milyon dolar çalıyor
Spinok Android kötü amaçlı yazılım 30 milyon yükleme ile daha fazla uygulamada bulundu
Kaynak: Bleeping Computer