Giriş
Son dönemde yazılım tedarik zinciri saldırıları, geliştirici ortamlarından ve CI/CD süreçlerinden hassas bilgilerin çalınması yönünde evriliyor. Bu durum, güvenlik ekiplerinin yazılım tedarik zincirine bakış açısını değiştirmeleri gerektiğini ortaya koyuyor.
Saldırı Nasıl Çalışıyor?
Saldırganlar, zehirli paketler, kompakt imajlar, kötü niyetli çalışma akışları veya savunmasız geliştirici araçları kullanarak erişim sağlamaya çalışıyor. CVE-2022-XXXX gibi örneklerde görüldüğü üzere, bu tür saldırılar, geliştirici tarafından güvenilen sistemlere sızma fırsatlarını artırıyor.
Geliştirici ortamları, TeamPCP ve Shai-Hulud gibi kampanyalarda, bilgisayar sistemlerinde gizli bilgilerin depolanması ve bunların kötüye kullanılması açısından kritik bir nokta haline gelmiştir. Örneğin, TeamPCP kampanyasında, saldırganlar npm yapılandırma dosyaları ve SSH anahtarları gibi bilgileri toplamak için zarar görmüş paketler kullanmışlardır.
Etkilenen Sistemler
Geliştirici makineleri, yazılım teslimatını sağlayan kritik araçlar haline gelmiştir. Bu cihazlarda bulunabilecek hassas bilgiler arasında:
- Yerel depolar
- .env dosyaları
- SSH anahtarları
- Paket yöneticisi kimlik bilgileri
- Yapılandırma dosyaları
- Hata ayıklama günlükleri
Bu bilgilerin ele geçirilmesi, saldırganlara sistemi değiştirme yetkisi verebilir.
Çözüm ve Korunma
Güvenlik ekiplerinin, yazılım tedarik zincirini korumak için daha stratejik sorular sorması gerekmektedir:
- Geliştirici çalışma alanlarından kullanılabilir olan kimlik bilgileri nelerdir?
- Bu kimlik bilgilerinin değeri ve geçerliliği nasıl sınırlandırılabilir?
- Hassas materyal, Git geçmişine veya CI günlüklerine girmeden önce nasıl tespit edilebilir?
- Çalışma alanında bir ihlal şüphesi olduğunda erişim nasıl hızlıca iptal edilip döndürülür?
- Düşük etkili yerel maruz kalma ile yönetici benzeri yetkilere sahip kimlik bilgileri arasında nasıl ayrım yapılabilir?
Geliştirici makinelerin, local tedarik zinciri sınırları olarak ele alınması, yazılım güvenliği açısından kritik bir adım olacaktır.
Aksiyon
Okuyucularımıza, geliştirici ortamlarındaki güvenlik açıklarını gidermek için gerekli güncellemeleri yapmalarını, şüpheli davranışları izlemelerini ve kimlik bilgilerini düzenli olarak gözden geçirmelerini öneriyoruz. Ek olarak, potansiyel tehditlerin önüne geçmek için yerel güvenlik önlemleri almak hayati önem taşımaktadır.


