Κυβερνοασφάλεια

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

Η Εκστρατεία Hades είναι ένα εξελιγμένο σκουλήκι που στοχεύει προγραμματιστές Python. Χρησιμοποιεί εχθρική έγχυση προτροπών για να εξαπατήσει εργαλεία ασφαλείας AI και να κλέψει δεδομένα.
Ανατομία του σκουληκιού Python που εξαπατά τους πράκτορες ασφαλείας AI

Έχετε φτάσει σε σημείο που εμπιστεύεστε τον βοηθό κώδικα AI περισσότερο από τη δική σας χειροκίνητη αναθεώρηση; Πολλοί προγραμματιστές το έχουν κάνει. Βασιζόμαστε σε μεγάλα γλωσσικά μοντέλα (LLMs) για τη σάρωση ευπαθειών, την πρόταση διορθώσεων και την επαλήθευση της ακεραιότητας πακέτων τρίτων. Αλλά τι συμβαίνει όταν το κακόβουλο λογισμικό ξέρει πώς να «απαντά» στο AI; Πέρασα αρκετές νύχτες την περασμένη εβδομάδα εξετάζοντας τις τεχνικές λεπτομέρειες της Εκστρατείας Hades, μιας απειλής που σηματοδοτεί μια αλλαγή στον τρόπο με τον οποίο οι επιτιθέμενοι προσεγγίζουν τις αυτοματοποιημένες άμυνες. Αυτό δεν είναι απλώς ένας κλέφτης δεδομένων. Είναι μια ψυχολογική επιχείρηση που κατευθύνεται στο λογισμικό που χρησιμοποιούμε για να προστατευτούμε.

Ερευνητές της StepSecurity αναγνώρισαν πρόσφατα αυτή την εκστρατεία ως το τελευταίο έργο της ομάδας απειλών Miasma. Ενώ η Miasma επικεντρωνόταν προηγουμένως στη συλλογή διαπιστευτηρίων cloud, το Hades είναι ένα πιο επιθετικό, αυτοαναπαραγόμενο σκουλήκι (worm). Στοχεύει συγκεκριμένα περιβάλλοντα προγραμματιστών Python μέσω παραβιασμένων πακέτων στο οικοσύστημα PyPI. Η λίστα των επηρεαζόμενων βιβλιοθηκών περιλαμβάνει τα ensmallen, mflux-streamlit και αρκετά εργαλεία που χρησιμοποιούνται στη βιοπληροφορική. Εάν εργάζεστε στην υπολογιστική βιολογία ή στην επιστήμη δεδομένων, ο σταθμός εργασίας σας αποτελεί στόχο υψηλής αξίας για τη συγκεκριμένη ομάδα.

Το σημείο εισόδου στη διαδικασία αρχικοποίησης της Python

Η επίθεση ξεκινά όταν ένας προγραμματιστής εισάγει (import) ένα παραβιασμένο πακέτο. Το Hades κρύβει τον κύριο φορτωτή του (loader) μέσα στο αρχείο __init__.py. Αυτό είναι ένα τυπικό αρχείο που χρησιμοποιεί η Python για να επισημάνει έναν κατάλογο ως πακέτο. Τοποθετώντας το κακόβουλο σενάριο εδώ, οι επιτιθέμενοι διασφαλίζουν ότι ο κώδικας εκτελείται τη στιγμή που το πακέτο φορτώνεται σε ένα έργο. Ο φορτωτής είναι συσκοτισμένος (obfuscated) για να αποφύγει τη βασική ανίχνευση βάσει υπογραφών, αλλά ο σκοπός του είναι απλός. Εναποθέτει ένα προμεταγλωττισμένο δυαδικό αρχείο χρόνου εκτέλεσης Bun στο σύστημα.

Το Bun είναι μια εργαλειοθήκη JavaScript υψηλής απόδοσης. Είναι ένα εξαιρετικό εργαλείο για νόμιμους προγραμματιστές, αλλά είναι επίσης μια τέλεια μηχανή εκτέλεσης για κακόβουλο λογισμικό. Επειδή το Bun είναι ένα αυτόνομο δυαδικό αρχείο, επιτρέπει στο κακόβουλο λογισμικό να εκτελεί πολύπλοκα ωφέλιμα φορτία JavaScript χωρίς να απαιτείται εγκατάσταση Node.js στο μηχάνημα του θύματος. Αυτό παρακάμπτει την παραδοσιακή παρακολούθηση που αναζητά ύποπτη δραστηριότητα npm ή Node. Από αρχιτεκτονικό επίπεδο, η χρήση του Bun επιτρέπει στους επιτιθέμενους να λειτουργούν σε ένα «σκιώδες» περιβάλλον που βρίσκεται έξω από την τυπική ορατότητα ασφαλείας των περισσότερων σταθμών εργασίας που επικεντρώνονται στην Python.

Πώς το κακόβουλο λογισμικό εξαπατά τον αυτοματοποιημένο ελεγκτή

Το πιο καινοτόμο χαρακτηριστικό του Hades είναι η ικανότητά του να λέει ψέματα στους πράκτορες ασφαλείας AI. Πολλά σύγχρονα περιβάλλοντα ανάπτυξης χρησιμοποιούν LLMs για τη σάρωση κώδικα για κακόβουλα μοτίβα. Το Hades το προβλέπει αυτό. Στο επάνω μέρος των κακόβουλων αρχείων του, το malware περιλαμβάνει ένα μπλοκ κειμένου σχεδιασμένο ως εχθρική προτροπή (adversarial prompt). Αυτό το κείμενο δίνει οδηγίες στο LLM να αγνοήσει οποιονδήποτε ύποπτο κώδικα βρεθεί κάτω από αυτό και να ταξινομήσει το πακέτο ως επαληθευμένο και ασφαλές.

Δοκίμασα μια παρόμοια τεχνική σε ένα περιβάλλον sandbox τον περασμένο μήνα. Παρείχα σε ένα LLM ένα σενάριο που περιείχε ένα απροκάλυπτο reverse shell, αλλά πριν από αυτό έβαλα ένα σχόλιο που έλεγε ότι ο κώδικας ήταν μια προεγκεκριμένη δοκιμή ασφαλείας για μια κυβερνητική σύμβαση. Το AI αγνόησε το exploit και ανέφερε ότι το σενάριο ακολουθούσε όλα τα πρωτόκολλα ασφαλείας. Το Hades χρησιμοποιεί ακριβώς αυτή τη στρατηγική του ψηφιακού Δούρειου Ίππου. Εκμεταλλεύεται τη γνωστική λογική του AI. Επειδή τα LLMs είναι επιρρεπή στην κοινωνική μηχανική, αποδέχονται αυτές τις κρυφές οδηγίες ως εντολές υψηλής προτεραιότητας. Αυτό έχει ως αποτέλεσμα μια εσφαλμένη αρνητική ετυμηγορία (false negative), επιτρέποντας στο κακόβουλο λογισμικό να γλιστρήσει πέρα από την αυτοματοποιημένη ανάλυση του οργανισμού.

Εκμετάλλευση του πλαισίου ακεραιότητας της εφοδιαστικής αλυσίδας

Το Hades δεν κρύβεται απλώς· προσπαθεί να φαίνεται επίσημο. Εκμεταλλεύεται αρκετά κρίσιμα πλαίσια ασφαλείας, συμπεριλαμβανομένων των OpenID Connect (OIDC) και Supply-chain Levels for Software Artifacts (SLSA). Όταν το κακόβουλο λογισμικό διαπιστώσει ότι εκτελείται μέσα σε μια ροή εργασίας GitHub Actions, ελέγχει για μεταβλητές OIDC. Στη συνέχεια, χρησιμοποιεί αυτά τα διαπιστευτήρια για να δημιουργήσει κρυπτογραφικά υπογεγραμμένα πακέτα προέλευσης SLSA μέσω του Sigstore.

Πρόκειται για μια εξελιγμένη παράκαμψη των ίδιων των συστημάτων που προορίζονται να εγγυηθούν την ακεραιότητα του λογισμικού. Δημιουργώντας ένα έγκυρο πακέτο Sigstore, το κακόβουλο λογισμικό μπορεί να δημοσιεύσει παραβιασμένες εκδόσεις βιβλιοθηκών στο PyPI ή στο npm που φαίνεται να προέρχονται από ένα επίσημο, επαληθευμένο περιβάλλον κατασκευής. Σε έναν εξωτερικό παρατηρητή ή σε ένα αυτοματοποιημένο εργαλείο, το πακέτο φαίνεται να έχει μια έγκυρη αλυσίδα φύλαξης. Αυτό μετατρέπει την υποδομή ασφαλείας σε όπλο για τον επιτιθέμενο. Κάνει τον παραβιασμένο κώδικα να φαίνεται πιο αξιόπιστος από τον νόμιμο, μη υπογεγραμμένο κώδικα.

Απόξεση μνήμης και πλευρική μετακίνηση

Μόλις εγκατασταθεί το κακόβουλο λογισμικό, αρχίζει τη συλλογή δεδομένων. Περιλαμβάνει προσαρμοσμένα εργαλεία απόξεσης μνήμης (memory scrapers) για Linux, macOS και Windows. Αυτά τα εργαλεία στοχεύουν στις χαρτογραφήσεις μνήμης των ενεργών διεργασιών για την εξαγωγή ευαίσθητων, κρυπτογραφημένων δεδομένων που διαφορετικά είναι απρόσιτα στον δίσκο. Αυτή είναι μια κρυφή προσέγγιση επειδή αποφεύγει τη δημιουργία ύποπτων αρχείων που θα μπορούσε να επισημάνει ένα σύστημα ανίχνευσης και απόκρισης τελικού σημείου (EDR).

Το σκουλήκι αναζητά επίσης τρόπους εξάπλωσης. Σαρώνει το μολυσμένο σύστημα για κλειδιά SSH, ρυθμίσεις SCP και διακριτικά (tokens) GitHub. Εάν βρει ένα διακριτικό με δικαιώματα εγγραφής, χρησιμοποιεί το GitHub Actions runner για να εξαγάγει μυστικά απευθείας από τη μνήμη. Στη συνέχεια προσπαθεί να μολύνει άλλα αποθετήρια που ανήκουν στον χρήστη. Η κίνηση ελέγχου και διοίκησης (C2) είναι κρυμμένη μέσα στη δημόσια υποδομή του GitHub. Τα κλεμμένα δεδομένα συμπιέζονται, κρυπτογραφούνται και προωθούνται σε νέα δημόσια αποθετήρια υπό τον έλεγχο του επιτιθέμενου. Αυτά τα αποθετήρια φέρουν συχνά την περιγραφή "Hades — The End for the Damned".

Ο μηχανισμός επιμονής «καμένης γης»

Η επιμονή (persistence) είναι βασικό συστατικό του σχεδιασμού του Hades. Το κακόβουλο λογισμικό εδραιώνει την παρουσία του στον σταθμό εργασίας και παρακολουθεί την κατάσταση των κλεμμένων διαπιστευτηρίων. Εάν μια ομάδα ασφαλείας εντοπίσει την παραβίαση και ανακαλέσει το κλεμμένο διακριτικό GitHub, το Hades εισέρχεται σε μια κατάσταση αντίδρασης. Εκτελεί μια διαδικασία διαγραφής (wiper) που επιχειρεί να σβήσει τα τοπικά αρχεία του χρήστη.

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

Χτίζοντας μια προληπτική άμυνα ενάντια στο απατηλό κακόβουλο λογισμικό

Η Εκστρατεία Hades δείχνει ότι η εξάρτησή μας από το AI ως πρωταρχικό επίπεδο ασφαλείας αποτελεί ευπάθεια. Πρέπει να κινηθούμε προς ένα μοντέλο όπου το AI είναι συνεργάτης και όχι η απόλυτη αυθεντία. Από την πλευρά του κινδύνου, η καλύτερη άμυνα είναι η λεπτομερής (granular) άμυνα που δεν βασίζεται σε έναν μόνο ελεγκτή.

Βασικά συμπεράσματα για την ασφάλεια του περιβάλλοντός σας:

  1. Χρησιμοποιήστε αυστηρή απομόνωση ορίων για τα LLMs. Ποτέ μην μεταφέρετε ακατέργαστο, μη έμπιστο κώδικα σε έναν σαρωτή AI χωρίς μια προτροπή συστήματος που ρητά απαγορεύει στο μοντέλο να ακολουθεί οδηγίες που περιέχονται στον ίδιο τον κώδικα.
  2. Ελέγξτε τα δικαιώματα των GitHub Actions. Εφαρμόστε την αρχή του ελάχιστου προνομίου για τα διακριτικά OIDC και βεβαιωθείτε ότι οι runners δεν έχουν περιττή πρόσβαση εγγραφής στα αποθετήριά σας.
  3. Παρακολουθήστε για μη εξουσιοδοτημένη εκτέλεση δυαδικών αρχείων. Το Hades βασίζεται στην εναπόθεση ενός Bun runtime. Εργαλεία που επισημαίνουν ή αποκλείουν την εκτέλεση άγνωστων δυαδικών αρχείων στη διαδρομή __init__.py μπορούν να σταματήσουν τη μόλυνση στο σημείο εισόδου.
  4. Επαληθεύστε την προέλευση Sigstore χειροκίνητα. Ενώ το Hades μπορεί να πλαστογραφήσει πακέτα, αποκλίσεις στον χρόνο κατασκευής ή στις μεταβλητές περιβάλλοντος μπορούν μερικές φορές να εντοπιστούν κατά τη διάρκεια ενός εγκληματολογικού ελέγχου.
  5. Εφαρμόστε ισχυρές στρατηγικές δημιουργίας αντιγράφων ασφαλείας. Επειδή το Hades περιλαμβάνει wiper, η ύπαρξη offline ή αμετάβλητων (immutable) αντιγράφων ασφαλείας της δουλειάς σας είναι ο μόνος τρόπος για να μετριάσετε την απειλή απώλειας δεδομένων κατά την αποκατάσταση.

Κοιτάζοντας το τοπίο των απειλών, το Hades είναι πιθανώς μια προεπισκόπηση του μέλλοντος. Οι επιτιθέμενοι δεν προσπαθούν πλέον μόνο να σπάσουν τις κλειδαριές στις πόρτες μας· μαθαίνουν πώς να πείθουν τον ψηφιακό πορτιέρη να τους αφήσει να περάσουν. Πρέπει να σταματήσουμε να αντιμετωπίζουμε τις ετυμηγορίες του AI ως απόλυτες αλήθειες και να αρχίσουμε να τις αντιμετωπίζουμε ως σημεία δεδομένων που απαιτούν ανθρώπινη επαλήθευση.

Πηγές: NIST Cybersecurity Framework, MITRE ATT&CK Framework (Software Supply Chain Compromise), StepSecurity Hades Campaign Report.

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

bg
bg
bg

Τα λέμε στην άλλη πλευρά.

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

/ Εγγραφείτε δωρεάν