Bezpieczeństwo łańcucha dostaw

Kontrola nad tym, z czego powstaje Wasze oprogramowanie — i dowód, że paczka u klienta pochodzi z Waszego procesu.

Adresujemy wymagania techniczne
CRANIS2UKSC
Droga paczki do klienta
  1. Nowa zależnośćsprawdzenie przed dodaniem
  2. Budowaniez przypiętych wersji
  3. SBOMprzy każdym wydaniu
  4. Podpisartefakt podpisany
  5. Pochodzeniezapis, z czego i gdzie zbudowano
  6. U klientasamodzielna weryfikacja

Klient sprawdza pochodzenie paczki sam, bez proszenia Was o oświadczenie.

Jak to wygląda dzisiaj

Tak wygląda punkt wyjścia w wielu firmach, które dowożą szybko i podlegają regulacjom.

Większość Waszego produktu to cudzy kod. Nie trzeba atakować Was bezpośrednio — wystarczy biblioteka albo narzędzie, z którego korzystacie. Jeden zainfekowany element trafia do wszystkich, którzy go pobiorą, razem z aktualizacją.

  1. Biblioteka open source
  2. Aktualizacja
  3. Wasz build
  4. Wydanie
  5. Wszyscy klienci

Co robimy

Zakres ustalamy po diagnozie — zaczynamy od elementu, który najszybciej obniży Wasze ryzyko.

Wiecie, z czego zbudowany jest Wasz produkt.

Spis składników generujemy automatycznie przy każdym wydaniu, nie ręcznie raz do roku — dzięki temu pytanie „czy używacie tej biblioteki" przestaje być projektem na tydzień. Artefakty podpisujemy, żeby klient mógł samodzielnie zweryfikować, że dostał to, co wyszło z Waszego procesu. Nowe zależności przechodzą sprawdzenie, zanim wejdą do projektu, bo najtańszy moment na odrzucenie ryzykownej biblioteki jest przed jej dodaniem. Całość układamy tak, żeby domykała techniczną warstwę wymagań CRA.

Cztery etapy

Po każdym etapie zostaje u Was konkretny rezultat, a nie notatka ze spotkania.

  1. 01

    Tworzymy spis składników

    SBOM generowany automatycznie przy każdym wydaniu, nie raz do roku ręcznie.

    RezultatSBOM generowany automatycznie przy każdym wydaniu

  2. 02

    Podpisujemy artefakty

    Klient może zweryfikować, że dostał to, co wyszło z Waszego procesu.

    RezultatPodpisane artefakty, które klient zweryfikuje sam

  3. 03

    Kontrolujemy zależności

    Nowa biblioteka przechodzi sprawdzenie, zanim wejdzie do projektu.

    RezultatReguły przyjmowania nowych zależności, wpięte w recenzję zmian

  4. 04

    Przygotowujemy do CRA

    Dokumentacja techniczna i zdolność odpowiedzi na zgłoszenie podatności.

    RezultatDokumentacja techniczna i procedura zgłaszania podatności pod CRA

Co dostajecie w praktyce

Wdrożenie kończy się działającą konfiguracją i dowodami, a nie raportem z listą zaleceń. Tak to wygląda na przykładzie.

Podpis i weryfikacjarelease · fragment
# podpis bez długożyjących kluczy
cosign sign registry.example.com/api@sha256:4f3c…

# weryfikacja po stronie klienta
cosign verify \
  --certificate-identity-regexp '^https://github.com/firma/' \
  --certificate-oidc-issuer \
    https://token.actions.githubusercontent.com \
  registry.example.com/api@sha256:4f3c…

Klient wie, że dostał dokładnie to, co wyszło z Waszego procesu.

Spis składników (SBOM)fragment
SkładnikWersjaLicencja
openssl3.0.15Apache-2.0
zlib1.3.1Zlib
log4j-core2.24.1Apache-2.0

Pytanie „czy używacie tej biblioteki” to jedno wyszukiwanie.

Zgłoszenie podatności (CRA)procedura
Dotyczy
aktywnie wykorzystywanej podatności
Wczesne ostrzeżenie
24 h od uzyskania informacji
Zgłoszenie
72 h
Raport końcowy
14 dni od udostępnienia poprawki
Status
procedura gotowa

Szablony i role są ustalone, zanim przyjdzie pierwsze zgłoszenie.

Ilustracja. Zakres i narzędzia dobieramy po diagnozie. Pokrywamy warstwę techniczną; pełna zgodność z CRA wymaga też działań organizacyjnych i prawnych.

Co zostaje u Was

Na pytanie „czy używacie tej biblioteki" odpowiadacie w minutę

Klient może samodzielnie zweryfikować pochodzenie paczki

Wymóg spisu składników jest domknięty technicznie

Najczęstsze pytania

Ile to trwa?+

Zakres ustalamy po rozmowie i diagnozie. Mniejsze wdrożenia zamykają się w kilku tygodniach, większe dzielimy na etapy, żeby efekt był widoczny po pierwszym.

Czy musimy dać Wam dostęp do kodu?+

Zwykle nie do całego. W większości przypadków wystarczy dostęp do konfiguracji procesu budowania i ustawień organizacji. Zakres ustalamy pisemnie przed startem.

Czy nasz zespół musi się zaangażować?+

Tak, ale nie na pełen etat. Potrzebujemy kontaktu z osobą, która zna system, i przeglądu naszych zmian. Reszta jest po naszej stronie.

Co jeśli mamy już narzędzia?+

Wpinamy się w to, co u Was działa. Wymiana narzędzia to najdroższy i najrzadziej potrzebny sposób poprawy bezpieczeństwa.

Czy uzależniamy się od Was?+

Nie. Pracujemy na standardach i narzędziach, które Wasz zespół zna albo szybko pozna — nie na autorskiej metodyce, którą rozumiemy wyłącznie my. Wszystko jest udokumentowane i przekazane.

Czy to nie spowolni wydawania?+

Tak wpinamy kontrole, żeby działały w tle. Jeśli któraś zaczyna blokować pracę, dostrajamy ją albo zmieniamy jej miejsce w procesie.

Sprawdźmy, gdzie ryzyko
powstaje w Waszym procesie

Odpowiadamy w 24h w dni robocze