Προτείνετε τη χρήση του Sigstore για επαλήθευση πακέτου στο NPM

Η είδηση ​​κυκλοφόρησε ότι στο GitHub μια πρόταση έχει τεθεί προς συζήτηση για εφαρμογή η υπηρεσία Sigstore για επαλήθευση πακέτων με ψηφιακές υπογραφές και να διατηρεί δημόσιο αρχείο για την επιβεβαίωση της γνησιότητας κατά τη διανομή των εκδόσεων.

Σχετικά με την πρόταση αναφέρεται ότι η χρήση του Sigstore θα επιτρέψει την εφαρμογή ενός πρόσθετου επιπέδου προστασίας έναντι επιθέσεων που στοχεύουν στην αντικατάσταση στοιχείων λογισμικού και εξαρτήσεων (αλυσίδα ανεφοδιασμού).

Η διασφάλιση της αλυσίδας εφοδιασμού λογισμικού είναι μία από τις μεγαλύτερες προκλήσεις ασφαλείας που αντιμετωπίζει αυτή τη στιγμή ο κλάδος μας. Αυτή η πρόταση είναι ένα σημαντικό επόμενο βήμα, αλλά η πραγματική επίλυση αυτής της πρόκλησης θα απαιτήσει δέσμευση και επενδύσεις από όλη την κοινότητα…

Αυτές οι αλλαγές βοηθούν στην προστασία των καταναλωτών ανοιχτού κώδικα από επιθέσεις στην αλυσίδα εφοδιασμού λογισμικού. Με άλλα λόγια, όταν κακόβουλοι χρήστες επιχειρούν να διαδώσουν κακόβουλο λογισμικό παραβιάζοντας τον λογαριασμό ενός συντηρητή και προσθέτοντας κακόβουλο λογισμικό στις εξαρτήσεις ανοιχτού κώδικα που χρησιμοποιούνται από πολλούς προγραμματιστές.

Για παράδειγμα, η αλλαγή που εφαρμόστηκε θα προστατεύσει τις πηγές του έργου σε περίπτωση που ο λογαριασμός προγραμματιστή μιας από τις εξαρτήσεις NPM παραβιαστεί και ένας εισβολέας δημιουργήσει μια ενημέρωση πακέτου με κακόβουλο κώδικα.

Αξίζει να σημειωθεί ότι το Sigstore δεν είναι απλώς ένα άλλο εργαλείο υπογραφής κώδικα, καθώς η συνήθης προσέγγισή του είναι να εξαλείψει την ανάγκη διαχείρισης κλειδιών υπογραφής με την έκδοση βραχυπρόθεσμων κλειδιών με βάση ταυτότητες OpenID Connect (OIDC), ταυτόχρονα με την καταγραφή των ενεργειών σε ένα αμετάβλητο καθολικό που ονομάζεται rekor, επιπλέον του οποίου η Sigstore έχει τη δική της αρχή πιστοποίησης που ονομάζεται Fulcio

Χάρη στο νέο επίπεδο προστασίας, Οι προγραμματιστές θα μπορούν να συνδέσουν το δημιουργημένο πακέτο με τον πηγαίο κώδικα που χρησιμοποιείται και το περιβάλλον κατασκευής, δίνοντας στον χρήστη την ευκαιρία να επαληθεύσει ότι τα περιεχόμενα του πακέτου αντιστοιχούν στα περιεχόμενα των πηγών στο κύριο αποθετήριο του έργου.

Η χρήση του Sigstore απλοποιεί σημαντικά τη διαδικασία διαχείρισης κλειδιών και εξαλείφει τις πολυπλοκότητες που σχετίζονται με την εγγραφή, την ανάκληση και τη διαχείριση κρυπτογραφικών κλειδιών. Το Sigstore προβάλλεται ως Let's Encrypt for code, παρέχοντας πιστοποιητικά για ψηφιακή υπογραφή κώδικα και εργαλεία για την αυτοματοποίηση της επαλήθευσης.

Ανοίγουμε σήμερα ένα νέο αίτημα για σχόλια (RFC), το οποίο εξετάζει τη δέσμευση ενός πακέτου στο αποθετήριο πηγής και το περιβάλλον κατασκευής του. Όταν οι συντηρητές πακέτων επιλέγουν αυτό το σύστημα, οι καταναλωτές των πακέτων τους μπορούν να έχουν μεγαλύτερη εμπιστοσύνη ότι το περιεχόμενο του πακέτου ταιριάζει με το περιεχόμενο του συνδεδεμένου αποθετηρίου.

Αντί για μόνιμα κλειδιά, Το Sigstore χρησιμοποιεί εφήμερα κλειδιά μικρής διάρκειας που δημιουργούνται βάσει αδειών. Το υλικό που χρησιμοποιείται για την υπογραφή αντικατοπτρίζεται σε ένα δημόσιο αρχείο που προστατεύεται από τροποποιήσεις, επιτρέποντάς σας να διασφαλίσετε ότι ο συντάκτης της υπογραφής είναι ακριβώς αυτός που λένε ότι είναι και ότι η υπογραφή σχηματίστηκε από τον ίδιο συμμετέχοντα που ήταν υπεύθυνος.

Το έργο εγκρίθηκε νωρίς με άλλα οικοσυστήματα διαχείρισης πακέτων. Με το σημερινό RFC, προτείνουμε να προσθέσουμε υποστήριξη για υπογραφή από άκρο σε άκρο πακέτων npm χρησιμοποιώντας το Sigstore. Αυτή η διαδικασία θα περιλαμβάνει τη δημιουργία πιστοποιήσεων σχετικά με το πού, πότε και πώς δημιουργήθηκε το πακέτο, ώστε να μπορεί να επαληθευτεί αργότερα.

Για να διασφαλιστεί η ακεραιότητα και προστασία έναντι της διαφθοράς δεδομένων, χρησιμοποιείται μια δομή δέντρου Merkle Tree στην οποία κάθε κλάδος ελέγχει όλους τους υποκείμενους κλάδους και κόμβους μέσω κοινών κατακερματισμού (δέντρου). Έχοντας έναν κατακερματισμό στο τέλος, ο χρήστης μπορεί να επαληθεύσει την ορθότητα ολόκληρου του ιστορικού λειτουργίας, καθώς και την ορθότητα των προηγούμενων καταστάσεων της βάσης δεδομένων (το ριζικό κατακερματισμό ελέγχου της νέας κατάστασης βάσης δεδομένων υπολογίζεται λαμβάνοντας υπόψη την προηγούμενη κατάσταση).

Τέλος, αξίζει να αναφέρουμε ότι το Sigstore αναπτύσσεται από κοινού από το Linux Foundation, την Google, τη Red Hat, το Πανεπιστήμιο Purdue και την Chainguard.

Εάν θέλετε να μάθετε περισσότερα σχετικά με αυτό, μπορείτε να συμβουλευτείτε τις λεπτομέρειες στο τον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.