Araştırmacılar Github’da, bir saldırganın GitHub’da bir depo oluşturma veya platformda bir kullanıcı adını değiştirme sürecinde bir yarış durumundan yararlanmasına olanak verebilecek yeni bir güvenlik açığı keşfetti. Bu yaklaşım, repojacking olarak bilinen bir saldırıyı gerçekleştirmek için kullanılabilir. Bu güvenlik açığından başarıyla yararlanılması açık kaynak topluluğu üzerinde olumsuz bir etkiye sahiptir çünkü Go, PHP ve Swift gibi dillerde yazılmış 4.000’den fazla kod paketinin ve GitHub’daki etkinliklerin ele geçirilmesine olanak sağlar. Bir saldırgan, “repo hırsızlığı” olarak bilinen bir teknik kullanarak GitHub’daki bir güvenlik açığı deposunun kontrolünü ele geçirebilir. Bu teknik, hesapları yeniden adlandırılan savunmasız kullanıcıları görünür kılan mantıksal bir kusurdan yararlanmayı içerir.
Bir bilgisayar korsanı GitHub’u hedef aldığında yoğun olarak kullanılan geçerli bir ad alanının kontrolünü ele geçirmek ister. Bir ad alanı oluşturmak için kullanıcı adı ve havuzun adı birleştirilir. Bir saldırgan, “repo hırsızlığı” olarak bilinen bir teknik kullanarak GitHub’daki bir güvenlik açığı deposunun kontrolünü ele geçirebilir. Bu teknik, hesapları yeniden adlandırılan savunmasız kullanıcıları görünür kılan mantıksal bir kusurdan yararlanmayı içerir.
Bir ad alanının ilk kullanıcı adı GitHub’un “kullanıcı yeniden adlandırma” seçeneği kullanılarak değiştirildiğinde, ad alanının yeniden ele geçirilmeye karşı savunmasızlığı artar. Kullanıcı adını değiştirme süreci basit ve hızlıdır. Bir uyarı, yeni havuzun daha önce eski havuzun URL’sine gönderilen tüm trafiği alacağını açıkça ortaya koyar.
GitHub’un bu özellik için sağladığı belgelerde şu sonucun ana hatlarıyla belirtildiğini unutmamak önemlidir: “Kullanıcı adınızı değiştirdikten sonra, eski kullanıcı adınız başkaları tarafından talep edilebilir hale gelir.” Araştırmacılar, “Kullanıcı adı yeniden adlandırıldığında, bir saldırgan eski kullanıcı adını talep edebilir, eşleşen repo adı altında bir repo açabilir ve ad alanını ele geçirebilir” diye ekledi.
Ayrıca bu bypassın kullanılması, GitHub ad alanı verilerek benzer şekilde kullanılan popüler GitHub etkinliklerinin devralınmasına yol açabilir. Bypass kullanılmış olsaydı durum böyle olurdu.
Geniş kapsamlı etkilere sahip büyük ölçekli Tedarik Zinciri saldırılarının, GitHub’daki popüler bir aktivitenin zehirlenmesiyle tetiklenmesi mümkün. Aqua tarafından yakın zamanda yapılan bir araştırma, Google ve Lyft gibi büyük şirketlerin bile bu tür siber saldırılara karşı savunmasız olduğunu ortaya çıkardı. Bu, bilgi teknolojisi endüstrisindeki en tanınmış markalardan bazılarına zarar verme potansiyeline sahip olduğundan güvenlik açığının ne kadar ciddi olduğunu vurguluyor; bunların çoğu, güvenlik açığı söylendikten sonra riskleri azaltmak için derhal harekete geçti.
GitHub, bu muhtemelen zararlı davranışın etkilerini azaltmak için “popüler veri havuzu ad alanının kullanımdan kaldırılması” olarak bilinen önleyici bir tedbiri uygulamaya koydu.
Bu politikaya göre, yüzün üzerinde klonu olan herhangi bir havuz, ilişkili kullanıcı hesabı değiştirildiğinde “kullanımdan kaldırılmış” olarak kabul edilir ve diğer kullanıcılar tarafından erişilemez.
Saldırı yüzeyini sınırlamak için kullanımdan kaldırılan ad alanlarından kaçınılması önerilir. Ayrıca, kullandığınız kodun, GitHub’da repojacker’lar tarafından ele geçirilmeye açık bir depoya yol açabilecek herhangi bir bağımlılığının olmadığından da emin olmalısınız.
Bilgi güvenliği uzmanı, şu anda risk altyapısı uzmanı ve araştırmacısı olarak çalışmaktadır.
Risk ve kontrol süreci, güvenlik denetimi desteği, iş sürekliliği tasarımı ve desteği, çalışma grubu yönetimi ve bilgi güvenliği standartları konularında 15 yıllık deneyim.