Εκατομμύρια repos στο GitHub είναι δυνητικά ευάλωτα σε αεροπειρατεία

Εκατομμύρια repos στο GitHub είναι δυνητικά ευάλωτα σε αεροπειρατεία

Εκατομμύρια repos στο GitHub είναι δυνητικά ευάλωτα στην παραβίαση της νοημοσύνης δεδομένων PlatoBlockchain. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

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

Το ζήτημα έχει να κάνει με τον τρόπο με τον οποίο το GitHub χειρίζεται τις εξαρτήσεις όταν ένας χρήστης ή οργανισμός του GitHub αλλάζει το όνομα ενός έργου ή μεταβιβάζει την ιδιοκτησία του σε άλλη οντότητα, ανέφεραν ερευνητές της Aqua Security σε έκθεση αυτή την εβδομάδα.

Κίνδυνοι αλλαγής ονόματος

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

"Όταν ένας κάτοχος αποθετηρίου αλλάζει το όνομα χρήστη του, δημιουργείται ένας σύνδεσμος μεταξύ του παλιού ονόματος και του νέου ονόματος για οποιονδήποτε κατεβάζει εξαρτήσεις από το παλιό αποθετήριο." Οι ερευνητές του Aqua είπαν σε ένα blog αυτή την εβδομάδα. "Ωστόσο, είναι δυνατό για οποιονδήποτε να δημιουργήσει το παλιό όνομα χρήστη και να σπάσει αυτόν τον σύνδεσμο."

Ερευνητές στο Aqua αποφάσισαν πρόσφατα να διερευνήσουν την επικράτηση των αποθετηρίων στο GitHub που είναι ευάλωτα σε τέτοιου είδους repojacking ή πειρατείας αποθετηρίου εξάρτησης, όπως αναφέρουν ορισμένοι ερευνητές ασφαλείας στην απειλή.

Ευρέως διαδεδομένο ζήτημα

Αυτό που ανακάλυψε η Aqua ήταν διπλό: εκατομμύρια τέτοια αποθετήρια — συμπεριλαμβανομένων εκείνων που ανήκουν σε εταιρείες όπως η Google και η Lyft — υπάρχουν στο GitHub. και εργαλεία είναι εύκολα διαθέσιμα στους επιτιθέμενους για να βρουν αυτά τα repos και να τα κλέψουν. Ένα από αυτά τα εργαλεία είναι το GHTorrent, ένα έργο που διατηρεί σχεδόν πλήρες αρχείο όλων των δημόσιων συμβάντων, όπως δεσμεύσεις και αιτήματα έλξης, στο GitHub. Οι εισβολείς μπορούν να χρησιμοποιήσουν το GHTorrent για τη συλλογή των ονομάτων GitHub των αποθετηρίων που χρησιμοποιούσε προηγουμένως ο οργανισμός. Στη συνέχεια, μπορούν να καταχωρήσουν το αποθετήριο με αυτό το παλιό όνομα χρήστη, να δημιουργήσουν ξανά το αποθετήριο και να παραδώσουν κακόβουλο λογισμικό σε οποιοδήποτε έργο το χρησιμοποιεί.

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

"Παρουσιάσαμε ένα σημαντικό σύνολο δεδομένων που μπορούν να χρησιμοποιήσουν οι επιτιθέμενοι για να συλλέξουν τα ονόματα προηγούμενων αποθετηρίων που ανήκουν σε οργανισμούς", λέει ο Yakir Kadkoda, ερευνητής ασφαλείας στο Aqua Nautilus.

«Οι οργανώσεις δεν θα πρέπει να υποθέτουν ότι τα παλιά ονόματα των οργανισμών τους θα παραμείνουν άγνωστα», προειδοποιεί ο Kadkoda. «Είναι σημαντικό για αυτούς να διεκδικούν και να διατηρούν τα παλιά τους ονόματα χρήστη στο GitHub και να σαρώνουν διευθύνσεις URL και αναφορές GitHub στον κώδικά τους για να εντοπίσουν τυχόν αποθετήρια που θα μπορούσαν ενδεχομένως να διεκδικηθούν από έναν εισβολέα».

Παράκαμψη προστασίας

Η Kadkoda λέει ότι το GitHub προσπάθησε να αντιμετωπίσει αυτό το ζήτημα αποτρέποντας τη δημιουργία ονομάτων χρηστών και αποθετηρίων που ανήκαν στο παρελθόν και τώρα ανακατευθύνονται σε άλλα έργα. Το GitHub επίσης εφάρμοσε μηχανισμό πριν από αρκετά χρόνια για την απόσυρση δημοφιλών χώρων ονομάτων αποθετηρίων ως μέσο μετριασμού αυτής της απειλής. «Ωστόσο, αρκετές παρακάμψεις έχουν ανακαλυφθεί τα τελευταία χρόνια», λέει. Κατά τη διάρκεια της μελέτης του Aqua, οι ερευνητές του βρήκαν αρκετά παραδείγματα αποθετηρίων όπου δεν ίσχυε η προστασία που εφαρμόστηκε από το GitHub. «Ως εκ τούτου, οι χρήστες δεν μπορούν να βασιστούν πλήρως σε αυτές τις άμυνες σε αυτό το σημείο», λέει.

Το ιστολόγιο του Aqua έδειξε μια ευπάθεια του GitHub που Ο Checkmarx ανακαλύφθηκε πέρυσι ως ένα παράδειγμα των τρόπων που έχουν στη διάθεσή τους οι εισβολείς για να παρακάμψουν τις προσπάθειες του GitHub να προστατεύσει από το repojacking. Το ελάττωμα περιλάμβανε έναν μηχανισμό που ονομάζεται «απόσυρση χώρου ονομάτων δημοφιλούς αποθήκης» και επηρέασε όλα τα μετονομασμένα ονόματα χρήστη στο GitHub, συμπεριλαμβανομένων πάνω από 10,000 πακέτων σε διαχειριστές πακέτων όπως το Swift, το Packagist και το Go. "Η επαναπροκήρυξη είναι μια τεχνική για την παραβίαση της κυκλοφορίας διευθύνσεων URL των μετονομασμένων αποθετηρίων και τη δρομολόγηση της στο αποθετήριο του εισβολέα εκμεταλλευόμενος ένα λογικό ελάττωμα που σπάει την αρχική ανακατεύθυνση", δήλωσε ο Checkmarx σε μια αναφορά σχετικά με την ευπάθεια. "Ένα αποθετήριο GitHub είναι ευάλωτο στο repojacking όταν ο δημιουργός του αποφάσισε να μετονομάσει το όνομα χρήστη του ενώ το παλιό όνομα χρήστη είναι διαθέσιμο για εγγραφή."

Οι οργανισμοί μπορούν να μετριάσουν την έκθεσή τους στην απειλή repojacking σαρώνοντας τον κώδικα, τα αποθετήρια και τις εξαρτήσεις τους για συνδέσμους GitHub, λέει ο Kadkoda: «Θα πρέπει να ελέγξουν εάν αυτοί οι σύνδεσμοι αναφέρονται απευθείας σε έργα GitHub ή εάν υπάρχουν ανακατευθύνσεις που οδηγούν σε αποθετήρια με άλλα ονόματα χρήστη ή αποθετήριο ονόματα από τους αρχικούς συνδέσμους." Σε αυτές τις περιπτώσεις, οι οργανισμοί θα πρέπει να προσπαθήσουν να διεκδικήσουν το διαθέσιμο όνομα χρήστη για να αποτρέψουν τους εισβολείς από το να το κάνουν. «Επιπλέον, οι οργανισμοί θα πρέπει πάντα να διατηρούν τα παλιά τους ονόματα χρήστη στο GitHub», λέει.

Σφραγίδα ώρας:

Περισσότερα από Σκοτεινή ανάγνωση