SCA -Yazılım Kompozisyon Analizi CI/CD.

May 02 2023
Yazılım Kompozisyon Analizi Nedir? SCA, kullanılan herhangi bir açık kaynak veya üçüncü taraf bileşeni belirlemek ve bu bileşenlerle ilişkili bilinen tüm güvenlik açıklarını veya lisans uyumluluğu sorunlarını tespit etmek için kodun ve bağımlılıklarının taranmasını içeren bir analiz türüdür. Güvenli geliştirme döngüsü boyunca SCA'nın uygulanmasının gerekli olmasının birkaç nedeni vardır.

Yazılım Kompozisyon Analizi Nedir?

SCA, kullanılan herhangi bir açık kaynak veya üçüncü taraf bileşeni belirlemek ve bu bileşenlerle ilişkili bilinen tüm güvenlik açıklarını veya lisans uyumluluğu sorunlarını tespit etmek için kodun ve bağımlılıklarının taranmasını içeren bir analiz türüdür.

Güvenli geliştirme döngüsü boyunca SCA'nın uygulanmasının gerekli olmasının birkaç nedeni vardır.

Güvenlik : Açık kaynak bileşenleri ve üçüncü taraf kitaplıkları, genellikle saldırganlar tarafından bir uygulamaya veya sisteme yetkisiz erişim elde etmek için yararlanılabilecek güvenlik açıkları içerir. SCA, geliştirme sürecinin başlarında bu güvenlik açıklarının belirlenmesine yardımcı olarak, geliştiricilerin bunları üretim ortamında istismar edilmeden önce düzeltmelerine olanak tanır.

Uyumluluk : Pek çok açık kaynak bileşeni, düzgün yönetilmediği takdirde yasal sonuçları olabilecek belirli hüküm ve koşullar altında lisanslanmıştır. SCA, geliştiricilerin yasal bir yükümlülüğe dönüşmeden önce bu sorunları ele almalarına izin vererek, geliştirme sürecinin başlarında herhangi bir lisans uyumluluğu sorununu belirlemeye yardımcı olabilir.

Verimlilik : Açık kaynak bileşenleri ve üçüncü taraf kitaplıkları, geliştirme sürecini hızlandırmaya ve sıfırdan kod yazma ihtiyacını azaltmaya yardımcı olarak geliştirme sürecinde zaman ve emek tasarrufu sağlayabildikleri için geliştiriciler için değerli bir kaynak olabilir.

Sürdürülebilirlik : Yazılım geliştikçe ve yeni bileşenler eklendikçe veya güncellendikçe, tüm bağımlılıkları ve bunlarla ilişkili güvenlik açıklarını veya uyumluluk sorunlarını takip etmek zorlaşabilir. SCA, bu bağımlılıkları takip etmeye ve yazılım geliştirme yaşam döngüsü boyunca düzgün bir şekilde yönetilmelerini sağlamaya yardımcı olabilir.

Birkaç Yazılım Bileşimi Analizi (SCA) aracı vardır:

  • Sonatip Nexus IQ
  • siyah ördek
  • Snyk
  • Beyaz Kaynak
  • OWASP Bağımlılık Kontrolü
  • FOSSA

2020'de SolarWinds tedarik zinciri saldırısı keşfedildi. Saldırı, birkaç ABD devlet kurumunun yanı sıra çok sayıda özel şirketi de etkiledi.

Saldırganlar, Teksas merkezli bir BT şirketi olan SolarWinds tarafından geliştirilen Orion adlı bir yazılım ürününün güncellemelerine kötü amaçlı yazılım yerleştirdi. Güncellemeler daha sonra birkaç ABD devlet kurumu ve Fortune 500 şirketi de dahil olmak üzere SolarWinds müşterilerine dağıtıldı.

OWASP Dependency-Check'i GitLab CI/CD ile entegre etmek için şu genel adımları takip edebilirsiniz:

  1. GitLab'da Dependency-Check eklentisini yükleyin ve yapılandırın. Eklentiyi GitLab pazarında bulabilirsiniz.
  2. GitLab CI/CD işlem hattınızda, Dependency-Check'i kullanarak bağımlılık taraması için yeni bir aşama ekleyin. Örneğin, dosyanıza aşağıdaki aşamayı ekleyebilirsiniz .gitlab-ci.yml:

Ek olarak, kodunuzun güvenli ve uyumlu olduğundan emin olmak için SCA aracınızı düzenli olarak güncellemeniz ve yeni güvenlik açıkları ve üçüncü taraf bağımlılıklarına yönelik güncellemeler hakkında bilgi sahibi olmanız önemlidir.