Red Hat și Google au prezentat Sigstore, un serviciu pentru verificarea criptografică a codului

Companiile Red Hat și Google, împreună cu Universitatea Purdue, au fondat proiectul Sigstore, destinat creării de instrumente și servicii pentru verificarea software-ului prin semnături digitale și menținerea unui jurnal public pentru confirmarea autenticității (transparency log). Proiectul va fi dezvoltat sub egida organizației non-profit Linux Foundation.

Proiectul propus va permite creșterea securității canalelor de distribuție a programelor și va proteja împotriva atacurilor destinate înlocuirii componentelor software și dependențelor (supply chain). Una dintre problemele cheie ale securității în software-ul open source este complexitatea verificării sursei programului și a procesului de compilare. De exemplu, pentru a verifica integritatea unei versiuni, majoritatea proiectelor folosesc hash-uri, dar informațiile necesare pentru verificarea autenticității sunt adesea stocate în sisteme nesecurizate și în repository-uri comune de cod, rezultând în compromiterea acestora, prin care atacatorii pot înlocui fișierele necesare verificării și, fără a stârni suspiciuni, pot introduce modificări dăunătoare.

Numai o parte mică a proiectelor folosește semnături digitale pentru distribuția versiunilor din cauza dificultăților în managementul cheilor, distribuția cheilor publice și retragerea cheilor compromise. Pentru ca verificarea să aibă sens, este necesar să se organizeze un proces fiabil și sigur de distribuire a cheilor publice și a sumelor de verificare. Chiar și în prezența unei semnături digitale, mulți utilizatori ignoră verificarea, deoarece trebuie să aloce timp pentru a învăța procesul de verificare și a înțelege ce cheie merită încrederea.

Sigstore este prezentat ca un echivalent al Let’s Encrypt pentru cod, oferind certificate pentru autentificarea codului cu semnături digitale și instrumente pentru automatizarea verificării. Cu ajutorul Sigstore, dezvoltatorii vor putea genera semnături digitale pentru artefactele legate de aplicație, cum ar fi fișierele cu versiuni, imaginile containerelor, manifeste și fișiere executabile. O caracteristică a Sigstore este că materialul folosit pentru semnare este reflectat într-un jurnal public protejat împotriva modificărilor, care poate fi utilizat pentru verificare și audit.

În loc de chei permanente, Sigstore utilizează chei efemere de scurtă durată, care sunt generate pe baza atribuțiilor confirmate de furnizorii OpenID Connect (în momentul generării cheilor pentru semnătura digitală, dezvoltatorul se identifică prin intermediul furnizorului OpenID legat de email). Autenticitatea cheilor este verificată printr-un jurnal public centralizat, care permite confirmarea că autorul semnăturii este, într-adevăr, cel care pretinde a fi și că semnătura a fost creată de același participant care s-a ocupat de lansările anterioare.

Sigstore oferă atât un serviciu gata de utilizare, cât și un набор de instrumente care permit implementarea unor servicii similare pe echipamentele proprii. Serviciul este gratuit pentru toți dezvoltatorii și furnizorii de software și este desfășurat pe o platformă neutră — Linux Foundation. Toate componentele serviciului sunt open-source, scrise în limbajul Go și distribuite sub licența Apache 2.0.

Printre componentele dezvoltate se numără:

  • Rekor — o implementare a unui jurnal pentru stocarea metadatelor verificate prin semnături digitale, care reflectă informații despre proiecte. Pentru a asigura integritatea și protecția împotriva modificărilor retroactive, se aplică o structură arborească „Arborele Merkle” (Merkle Tree), în care fiecare ramură verifică toate ramurile și nodurile subiacente, datorită hash-ului arboreesc. Având un hash final, utilizatorul poate verifica corectitudinea întregii istorii a operațiunilor, precum și corectitudinea stărilor anterioare ale bazei de date (hash-ul de verificare rădăcină al noii stări a bazei este calculat ținând cont de starea anterioară). Pentru verificare și adăugarea de noi înregistrări, există un API Restful, precum și o interfață CLI.
  • Fulcio (SigStore WebPKI) — un sistem pentru crearea centrelor de certificare (Root-CA), care emit certificate pe termen scurt pe baza emailului, autentificat prin OpenID Connect. Durata de viață a certificatului este de 20 de minute, timp în care dezvoltatorul trebuie să reușească să genereze o semnătură digitală (dacă ulterior certificatul ajunge în mâinile unui atacator, acesta va fi deja expirat).
  • Cosign (Container Signing) — un instrument pentru generarea semnăturilor pentru containere, verificarea semnăturilor și stocarea containerelor semnate în repozitorii compatibile cu OCI (Open Container Initiative).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster