Zaproponuj użycie Sigstore do weryfikacji pakietów w NPM

Wiadomość została wydana, że na GitHubie została poddana dyskusji propozycja wdrożenia obsługa Sigstore do weryfikacji paczek z podpisami cyfrowymi i utrzymuj publiczny rejestr w celu potwierdzenia autentyczności podczas dystrybucji wydań.

O propozycji wspomina się, że korzystanie z Sigstore pozwoli na wdrożenie dodatkowego poziomu ochrony przed atakami mającymi na celu wymianę komponentów i zależności oprogramowania (łańcuch dostaw).

Zabezpieczenie łańcucha dostaw oprogramowania jest obecnie jednym z największych wyzwań w zakresie bezpieczeństwa, przed którymi stoi obecnie nasza branża. Ta propozycja jest ważnym kolejnym krokiem, ale prawdziwe rozwiązanie tego wyzwania będzie wymagało zaangażowania i inwestycji ze strony całej społeczności…

Zmiany te pomagają chronić konsumentów open source przed atakami w łańcuchu dostaw oprogramowania; innymi słowy, gdy szkodliwi użytkownicy próbują rozprzestrzeniać złośliwe oprogramowanie, włamując się na konto opiekuna i dodając złośliwe oprogramowanie do zależności open source używanych przez wielu programistów.

Na przykład zaimplementowana zmiana będzie chronić źródła projektu w przypadku złamania konta programisty jednej z zależności w NPM, a atakujący wygeneruje aktualizację pakietu ze złośliwym kodem.

Warto wspomnieć, że Sigstore nie jest tylko kolejnym narzędziem do podpisywania kodu, ponieważ jego normalnym podejściem jest wyeliminowanie konieczności zarządzania kluczami podpisu poprzez wydawanie kluczy krótkoterminowych w oparciu o tożsamości OpenID Connect (OIDC), jednocześnie rejestrując akcje w niezmiennej księdze zwanej rekor, oprócz tego Sigstore posiada własny urząd certyfikacji o nazwie Fulcio

Dzięki nowemu poziomowi ochrony programiści będą mogli połączyć wygenerowany pakiet z użytym kodem źródłowym oraz środowisko kompilacji, dając użytkownikowi możliwość sprawdzenia, czy zawartość pakietu odpowiada zawartości źródeł w głównym repozytorium projektu.

Korzystanie z Sigstore znacznie upraszcza proces zarządzania kluczami i eliminuje złożoność związaną z rejestracją, unieważnianiem i zarządzaniem kluczami kryptograficznymi. Sigstore promuje się jako Let's Encrypt dla kodu, dostarczając certyfikaty do cyfrowego podpisywania kodu i narzędzia do automatyzacji weryfikacji.

Dziś otwieramy nowy Request for Comments (RFC), który dotyczy powiązania pakietu z jego repozytorium źródłowym i środowiskiem kompilacji. Gdy opiekunowie pakietów zdecydują się na ten system, konsumenci ich pakietów mogą mieć większą pewność, że zawartość pakietu pasuje do zawartości połączonego repozytorium.

Zamiast stałych kluczy, Sigstore używa krótkotrwałych kluczy efemerycznych, które są generowane na podstawie uprawnień. Materiał użyty do podpisu jest odzwierciedlony w chronionym przed modyfikacjami rejestrze publicznym, co pozwala upewnić się, że autor podpisu jest dokładnie tym, za kogo się podaje, a podpis został złożony przez tego samego uczestnika, który był odpowiedzialny.

Projekt został wcześnie przyjęty z innymi ekosystemami menedżerów pakietów. W dzisiejszym RFC proponujemy dodać obsługę kompleksowego podpisywania pakietów npm przy użyciu Sigstore. Proces ten obejmowałby generowanie certyfikatów o tym, gdzie, kiedy i jak pakiet został utworzony, aby można go było później zweryfikować.

Aby zapewnić integralność i ochrona przed uszkodzeniem danych, używana jest struktura drzewa Merkle w którym każda gałąź sprawdza wszystkie podległe gałęzie i węzły za pomocą wspólnego skrótu (drzewa). Posiadając kroczący hash użytkownik może zweryfikować poprawność całej historii operacji, a także poprawność przeszłych stanów bazy danych (hasz sprawdzania root nowego stanu bazy jest obliczany z uwzględnieniem stanu przeszłego).

Na koniec warto wspomnieć, że Sigstore jest wspólnie rozwijany przez Linux Foundation, Google, Red Hat, Purdue University i Chainguard.

Jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w poniższy link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.