GitHub’daki bir güvenlik açığı yakın zamanda araştırmacıların dikkatini çekti. Güvenlik açığı birden fazla GitHub deposunu tehdit ediyor, hatta onun parçası olan kullanıcıları da etkiliyor.
Güvenlik açığı, GitHub’un veri deposu oluşturma ve kullanıcı adı yeniden adlandırma operasyonlarındaki “yarış koşulundan” yararlanıyor ve potansiyel olarak saldırganların kötü amaçlı kod dağıtmak için depoları ele geçirmesine olanak tanıyor.
Bu özel durumda bir yarış durumu, GitHub içinde bir cihazın veya sistemin iki veya daha fazla işlevi birlikte gerçekleştirmeye çalıştığı ve işlemlerin uygun bir sırayla yürütülmesini zorlaştıran bir olayı ifade eder.
Bu sıra birçok uygulama için önemlidir, çünkü aksi takdirde bağlantı kopabilir ve bu yoldaki güvenlik açıklarından yararlanılabilir. Bu özel durumda, saldırganlar GitHub depolarını hedeflemek için RepoJacking saldırılarını kullanıyor.
Yeni GitHub Güvenlik Açığı ve RepoJacking Saldırıları
Bu güvenlik açığı, bir CVE kimliği veya puanı verilmese de, tehdit aktörlerinin belirli bir depodaki yeniden adlandırılan kullanıcılardan yararlanarak RepoJacking saldırılarını kullanmasına olanak tanıyor.
RepoJacking saldırıları, bir tehdit aktörünün depodaki kullanıcı hesaplarını ele geçirebildiği popüler bir hackleme tekniğidir.
Kratikal’in raporuna göre “Saldırgan, hesaba erişim sağlayarak, depoyu bağımlılık olarak kullanan projelere kötü amaçlı kod ekleyebilir”.
Bu durumda saldırgan, GitHub’daki ad alanlarının kontrolünü ele geçirmek için RepoJacking saldırılarını kullanabilir; bu, Checkmarx’a göre “kullanıcı adı ve repo adının bir kombinasyonudur (örneğin, örnek-kullanıcı/örnek-repo).”
Checkmarx raporu, güvenlik açığının potansiyel olarak Go, PHP ve Swift gibi dillerdeki 4.000’den fazla kod paketinin yanı sıra GitHub eylemlerini de etkilediğini belirtiyor.
Ancak GitHub’daki bu güvenlik açığı kullanıcılara zarar vermeye başladığından GitHub bir düzeltme yayınladı.
GitHub güvenlik açığı ve RepoJacking saldırılarının teknik analizi
Bu GitHub güvenlik açığını daha iyi anlamak için GitHub, bilgisayar korsanlarının RepoJacking saldırılarını gerçekleştirmek için kullandıkları zincirden bahsetti.
Saldırının ilk aşamasında saldırgan, GitHub’da yakın zamanda kullanıcı adını değiştiren kullanıcıları arar. Yeni kullanıcı adı kaydedildikten sonra eski kullanıcı adı herkesin kullanımına açık hale gelir.
Artık bilgisayar korsanları bu eski kullanıcı adlarını kullanıyor ve hak iddia ediyor. Bilgisayar korsanları artık “eşleşen repo adı” altında bir depo açabilir ve ad alanını ele geçirebilir.
Tehdit aktörlerinin “GitHub kontrollerini atlamak” için kullandıkları istismar yöntemine hızlı bir bakış. Gösterilenler paylaşıldı Checkmarx SCS Grup Mimarı Elad Rapoport.
- Kurban “victim_user/repo” ad alanına sahiptir.
- Kurban, “kurban_kullanıcı”yı “yeniden adlandırılmış_kullanıcı” olarak yeniden adlandırır.
- “victim_user/repo” deposu artık kullanımdan kaldırıldı.
- “saldırgan_kullanıcı” kullanıcı adına sahip bir saldırgan, hemen hemen aynı anda “repo” adında bir repo oluşturan ve “saldırgan_kullanıcı” kullanıcı adını kurbanın kullanıcı adı olan “kurban_kullanıcı” olarak yeniden adlandıran bir komut hazırlar.
- Bu, veri havuzu oluşturmak için bir API isteği ve kullanıcı adı değişikliği için yeniden adlandırılmış bir istek müdahalesi kullanılarak yapılır.
Artık başarılı bir şekilde kullanılması durumunda güvenlik açığı, tehdit aktörlerinin “Packagist”, “Go” ve “Swift” gibi öne çıkanlar da dahil olmak üzere çeşitli paket yöneticilerinde yaygın olarak kullanılan kod paketlerini ele geçirmesine olanak tanıyabilir.
Dahası, bu güvenlik açığından yararlanılması, popüler GitHub eylemlerinin ele geçirilmesine kadar uzanıyor ve tedarik zinciri güvenliği açısından potansiyel olarak ciddi sonuçlar doğuruyor.
Son araştırmalar bu güvenlik açığının ciddiyetini ortaya çıkardı ve Google ve Lyft gibi büyük kuruluşların başlangıçta duyarlı olduğunu ortaya çıkardı.
RepoJacking saldırılarına karşı koymak için Checkmarx, kullanımdan kaldırılan ad alanlarının kullanılmasından kaçınılmasını ve güvenlik açığı bulunan GitHub depolarına yol açan bağımlılıklar açısından kodun kapsamlı bir şekilde incelenmesini tavsiye etti.
Medya Yasal Uyarısı: Bu rapor, çeşitli yollarla elde edilen iç ve dış araştırmalara dayanmaktadır. Sağlanan bilgiler yalnızca referans amaçlıdır ve bu bilgilere güvenme konusunda tüm sorumluluk kullanıcılara aittir. Cyber Express bu bilgilerin kullanılmasının doğruluğu veya sonuçları konusunda hiçbir sorumluluk kabul etmez.