Uygulama güvenliği sağlayıcısı Checkmarx’a göre siber suçlular, bir tedarik zinciri saldırısının parçası olarak Dependabot kılığına girerek GitHub depolarında kötü amaçlı kod gizlediler.
Siber güvenlik uzmanları, yüzlerce GitHub deposunda meşru Dependabot katkıları olarak kamufle edilen bir dizi kötü amaçlı kod enjeksiyonunu ortaya çıkardı. Temmuz 2023’te meydana gelen bu olaylar, GitHub’daki kişisel erişim belirteçlerinin (PAT’ler) güvenliği ve tehdit aktörlerinin tedarik zinciri saldırılarında giderek daha karmaşık hale gelmesiyle ilgili endişeleri artırdı.
GitHub’da Dependabot nedir?
Dependabot, GitHub’da barındırılan yazılım projelerinde bağımlılık güncellemelerini otomatikleştirmek için GitHub’a özgü bir araçtır. Projenin bağımlılıklarını (kitaplıklar ve paketler gibi) güvenlik açıklarına ve güncel olmayan sürümlere karşı otomatik olarak izleyerek geliştiricilerin projelerini güncel tutmalarına yardımcı olur.
Dependabot bir güncellemenin mevcut olduğunu veya bir güvenlik açığının yamalandığını tespit ettiğinde gerekli güncellemeleri içeren çekme istekleri oluşturur. Bu, bağımlılıkları koruma sürecini basitleştirir ve projelerin güvenli ve en son yazılım bileşenleriyle güncel kalmasını sağlar.
Aldatıcı Saldırı
Temmuz ayının ilk yarısında tehdit aktörleri çok çeşitli GitHub depolarını hedef alarak hem kamu hem de özel projeleri etkiledi. Kurbanların ağırlıklı olarak Endonezyalı kullanıcı hesaplarından oluşması, durumu önemli ve potansiyel olarak yaygın bir sorun haline getiriyor. Saldırganlar, Dependabot’un taahhüt mesajlarını taklit etmek için akıllı bir teknik kullandı ve geliştiricileri bunların gerçek katkılar olduğuna inandırarak aldattı.
Sahte taahhüt mesajları genellikle “dependabot” adını taşıyordu ve bu da onların faaliyetlerini etkili bir şekilde kamufle ediyor ve şüpheleri ortadan kaldırıyordu. Uzmanlar, bu depolarda iki farklı kod değişikliği grubu keşfetti; bu da saldırganların otomatik komut dosyası kullandığını kuvvetle akla getiriyor.
Kötü Amaçlı Yük ve Taktikler
Checkmarx’tan Guy Nachshon’un bir blog gönderisine göre saldırganlar, depolara “hook.yml” adlı yeni bir GitHub Eylem dosyası ekleyerek kod gönderme sırasında tetiklenen yeni bir iş akışı oluşturdu. Bu eylem GitHub sırlarını ve değişkenlerini çekip şüpheli bir URL’ye (sendwagateway.pro/webhook) gönderdi. Bu manevra her itme olayında gerçekleştirildi ve potansiyel hasar daha da arttı.
Ayrıca kötü niyetli aktörler, “.js” uzantısını taşıyan mevcut proje dosyalarına da müdahale etti. Bu dosyalara, tarayıcı ortamında yürütüldüğünde yeni bir komut dosyası etiketi oluşturmak üzere tasarlanmış, gizlenmiş bir kod satırı eklendi. Bu yeni kod, web tabanlı şifre formlarını ele geçirmek ve kullanıcı kimlik bilgilerini aynı sızma uç noktasına iletmek gibi uğursuz bir amaçla (sendwagatewaypro/client.js?cache=ignore) adresinden harici bir komut dosyası yüklemeyi amaçlıyordu.
Saldırı Vektörünü Ortaya Çıkarmak
GitHub’un güçlendirilmiş zorunlu iki faktörlü kimlik doğrulama (2FA) önlemleri göz önüne alındığında, saldırganların hedeflenen hesaplara nasıl erişim sağladığı başlangıçta belirsizliğini koruyordu. Uzmanlar duruma ışık tutmak için kurbanlardan bazılarıyla temasa geçti ve saldırganların ele geçirilen PAT’lerden (Kişisel Erişim Tokenları) yararlandığını keşfetti.
Geliştiricilerin makinelerinde yerel olarak depolanan bu tokenlar, 2FA gerektirmeden Git işlemlerini kolaylaştırır. Görünüşe göre saldırganlar bu tokenleri, muhtemelen sistemlerine sızan kötü niyetli bir açık kaynak paketi aracılığıyla kurbanların geliştirme ortamlarından sessizce çıkardılar.
Saldırının Otomatik Ölçeği
Saldırının ölçeği analiz edildiğinde, tehdit aktörünün yaklaşımında yüksek düzeyde otomasyon olduğu görüldü. Saldırının verimliliği ve karmaşıklığı, geliştiriciler ve yazılım bakımcıları arasında daha fazla dikkatli olunması gerektiğinin altını çizdi.
Öğrenilen Dersler ve İlerlemek
Bu olay, GitHub gibi güvenilir platformlardan bile kod kaynağı doğrulamasının önemini hatırlatıyor. İyi kurulmuş platformların bile bu tür saldırılara kurban gidebileceğinin altını çizerek, çevrimiçi ortamda sürekli tetikte olunması gerektiğini vurguluyor.
Güvenliği artırmak için geliştiricilerin GitHub’un ayrıntılı kişisel erişim tokenlerini benimsemeleri ve böylece güvenliği ihlal edilmiş tokenlarla ilişkili risklerin azaltılması tavsiye ediliyor. Bununla birlikte, kişisel erişim belirteçlerine yönelik erişim günlüğü etkinliğinin şu anda yalnızca kurumsal hesaplar için görülebildiğini ve kurumsal olmayan kullanıcıların potansiyel ihlaller hakkında daha az bilgi sahibi olmasını sağladığını belirtmekte fayda var.
Saldırganların Taktikleri, Teknikleri ve Prosedürleri (TTP’ler), tedarik zinciri saldırılarında giderek artan bir karmaşıklığı ortaya koyuyor. Sahte taahhütler, kimlik bilgileri hırsızlığı ve Dependabot kimliğine bürünme kullanımı, gelişen tehdit ortamının altını çiziyor.
İLGİLİ MAKALELER
- Yeni arka kapı kötü amaçlı yazılımı Slack ve Github platformlarına saldırıyor
- Bilgisayar korsanları GitHub botunu kullanarak 100 saniye içinde 1.200 dolar değerinde ETH çaldı
- Bilgisayar korsanları sahte GitHub depoları oluşturmak için taahhüt meta verilerini taklit edebilir