Giriş
GitHub ve PyPI, tedarik zinciri saldırılarına karşı korunmak amacıyla yeni bir zaman tabanlı mekanizma geliştirmiştir. Bu önlem, son bir yılda çeşitli yüksek profilli saldırılarla karşılaşan yazılım geliştirme ekosistemlerinin güvenliğini artırmayı amaçlamaktadır.
Saldırı Nasıl Çalışıyor?
GitHub, Dependabot adlı bağımlılık yönetim aracında varsayılan olarak üç günlük bir bekleme süresi eklemiştir. Bu süre, kötü niyetli paketlerin otomatik olarak benimsenme riskini azaltmak için uygulanmaktadır. Son dönemde tespit edilen kötü niyetli npm paketleri, yayımlandıktan sadece birkaç dakika sonra güvenlik araçları tarafından flaglenmesine rağmen, bu durum tehlikeyi ortadan kaldırmamaktadır. Çünkü depo yöneticileri ve satıcıların kötü niyetli paketleri kaldırması gerekmektedir. Bu kısa zaman diliminde, geliştiriciler ve projeler kötü niyetli kodu indirme ve entegre etme riski taşımaktadır.
Etkilenen Sistemler
GitHub’daki mevcut güncellemelerin yanı sıra PyPI, yayımlanan dosyaların 14 gün sonra yeni dosyaların eklenmesine izin vermeyecek şekilde değişiklikler yapmıştır. Bu, yayım anahtarlarını veya iş akışlarını tehlikeye atan saldırganların, eski ve güvenilir sürümleri zehirleyerek sisteme zarar vermesini engellemek içindir. PyPI, şu an için bilinen herhangi bir saldırının bu zehirleme tekniğini kullandığını doğrulamamıştır; ancak, tedbir amacıyla bu önlemi almıştır.
Çözüm ve Korunma
- Dependabot’un üç günlük bekleme süresi sayesinde, kullanıcılar paket güncellemelerini daha dikkatli bir şekilde değerlendirebilir.
- Yine, PyPI’nin 14 günlük kesinti uygulaması, eski sürümlerin güncellenmesini engelleyerek güvenliği artırmaktadır.
- Kullanıcılara, yedekleme dosyalarıyla bağımlılık pinleme, sınırlı kapsamlı token’lar kullanma ve gereksiz kurulum betiklerini devre dışı bırakma gibi ek güvenlik önlemlerini de almaları önerilmektedir.
Aksiyon
Geliştiricilerin bu yeni mekanizmaları kullanarak sistemlerini güçlendirmeleri ve olası saldırılara karşı hazırlık yapmaları önemlidir. Güncellemelerinizi kontrol edin, gereksiz portları kapatın ve zaman tabanlı güvenlik önlemlerini devreye alın. Özellikle Dependabot ve PyPI ayarlarınızı optimize ederek, olası riskleri minimize edebilirsiniz.


