Η Novo Nordisk διατηρεί μια πολυεπίπεδη υποδομή ασφαλείας. Η εταιρεία χρησιμοποιεί προηγμένη ανίχνευση τελικών σημείων, διαχωρισμό δικτύου και ένα εξειδικευμένο κέντρο επιχειρήσεων ασφαλείας. Αυτές οι άμυνες κοστίζουν εκατομμύρια δολάρια ετησίως. Ωστόσο, ολόκληρη η αρχιτεκτονική κατέρρευσε λόγω μιας μεμονωμένης συμβολοσειράς κειμένου σε έναν ιστότοπο δημόσιας πρόσβασης. Η παραβίαση στον δανέζικο φαρμακευτικό γίγαντα αποτελεί μελέτη περίπτωσης για το αρχιτεκτονικό παράδοξο της σύγχρονης ανάπτυξης λογισμικού. Μια τεράστια επένδυση στην περιμετρική άμυνα απέτυχε επειδή ένα μεμονωμένο διακριτικό ελέγχου ταυτότητας (authentication token) βρισκόταν σε λάθος σημείο.
Πέρασα χρόνια επικοινωνώντας με ερευνητές ασφαλείας μέσω Signal και κρυπτογραφημένων καναλιών PGP. Οι περισσότεροι από αυτούς δεν αναζητούν περίπλοκες ευπάθειες zero-day σε θωρακισμένα τείχη προστασίας (firewalls). Αναζητούν τη διαδρομή της ελάχιστης αντίστασης. Στο περιστατικό της Novo Nordisk, η διαδρομή ήταν ένα προσωπικό διακριτικό πρόσβασης (PAT) του GitHub με υψηλά προνόμια, το οποίο είχε ξεμείνει σε JavaScript στην πλευρά του πελάτη (client-side) σε ένα άγνωστο υποτομέα (subdomain). Αυτό δεν ήταν ένα εξεζητημένο hack. Ήταν μια άσκηση ανακάλυψης. Μόλις η ομάδα απειλών, γνωστή ως FulcrumSec, βρήκε το token τον Μάρτιο, η επίσημη περίμετρος ασφαλείας κατέστη άνευ σημασίας. Το token παρείχε πιστοποιημένη πρόσβαση. Για τα εσωτερικά συστήματα, οι επιτιθέμενοι ήταν νόμιμοι προγραμματιστές.
Η FulcrumSec λειτούργησε εντός του δικτύου της Novo Nordisk για περισσότερους από δύο μήνες πριν από τον εντοπισμό της. Κατά τη διάρκεια αυτής της περιόδου, η ομάδα χρησιμοποίησε το αρχικό GitHub token για να κλωνοποιήσει ιδιωτικά αποθετήρια (repositories). Αυτά τα αποθετήρια περιείχαν περισσότερα από απλό κώδικα. Περιείχαν δευτερεύοντα διαπιστευτήρια, ορισμούς υποδομής και εσωτερική τεκμηρίωση. Αυτό είναι ένα κοινό μοτίβο στις σύγχρονες διεισδύσεις. Ένας εισβολέας χρησιμοποιεί ένα μικρό πάτημα για να συλλέξει πιο ισχυρά μυστικά. Δεν χρειάζεται να εκμεταλλευτεί ένα σφάλμα λογισμικού όταν έχει τα κλειδιά της κύριας εισόδου.
Μέχρι τη στιγμή που η Novo Nordisk αποκάλυψε το περιστατικό στις 11 Ιουνίου, οι επιτιθέμενοι είχαν εξαγάγει 1,3TB δεδομένων. Αυτή η κρύπτη περιελάμβανε 700.000 αρχεία. Ενώ η εταιρεία αρχικά περιέγραψε τον αντίκτυπο ως περιορισμένο σε ψευδωνυμοποιημένα δεδομένα ασθενών και αρχεία επαγγελματιών υγείας, η πραγματικότητα φαίνεται πιο σοβαρή. Τα κλαπέντα δεδομένα περιλαμβάνουν ιδιοκτησιακές πληροφορίες για κυκλοφορούντα και μη κυκλοφορούντα φάρμακα, έρευνα κλινικών δοκιμών και εσωτερικά μοντέλα AI. Η FulcrumSec ισχυρίζεται ότι οι πληροφορίες θα μπορούσαν να εξοικονομήσουν στους ανταγωνιστές τρία έως πέντε χρόνια χρόνου ανάπτυξης. Αυτός είναι ο ορισμός μιας συστημικής αποτυχίας. Η παραβίαση μετακινήθηκε από ένα απλό διαρρεύσαν token στην απώλεια βασικής πνευματικής ιδιοκτησίας.
Οι πλατφόρμες ανάπτυξης (development platforms) είναι τα συστήματα υψηλότερης αξίας στη σύγχρονη επιχείρηση. Τα περισσότερα προγράμματα ασφαλείας αποτυγχάνουν να αναγνωρίσουν αυτή την πραγματικότητα. Ένα αποθετήριο κώδικα δεν είναι πλέον ένας απλός κάδος αποθήκευσης αρχείων κειμένου. Είναι το προσχέδιο για ολόκληρο το ψηφιακό περιβάλλον. Κατέχει τις ρυθμίσεις για περιβάλλοντα cloud και τους αγωγούς ανάπτυξης (deployment pipelines) που προωθούν τον κώδικα στους πελάτες. Όταν ένας εισβολέας αποκτά πρόσβαση σε ένα αποθετήριο, βλέπει την καλωδίωση του οργανισμού.
Ο Matt Kimpel, υπεύθυνος ασφάλειας πληροφοριών στη Magna5, σημειώνει ότι οι προγραμματιστές έχουν διαρκή πρόσβαση στα συστήματα που έχουν τη μεγαλύτερη σημασία. Κατέχουν διαπιστευτήρια για αγωγούς κατασκευής (build pipelines) και περιβάλλοντα cloud. Αυτά τα συστήματα βρίσκονται «ανάντη» (upstream) του περιβάλλοντος παραγωγής. Εάν ένας εισβολέας παραβιάσει τον κώδικα πριν αυτός μεταγλωττιστεί, ελέγχει το τελικό προϊόν. Αυτό καθιστά τον σταθμό εργασίας του προγραμματιστή και το αποθετήριο πιο κρίσιμα από τον ίδιο τον διακομιστή παραγωγής. Οι παραδοσιακές προστασίες, όπως οι εγκρίσεις κλάδων (branch approvals) και οι αναθεωρήσεις κώδικα, υποθέτουν ότι το άτομο που εκτελεί την ενέργεια είναι ένας έμπιστος υπάλληλος. Εάν η ταυτότητα παραβιαστεί, αυτοί οι ίδιοι έλεγχοι διευκολύνουν την επίθεση.
Οι οργανισμοί αντιμετωπίζουν τη διαχείριση μυστικών (secrets management) ως πρόβλημα εργαλείων. Αγοράζουν ένα ψηφιακό θησαυροφυλάκιο (vault) και υποθέτουν ότι το πρόβλημα λύθηκε. Το περιστατικό της Novo Nordisk αποδεικνύει ότι η διαχείριση μυστικών είναι πρόβλημα ταυτότητας. Το διαρρεύσαν GitHub token είναι μια ταυτότητα μηχανής (machine identity). Σε αντίθεση με τους ανθρώπινους λογαριασμούς, τα διαπιστευτήρια μηχανών συχνά στερούνται σαφών ιδιοκτητών. Δεν έχουν συνεπή προγράμματα εναλλαγής. Συχνά στερούνται ουσιαστικής παρακολούθησης. Αυτά τα tokens παραμένουν για μήνες ή χρόνια χωρίς αλλαγή.
Ο Shane Barney, CISO στην Keeper Security, επισημαίνει ότι αυτή η αορατότητα μετατρέπει ένα μεμονωμένο token σε μια μακροπρόθεσμη διείσδυση. Όταν ένα διαπιστευτήριο μηχανής φέρει ευρείες άδειες και κανείς δεν παρακολουθεί τη χρήση του, ένας εισβολέας δεν χρειάζεται να κλιμακώσει τα προνόμιά του. Η πρόσβαση είναι ήδη εκεί. Η ακτίνα έκρηξης (blast radius) είναι ολόκληρο το περιβάλλον. Αυτός είναι ο λόγος για τον οποίο οι επιτιθέμενοι παρέμειναν απαρατήρητοι για 60 ημέρες. Δεν παραβίαζαν το σύστημα. Χρησιμοποιούσαν το σύστημα όπως είχε σχεδιαστεί να χρησιμοποιείται.
Μια δεύτερη ομάδα απειλών που αυτοαποκαλείται TheUSERS007 ισχυρίστηκε επίσης ότι είχε πρόσβαση στα συστήματα της Novo Nordisk μεταξύ 5 και 7 Ιουνίου. Αυτή η ομάδα στόχευσε δεδομένα που σχετίζονται με την έρευνα AI. Αυτό υποδηλώνει ότι μόλις συμβεί μια σημαντική διαρροή, άλλοι παράγοντες αρχίζουν να διερευνούν την ίδια υποδομή. Μια μεμονωμένη ευπάθεια σε έναν αγωγό ανάπτυξης συχνά υποδηλώνει ευρύτερες συστημικές αδυναμίες. Εάν ένας προγραμματιστής αφήσει ένα token σε ένα δημόσιο σενάριο (script), άλλοι προγραμματιστές πιθανότατα ακολουθούν παρόμοια μη ασφαλή μοτίβα. Η επιφάνεια επίθεσης δεν είναι ένας στατικός χάρτης. Είναι ένα δυναμικό περιβάλλον όπου ένα λάθος προσκαλεί περαιτέρω έλεγχο από πολλαπλούς αντιπάλους.
Αυτή η δευτερεύουσα διείσδυση υπογραμμίζει τον κίνδυνο για τα εσωτερικά μοντέλα AI. Αυτά τα μοντέλα αντιπροσωπεύουν το μέλλον της φαρμακευτικής έρευνας. Είναι χτισμένα σε χρόνια ιδιοκτησιακών δεδομένων και μαζικών υπολογιστικών επενδύσεων. Η απώλεια αυτών των μοντέλων δεν είναι απλώς μια παραβίαση δεδομένων. Είναι απώλεια ανταγωνιστικού πλεονεκτήματος. Το ψηφιακό περιβάλλον δεν έχει φυσικά τείχη. Μόλις η λογική του συστήματος εκτεθεί μέσω του πηγαίου κώδικα και των βαρών των μοντέλων (model weights), η ζημιά είναι μόνιμη.
Για τον μετριασμό αυτών των κινδύνων, οι οργανισμοί πρέπει να αλλάξουν τον τρόπο με τον οποίο βλέπουν την πρόσβαση των προγραμματιστών. Ένα θησαυροφυλάκιο είναι ένα κουτί για μυστικά. Η διαχείριση ταυτότητας είναι ο έλεγχος του ποιος μπορεί να ανοίξει το κουτί και για πόσο χρονικό διάστημα. Ο στόχος είναι η μείωση της διάρκειας ζωής κάθε μυστικού. Εάν ένα token λήγει σε τέσσερις ώρες, μια διαρροή σε ένα αρχείο JavaScript είναι μια προσωρινή ενόχληση. Εάν ένα token διαρκεί για ένα χρόνο, μια διαρροή είναι καταστροφή.
Η συγκέντρωση της διαχείρισης μυστικών είναι ένα απαραίτητο βήμα. Κάθε ταυτότητα στο περιβάλλον θα πρέπει να ακολουθεί την αρχή του ελάχιστου προνομίου. Αυτό σημαίνει ότι ένα GitHub token θα πρέπει να έχει πρόσβαση μόνο στα συγκεκριμένα αποθετήρια που απαιτούνται για μια εργασία. Δεν θα πρέπει να έχει ευρείες, διοικητικές άδειες σε ολόκληρο τον οργανισμό. Η αυτοματοποιημένη εναλλαγή διασφαλίζει ότι τα διαπιστευτήρια δεν επιζούν πέρα από τον σκοπό τους. Αυτή η πειθαρχία δεν εμποδίζει έναν εισβολέα να βρει ένα token, αλλά περιορίζει τι μπορεί να κάνει με αυτό.
Οι οργανισμοί θα πρέπει να ξεκινήσουν με μια απογραφή των μη ανθρώπινων ταυτοτήτων. Οι περισσότερες εταιρείες δεν γνωρίζουν πόσα κλειδιά API ή λογαριασμοί υπηρεσιών υπάρχουν στο περιβάλλον τους. Δεν μπορείς να προστατεύσεις ό,τι δεν μπορείς να δεις. Αυτή η απογραφή θα πρέπει να περιλαμβάνει το εύρος κάθε κλειδιού και την ημερομηνία τελευταίας χρήσης του. Πολλοί οργανισμοί διαπιστώνουν ότι ένα μεγάλο ποσοστό των ενεργών tokens τους δεν είναι πλέον απαραίτητο. Αυτά τα «ορφανά» μυστικά είναι στόχοι υψηλής αξίας για τους επιτιθέμενους.
Η παρακολούθηση των ταυτοτήτων μηχανών είναι εξίσου ζωτική με την παρακολούθηση των ανθρώπινων συνδέσεων. Οι ομάδες ασφαλείας πρέπει να ορίσουν μια βάση κανονικής συμπεριφοράς για τους λογαριασμούς υπηρεσιών. Εάν ένα GitHub token έχει συνήθως πρόσβαση σε τρία αποθετήρια από μια γνωστή διεύθυνση IP και ξαφνικά αρχίσει να κλωνοποιεί 500 αποθετήρια από μια διαφορετική περιοχή, το σύστημα θα πρέπει να ενεργοποιήσει μια ειδοποίηση. Η ανίχνευση πρέπει να συμβαίνει στο επίπεδο της ταυτότητας. Η επιδιόρθωση λογισμικού είναι σημαντική, αλλά σε μια εποχή όπου οι ταυτότητες είναι ο πρωταρχικός στόχος, η ορατότητα στη χρήση των διαπιστευτηρίων είναι ο μόνος τρόπος για να πιαστεί ένας αθόρυβος εισβολέας.
Αυτό το περιστατικό υπενθυμίζει ότι η περίμετρος έχει μετακινηθεί. Δεν βρίσκεται πλέον στην άκρη του δικτύου. Υπάρχει στο επίπεδο του μεμονωμένου token και της συγκεκριμένης ταυτότητας. Εάν δεν διαχειρίζεστε αυτές τις ταυτότητες με την ίδια αυστηρότητα όπως τους διακομιστές παραγωγής σας, οι άμυνές σας είναι μια ψευδαίσθηση.
Πηγές: NIST Cybersecurity Framework, MITRE ATT&CK Framework (Technique T1528: Steal Application Access Token), DataBreaches.net reporting.
Αποποίηση ευθύνης: Αυτό το άρθρο προορίζεται μόνο για ενημερωτικούς και εκπαιδευτικούς σκοπούς. Δεν αντικαθιστά έναν επαγγελματικό έλεγχο κυβερνοασφάλειας ή μια υπηρεσία απόκρισης σε περιστατικά.



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