Sorun Tanımı
Microsoft, GitHub platformunda barındırdığı ve özellikle Azure bulut hizmetleri ile VS Code için geliştirilmiş AI araçlarını içeren açık kaynaklı depolarında ciddi bir tedarik zinciri saldırısı tespit etti. Saldırganlar, bu projelerin kaynak kodlarına kötü amaçlı kod enjekte ederek, geliştiricilerin kullandığı araçlardan parola ve hassas kimlik bilgilerini çalmayı başardı.
Saldırı sonucunda Microsoft, etkilenen depoların erişimini geçici olarak devre dışı bıraktı ve geliştiricileri uyararak, bu projeleri kullanmamaları konusunda tavsiyede bulundu. Bu tür saldırılar, açık kaynaklı yazılımların güvenilirliğine gölge düşürmekte ve kurumsal ortamlarda ciddi riskler oluşturmaktadır.
Olası Etkiler ve Riskler
- Kimlik Bilgisi Sızıntısı: Geliştiricilerin Azure, VS Code veya diğer Microsoft hizmetlerine ait kimlik bilgileri çalınabilir.
- Yanlış Hizmetler: Enjekte edilen kötü amaçlı kod, geliştiricilerin sistemlerine zararlı yazılımlar yükleyebilir.
- Tedarik Zinciri Tehditleri: Açık kaynaklı projelerin güvenliğinin ihlal edilmesi, tüm kullanıcıları etkileyebilir.
- Yasal ve Uyumluluk Riskleri: Kurumlar, müşteri verilerinin korunması konusunda yasal sorumluluklarını yerine getiremeyebilir.
Uyarı: Bu saldırı, açık kaynaklı yazılımların güvenliğinin ne kadar kritik olduğunu bir kez daha gözler önüne sermektedir. Geliştiricilerin, kullandıkları araçların güvenilirliğinden emin olmaları ve sürekli olarak güncellemeleri takip etmeleri gerekmektedir.
Çözüm Adımları
1. Etkilenen Projelerin Tespiti
Microsoft'un Resmi Duyurularını Takip Edin: Microsoft'un GitHub sayfasında ve resmi blogunda yaptığı açıklamaları inceleyin. Etkilenen projelerin listesini kontrol edin.
Proje Bağımlılıklarını Kontrol Edin: Kullandığınız projelerin bağımlılıklarını
package.jsonveyarequirements.txtdosyalarından inceleyin. Microsoft'un yayınladığı etkilenen projelerle eşleşenleri belirleyin.# Örnek: package.json dosyasındaki bağımlılıkları listeleme cat package.json | grep -A 20 '"dependencies"'
2. Güvenlik Önlemlerinin Alınması
2.1. Proje Kopyalarının Temizlenmesi
Yerel Kopyaları Silin ve Yeniden Yükleyin: Etkilenen projelerin yerel kopyalarını silin ve güvenilir bir kaynaktan yeniden indirin.
# Örnek: Projeyi yeniden klonlama rm -rf /path/to/project # Güvenilir kaynaktan yeniden klonlama git clone https://github.com/Microsoft/repo-name.gitBağımlılıkları Yeniden Yükleyin: Proje bağımlılıklarını temizleyin ve yeniden yükleyin.
# Örnek: npm projeleri için bağımlılıkları yeniden yükleme rm -rf node_modules npm install # Örnek: Python projeleri için bağımlılıkları yeniden yükleme rm -rf venv python -m venv venv source venv/bin/activate pip install -r requirements.txt
2.2. Kimlik Bilgilerinin Değiştirilmesi
Azure ve Diğer Hizmetler için Kimlik Bilgilerini Yenileyin: Etkilenen projeleri kullandığınız tüm hizmetler için parolaları ve API anahtarlarını değiştirin.
# Örnek: Azure CLI kullanarak kimlik bilgilerini yenileme az account clear az login --use-device-codeGizli Anahtarları ve Token'ları Kontrol Edin: VS Code veya diğer geliştirme araçlarında kullanılan kişisel erişim token'larını (PAT) ve gizli anahtarları gözden geçirin.
# Örnek: VS Code'da kullanılan PAT'ları kontrol etme grep -r "ghp_" ~/.vscode-server/
2.3. Geliştirme Ortamının Güvenliğinin Sağlanması
Çalışma Ortamını İzole Edin: Etkilenen projeleri izole bir ortamda çalıştırın ve diğer projelerle karıştırmayın.
Güvenlik Duvarı ve İzleme Araçlarını Kullanın: Geliştirme ortamınızda güvenlik duvarı (firewall) ve giriş izleme (intrusion detection) sistemlerini kullanın.
Güncel Antivirüs Yazılımları Kullanın: Sistemlerinizde gerçek zamanlı tarama yapan antivirüs yazılımlarını kullanın ve güncel tutun.
3. Sürekli İzleme ve Kontrol
3.1. Proje Aktivitelerini İzleme
GitHub'a Abone Olun: Microsoft'un resmi GitHub hesabını ve etkilenen projeleri takip edin. Yeni güvenlik açıkları hakkında bilgilendirme almak için GitHub Security Advisories bildirimlerini etkinleştirin.
Log Dosyalarını Kontrol Edin: Geliştirme ortamınızdaki log dosyalarını inceleyin. Anormal aktiviteleri tespit etmek için SIEM (Security Information and Event Management) araçlarını kullanın.
3.2. Güvenlik Politikalarını Güncelleme
Güvenlik Politikalarını Gözden Geçirin: Kurumunuzun güvenlik politikalarını ve yazılım tedarik zinciri yönetimini gözden geçirin. Açık kaynaklı projelerin kullanımı için yeni kurallar belirleyin.
Çalışanları Eğitin: Geliştiricileri ve BT personelini tedarik zinciri saldırıları ve güvenli kod pratikleri konusunda eğitin.
İpucu: Açık kaynaklı projelerin güvenilirliğini artırmak için Sigstore gibi imzalama sistemlerini kullanın. Projelerin kaynak kodunun doğruluğunu ve bütünlüğünü doğrulamak için SHA-256 özetlerini karşılaştırın.
Özet ve Öneriler
Microsoft'un açık kaynaklı projelerinde yaşanan bu saldırı, tedarik zinciri güvenliğinin ne kadar kritik olduğunu bir kez daha göstermektedir. Geliştiricilerin ve kurumların aşağıdaki adımları izlemesi önerilir:
- Güncel kalmak: Microsoft ve diğer açık kaynak platformlarının güvenlik duyurularını sürekli takip edin.
- Güvenilir kaynaklar kullanmak: Projeleri sadece resmi kaynaklardan indirin ve bağımlılıklarınızı dikkatlice seçin.
- Kimlik bilgilerini korumak: Tüm hizmetler için güçlü parolalar kullanın ve düzenli olarak değiştirin.
- İzleme ve denetim: Geliştirme ortamınızı sürekli izleyin ve anormal aktiviteleri tespit edin.
Bu adımları izleyerek, tedarik zinciri saldırılarına karşı daha dirençli bir ortam oluşturabilir ve geliştiricilerin güvenliğini sağlayabilirsiniz.


