Pytanie które większość organizacji nie potrafi odpowiedzieć

Czy obraz kontenera który uruchomił się na produkcji godzinę temu, to dokładnie ten sam artefakt który zbudował Twój pipeline? Czy nikt go nie zmodyfikował między buildem a deploymentem?

Większość organizacji technologicznych nie jest w stanie odpowiedzieć na to pytanie — bo nie ma mechanizmu który by to weryfikował. Rejestr Docker nie zapewnia niezmienności. Tag wersji może wskazywać na inny obraz niż wczoraj. Artefakt przechowywany w repozytorium może zostać nadpisany.

Dlaczego integralność artefaktów to problem łańcucha dostaw

Atak SolarWinds z 2020 roku był doskonałym przykładem kompromitacji łańcucha dostaw: atakujący wstrzyknęli złośliwy kod nie do aplikacji klienta, ale do procesu budowania oprogramowania dostawcy. Wynikowy artefakt — oficjalny, podpisany, dystrybuowany przez dostawcę — zawierał backdoor.

To ekstremalny przykład, ale mechanizm jest ogólny. Każde miejsce w łańcuchu między kodem źródłowym a uruchomionym oprogramowaniem jest potencjalnym miejscem wstrzyknięcia. Im więcej ogniw bez weryfikacji integralności — tym większa powierzchnia ataku.

W kontekście pipeline’u CI/CD te ogniwa to: środowisko buildowe, rejestr obrazów kontenerów, system przechowywania artefaktów, system deploymentu. Każde z nich może zostać skompromitowane — i bez weryfikacji integralności, modyfikacja byłaby niewidoczna.

Podpisywanie kryptograficzne jako odpowiedź

Podpisywanie kryptograficzne artefaktów — obrazów kontenerów, binarek, plików konfiguracyjnych — pozwala zweryfikować że artefakt nie został zmodyfikowany od momentu podpisania i że podpisała go konkretna, zaufana tożsamość.

Sigstore i jego narzędzie Cosign standaryzują ten proces dla ekosystemu cloud-native. Projekt jest rozwijany przez Linux Foundation i ma wsparcie głównych dostawców chmury i narzędzi DevOps. Istotna właściwość: model “keyless signing” eliminuje konieczność zarządzania kluczami kryptograficznymi — jeden z głównych powodów dla których podpisywanie artefaktów nie było wcześniej powszechne.

Weryfikacja w runtimeSamo podpisanie artefaktu ma ograniczoną wartość jeśli podpis nie jest weryfikowany przed uruchomieniem. Pełny mechanizm integralności wymaga zarówno podpisywania w pipeline jak i weryfikacji przez system orkiestracji przed deploymentem. Bez obu elementów — to połowiczne rozwiązanie.

Przejrzystość i audytowalność

Ekosystem Sigstore zawiera Rekor — publiczny, niemodyfikowalny log podpisów. Każde podpisanie artefaktu jest rejestrowane z timestamp, tożsamością podpisującego i hashem artefaktu. Tworzy to audytowalny ślad: kto, kiedy i co podpisał.

Dla organizacji podlegających regulacjom wymagającym audytowalności łańcucha dostaw oprogramowania — ten log jest bezpośrednim dowodem w procesie compliance. Zastępuje ręczne prowadzenie rejestrów i minimalizuje ryzyko manipulacji dokumentacją.

Stan adopcji w branży

Podpisywanie artefaktów przeszło z “dobrej praktyki przyszłości” do “rosnącego wymagania” w ciągu ostatnich dwóch lat. Dystrybucje Linuxa, projekty CNCF i coraz więcej organizacji Enterprise adoptuje Cosign jako standard. Cyber Resilience Act w UE będzie wymagał możliwości weryfikacji integralności oprogramowania. Organizacje które wdrożą ten mechanizm teraz, będą gotowe. Pozostałe będą gonić.


Czytaj również: