Tenable Research ha svelato una ricerca innovativa che ridefinisce l’approccio a una vulnerabilità dell’AI ampiamente discussa. In un’analisi dettagliata, Ben Smith di Tenable dimostra come le tecniche simili al prompt injection possano essere efficacemente riutilizzate per revisionare, monitorare e persino creare firewall per le chiamate di strumenti Large Language Model (LLM) che operano all’interno del sempre più popolare Model Context Protocol (MCP).
Il Model Context Protocol (MCP), un nuovo standard sviluppato da Anthropic, facilita l’integrazione di chatbot AI con strumenti esterni, consentendo loro di eseguire attività in modo autonomo. Questa comodità, tuttavia, introduce nuove sfide di sicurezza. Gli aggressori possono inserire istruzioni nascoste, note come prompt injection, o introdurre strumenti dannosi per manipolare l’AI a violare le proprie regole. La ricerca di Tenable esamina in modo completo questi rischi e propone una soluzione unica: sfruttare le stesse tecniche utilizzate negli attacchi per creare difese robuste che monitorano, ispezionano e controllano ogni strumento che un’AI tenta di utilizzare.
L’importanza critica della comprensione della sicurezza MCP
Poiché le aziende integrano sempre più LLM con strumenti aziendali critici, è fondamentale per i CISO, gli ingegneri AI e i ricercatori di sicurezza comprendere appieno i rischi e le opportunità difensive presentate da MCP.
Ben Smith, senior staff research engineer di Tenable, osserva che "MCP è una tecnologia in rapida evoluzione e immatura che sta rimodellando il modo in cui interagiamo con l’AI. Gli strumenti MCP sono facili da sviluppare e abbondanti, ma non incarnano i principi della sicurezza by design e dovrebbero essere gestiti con cura. Quindi, mentre queste nuove tecniche sono utili per la creazione di strumenti potenti, gli stessi metodi possono essere riutilizzati per scopi nefasti. Non gettate la prudenza al vento; invece, trattate i server MCP come un’estensione della vostra superficie di attacco."
Punti salienti della ricerca
Il comportamento tra modelli varia:
- Claude Sonnet 3.7 e Gemini 2.5 Pro Experimental hanno costantemente invocato il logger e hanno esposto parti del prompt di sistema.
- GPT-4o ha anche inserito il logger, ma ha prodotto valori di parametri variabili (e talvolta allucinati) in ogni esecuzione.
Vantaggio per la sicurezza: Gli stessi meccanismi utilizzati dagli aggressori possono essere utilizzati dai difensori per controllare le toolchain, rilevare strumenti dannosi o sconosciuti e costruire guardrail all’interno degli host MCP.
Approvazione esplicita dell’utente: MCP richiede già l’approvazione esplicita dell’utente prima che qualsiasi strumento venga eseguito. Questa ricerca sottolinea la necessità di rigidi default di minimo privilegio e di un’accurata revisione e test dei singoli strumenti.
Approfondimento nel Model Context Protocol (MCP)
Il Model Context Protocol (MCP) rappresenta un cambio di paradigma nel modo in cui i modelli AI interagiscono con il mondo esterno. A differenza dei sistemi AI tradizionali che operano in isolamento, MCP consente ai modelli AI di integrarsi perfettamente con strumenti e servizi esterni, consentendo loro di eseguire una vasta gamma di attività, dall’accesso a database e all’invio di e-mail al controllo di dispositivi fisici. Questa integrazione apre nuove possibilità per le applicazioni AI, ma introduce anche nuovi rischi per la sicurezza che devono essere affrontati con attenzione.
Comprensione dell’architettura di MCP
Al suo interno, MCP è costituito da diversi componenti chiave che lavorano insieme per facilitare la comunicazione tra i modelli AI e gli strumenti esterni. Questi componenti includono:
- Il modello AI: Questa è l’intelligenza centrale che guida il sistema. Potrebbe essere un large language model (LLM) come GPT-4 o un modello AI specializzato progettato per un’attività specifica.
- Il server MCP: Questo funge da intermediario tra il modello AI e gli strumenti esterni. Riceve le richieste dal modello AI, le convalida e le inoltra allo strumento appropriato.
- Gli strumenti esterni: Questi sono i servizi e le applicazioni con cui il modello AI interagisce. Possono includere database, API, servizi web e persino dispositivi fisici.
- L’interfaccia utente: Questa fornisce un modo per gli utenti di interagire con il sistema AI e controllare il suo comportamento. Può anche fornire un modo per gli utenti di approvare o negare le richieste di strumenti.
I vantaggi di MCP
Il Model Context Protocol offre diversi vantaggi significativi rispetto ai sistemi AI tradizionali:
- Maggiore funzionalità: Integrandosi con strumenti esterni, i modelli AI possono eseguire una gamma di attività molto più ampia di quanto potrebbero fare da soli.
- Maggiore efficienza: MCP può automatizzare attività che altrimenti richiederebbero l’intervento umano, risparmiando tempo e risorse.
- Maggiore flessibilità: MCP consente ai modelli AI di adattarsi alle mutevoli circostanze e rispondere a nuove informazioni in tempo reale.
- Maggiore scalabilità: MCP può essere facilmente scalato per accogliere un numero crescente di utenti e strumenti.
I rischi emergenti per la sicurezza in MCP
Nonostante i suoi vantaggi, MCP introduce diversi rischi per la sicurezza che devono essere attentamente considerati. Questi rischi derivano dal fatto che MCP consente ai modelli AI di interagire con il mondo esterno, il che apre nuove strade che gli aggressori possono sfruttare.
Attacchi Prompt Injection
Gli attacchi prompt injection sono una minaccia particolarmente preoccupante per i sistemi MCP. In un attacco prompt injection, un aggressore crea un input dannoso che manipola il modello AI per eseguire azioni non intenzionali. Ciò può essere fatto iniettando comandi o istruzioni dannose nell’input del modello AI, che il modello interpreta quindi come comandi legittimi.
Ad esempio, un aggressore potrebbe iniettare un comando che dice al modello AI di eliminare tutti i dati in un database o di inviare informazioni sensibili a una parte non autorizzata. Le potenziali conseguenze di un attacco prompt injection riuscito possono essere gravi, tra cui violazioni dei dati, perdite finanziarie e danni alla reputazione.
Integrazione di strumenti dannosi
Un altro rischio significativo è l’integrazione di strumenti dannosi nell’ecosistema MCP. Un aggressore potrebbe creare uno strumento che sembra legittimo ma contiene in realtà codice dannoso. Quando il modello AI interagisce con questo strumento, il codice dannoso potrebbe essere eseguito, compromettendo potenzialmente l’intero sistema.
Ad esempio, un aggressore potrebbe creare uno strumento che ruba le credenziali utente o installa malware sul sistema. È fondamentale valutare attentamente tutti gli strumenti prima di integrarli nell’ecosistema MCP per prevenire l’introduzione di codice dannoso.
Escalation di privilegi
L’escalation di privilegi è un altro potenziale rischio per la sicurezza nei sistemi MCP. Se un aggressore riesce ad accedere a un account con privilegi limitati, potrebbe essere in grado di sfruttare le vulnerabilità del sistema per ottenere privilegi di livello superiore. Ciò potrebbe consentire all’aggressore di accedere a dati sensibili, modificare le configurazioni del sistema o persino prendere il controllo dell’intero sistema.
Avvelenamento dei dati
L’avvelenamento dei dati comporta l’iniezione di dati dannosi nei dati di addestramento utilizzati per costruire modelli AI. Ciò può corrompere il comportamento del modello, facendolo fare previsioni errate o intraprendere azioni non intenzionali. Nel contesto di MCP, l’avvelenamento dei dati potrebbe essere utilizzato per manipolare il modello AI a interagire con strumenti dannosi o per eseguire altre azioni dannose.
Mancanza di visibilità e controllo
Gli strumenti di sicurezza tradizionali sono spesso inefficaci nel rilevare e prevenire attacchi contro i sistemi MCP. Questo perché il traffico MCP è spesso crittografato e può essere difficile da distinguere dal traffico legittimo. Di conseguenza, può essere difficile monitorare l’attività del modello AI e identificare comportamenti dannosi.
Invertire la situazione: utilizzo del Prompt Injection per la difesa
La ricerca di Tenable dimostra che le stesse tecniche utilizzate negli attacchi prompt injection possono essere riutilizzate per creare difese robuste per i sistemi MCP. Creando prompt progettati con cura, i team di sicurezza possono monitorare l’attività del modello AI, rilevare strumenti dannosi e costruire guardrail per prevenire attacchi.
Audit delle toolchain
Una delle principali applicazioni difensive del prompt injection è l’audit delle toolchain. Iniettando prompt specifici nell’input del modello AI, i team di sicurezza possono tracciare quali strumenti sta utilizzando il modello AI e come sta interagendo con essi. Queste informazioni possono essere utilizzate per identificare attività sospette e per garantire che il modello AI stia utilizzando solo strumenti autorizzati.
Rilevamento di strumenti dannosi o sconosciuti
Il prompt injection può anche essere utilizzato per rilevare strumenti dannosi o sconosciuti. Iniettando prompt che attivano comportamenti specifici, i team di sicurezza possono identificare strumenti che si comportano in modo sospetto o che non sono autorizzati a essere utilizzati. Ciò può aiutare a impedire al modello AI di interagire con strumenti dannosi e proteggere il sistema dagli attacchi.
Costruzione di guardrail all’interno degli host MCP
Forse l’applicazione difensiva più potente del prompt injection è la costruzione di guardrail all’interno degli host MCP. Iniettando prompt che impongono specifiche politiche di sicurezza, i team di sicurezza possono impedire al modello AI di eseguire azioni non autorizzate o accedere a dati sensibili. Ciò può aiutare a creare un ambiente sicuro per l’esecuzione del modello AI e proteggere il sistema dagli attacchi.
L’importanza dell’approvazione esplicita dell’utente
La ricerca sottolinea la necessità critica di un’approvazione esplicita dell’utente prima che qualsiasi strumento venga eseguito all’interno dell’ambiente MCP. MCP incorpora già questo requisito, ma i risultati rafforzano la necessità di rigidi default di minimo privilegio e di un’accurata revisione e test dei singoli strumenti. Questo approccio garantisce che gli utenti mantengano il controllo sul sistema AI e possano impedirgli di eseguire azioni non intenzionali.
Default di minimo privilegio
Il principio del minimo privilegio impone che agli utenti debba essere concesso solo il livello minimo di accesso necessario per svolgere le proprie funzioni lavorative. Nel contesto di MCP, questo significa che ai modelli AI dovrebbe essere concesso solo l’accesso agli strumenti e ai dati di cui hanno assolutamente bisogno per svolgere le proprie attività. Ciò riduce il potenziale impatto di un attacco riuscito e limita la capacità dell’aggressore di aumentare i privilegi.
Revisione e test approfonditi degli strumenti
Prima di integrare qualsiasi strumento nell’ecosistema MCP, è fondamentale esaminarlo e testarlo a fondo per garantire che sia sicuro e non contenga codice dannoso. Ciò dovrebbe comportare una combinazione di tecniche di test automatizzate e manuali, tra cui l’analisi del codice, il penetration testing e la scansione delle vulnerabilità.
Implicazioni e raccomandazioni
La ricerca di Tenable ha implicazioni significative per le organizzazioni che stanno utilizzando o pianificando di utilizzare MCP. I risultati evidenziano l’importanza di comprendere i rischi per la sicurezza associati a MCP e di implementare misure di sicurezza appropriate per mitigare tali rischi.
Raccomandazioni chiave
- Implementare una robusta convalida dell’input: Tutti gli input al modello AI devono essere attentamente convalidati per prevenire attacchi prompt injection. Ciò dovrebbe includere il filtraggio di comandi e istruzioni dannose e la limitazione della lunghezza e della complessità dell’input.
- Applicare controlli di accesso rigorosi: L’accesso a dati e strumenti sensibili deve essere rigorosamente controllato per prevenire l’accesso non autorizzato. Ciò dovrebbe comportare l’utilizzo di meccanismi di autenticazione forti e l’implementazione del principio del minimo privilegio.
- Monitorare l’attività del modello AI: L’attività del modello AI deve essere attentamente monitorata per rilevare comportamenti sospetti. Ciò dovrebbe includere la registrazione di tutte le richieste e risposte degli strumenti e l’analisi dei dati per anomalie.
- Implementare un robusto piano di risposta agli incidenti: Le organizzazioni dovrebbero avere un robusto piano di risposta agli incidenti in atto per affrontare gli incidenti di sicurezza che coinvolgono i sistemi MCP. Ciò dovrebbe includere procedure per l’identificazione, il contenimento e il ripristino da attacchi.
- Rimanere informati: Il panorama MCP è in continua evoluzione, quindi è importante rimanere informati sugli ultimi rischi per la sicurezza e le migliori pratiche. Ciò può essere fatto iscrivendosi a mailing list di sicurezza, partecipando a conferenze sulla sicurezza e seguendo esperti di sicurezza sui social media.
Seguendo queste raccomandazioni, le organizzazioni possono ridurre significativamente il rischio di attacchi contro i propri sistemi MCP e proteggere i propri dati sensibili. Il futuro dell’AI dipende dalla nostra capacità di costruire sistemi sicuri e affidabili, e ciò richiede un approccio proattivo e vigile alla sicurezza.