GitHub Repojacking Hatası, Bilgisayar Korsanlarının GitHub Repository Üzerinde Kontrol Sahibi Olmasına İzin Verdi
GitHub tarafından 19 Eylül 2022'de yakın zamanda yüksek önem derecesine sahip bir güvenlik açığı yamalandı ve bulut tabanlı bir Repository barındırma hizmeti. Bu güvenlik açığından yararlanılarak, kötü amaçlı Repositorylar oluşturulmuş ve tedarik zincirine yönelik saldırılar gerçekleştirilmiş olabilir.
Bu güvenlik açığı "RepoJacking" olarak adlandırıldı ve Checkmarx SCS (Tedarik Zinciri Güvenliği) ekibindeki uzmanlar tarafından keşfedildi.
RepoJacking
RepoJacking, tehdit aktörleri tarafından "Popüler Repository namespace kullanımdan kaldırma" koruma mekanizmasından kaçınmak için kullanılabilecek bir tekniktir.
RepoJacking tekniği, yeniden adlandırılan Repository URL trafiğinden yararlanmak ve ondan veri çalmak için saldırganın Repositorysuna yönlendirmek üzere tasarlanmıştır.
Bu yöntem kullanılarak, geliştiricilerin aynı Repositorydan aynı adı taşıyan güvenli olmayan Repositoryları sürüklemeleri engellenir.
GitHub söz konusu olduğunda, bu kusur yeniden adlandırılan tüm kullanıcı adlarını etkiledi. Aşağıdaki package managers dahil olan 10.000'den fazla packages vardır:
- Go package yöneticileri
- Swift package yöneticileri
- Packagist package yöneticileri
Sonuç olarak, binlerce package tehdit aktörleri tarafından anında ele geçirilebileceğinden, milyonlarca kullanıcıya anında kötü amaçlı kod bulaşmış olabilir.
GitHub depoları, yaratıcıları eski kullanıcı adının yayınlanmasıyla birlikte kullanıcı adlarını yeniden adlandırmaya karar verdiğinde saldırıya uğrayabilir ve burada bu durumda eski kullanıcı adı yeni kullanıcı adı altında kaydedilebilir.
GitHub Repository Ve Kullanıcı Adı Arasındaki Bağlantı
Her GitHub deposuyla ilişkilendirilmiş, onu oluşturan kullanıcının hesabının altında yuvalanmış benzersiz bir URL vardır.
Bir depodan bir dizi açık kaynaklı dosya indirmek için, açık kaynak kodunu içeren deponun tam URL'sini kullanmanız gerekir.
Bir kullanıcı hesabını yeniden adlandırdığında ne olur? GitHub, böyle bir durumda yeniden adlandırmayı destekler, aşağıdaki uyarıyı görüntüler, yeniden adlandırmanın onaylandığını ve tüm eski deponun trafiğinin yeni adlandırılan depoya yönlendirileceğini belirtir.
Bu değişikliğin bir sonucu olarak, değişiklikten haberdar edilmeyen kullanıcılar siteye erişmeye devam edebilecektir.
Rapora göre, saldırı büyük ölçüde GitHub'ın namespace yalnızca terk edildikten sonra kullanımdan kaldırılmış olarak görmesine dayanıyor. Saldırgan bu güvenlik açığından yararlanmayı başarırsa, kötü amaçlı depolar zorlayabilmiş olabilir.
GitHub Korumasından Kaçınma
"Repository Transfer" özelliğinin kullanımını araştırırken, Checkmark araştırmacılarındaki siber güvenlik analistleri aşağıdaki atlamayı keşfetti:
- "victim/repo", "popüler repository namespace kullanımdan kaldırma" koruması altında kullanımdan kaldırılan popüler bir GitHub repository
- "helper_account", "repo" repository oluşturur
- "helper_account", "repo" repository sahipliğini "attacker_account"ye aktarır
- "attacker_account", kullanıcı adını "victim" olarak yeniden adlandırır
- Yeni "victim" hesabı (önceki adıyla "attacker_account") sahiplik devrini kabul eder
Zaman çizelgesi
- 1 Kasım 21 – GitHub namespace kullanımdan kaldırma özelliğini atlamanın bir yolunu bulduk
- 8 Kasım 21 - Bypass bulgularını GitHub'a açıklıyoruz
- 8 Kasım 21 - GitHub baypası kabul etti ve bir düzeltme üzerinde çalıştıklarını söyledi.
- 24 Mar 22 - GitHub, baypası düzelttiklerini yanıtladı
- 11 Mayıs 22 - Baypasın hala istismar edilebilir olduğunu ve GitHub'a bildirildiğini keşfettik
- 23 Mayıs 22 – Bu saldırı açık kaynaklı saldırıya karşı etkin bulundu
- 25 Mayıs 22 – Bu teknik, saldırıların sahipliğini üstlenen bir güvenlik araştırmacısı tarafından yayınlandı ve kısa bir süre sonra GitHub tarafından düzeltildi
- 13 Haziran 22 – GitHub namespace kullanımdan kaldırılması özelliğini atlamak için ek güvenlik açığı bulduk ve GitHub'a bildirildi
- 19 Eylül 22 – GitHub güvenlik açığını düzeltti, "Yüksek" önem derecesi olarak sınıflandırdı ve bize bir hata ödülü verdi
- 26 Ekim 22 – Tam açıklama
Siber güvenlik uzmanları, kullanıcıların artık güvenli olmadıkları için kullanımdan kaldırılan namespace kullanmaktan kaçınmalarını şiddetle tavsiye eder. Sonuç olarak, bu saldırı yüzeyini önemli ölçüde azaltacaktır, çünkü bu mekanizmada başka güvenlik açıkları hala mevcut olabilir.
Yazımı okuduğunuz için teşekkürler eder, Saygılar ve sevgilerle.
Kaynak: Cyber Security News