- Bağımlılık cooldown’u (dependency cooldown), açık kaynak tedarik zinciri saldırılarının büyük bölümünü hafifletebilen basit ve etkili bir güvenlik tekniğidir
- Saldırganlar genellikle popüler açık kaynak projeleri ele geçirip kötü amaçlı kod dağıtır, ancak çoğu saldırının maruz kalma süresi bir haftadan kısadır
- Yeni bir sürüm yayımlandıktan sonra belirli bir süre (ör. 7 gün) bekleyen bir cooldown ayarlanırsa, otomatik güncellemelerden kaynaklanan bulaşma riski büyük ölçüde azaltılabilir
- Dependabot, Renovate, pnpm gibi araçlar zaten cooldown özelliğini yerleşik olarak destekler; yapılandırması kolaydır ve ek maliyet gerektirmez
- Cooldown’un paket yöneticisi seviyesinde varsayılan olarak sunulması, tedarik zinciri güvenliğinin güçlenmesine ve gereksiz alarmların azalmasına katkı sağlayabilir
Tedarik zinciri saldırılarının yapısı ve sorunları
- Çoğu tedarik zinciri saldırısı (supply chain attack) aynı deseni izler
- Saldırgan, popüler bir açık kaynak projesine kimlik bilgisi hırsızlığı veya CI/CD açığı üzerinden erişim sağlar
- Kötü amaçlı değişiklikleri dağıtım kanalına (PyPI, npm vb.) yükler
- Otomatik güncellemeler veya yetersiz sürüm sabitleme nedeniyle kullanıcılar enfekte sürümü kurar
- Güvenlik sağlayıcıları bunu tespit edip uyarı verir, ardından paket deposu ilgili sürümü kaldırır
- (1) ile (2) adımları arasındaki süre uzun olabilir, ancak (2) ile (5) arasındaki süreç saatler ya da birkaç gün içinde tamamlandığı için saldırganın etkin olduğu süre kısadır
- Son 18 aydaki başlıca örneklerde saldırı fırsatı penceresi (window of opportunity)
- xz-utils: yaklaşık 5 hafta
- Ultralytics: 12 saat (1. aşama), 1 saat (2. aşama)
- tj-actions: 3 gün
- chalk: 12 saatten az
- Nx: 4 saat
- rspack: 1 saat
- num2words: 12 saatten az
- Kong Ingress Controller: yaklaşık 10 gün
- web3.js: 5 saat
- Bunların 8’inde saldırı süresi 1 haftadan kısaydı ve çoğu cooldown ile engellenebilirdi
Cooldown kavramı ve etkisi
- Cooldown, yeni bir bağımlılık yayımlandıktan sonra belirli bir süre kullanılmasını geciktirme yöntemidir
- Bu süre içinde güvenlik sağlayıcıları sürümün kötü amaçlı olup olmadığını tespit edebilir
- Avantajları
Sonuç ve öneriler
- 10 saldırının 8’i 1 hafta veya daha kısa sürdü; 7 günlük cooldown bunların çoğunu engelleyebilir
- 14 günlük cooldown uygulanırsa xz-utils dışındaki tüm örnekler savunulabilir
- Cooldown mükemmel bir çözüm değildir, ancak maruz kalma riskini %80–90 azaltan basit bir yöntemdir
- Dependabot ve Renovate’e ek olarak, paket yöneticilerinin de cooldown’u yerleşik olarak desteklemesi için geliştirme yapılmalıdır
- Tedarik zinciri güvenliği yalnızca teknik bir sorun değil, toplumsal güven yapısının da bir meselesidir; ancak cooldown pratik bir hafifletme yöntemi olarak yararlıdır
Henüz yorum yok.