Το GitHub αποκάλυψε σήμερα ότι ένας εισβολέας έκλεψε τα στοιχεία σύνδεσης περίπου 100.000 λογαριασμών npm κατά τη διάρκεια παραβίασης ασφαλείας στα μέσα Απριλίου με τη βοήθεια κλεμμένων διακριτικών εφαρμογών OAuth που εκδόθηκαν στους Heroku-CI και Travis.
Ο παράγοντας της απειλής παραβίασε με επιτυχία και διείσδυσε δεδομένα από ιδιωτικά αποθετήρια που ανήκαν σε δεκάδες οργανισμούς.
Το GitHub αποκάλυψε αυτήν την παραβίαση ασφαλείας στις 15 Απριλίου, τρεις ημέρες μετά την ανακάλυψη της επίθεσης, όταν ο κακόβουλος ηθοποιός απέκτησε πρόσβαση στην υποδομή παραγωγής npm.
Ο παράγοντας απειλής κλιμάκωσε την πρόσβασή του χρησιμοποιώντας ένα παραβιασμένο κλειδί πρόσβασης AWS, το οποίο αποκτήθηκε μετά τη λήψη πολλών ιδιωτικών αποθετηρίων npm χρησιμοποιώντας τα κλεμμένα διακριτικά χρήστη OAuth στο αρχικό στάδιο της επίθεσης.
Μετά την ανακάλυψη της παραβίασης, το GitHub, ο Travis CIκαι ο Heroku ανακάλεσαν όλα τα διακριτικά OAuth για να αποκλείσουν περαιτέρω προσπάθειες εισβολής.
Σήμερα, ο Greg Ose, Senior Director for Product Security Engineering στο GitHub, είπε ότι η εταιρεία ανακάλυψε κατά τη διάρκεια της έρευνας ότι οι άγνωστοι παράγοντες απειλών έκλεψαν τα ακόλουθα δεδομένα από την αποθήκευση στο cloud npm:
- Περίπου 100k npm ονόματα χρήστη, κατακερματισμοί κωδικών πρόσβασης και διευθύνσεις email από ένα αρχείο του 2015 των πληροφοριών χρήστη.
- Όλες οι δηλώσεις ιδιωτικών πακέτων και τα μεταδεδομένα από τις 7 Απριλίου 2021.
- Ονόματα και το semVer δημοσιευμένων εκδόσεων όλων των ιδιωτικών πακέτων από τις 10 Απριλίου 2022.
- Ιδιωτικά πακέτα από δύο οργανισμούς.
Ωστόσο, παρόλο που οι κατακερματισμοί κωδικών πρόσβασης δημιουργήθηκαν χρησιμοποιώντας αδύναμους αλγόριθμους κατακερματισμού (π.χ. PBKDF2 ή αλατισμένο SHA1) και θα μπορούσαν να σπάσουν για την ανάληψη λογαριασμών, τέτοιες προσπάθειες θα αποκλειστούν αυτόματα μέσω της επαλήθευσης μέσω email που ενεργοποιήθηκε σε όλους τους λογαριασμούς από την 1η Μαρτίου 2022, εάν Δεν είναι εγγεγραμμένοι στο 2FA.
Μετά την ανάλυση αρχείων καταγραφής και συμβάντων και τον έλεγχο των κατακερματισμών για όλες τις εκδόσεις πακέτων npm, το GitHub “είναι επί του παρόντος σίγουρο ότι ο ηθοποιός δεν τροποποίησε κανένα δημοσιευμένο πακέτο στο μητρώο ούτε δημοσίευσε νέες εκδόσεις σε υπάρχοντα πακέτα.”
Το GitHub έχει επαναφέρει όλους τους κωδικούς πρόσβασης που ανήκουν σε επηρεασμένους χρήστες npm και ειδοποιεί όλους τους οργανισμούς και τους χρήστες των οποίων τα δεδομένα είχε πρόσβαση από τον εισβολέα.