Na overenie balíka v NPM odporúčame použiť Sigstore

Správa bola zverejnená, že na GitHub bol predložený na diskusiu návrh na implementáciu služba Sigstore na overenie balíkov s digitálnymi podpismi a udržiavať verejný záznam na potvrdenie pravosti pri distribúcii vydaní.

O návrhu sa uvádza, že použitie Sigstore umožní zaviesť dodatočnú úroveň ochrany proti útokom zameraným na nahradenie softvérových komponentov a závislostí (supply chain).

Zabezpečenie dodávateľského reťazca softvéru je jednou z najväčších bezpečnostných výziev, ktorým v súčasnosti čelí náš priemysel. Tento návrh je dôležitým ďalším krokom, ale skutočné vyriešenie tejto výzvy si bude vyžadovať odhodlanie a investície z celej komunity…

Tieto zmeny pomáhajú chrániť spotrebiteľov s otvoreným zdrojom pred útokmi dodávateľského reťazca softvéru; inými slovami, keď sa zlomyseľní používatelia pokúšajú šíriť malvér prelomením účtu správcu a pridaním malvéru do závislostí s otvoreným zdrojom, ktoré používajú mnohí vývojári.

Implementovaná zmena napríklad ochráni zdroje projektu v prípade, že dôjde k ohrozeniu vývojárskeho účtu niektorej zo závislostí v NPM a útočník vygeneruje aktualizáciu balíka so škodlivým kódom.

Stojí za zmienku, že Sigstore nie je len ďalším nástrojom na podpisovanie kódu, pretože jeho bežným prístupom je eliminovať potrebu spravovať podpisové kľúče vydávaním krátkodobých kľúčov založených na identitách OpenID Connect (OIDC) a zároveň zaznamenávať akcie. v nemennej účtovnej knihe s názvom rekor, okrem toho má Sigstore vlastnú certifikačnú autoritu s názvom Fulcio

Vďaka novej úrovni ochrany vývojári budú môcť prepojiť vygenerovaný balík s použitým zdrojovým kódom a prostredie zostavy, čo dáva používateľovi možnosť overiť, či obsah balíka zodpovedá obsahu zdrojov v hlavnom úložisku projektu.

Používanie Sigstore výrazne zjednodušuje proces správy kľúčov a eliminuje zložitosti spojené s registráciou, odvolaním a správou kryptografických kľúčov. Sigstore sa propaguje ako Let's Encrypt for code, poskytuje certifikáty na digitálne podpisovanie kódu a nástroje na automatizáciu overovania.

Dnes otvárame novú žiadosť o komentáre (RFC), ktorá sa zaoberá viazaním balíka na jeho zdrojové úložisko a prostredie zostavy. Keď sa správcovia balíkov rozhodnú pre tento systém, spotrebitelia ich balíkov môžu mať väčšiu istotu, že obsah balíka sa zhoduje s obsahom prepojeného úložiska.

Namiesto trvalých kľúčov, Sigstore používa krátkodobé efemérne kľúče, ktoré sa generujú na základe povolení. Materiál použitý na podpis sa odráža vo verejnom zázname chránenom pred zmenami, čo vám umožňuje zabezpečiť, že autor podpisu je presne ten, za koho sa vydáva, a že podpis vytvoril ten istý účastník, ktorý bol zodpovedný.

Projekt zaznamenal skoré prijatie s inými ekosystémami správcu balíkov. S dnešným RFC navrhujeme pridať podporu pre end-to-end podpisovanie balíkov npm pomocou Sigstore. Tento proces by zahŕňal generovanie certifikácií o tom, kde, kedy a ako bol balík vytvorený, aby ho bolo možné neskôr overiť.

Na zabezpečenie integrity a ochranu pred poškodením údajov, používa sa stromová štruktúra Merkle Tree v ktorom každá vetva kontroluje všetky základné vetvy a uzly prostredníctvom spoločného hashu (stromu). Pomocou koncového hashu môže používateľ overiť správnosť celej histórie operácií, ako aj správnosť minulých stavov databázy (koreňový kontrolný hash nového stavu databázy sa vypočíta s ohľadom na minulý stav).

Nakoniec stojí za zmienku, že Sigstore spoločne vyvinuli Linux Foundation, Google, Red Hat, Purdue University a Chainguard.

Ak sa o tom chcete dozvedieť viac, podrobnosti si môžete prečítať v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.