«Τι έχει ένα όνομα; Αυτό που ονομάζουμε τριαντάφυλλο με οποιοδήποτε άλλο όνομα θα μύριζε τόσο γλυκό». Όταν ο Σαίξπηρ έγραψε αυτές τις λέξεις (Ρωμαίος και Ιουλιέτα, Πράξη 2, Σκηνή 2) το 1596, έλεγε ότι ένα όνομα είναι απλώς μια σύμβαση. Δεν έχει εγγενές νόημα. Η Ιουλιέτα αγαπά τον Ρωμαίο για αυτό που είναι, όχι για το όνομά του.
Αλλά χωρίς να το ξέρει, ο Σαίξπηρ περιέγραφε επίσης επιθέσεις σύγχυσης εξάρτησης.
Η σύγχυση εξαρτήσεων είναι όταν τα πακέτα που χρησιμοποιείτε στον κώδικά σας δεν είναι δικά σας. Έχουν το ίδιο όνομα, αλλά δεν είναι ο κωδικός σας που εκτελείται στην παραγωγή. Ίδιο όνομα, αλλά η μία συσκευασία μυρίζει τριαντάφυλλο και η άλλη… βρωμάει.
Πρόσφατες ερευνητικές εκθέσεις εκτιμούν ότι το 41% έως 49% των οργανισμών κινδυνεύουν από επιθέσεις σύγχυσης εξαρτήσεων. Νέα έρευνα από την OX Security δείχνει ότι όταν ένας οργανισμός βρίσκεται σε κίνδυνο για επίθεση σύγχυσης εξαρτήσεων, το 73% των περιουσιακών στοιχείων του είναι ευάλωτο. Η έρευνα επικεντρώθηκε σε μεσαίου μεγέθους και μεγάλους οργανισμούς (1K+, 8K+, 80K+ εργαζόμενοι) σε ένα ευρύ φάσμα τομέων — χρηματοοικονομικά, παιχνίδια, τεχνολογία και μέσα ενημέρωσης — και βρήκαν τον κίνδυνο σε κάθε τομέα σε οργανισμούς όλων των μεγεθών. Η έρευνα διαπίστωσε επίσης ότι σχεδόν όλες οι εφαρμογές με περισσότερους από 1 δισεκατομμύριο χρήστες χρησιμοποιούν εξαρτήσεις που είναι ευάλωτες σε σύγχυση εξαρτήσεων.
Αυτό το άρθρο έχει σκοπό να σας βοηθήσει να κατανοήσετε τη σύγχυση εξαρτήσεων και πώς να την αποτρέψετε.
Διπλό, Διπλό
Οι εξαρτήσεις (ονομάζονται επίσης πακέτα) είναι τα δομικά στοιχεία του λογισμικού σας. Συνήθως αυτά τα κομμάτια λογισμικού, είτε έχουν αναπτυχθεί από ολόκληρες κοινότητες είτε μέσα σε μια εταιρεία, εκτελούν μια κοινή και απαραίτητη εργασία.
Οι διαχειριστές πακέτων χρησιμοποιούνται συχνά για την εγκατάσταση εξαρτήσεων και τη διατήρησή τους ενημερωμένες. Σαρώνουν δημόσια και ιδιωτικά μητρώα για το όνομα του πακέτου και, εφόσον όλα τα άλλα είναι ίσα, επιλέγουν τον υψηλότερο αριθμό έκδοσης. Οι εισβολείς το εκμεταλλεύονται αυτό τοποθετώντας ένα «εικονικό» πακέτο στο δημόσιο μητρώο με το ίδιο όνομα αλλά υψηλότερη έκδοση.
Όταν ένας διαχειριστής πακέτων συναντά δύο πανομοιότυπα πακέτα, ένα σε ένα δημόσιο μητρώο και ένα σε ένα ιδιωτικό μητρώο, προκαλεί σύγχυση - εξ ου και η ονομασία "σύγχυση εξάρτησης". Δεδομένου ότι τα δύο πακέτα είναι πανομοιότυπα, ο διαχειριστής θα επιλέξει αυτόματα να εγκαταστήσει αυτό με υψηλότερη έκδοση - σε αυτήν την περίπτωση, το κακόβουλο πακέτο του εισβολέα.
Αυτό δίνει στους αεροπειρατές μια πίσω πόρτα στο λογισμικό σας. Από αυτό το σημείο, μπορούν να εκτελούν παραβιάσεις δεδομένων, να εκτελούν κλοπή πνευματικής ιδιοκτησίας και με άλλο τρόπο να θέτουν σε κίνδυνο την αλυσίδα εφοδιασμού του λογισμικού εμπιστοσύνης. Μπορούν επίσης να εισάγουν παραβιάσεις συμμόρφωσης που θα επιφέρουν αυστηρές κανονιστικές κυρώσεις.
Κόπος και πρόβλημα
Υπάρχουν διάφορες προσεγγίσεις για μια επίθεση σύγχυσης εξάρτησης.
- Διάστημα ονομάτων. Μεταφορτώνοντας μια βιβλιοθήκη κακόβουλου λογισμικού σε ένα δημόσιο μητρώο — όπως το Ευρετήριο Πακέτων Python (PyPI) ή το JavaScript μητρώο npm - αυτό είναι ονομάστηκε παρόμοια σε μια αξιόπιστη, εσωτερικά χρησιμοποιούμενη βιβλιοθήκη, τα συστήματα που παραλείπουν έναν έλεγχο χώρου ονομάτων/URL ή δεν επιβάλλουν την ανάκτηση από ένα ιδιωτικό μητρώο ενδέχεται να τραβήξουν κατά λάθος τον κακόβουλο κώδικα. ο πρόσφατο περιστατικό σύγχυσης εξάρτησης PyTorch είναι ένα τέτοιο παράδειγμα.
- Spoofing DNS. Χρησιμοποιώντας μια τεχνική όπως η πλαστογράφηση DNS, τα συστήματα μπορούν να κατευθύνονται για να αντλούν εξαρτήσεις από κακόβουλα αποθετήρια ενώ εμφανίζουν κάτι που μοιάζει με νόμιμες εσωτερικές διευθύνσεις URL/διαδρομές.
- Σενάριο. Τροποποιώντας σενάρια δημιουργίας/εγκατάστασης ή συνεχής ολοκλήρωση/συνεχής παράδοση Οι διαμορφώσεις αγωγών (CI/CD), τα συστήματα μπορούν να εξαπατηθούν ώστε να κατεβάσουν εξαρτήσεις λογισμικού από κακόβουλη πηγή και όχι από τοπικό αποθετήριο.
Πράγματα που έγιναν καλά και με προσοχή
Για να προστατεύσετε από σύγχυση εξαρτήσεων, εφαρμόστε αυτές τις πρακτικές.
- Ορίστε πολιτικές στον διαχειριστή πακέτων. Δεν επιτρέπεται στους διαχειριστές πακέτων να δίνουν προτεραιότητα σε ένα δημόσιο πακέτο έναντι ενός ιδιωτικού πακέτου.
- Να συμπεριλαμβάνεται πάντα ένα αρχείο .npmrc. Εάν χρησιμοποιείτε το δημοφιλές NPM ως διαχειριστή πακέτων, να συμπεριλάβετε πάντα ένα αρχείο .npmrc που καθορίζει πού να ανακτηθούν πακέτα κάτω από συγκεκριμένο εύρος οργάνωσης.
- Κρατήστε το όνομα του πακέτου σε ένα δημόσιο μητρώο. Ένας άλλος τρόπος προστασίας από επιθέσεις σύγχυσης εξαρτήσεων είναι να δεσμεύσετε το όνομα του πακέτου σε ένα δημόσιο μητρώο, έτσι ώστε οι αεροπειρατές να μην μπορούν να το χρησιμοποιήσουν και, επομένως, να μην μπορούν να «ξεγελάσουν» τον διαχειριστή πακέτων για να εγκαταστήσει ένα κακόβουλο πακέτο.
Για την πλήρη προστασία από επιθέσεις σύγχυσης εξαρτήσεων, οι οργανισμοί θα πρέπει πάντα να χρησιμοποιούν εύρος οργάνωσης για όλα τα εσωτερικά πακέτα, ακόμη και κατά τη δημοσίευση στο εσωτερικό σας μητρώο. Τα πεδία οργάνωσης θα πρέπει επίσης να καταχωρούνται στο δημόσιο μητρώο του NPM, αποτρέποντας έτσι οποιονδήποτε από το να παραβιάσει το πεδίο εφαρμογής και να εκμεταλλευτεί τη σύγχυση.
Τα ονόματα των πακέτων θα πρέπει επίσης να καταχωρούνται δημόσια. Εάν ένας οργανισμός χρησιμοποιεί το δημοφιλές PIP ως διαχειριστή πακέτων για εξαρτήσεις Python, για παράδειγμα, θα πρέπει να δημιουργήσει εσωτερικά πακέτα με ένα αυστηρό επίθημα που είναι αναγνωρίσιμο και θα λειτουργεί σε όλα τα έργα. Ανεβάστε ένα κενό πακέτο με το ίδιο όνομα στο δημόσιο μητρώο PyPI ως σύμβολο κράτησης θέσης.
Ένας άλλος λόγος για να κρατήσετε το όνομα πακέτου σε ένα δημόσιο μητρώο είναι επειδή εάν κάποιος άλλος το κάνει κράτηση (κακόβουλα ή όχι), οι προγραμματιστές θα πρέπει να αλλάξουν όλα τα ονόματα πακέτων στο ιδιωτικό μητρώο σε ένα που δεν έχει ακόμη δεσμευτεί στο δημόσιο μητρώο. Αυτή μπορεί να είναι μια μακρά και κουραστική διαδικασία.
Είναι σημαντικό να σημειωθεί ότι δεν επιτρέπουν όλα τα μητρώα πακέτων στους χρήστες να κάνουν κράτηση ονομάτων πακέτων, επομένως φροντίστε να βρείτε κάποιο που να το κάνει.
Έξοδος, κυνηγημένος από μια αρκούδα
Οι επιθέσεις σύγχυσης λόγω εξάρτησης αποτελούν σοβαρή και επικείμενη απειλή για την κυβερνοασφάλεια για οργανισμούς παγκοσμίως. Περίπου οι μισοί από όλους τους οργανισμούς βρίσκονται σε κίνδυνο και το 73% των περιουσιακών στοιχείων αυτών των οργανισμών εκτίθεται. Για να αντιμετωπίσουν αυτήν την αυξανόμενη απειλή, οι οργανισμοί πρέπει να εφαρμόσουν ισχυρά προληπτικά μέτρα και να υιοθετήσουν βέλτιστες πρακτικές για την ασφάλεια στον κυβερνοχώρο.
Τα τριαντάφυλλα του Σαίξπηρ μπορεί να προμήνυαν τον κίνδυνο επιθέσεων σύγχυσης εξάρτησης για εκατοντάδες χρόνια, αλλά ένα άλλο απόσπασμα από τον Βάρδο μπορεί να έχει κάποια σοφία για την προστασία από αυτά: «Αφήστε το κάθε μάτι να διαπραγματευτεί μόνο του και να μην εμπιστευτείτε κανέναν πράκτορα». (Πολλή φασαρία για το τίποτα, Πράξη 2, Σκηνή 1)
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoData.Network Vertical Generative Ai. Ενδυναμώστε τον εαυτό σας. Πρόσβαση εδώ.
- PlatoAiStream. Web3 Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- PlatoESG. Αυτοκίνητο / EVs, Ανθρακας, Cleantech, Ενέργεια, Περιβάλλον, Ηλιακός, Διαχείριση των αποβλήτων. Πρόσβαση εδώ.
- PlatoHealth. Ευφυΐα βιοτεχνολογίας και κλινικών δοκιμών. Πρόσβαση εδώ.
- ChartPrime. Ανεβάστε το Trading Game σας με το ChartPrime. Πρόσβαση εδώ.
- BlockOffsets. Εκσυγχρονισμός της περιβαλλοντικής αντιστάθμισης ιδιοκτησίας. Πρόσβαση εδώ.
- πηγή: https://www.darkreading.com/edge-articles/software-supply-chain-strategies-to-parry-dependency-confusion-attacks
- :έχει
- :είναι
- :δεν
- :που
- 1
- 7
- a
- Σχετικα
- απέναντι
- Πράξη
- ενστερνίζομαι
- Πλεονέκτημα
- κατά
- Πράκτορας
- στόχοι
- Όλα
- επιτρέπουν
- σχεδόν
- Επίσης
- πάντοτε
- an
- και
- Άλλος
- κάθε
- κάποιος
- εφαρμογές
- προσεγγίσεις
- ΕΙΝΑΙ
- άρθρο
- AS
- Ενεργητικό
- At
- επίθεση
- Επιθέσεις
- αυτομάτως
- πίσω
- BE
- επειδή
- είναι
- ΚΑΛΎΤΕΡΟΣ
- βέλτιστες πρακτικές
- Δισεκατομμύριο
- Μπλοκ
- παραβιάσεις
- Κτίριο
- αλλά
- by
- κλήση
- που ονομάζεται
- CAN
- δεν μπορώ
- περίπτωση
- αίτια
- αλυσίδα
- αλλαγή
- έλεγχος
- Επιλέξτε
- κωδικός
- έρχεται
- Κοινός
- Κοινοτήτων
- εταίρα
- Συμμόρφωση
- συμβιβασμός
- σύγχυση
- Σύμβαση
- μετρητής
- δημιουργία
- Κυβερνασφάλεια
- ημερομηνία
- Παραβιάσεις δεδομένων
- εξαρτήσεις
- Εξάρτηση
- αναπτύχθηκε
- προγραμματιστές
- κατευθύνθηκε
- εμφάνιση
- dns
- do
- κάνει
- γίνεται
- Θύρα
- αλλιώς
- υπαλλήλους
- Ολόκληρος
- ίσος
- εκτίμηση
- Even
- Κάθε
- παράδειγμα
- εκτελέσει
- εκτεθειμένος
- μάτι
- Αρχεία
- χρηματοδότηση
- Εύρεση
- επικεντρώθηκε
- Για
- Δύναμη
- Βρέθηκαν
- συχνά
- από
- πλήρως
- τυχερών παιχνιδιών
- δίνει
- Παγκόσμια
- Μεγαλώνοντας
- Ήμισυ
- Έχω
- he
- βοήθεια
- ως εκ τούτου
- υψηλότερο
- υψηλότερο
- του
- κρατήστε
- Πως
- Πώς να
- HTTPS
- Εκατοντάδες
- identiques
- if
- επικείμενος
- εφαρμογή
- σημαντικό
- in
- περιλαμβάνουν
- ευρετήριο
- εγκαθιστώ
- εγκατάσταση
- Ινστιτούτο
- διανοούμενος
- πνευματικής ιδιοκτησίας
- εσωτερικός
- εσωτερικώς
- σε
- εσωτερικός
- εισαγάγει
- IT
- ΤΟΥ
- εαυτό
- το JavaScript
- μόλις
- Διατήρηση
- Γνωρίζοντας
- large
- νόμιμος
- ας
- Βιβλιοθήκη
- Μου αρέσει
- τοπικός
- Μακριά
- ΦΑΊΝΕΤΑΙ
- αγαπά
- κάνω
- διευθυντής
- Διευθυντές
- Ενδέχεται..
- νόημα
- μέτρα
- Εικόνες / Βίντεο
- περισσότερο
- πολύ
- πρέπει
- όνομα
- ονόματα
- απαραίτητος
- Νέα
- Όχι.
- τίποτα
- αριθμός
- of
- on
- ONE
- or
- επιχειρήσεις
- οργανώσεις
- ΑΛΛΑ
- αλλιώς
- επί
- πακέτο
- Packages
- Εκτελέστε
- κομμάτια
- αγωγού
- κράτησης θέσης
- διάθεση
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Σημείο
- Πολιτικές
- Δημοφιλής
- ενέχουν
- πρακτικές
- πρόληψη
- πρόληψη
- ιεράρχηση
- ιδιωτικός
- διαδικασια μας
- παραγωγή
- έργα
- περιουσία
- προστασία
- προστασία
- δημόσιο
- δημοσίως
- Δημοσιεύσεις
- Python
- pytorch
- παραθέτω
- σειρά
- μάλλον
- RE
- λόγος
- καταχωρηθεί
- μητρώα
- μητρώου
- ρυθμιστές
- Εκθέσεις
- Αποθήκη
- έρευνα
- Απόθεμα
- επιφυλάχθηκε
- αποθεματικών
- Κίνδυνος
- εύρωστος
- ROSE
- τρέξιμο
- s
- ίδιο
- ρητό
- σάρωση
- σκηνή
- έκταση
- Εφαρμογές
- τομέας
- Τομείς
- ασφάλεια
- σοβαρός
- αυστηρός
- θα πρέπει να
- Δείχνει
- αφού
- μεγέθη
- So
- λογισμικό
- αλυσίδα εφοδιασμού λογισμικού
- μερικοί
- Κάποιος
- Πηγή
- συγκεκριμένες
- στρατηγικές
- Αυστηρός
- τέτοιος
- προμήθεια
- αλυσίδας εφοδιασμού
- βέβαιος
- γλυκός
- συστήματα
- Πάρτε
- λήψη
- Έργο
- Τεχνολογία
- από
- ότι
- Η
- κλοπή
- Τους
- επομένως
- Αυτοί
- αυτοί
- πράγματα
- αυτό
- εκείνοι
- απειλή
- Ετσι
- προς την
- ενεργοποιούν
- Εμπιστευθείτε
- Έμπιστος
- δύο
- συνήθως
- υπό
- καταλαβαίνω
- ενημερώθηκε
- Ανέβασμα
- χρήση
- μεταχειρισμένος
- Χρήστες
- χρησιμοποιώντας
- διάφορα
- εκδοχή
- Παραβιάσεις
- Ευάλωτες
- ήταν
- Τρόπος..
- we
- ΛΟΙΠΌΝ
- Τι
- πότε
- αν
- Ποιό
- ενώ
- Ο ΟΠΟΊΟΣ
- ευρύς
- Ευρύ φάσμα
- θα
- σοφία
- με
- εντός
- χωρίς
- λόγια
- Εργασία
- θα
- Έγραψε
- χρόνια
- ακόμη
- Εσείς
- Σας
- zephyrnet