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

Διασφάλιση του μεγάλου γλωσσικού μοντέλου πριν από την επόμενη παραβίαση μέσω prompt injection

Η CrowdStrike αποκαλύπτει πέντε νέες τεχνικές prompt injection σε ΤΝ. Μάθετε πώς η γνωστική καταστολή και η αποσύνθεση ωφέλιμου φορτίου απειλούν τις εταιρικές εγκαταστάσεις LLM.
Διασφάλιση του μεγάλου γλωσσικού μοντέλου πριν από την επόμενη παραβίαση μέσω prompt injection

Τον περασμένο μήνα, εξέτασα μια εγκληματολογική έκθεση όπου μια εταιρεία χρηματοοικονομικών υπηρεσιών έχασε τον έλεγχο ενός εσωτερικού bot εξυπηρέτησης πελατών. Η εταιρεία διέθετε μια υπερσύγχρονη υποδομή ασφαλείας, ωστόσο μια και μόνο έξυπνα διατυπωμένη πρόταση σε ένα αίτημα υποστήριξης παρέκαμψε κάθε δικλείδα ασφαλείας. Αυτό είναι το αρχιτεκτονικό παράδοξο της σύγχρονης Τεχνητής Νοημοσύνης. Περιβάλλουμε αυτά τα μοντέλα με στρώματα παραδοσιακής ασφάλειας, αλλά αποτυγχάνουμε να αντιμετωπίσουμε τη βασική ευπάθεια: το μοντέλο είναι ανίκανο να διαχωρίσει τα μη έμπιστα δεδομένα από τις έμπιστες εντολές. Η CrowdStrike κωδικοποίησε πρόσφατα αυτό το πρόβλημα σε πέντε διακριτά νέα διανύσματα επίθεσης που κάθε αρχιτέκτονας ασφαλείας πρέπει να κατανοήσει.

Πέρασα το χθεσινό πρωινό στο εργαστήριό μου προσπαθώντας να αναπαράγω μία από αυτές τις τεχνικές σε μια τοπική έκδοση του Llama 3. Η απλότητα της εκμετάλλευσης είναι αυτό που την καθιστά επικίνδυνη. Από την πλευρά του κινδύνου, βρισκόμαστε επί του παρόντος στην «Άγρια Δύση» της παραγωγικής ΤΝ. Οι πέντε νέες απειλές prompt injection που εντοπίστηκαν από την CrowdStrike αποδεικνύουν ότι οι επιτιθέμενοι προχωρούν πέρα από τις απλές εντολές «αγνόησε όλες τις προηγούμενες οδηγίες». Χρησιμοποιούν πλέον γλωσσική χειραγώγηση και παράδοση πολλαπλών σταδίων για να παραβιάσουν συστήματα.

Η κατάρρευση του ορίου δεδομένων-εντολών

Το prompt injection υπάρχει λόγω του τρόπου με τον οποίο τα μεγάλα γλωσσικά μοντέλα επεξεργάζονται τις πληροφορίες. Στο παραδοσιακό λογισμικό, ο κώδικας και τα δεδομένα συνήθως διατηρούνται σε χωριστούς χώρους μνήμης. Μια βάση δεδομένων SQL δεν εκτελεί κατά λάθος το επώνυμο ενός χρήστη ως εντολή, εκτός εάν υπάρχει μια συγκεκριμένη ευπάθεια όπως το SQL injection. Σε ένα LLM, οι οδηγίες από τον προγραμματιστή και τα δεδομένα από τον χρήστη βρίσκονται στο ίδιο παράθυρο πλαισίου (context window). Το μοντέλο αντιμετωπίζει κάθε διακριτικό (token) με παρόμοια βαρύτητα.

Αυτή η έλλειψη διαχωρισμού καθιστά την περίμετρο του δικτύου μια παρωχημένη τάφρο κάστρου. Εάν επιτρέψετε σε ένα LLM να διαβάσει ένα email, ουσιαστικά δίνετε σε αυτό το email μια θέση στο πληκτρολόγιο. Οι επιτιθέμενοι εκμεταλλεύονται αυτόν τον σχεδιασμό ενσωματώνοντας εντολές μέσα σε δεδομένα που το μοντέλο τελικά επεξεργάζεται ως οδηγία. Η νέα ταξινόμηση της CrowdStrike παρέχει έναν χάρτη για το πώς αυτοί οι επιτιθέμενοι εξελίσσουν τις μεθόδους τους για να παραμένουν μπροστά από το βασικό φιλτράρισμα λέξεων-κλειδιών.

Αδρανείς απειλές μέσω κανόνων που ενεργοποιούνται από εναύσματα

Η πρώτη νέα τεχνική είναι η προσθήκη κανόνα που ενεργοποιείται από ένα έναυσμα (trigger). Σε αυτό το σενάριο, ένας επιτιθέμενος δεν προσπαθεί να παραβιάσει το μοντέλο αμέσως. Αντίθετα, εισάγει έναν νέο κανόνα που φαίνεται αβλαβής. Για παράδειγμα, ο επιτιθέμενος μπορεί να πει στο μοντέλο να συνοψίζει πάντα το κείμενο σε μια συγκεκριμένη μορφή εάν δει τη λέξη «bluebird». Από μόνο του, αυτό δεν αποτελεί παραβίαση. Μοιάζει με μια μικρή προσαρμογή.

Ωστόσο, ο επιτιθέμενος μπορεί να ενεργοποιήσει αυτόν τον κανόνα αργότερα για να προκαλέσει περίεργη ή κακόβουλη συμπεριφορά. Ο κανόνας λειτουργεί ως «κοιμώμενος πράκτορας». Μόλις ενεργοποιηθεί το έναυσμα, το μοντέλο ενδέχεται να ανακατευθύνει την έξοδό του σε ένα μη εξουσιοδοτημένο API ή να αρχίσει να διαρρέει ευαίσθητες εντολές συστήματος. Επειδή η αρχική προσθήκη κανόνα είναι αθώα, περνά από τα περισσότερα βασικά συστήματα ανίχνευσης. Η απειλή παραμένει αδρανής μέχρι να ικανοποιηθούν οι συγκεκριμένες συνθήκες. Η αξιολόγηση της επιφάνειας επίθεσης απαιτεί την αναζήτηση αυτών των κρυφών δηλώσεων «εάν-τότε» που είναι θαμμένες σε μακροχρόνια ιστορικά συνομιλιών ή οδηγίες συστήματος.

Παράκαμψη του φίλτρου με γνωστική καταστολή διακριτικών

Η γνωστική καταστολή διακριτικών (cognitive token suppression) είναι μια πιο τεχνική προσέγγιση για την παράκαμψη των μέτρων ασφαλείας. Τα περισσότερα LLM έχουν ενσωματωμένα μοτίβα άρνησης. Εάν ζητήσετε από ένα μοντέλο να σας βοηθήσει να γράψετε κακόβουλο λογισμικό, είναι εκπαιδευμένο να λέει κάτι όπως «Δεν μπορώ να βοηθήσω με αυτό το αίτημα». Οι ομάδες ασφαλείας συχνά βασίζονται σε αυτά τα καθιερωμένα μοτίβα άρνησης για να διατηρήσουν το μοντέλο ασφαλές.

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

Απόκρυψη του ωφέλιμου φορτίου μέσω αλγοριθμικής αποσύνθεσης

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

Όταν συνδυάζονται, αυτά τα κομμάτια συναρμολογούνται σε μια ενιαία εντολή που είναι απειλητική. Αυτός είναι ο ψηφιακός Δούρειος Ίππος του prompt injection. Τα εργαλεία ασφαλείας που σαρώνουν μεμονωμένες εντολές για κακόβουλη πρόθεση δεν θα δουν τίποτα κακό. Η απειλή εμφανίζεται μόνο σε αρχιτεκτονικό επίπεδο όταν το μοντέλο ενσωματώνει όλα τα κομμάτια. Έχω δει αυτό να λειτουργεί αποτελεσματικά σε περιβάλλοντα όπου το παράθυρο πλαισίου είναι αρκετά μεγάλο ώστε να χωράει αρκετές φαινομενικά άσχετες αλληλεπιδράσεις που τελικά σχηματίζουν μια πλήρη αλυσίδα εκμετάλλευσης.

Ο κίνδυνος έγχυσης ειδικών διακριτικών

Η έγχυση ειδικών διακριτικών (special token injection) είναι μια τεχνική που στοχεύει στους διακόπτες ελέγχου του LLM. Τα μοντέλα χρησιμοποιούν ειδικά διακριτικά για να σηματοδοτήσουν το τέλος μιας σκέψης ή την αρχή μιας εντολής συστήματος. Αυτά τα διακριτικά είναι σαν τα κουμπιά στο ταμπλό ενός πιλότου. Εάν ένας επιτιθέμενος μπορεί να εισάγει αυτά τα διακριτικά στη δική του είσοδο, μπορεί να εξαπατήσει το μοντέλο ώστε να νομίζει ότι το περιεχόμενο του χρήστη είναι στην πραγματικότητα μια οδηγία συστήματος υψηλής προτεραιότητας.

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

Εξαπάτηση του χρήστη με έγχυση δεδομένων πλαισίου

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

Στο παρασκήνιο, η κακόβουλη εντολή είναι κρυμμένη μέσα στο έγγραφο ή το email. Η εντολή που γράφει ο χρήστης μπορεί να είναι αβλαβής, όπως «συνοψίστε αυτό το PDF». Το ίδιο το PDF περιέχει μια κρυφή γραμμή κειμένου που λέει στο μοντέλο να αγνοήσει τη σύνοψη και αντίθετα να στείλει το διακριτικό συνεδρίας (session token) του χρήστη σε έναν εξωτερικό διακομιστή. Ο χρήστης είναι το όχημα παράδοσης της επίθεσης. Όσον αφορά την ακεραιότητα των δεδομένων, αυτό είναι ένας εφιάλτης. Σημαίνει ότι κάθε πληροφορία που αγγίζει ένα LLM είναι ένα δυνητικό διάνυσμα παραβίασης.

Οικοδόμηση μιας ανθεκτικής αρχιτεκτονικής άμυνας

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

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

Η αρχή της μηδενικής εμπιστοσύνης (Zero Trust) πρέπει να εφαρμόζεται στα δεδομένα που ρέουν προς το LLM. Σκεφτείτε το σαν έναν πορτιέρη VIP κλαμπ σε κάθε εσωτερική πόρτα. Ποτέ μην εμπιστεύεστε τα δεδομένα, ακόμη και αν προέρχονται από έναν συνδεδεμένο χρήστη. Ο πορτιέρης πρέπει να επαληθεύει ότι το περιεχόμενο δεν περιέχει κρυφές εντολές πριν του επιτραπεί η είσοδος στο παράθυρο πλαισίου του μοντέλου. Αυτός είναι ο μόνος τρόπος για να οικοδομήσετε ένα ανθεκτικό σύστημα που μπορεί να αντέξει την επόμενη γενιά prompt injections.

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

Βασικά συμπεράσματα για ηγέτες ασφαλείας

  • Έλεγχος πηγών πλαισίου: Προσδιορίστε όλες τις εισόδους δεδομένων που φτάνουν στα LLM σας και αντιμετωπίστε τις ως μη έμπιστες εντολές.
  • Δοκιμή για γλωσσικές παρακάμψεις: Χρησιμοποιήστε red teaming για να δείτε εάν το μοντέλο σας είναι ευάλωτο σε γνωστική καταστολή διακριτικών ή αλγοριθμική αποσύνθεση.
  • Παρακολούθηση για ειδικά διακριτικά: Εφαρμόστε φίλτρα που ανιχνεύουν και αφαιρούν διακριτικά ελέγχου από δεδομένα που παρέχονται από χρήστες.
  • Εκπαίδευση χρηστών για κινδύνους πλαισίου: Ενημερώστε τους υπαλλήλους ότι η σύνοψη μη έμπιστων εγγράφων μπορεί να οδηγήσει σε παραβίαση του συστήματος.
  • Εφαρμογή μηχανικής ανίχνευσης: Προχωρήστε πέρα από την απλή αντιστοίχιση λέξεων-κλειδιών και αρχίστε να αναζητάτε συμπεριφορικές ανωμαλίες στις αποκρίσεις του μοντέλου.

Η ΤΝ είναι ένα ισχυρό εργαλείο, αλλά είναι επίσης ένας νέος τύπος επιφάνειας επίθεσης. Κατανοώντας αυτές τις πέντε νέες απειλές, μπορείτε να αρχίσετε να χτίζετε μια άμυνα που είναι τόσο έξυπνη όσο τα μοντέλα που προσπαθείτε να προστατεύσετε.

Πηγές: CrowdStrike Falcon Intelligence, NIST AI Risk Management Framework, MITRE ATLAS.

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

bg
bg
bg

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

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

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