10 πακέτα κακόβουλου κώδικα μεταφέρονται στο μητρώο PyPI

Κόμβος πηγής: 1613839

Οι διαχειριστές του Ευρετηρίου Πακέτων Python (PyPI) αφαίρεσαν 10 πακέτα κακόβουλου κώδικα λογισμικού από το μητρώο, αφού ένας προμηθευτής ασφαλείας τους ενημέρωσε για το ζήτημα.

Το περιστατικό είναι το πιο πρόσφατο σε μια ταχέως αναπτυσσόμενη λίστα πρόσφατων περιπτώσεων όπου παράγοντες απειλών έχουν τοποθετήσει αδίστακτο λογισμικό σε ευρέως χρησιμοποιούμενους χώρους αποθήκευσης λογισμικού όπως το PyPI, το Node Package Manager (npm) και το Maven Central, με στόχο να θέσουν σε κίνδυνο πολλούς οργανισμούς. Οι αναλυτές ασφαλείας έχουν περιγράψει την τάση ότι ενισχύει σημαντικά την ανάγκη των ομάδων ανάπτυξης να ασκούν τη δέουσα επιμέλεια κατά τη λήψη κώδικα τρίτων και ανοιχτού κώδικα από δημόσια μητρώα.

Ερευνητές στο Spectralops.io του Check Point ανακάλυψαν αυτό το πιο πρόσφατο σύνολο κακόβουλων πακέτων στο PyPI και διαπίστωσαν ότι αποτελούν σταγονόμετρο για κακόβουλο λογισμικό που κλέβει πληροφορίες. Τα πακέτα σχεδιάστηκαν για να μοιάζουν με νόμιμο κώδικα — και σε ορισμένες περιπτώσεις μιμήθηκαν άλλα δημοφιλή πακέτα στο PyPI.

Κακόβουλος κώδικας σε σενάρια εγκατάστασης

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

Για παράδειγμα, ένα από τα πλαστά πακέτα, που ονομάζεται "Ascii2text", περιείχε κακόβουλο κώδικα σε ένα αρχείο (_init_.py) που εισήχθη από το σενάριο εγκατάστασης (setup.py). Όταν ένας προγραμματιστής προσπαθούσε να εγκαταστήσει το πακέτο, ο κώδικας θα κατέβαζε και θα εκτελούσε ένα σενάριο που αναζητούσε τοπικούς κωδικούς πρόσβασης, τους οποίους στη συνέχεια ανέβαζε σε έναν διακομιστή Discord. Το κακόβουλο πακέτο σχεδιάστηκε για να μοιάζει ακριβώς με ένα δημοφιλές πακέτο τέχνης με το ίδιο όνομα και περιγραφή, σύμφωνα με το Check Point.

Τρία από τα 10 αδίστακτα πακέτα (Pyg-utils, Pymocks και PyProto2) φαίνεται να έχουν αναπτυχθεί από τον ίδιο παράγοντα απειλών που ανέπτυξε πρόσφατα κακόβουλο λογισμικό για κλοπή διαπιστευτηρίων AWS στο PyPI. Κατά τη διαδικασία εγκατάστασης του setup.py, το Py-Utils, για παράδειγμα, συνδέθηκε στον ίδιο κακόβουλο τομέα με αυτόν που χρησιμοποιείται στην καμπάνια κλοπής διαπιστευτηρίων AWS. Αν και τα Pymocks και PyProto2 συνδέθηκαν σε διαφορετικό κακόβουλο τομέα κατά τη διαδικασία εγκατάστασης, ο κώδικάς τους ήταν σχεδόν πανομοιότυπος με το Pyg-utils, με αποτέλεσμα το Check Point να πιστεύει ότι ο ίδιος συγγραφέας είχε δημιουργήσει και τα τρία πακέτα.

Τα άλλα πακέτα περιλαμβάνουν ένα πιθανό πρόγραμμα λήψης κακόβουλου λογισμικού που ονομάζεται Test-async που υποτίθεται ότι είναι ένα πακέτο για δοκιμή κώδικα. ένα που ονομάζεται WINRPCexploit για κλοπή διαπιστευτηρίων χρήστη κατά τη διαδικασία εγκατάστασης του setup.py. και δύο πακέτα (Free-net-vpn και Free-net-vpn2) για κλοπή μεταβλητών περιβάλλοντος. 

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

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

Αυξανόμενη έκθεση στην εφοδιαστική αλυσίδα

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

Μόλις την περασμένη εβδομάδα, η Sonatype ανέφερε ότι ανακάλυψε τρία πακέτα που περιέχουν ransomware που ένας χάκερ σχολικής ηλικίας στην Ιταλία είχε ανεβάσει στο PyPI ως μέρος ενός πειράματος. Περισσότεροι από 250 χρήστες κατέβασαν ένα από τα πακέτα, 11 από τους οποίους κατέληξαν να έχουν κρυπτογραφημένα αρχεία στον υπολογιστή τους. Σε εκείνη την περίπτωση, τα θύματα μπόρεσαν να πάρουν το κλειδί αποκρυπτογράφησης χωρίς να χρειαστεί να πληρώσουν λύτρα, επειδή ο χάκερ είχε προφανώς ανεβάσει το κακόβουλο λογισμικό χωρίς κακόβουλη πρόθεση. 

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

Νωρίτερα φέτος, η Sonatype ανακάλυψε επίσης ένα κακόβουλο πακέτο για τη λήψη του κιτ επίθεσης Cobalt Strike στο PyPI. Σχετικά με 300 προγραμματιστές κατέβασαν το κακόβουλο λογισμικό πριν αφαιρεθεί. Τον Ιούλιο, ερευνητές από την Kaspersky ανακάλυψαν τέσσερις πολύ συγκεχυμένοι κλέφτες πληροφοριών κρύβεται στο ευρέως χρησιμοποιούμενο αποθετήριο npm για προγραμματιστές Java.

Οι επιτιθέμενοι έχουν αρχίσει να στοχεύουν όλο και περισσότερο αυτά τα μητρώα λόγω της ευρείας εμβέλειάς τους. Το PyPI, για παράδειγμα, έχει τελειώσει Οι χρήστες 613,000 και ο κώδικας από τον ιστότοπο είναι επί του παρόντος ενσωματωμένος σε περισσότερα από 391,000 έργα παγκοσμίως. Οργανισμοί όλων των μεγεθών και τύπων — συμπεριλαμβανομένων εταιρειών Fortune 500, εκδοτών λογισμικού και κυβερνητικών υπηρεσιών — χρησιμοποιούν κώδικα από δημόσια αποθετήρια για να δημιουργήσουν το δικό τους λογισμικό.

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

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