Προγραμματισμός

Το Git Hound, το Truffle Hog ξεριζώνει τις διαρροές του GitHub

Είναι App Dev 101: Μην χρησιμοποιείτε κωδικούς API, κλειδιά κρυπτογράφησης και διαπιστευτήρια χρήστη. Αλλά αν το κάνετε, φροντίστε να τα βγείτε από τον κωδικό σας προτού δεσμεύσετε στο GitHub ή σε άλλα δημόσια αποθετήρια κώδικα.

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

Το Truffle Hog και το Git Hound είναι δύο παραδείγματα διαθέσιμων εργαλείων που βοηθούν τους διαχειριστές και τους προγραμματιστές να αναζητήσουν μυστικά κλειδιά που διαρρέθηκαν κατά λάθος μέσω των έργων τους στο GitHub. Λαμβάνουν διαφορετικές προσεγγίσεις για την επίλυση του ίδιου προβλήματος, αλλά ο στόχος είναι ο ίδιος: Βοηθήστε τους διαχειριστές να σταματήσουν να δημοσιεύονται κρυπτογραφικά μυστικά σε δημόσιους ιστότοπους.

Το Truffle Hog "θα διαβάσει ολόκληρο το ιστορικό δεσμεύσεων κάθε κλάδου και θα ελέγξει κάθε διαφορά από κάθε δέσμευση και θα αξιολογήσει την εντροπία shannon τόσο για το σετ βάσης base64 όσο και για το σύνολο δεκαεξαδικού char για κάθε σταγόνα κειμένου μεγαλύτερο από 20 χαρακτήρες που αποτελούνται από αυτόν τον χαρακτήρα σετ σε κάθε διαφορά ", δήλωσε ο προγραμματιστής του εργαλείου, Dylan Ayrey. Η εντροπία Shannon, που πήρε το όνομά της από τον μαθηματικό Claude E. Shannon, καθορίζει την τυχαιότητα και η υψηλή εντροπία υποδηλώνει ότι η συμβολοσειρά είναι πιθανό να χρησιμοποιείται για κρυπτογραφικά μυστικά, όπως ένα διακριτικό πρόσβασης ή ένα ιδιωτικό κλειδί. Το Truffle Hog εκτυπώνει συμβολοσειρές υψηλής εντροπίας που μπορούν να διερευνήσουν οι διαχειριστές για να μάθουν τι υπάρχει στο αρχείο. Γράφτηκε στο Python, το Truffle Hog χρειάζεται μόνο τη βιβλιοθήκη GitPython για να τρέξει.

Το Git Hound ακολουθεί μια διαφορετική προσέγγιση: Χρησιμοποιεί ένα πρόσθετο Git γραμμένο στο Go για σάρωση αρχείων λίγο πριν από τη δέσμευσή του στο GitHub. Η προσθήκη αναζητά αντιστοιχίσεις σε κανονικές εκφράσεις που καθορίζονται σε ξεχωριστό αρχείο, .githound.yml και είτε εκτυπώνει μια προειδοποίηση πριν επιτρέψει τη δέσμευση, είτε αποτυγχάνει και σταματά τη δέσμευση να συνεχίσει. Ο κυνηγόσκυλος μπορεί να "μυρίζει τις αλλαγές από την τελευταία δέσμευση και να περάσει στο git-comm όταν είναι καθαρός", δήλωσε ο Ezekiel Gabrielse, ο προγραμματιστής του εργαλείου. Αν και θα ήταν "πολύ απλό" να ρυθμίσετε τον έλεγχο σε ένα άγκιστρο πριν από τη δέσμευση, ο Gabrielse είπε ότι το πρόσθετο δίνει περισσότερη ευελιξία.

Η χρήση τυπικών εκφράσεων επιτρέπει στο Git Hound να χειρίζεται ένα ευρύ φάσμα ευαίσθητων πληροφοριών, καθώς η λίστα μπορεί να περιλαμβάνει διαπιστευτήρια, διακριτικά πρόσβασης, ακόμη και ονόματα αρχείων και συστήματος. Η προσθήκη μπορεί να χρησιμοποιηθεί για να εισπνεύσει αλλαγές από την τελευταία δέσμευση, ολόκληρη τη βάση κώδικα ή ακόμα και ολόκληρο το ιστορικό αποθετηρίου. Επειδή το .githound.yml δεν προστίθεται στο αποθετήριο GitHub, το regexps παραμένει ιδιωτικό.

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

Δεν πρέπει να συμβεί, αλλά τα ευαίσθητα κλειδιά που κατά λάθος δημοσιεύτηκαν σε δημόσιους χώρους αποθήκευσης κώδικα επειδή ήταν κωδικοποιημένα μέσα σε έργα λογισμικού είναι πολύ συχνό. Οι ερευνητές ασφαλείας βρήκαν σχεδόν 10.000 κλειδιά πρόσβασης για τις υπηρεσίες Web του Amazon και τις εφαρμογές Elastic Compute Cloud σε αποθετήρια GitHub που είναι προσβάσιμα στο κοινό, ωθώντας την Amazon να υιοθετήσει την πρακτική της τακτικής σάρωσης του GitHub για τέτοια κλειδιά και την ανάκλησή τους προτού καταχθούν.

Ενώ είναι υπέροχο ότι η Amazon έχει αναλάβει αυτό το έργο, πολλοί άλλοι τύποι μυστικών είναι πιθανό να διαρρεύσουν. Οι Truffle Hog και Git Hound επιτρέπουν στους διαχειριστές και τους προγραμματιστές να πιάσουν τα λάθη πριν γίνουν δαπανηρά ατυχήματα.

$config[zx-auto] not found$config[zx-overlay] not found