Αξιολόγηση βιβλιοθηκών που απαιτούν ειδικούς ελέγχους ασφαλείας

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

Η δεύτερη μελέτη εστιάζει στην ανάλυση του κοινόχρηστου κώδικα ανοιχτού κώδικα που χρησιμοποιείται σιωπηρά σε διάφορα εταιρικά έργα με τη μορφή εξαρτήσεων που λαμβάνονται από εξωτερικά αποθετήρια. Τα τρωτά σημεία και ο συμβιβασμός των προγραμματιστών εξαρτημάτων τρίτων που εμπλέκονται στη λειτουργία εφαρμογών (αλυσίδα ανεφοδιασμού) μπορούν να ακυρώσουν όλες τις προσπάθειες για τη βελτίωση της προστασίας του κύριου προϊόντος. Ως αποτέλεσμα της μελέτης ήταν προσδιορίζεται Τα 10 πιο συχνά χρησιμοποιούμενα πακέτα σε JavaScript και Java, η ασφάλεια και η δυνατότητα συντήρησης των οποίων απαιτούν ιδιαίτερη προσοχή.

Βιβλιοθήκες JavaScript από το αποθετήριο npm:

  • Async (196 χιλιάδες γραμμές κώδικα, 11 συντάκτες, 7 committers, 11 ανοιχτά θέματα).
  • κληρονομεί (3.8 χιλιάδες γραμμές κώδικα, 3 συντάκτες, 1 committer, 3 άλυτα προβλήματα).
  • συστοιχία (317 γραμμές κώδικα, 3 συντάκτες, 3 committers, 4 ανοιχτά θέματα).
  • περίπου (2 χιλιάδες γραμμές κώδικα, 11 συντάκτες, 11 committers, 3 άλυτα προβλήματα).
  • Λότζας (42 χιλιάδες γραμμές κώδικα, 28 συντάκτες, 2 committers, 30 ανοιχτά θέματα).
  • μινιμιστής (1.2 χιλιάδες γραμμές κώδικα, 14 συντάκτες, 6 committers, 38 ανοιχτά θέματα).
  • ντόπιοι (3 χιλιάδες γραμμές κώδικα, 2 συντάκτες, 1 committer, κανένα ανοιχτό ζήτημα)
  • qs (5.4 χιλιάδες γραμμές κώδικα, 5 συντάκτες, 2 committers, 41 ανοιχτά θέματα).
  • αναγνώσιμη ροή (28 χιλιάδες γραμμές κώδικα, 10 συντάκτες, 3 committers, 21 ανοιχτά θέματα).
  • string_decoder (4.2 χιλιάδες γραμμές κώδικα, 4 συντάκτες, 3 committers, 2 ανοιχτά θέματα).

Βιβλιοθήκες Java από τα αποθετήρια Maven:

  • jackson-core (74 χιλιάδες γραμμές κώδικα, 7 συντάκτες, 6 committers, 40 ανοιχτά θέματα).
  • jackson-databind (74 χιλιάδες γραμμές κώδικα, 23 συντάκτες, 2 committers, 363 ανοιχτά θέματα).
  • γκουάβα.git, Βιβλιοθήκες Google για Java (1 εκατομμύριο γραμμές κώδικα, 83 συγγραφείς, 3 committers, 620 ανοιχτά θέματα).
  • κοινά-κωδικοποιητής (51 χιλιάδες γραμμές κώδικα, 3 συντάκτες, 3 committers, 29 ανοιχτά θέματα).
  • κοινά-ιο (73 χιλιάδες γραμμές κώδικα, 10 συντάκτες, 6 committers, 148 ανοιχτά θέματα).
  • httpcomponents-client (121 χιλιάδες γραμμές κώδικα, 16 συντάκτες, 8 committers, 47 ανοιχτά θέματα).
  • httpcomponents-core (131 χιλιάδες γραμμές κώδικα, 15 συντάκτες, 4 committers, 7 ανοιχτά θέματα).
  • logback (154 χιλιάδες γραμμές κώδικα, 1 συγγραφέας, 2 committers, 799 ανοιχτά θέματα).
  • κοινά-γλώσσα (168 χιλιάδες γραμμές κώδικα, 28 συντάκτες, 17 committers, 163 ανοιχτά θέματα).
  • slf4j (38 χιλιάδες γραμμές κώδικα, 4 συντάκτες, 4 committers, 189 ανοιχτά θέματα).

Η αναφορά εξετάζει επίσης ζητήματα τυποποίησης του σχήματος ονοματοδοσίας των εξωτερικών στοιχείων, προστασίας λογαριασμών προγραμματιστών και διατήρησης παλαιού τύπου εκδόσεων μετά την κατασκευή σημαντικών νέων εκδόσεων. Επιπλέον δημοσιεύτηκε από το Ίδρυμα Linux έγγραφο με πρακτικές συστάσεις για την οργάνωση μιας ασφαλούς διαδικασίας ανάπτυξης για έργα ανοιχτού κώδικα.

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

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο