Vai al contenuto
Capitolo 06 · 12 min

Difendere i sistemi di IA

I capitoli precedenti presentavano le minacce. Questo è il manuale pratico: le difese concrete e a strati che rendono un sistema di IA difficile da compromettere e sopravvivibile quando lo è. Il principio organizzatore è la difesa in profondità: presupponi che un qualsiasi controllo prima o poi fallirà, e assicurati che il successivo lo recuperi.

Defence in depth around the modelConcentric layers around the model: input and output filtering, least-privilege tools, and monitoring. No single layer is trusted to hold; each assumes the one inside it may fail.modelinput / output filteringleast-privilege toolsmonitor & log everything

Costruisci un castello, non un muro. I muri cadono; gli strati ti danno il tempo di accorgertene e reagire.

Difesa in profondità, perché il modello ti tradirà

Non puoi fidarti del modello. Non perché sia malevolo, ma perché segue istruzioni provenienti da contenuto non attendibile e non puoi impedirlo in modo affidabile. Quindi lo avvolgi in strati, ciascuno presupponendo che lo strato interno possa fallire: filtra ciò che entra, vincola ciò che il modello può fare, filtra ciò che esce, e sorveglia tutto. Nessuno strato regge da solo.

Defence in depth around the modelConcentric layers around the model: input and output filtering, least-privilege tools, and monitoring. No single layer is trusted to hold; each assumes the one inside it may fail.modelinput / output filteringleast-privilege toolsmonitor & log everything
Filtraggio di input/output, tool a privilegio minimo e sorveglianza avvolgono il modello. Ogni strato presuppone che quello al suo interno possa fallire.

Strato 1: controllare l'input

Prima che il contenuto raggiunga il modello, hai l'occasione di ridurre il rischio. Valida e vincola l'input dell'utente dove il formato lo consente. Analizza il contenuto recuperato e fornito dall'utente alla ricerca di pattern di injection evidenti e di payload malevoli noti. Rimuovi o neutralizza il testo nascosto (caratteri invisibili, bianco su bianco, metadati sospetti) nei documenti. Questo intercetta gli attacchi pigri e alza il costo degli altri, ma trattalo come attrito, mai come un muro, perché un payload determinato passa comunque.

Strato 2: vincolare ciò che il modello può fare

È lo strato più robusto, e quello che regge a prescindere da quanto è astuto l'attacco. Se il modello può fare solo poco, un modello compromesso può fare solo poco. Tutto qui riguarda la capacità, non il rilevamento.

  • Privilegio minimo: ogni tool e fonte di dati delimitati esattamente a ciò che l'attività richiede, niente "per ogni evenienza".
  • Zone di fiducia separate: contenuto non attendibile e azioni privilegiate non si incontrano mai in una singola chiamata al modello senza una barriera (l'idea del dual-LLM).
  • Umano nel ciclo: le azioni irreversibili o ad alto rischio richiedono un'approvazione; il modello propone, una persona dispone.
  • Sandbox: l'esecuzione dei tool e ogni codice generato dal modello vengono eseguiti in isolamento, senza un percorso verso il resto del tuo sistema.
  • Limiti di frequenza e di budget: tetti per utente in modo che l'abuso non possa esaurire le risorse né far lievitare la fattura.

Strato 3: verificare l'output

Prima che l'output del modello raggiunga un utente o inneschi un'azione, ispezionalo. Validalo rispetto allo schema atteso, e rifiuta tutto ciò che è malformato. Analizza gli output alla ricerca di secret divulgati, dati personali o altri dati che non dovrebbero comparire nella risposta. Per le azioni, conferma che la chiamata al tool proposta rientri nell'insieme consentito con i parametri corretti. Il filtro di output è la tua ultima occasione per intercettare una compromissione che gli strati di input e di capacità hanno mancato.

Strato 4: sorvegliare e reagire

Non impedirai ogni attacco, quindi devi essere in grado di vederli. Registra ogni prompt, recupero, chiamata di tool, output e decisione (le stesse tracce richieste dal capitolo sulle valutazioni del corso sulla costruzione, che fanno doppio servizio come pista di audit di sicurezza). Sorveglia le anomalie: picchi di rifiuti, pattern insoliti di chiamate ai tool, tentativi di estrarre il prompt di sistema, costi fuori controllo. E disponi di un percorso per gli incidenti: come rilevi, contieni e rispondi quando (non se) qualcosa passa?

La sorveglianza è anche il modo in cui impari. Ogni vero attacco che intercetti diventa un caso di valutazione avversariale e un segnale di taratura per i tuoi filtri. La postura di sicurezza di un sistema di IA in produzione non è uno stato che raggiungi; è un ciclo che fai girare.

Red team: attacca te stesso per primo

Non aspettare che un attaccante trovi le falle. Fare red team significa attaccare deliberatamente il tuo stesso sistema: provare ogni injection, jailbreak e abuso di capacità a cui riesci a pensare, prima del rilascio e di continuo dopo. Il risultato non è solo un elenco di bug; è un insieme crescente di valutazioni avversariali che previene le regressioni.

The red-team loopA cycle: attack the system to find a break, fix it with a patch and a guard, and add the attack to the regression eval so it can never return silently. Repeat forever.attackfind a breakfixpatch + guardregressadd to evalsecurity is a loop, not a checkbox
Attacca per trovare una falla, correggila con una patch e una protezione, aggiungila alla valutazione di regressione perché non possa riapparire in silenzio. Ripeti.

Rendilo un ciclo, non un evento isolato. Ogni scoperta ottiene una correzione e un test permanente, in modo che la stessa falla non possa mai riaprirsi inosservata. È esattamente la disciplina di valutazione del corso sulla costruzione, puntata sulla sicurezza anziché sulla qualità, ed è la differenza tra un sistema sicuro oggi e uno che resta sicuro man mano che lo modifichi.

Una riga per ciascuno

  • Difendi in profondità: presupponi che il modello seguirà istruzioni ostili e avvolgilo in strati che ciascuno recupera il guasto del precedente.
  • Controlla gli input (attrito), vincola le capacità (lo strato robusto), verifica gli output (ultima rete), e sorveglia tutto (vedi gli attacchi).
  • Il vincolo di capacità batte il rilevamento: la domanda è cosa può fare un modello compromesso, non se può essere ingannato.
  • Fai red team di continuo, trasformando ogni scoperta in una correzione più una valutazione avversariale permanente: la sicurezza è un ciclo, non una casella da spuntare.
Difendere i sistemi di IA · Corsi di IA · SDEN