SCA — analiza składu oprogramowania CI/CD.

May 02 2023
Co to jest analiza składu oprogramowania? SCA to rodzaj analizy, który obejmuje skanowanie kodu i jego zależności w celu zidentyfikowania wszelkich używanych komponentów open source lub innych firm oraz wykrycia wszelkich znanych luk w zabezpieczeniach lub problemów ze zgodnością licencji związanych z tymi komponentami. Istnieje kilka powodów, dla których konieczne jest stosowanie SCA w całym bezpiecznym cyklu rozwojowym.

Co to jest analiza składu oprogramowania?

SCA to rodzaj analizy, który obejmuje skanowanie kodu i jego zależności w celu zidentyfikowania wszelkich używanych komponentów open source lub innych firm oraz wykrycia wszelkich znanych luk w zabezpieczeniach lub problemów ze zgodnością licencji związanych z tymi komponentami.

Istnieje kilka powodów, dla których konieczne jest stosowanie SCA w całym bezpiecznym cyklu rozwojowym.

Bezpieczeństwo : komponenty open source i biblioteki stron trzecich często zawierają luki, które mogą zostać wykorzystane przez atakujących w celu uzyskania nieautoryzowanego dostępu do aplikacji lub systemu. SCA pomaga identyfikować te luki na wczesnym etapie procesu programowania, umożliwiając programistom usuwanie ich, zanim będą mogły zostać wykorzystane w środowisku produkcyjnym.

Zgodność : Wiele komponentów open source jest licencjonowanych na określonych warunkach, które mogą mieć konsekwencje prawne, jeśli nie są odpowiednio zarządzane. SCA może pomóc zidentyfikować wszelkie problemy ze zgodnością licencji na wczesnym etapie procesu rozwoju, umożliwiając programistom zajęcie się nimi, zanim staną się one odpowiedzialnością prawną.

Wydajność : komponenty open source i biblioteki innych firm mogą być cennym źródłem dla programistów, ponieważ mogą pomóc przyspieszyć proces programowania i zmniejszyć potrzebę pisania kodu od podstaw, oszczędzając czas i wysiłek w procesie programowania.

Łatwość konserwacji : wraz z rozwojem oprogramowania i dodawaniem lub aktualizacją nowych komponentów śledzenie wszystkich zależności i związanych z nimi luk w zabezpieczeniach lub problemów ze zgodnością może stać się trudne. SCA może pomóc w śledzeniu tych zależności i zapewnieniu, że są one odpowiednio zarządzane przez cały cykl życia oprogramowania.

Istnieje kilka narzędzi do analizy składu oprogramowania (SCA):

  • Sonatype Nexus IQ
  • Czarna Kaczka
  • Snyk
  • Białe Źródło
  • Kontrola zależności OWASP
  • DÓŁ

W 2020 roku odkryto atak na łańcuch dostaw SolarWinds. Atak dotknął kilka agencji rządowych USA, a także liczne firmy prywatne.

Atakujący umieścili złośliwe oprogramowanie w aktualizacjach oprogramowania o nazwie Orion, które jest rozwijane przez firmę informatyczną SolarWinds z Teksasu. Aktualizacje zostały następnie rozesłane do klientów SolarWinds, w tym kilku agencji rządowych USA i firm z listy Fortune 500.

Aby zintegrować OWASP Dependency-Check z GitLab CI/CD, możesz wykonać następujące ogólne kroki:

  1. Zainstaluj i skonfiguruj wtyczkę Dependency-Check w GitLab. Wtyczkę można znaleźć na rynku GitLab.
  2. W potoku GitLab CI/CD dodaj nowy etap skanowania zależności za pomocą sprawdzania zależności. Na przykład możesz dodać następujący etap do swojego .gitlab-ci.ymlpliku:

Ponadto ważne jest, aby regularnie aktualizować narzędzie SCA i być na bieżąco informowanym o nowych lukach w zabezpieczeniach i aktualizacjach zależności innych firm, aby zapewnić bezpieczeństwo i zgodność kodu.