llm_internal:5chatbot:5llm:5ai:5hacker:5
L’LLM come strumento dell’attaccante
# 8. L’LLM come strumento dell’attaccante
Nei capitoli precedenti l’LLM era il bersaglio: abbiamo visto come prompt injection, RAG poisoning, tool hijacking, estrazione di informazioni e compromissione della supply chain possano alterare il comportamento di un sistema basato su un modello linguistico. Esiste però una seconda prospettiva, altrettanto importante: l’LLM può diventare uno strumento nelle mani di chi attacca.
In questo caso il modello non deve essere necessariamente compromesso. Può essere perfettamente funzionante e comportarsi esattamente come previsto. È l'attaccante che lo utilizza come assistente per svolgere più rapidamente attività che, in precedenza, richiedevano conoscenze specialistiche, tempo e una notevole quantità di lavoro manuale.
La differenza fondamentale può essere rappresentata così:
```text
ATTACCO AL LLM
attaccante → LLM → compromissione del sistema LLM
LLM USATO PER ATTACCARE
attaccante → LLM → preparazione dell'attacco → sistema bersaglio
```
Il secondo scenario è particolarmente interessante perché introduce un elemento nuovo nella tradizionale catena dell'attacco: una macchina capace di comprendere linguaggio naturale, analizzare grandi quantità di testo, scrivere codice e trasformare rapidamente informazioni apparentemente scollegate in una sequenza operativa.
## 8.1 Ricognizione e raccolta delle informazioni
Una delle prime attività di qualsiasi attacco informatico è la ricognizione. Prima di tentare di compromettere un sistema occorre infatti capire che cosa esiste, quali tecnologie vengono utilizzate, quali servizi sono esposti e quali informazioni possono essere ricavate pubblicamente.
Un LLM può assistere l'attaccante nell'organizzazione di queste informazioni. Può, per esempio, analizzare documentazione tecnica, pagine Web, configurazioni, messaggi di errore o frammenti di codice e individuare elementi che meritano ulteriori verifiche.
Il vantaggio non consiste necessariamente nel fatto che il modello scopra qualcosa che nessun essere umano avrebbe potuto trovare. Spesso consiste nella velocità con cui riesce a classificare e correlare una grande quantità di materiale.
Un'attività che richiederebbe molte ore di lettura può essere trasformata in una serie di domande:
```text
Quali tecnologie vengono utilizzate?
Quali componenti sembrano obsoleti?
Quali endpoint sono esposti?
Quali informazioni presenti nella documentazione
potrebbero avere rilevanza per la sicurezza?
```
L'LLM diventa quindi una sorta di analista preliminare.
## 8.2 Analisi del codice
Un'altra applicazione naturale riguarda il codice sorgente.
Un attaccante può sottoporre a un modello porzioni di codice e chiedere di individuare errori di sicurezza, comportamenti pericolosi o punti nei quali l'applicazione non valida correttamente i dati ricevuti.
Lo stesso principio può essere utilizzato in senso difensivo dai programmatori, ma dal punto di vista dell'attaccante rappresenta uno strumento per accelerare l'analisi di un bersaglio.
Il modello può aiutare a riconoscere categorie di problemi come:
* gestione non corretta degli input;
* autenticazione e autorizzazione insufficienti;
* gestione insicura delle sessioni;
* uso pericoloso di comandi esterni;
* accesso non controllato ai dati;
* errori nella gestione dei permessi;
* configurazioni potenzialmente rischiose.
Anche in questo caso è importante non attribuire al modello capacità magiche. Un LLM può individuare un problema reale, ma può anche segnalare una vulnerabilità inesistente oppure non riconoscere una vulnerabilità importante.
Per questo l'LLM è più correttamente considerato un **moltiplicatore della capacità dell'attaccante**, non un sostituto automatico dell'analista.
## 8.3 Generazione e trasformazione del codice
La capacità di produrre codice è probabilmente una delle caratteristiche che rendono gli LLM particolarmente interessanti in questo contesto.
L'attaccante può utilizzare il modello per tradurre codice da un linguaggio a un altro, modificarne la struttura, correggere errori sintattici, spiegare il funzionamento di una funzione oppure adattare un programma a un determinato ambiente.
Questa possibilità ha un effetto importante: diminuisce il costo cognitivo di molte operazioni.
Un soggetto che conosce bene una tecnica ma non conosce perfettamente un determinato linguaggio può chiedere al modello di spiegargli come realizzare una determinata funzione. Un soggetto più esperto può invece utilizzare il modello come strumento di revisione e accelerazione.
Il modello diventa così una sorta di **copilota tecnico**.
Naturalmente la stessa capacità viene utilizzata quotidianamente per attività perfettamente legittime. La tecnologia non è intrinsecamente offensiva: è il contesto nel quale viene impiegata a determinarne la funzione.
## 8.4 Dalla singola operazione all'automazione
Il vero salto di capacità si verifica quando l'LLM non viene utilizzato soltanto per rispondere a domande, ma viene inserito all'interno di un processo automatizzato.
Possiamo immaginare una sequenza concettuale:
```text
informazione
↓
analisi
↓
decisione
↓
generazione dell'azione
↓
esecuzione
↓
nuova informazione
↓
nuova analisi
```
È una struttura molto simile a quella degli agenti descritti nel capitolo dedicato ai tool.
La differenza, in questo caso, è il soggetto che controlla l'agente.
Se un sistema autonomo dispone di strumenti sufficientemente potenti, l'LLM può essere utilizzato per coordinare una serie di attività tecniche senza che l'attaccante debba intervenire manualmente dopo ogni passaggio.
Questo introduce un problema di scala. Un singolo errore umano può richiedere tempo e attenzione; un sistema automatizzato può ripetere la stessa operazione su un numero molto maggiore di obiettivi.
È quindi l'automazione, più ancora della semplice generazione di testo o codice, a rappresentare uno degli aspetti più significativi dell'uso degli LLM nell'attività offensiva.
## 8.5 Social engineering e comunicazione
L'LLM può essere utilizzato anche per preparare comunicazioni fraudolente o manipolative.
La sua capacità di generare testo naturale permette di produrre messaggi adattati al destinatario, correggere automaticamente errori linguistici, cambiare tono e costruire testi apparentemente plausibili.
In passato una comunicazione fraudolenta poteva essere riconosciuta anche per la presenza di errori grammaticali, traduzioni approssimative o formulazioni innaturali. L'utilizzo di un modello linguistico può ridurre alcuni di questi segnali.
Il problema, tuttavia, non è soltanto linguistico. Un attacco di social engineering efficace dipende dalla conoscenza del destinatario e dal contesto nel quale il messaggio viene inserito.
L'LLM può quindi facilitare la produzione del contenuto, mentre le informazioni utilizzate per personalizzarlo possono provenire da fonti differenti.
La catena può essere schematizzata:
```text
informazioni pubbliche
↓
profilazione del contesto
↓
generazione del messaggio
↓
personalizzazione
↓
interazione con la vittima
```
Anche qui il modello non costituisce necessariamente la parte più pericolosa della catena. Il rischio nasce dalla combinazione tra **informazione, automazione e capacità di generazione**.
## 8.6 L'LLM può anche sbagliare
Esiste però un'importante limitazione che spesso viene sottovalutata: l'LLM non conosce necessariamente la realtà del sistema che sta analizzando.
Può produrre codice non funzionante, interpretare erroneamente una configurazione, inventare una funzione inesistente oppure classificare come vulnerabile un componente che non lo è.
Questo fenomeno non scompare perché l'utilizzatore è un attaccante.
Anzi, in un contesto offensivo può diventare un problema particolarmente serio. Un'informazione errata può condurre a una conclusione sbagliata, far perdere tempo o provocare un comportamento facilmente rilevabile.
L'attaccante deve quindi verificare ciò che il modello produce, esattamente come dovrebbe fare un amministratore di sistema o un programmatore.
L'LLM non elimina la necessità di competenza: in molti casi la sposta.
## 8.7 Il vero vantaggio: abbassare la soglia di accesso
Uno degli effetti più importanti degli LLM non è necessariamente la creazione di nuove tecniche di attacco, ma la riduzione della difficoltà necessaria per utilizzare tecniche già conosciute.
Possiamo rappresentare il fenomeno in questo modo:
```text
PRIMA
conoscenza specialistica
+
tempo
+
capacità di programmazione
↓
azione tecnica
CON L'LLM
conoscenza di base
+
capacità di descrivere il problema
+
verifica del risultato
↓
azione tecnica
```
Non significa che chiunque possa improvvisamente diventare un esperto di sicurezza informatica. Significa però che alcune barriere tecniche possono diventare più basse.
Questo è un cambiamento importante perché modifica la distribuzione delle capacità, non soltanto la velocità dei professionisti già esperti.
## 8.8 L'LLM come moltiplicatore
Il concetto più utile per comprendere questo fenomeno è quello di **moltiplicatore**.
Un attaccante competente può utilizzare un LLM per:
* analizzare più rapidamente documentazione e codice;
* confrontare molte informazioni;
* automatizzare attività ripetitive;
* generare e trasformare codice;
* preparare comunicazioni;
* documentare procedure;
* coordinare diverse attività tecniche.
Il modello non deve necessariamente possedere una nuova tecnica sconosciuta. È sufficiente che renda più economico utilizzare quelle già esistenti.
Questo produce una conseguenza importante per la difesa: non basta chiedersi quali nuove vulnerabilità introduca l'LLM. Occorre anche chiedersi **quanto più rapidamente un attaccante possa sfruttare vulnerabilità già esistenti**.
## 8.9 La catena completa
Possiamo ora mettere insieme i diversi elementi senza confondere il modello con l'attaccante:
```text
ATTACCANTE
│
▼
LLM
│
┌────────────┼────────────┐
▼ ▼ ▼
analisi codice comunicazione
│ │ │
└────────────┼────────────┘
▼
AUTOMAZIONE
│
▼
SISTEMA BERSAGLIO
│
▼
RISULTATO
```
L'LLM si trova quindi nel mezzo della catena, come strumento di supporto.
È una distinzione fondamentale rispetto agli attacchi descritti nei capitoli precedenti. Nel prompt injection, per esempio, l'attaccante cerca di influenzare il comportamento dell'LLM. In questo capitolo l'LLM viene invece utilizzato dall'attaccante per influenzare un altro sistema.
## 8.10 Una nuova superficie della sicurezza
La comparsa degli LLM non elimina le tecniche tradizionali di sicurezza informatica. Piuttosto, introduce un nuovo componente capace di aumentare velocità, automazione e adattabilità dell'attacco.
Per la difesa questo significa che la sicurezza deve essere considerata su due livelli:
```text
1. proteggere l'LLM dagli attacchi
2. proteggere i sistemi dagli attacchi
assistiti dall'LLM
```
Il secondo problema è particolarmente interessante perché non può essere risolto semplicemente impedendo al modello di produrre determinate risposte. Anche se un LLM rifiutasse una richiesta, l'attaccante potrebbe utilizzare altri modelli, strumenti tradizionali o combinazioni differenti di software.
La difesa deve quindi continuare a basarsi sui principi fondamentali della sicurezza: autenticazione, autorizzazione, segmentazione, minimo privilegio, validazione degli input, controllo degli output, monitoraggio e capacità di rilevare comportamenti anomali.
L'LLM può cambiare la velocità e la forma dell'attacco, ma non cancella queste fondamenta.
Il punto centrale dell'intero discorso è dunque duplice:
```text
LLM COME BERSAGLIO
+
LLM COME STRUMENTO
=
NUOVA DIMENSIONE DELLA SICUREZZA
```
Da una parte bisogna impedire che un sistema LLM venga manipolato. Dall'altra bisogna considerare che lo stesso tipo di tecnologia può essere utilizzato per rendere più efficienti attività offensive rivolte contro sistemi completamente diversi.
Ed è proprio questa doppia natura a rendere gli LLM un elemento nuovo nella sicurezza informatica: **possono essere contemporaneamente superficie d'attacco, componente da proteggere e strumento nelle mani dell'attaccante.**
Questo capitolo prepara bene il successivo, che potrebbe essere **“9. Attacchi assistiti dall’LLM: un esempio completo”**, mostrando una catena realistica ma controllata dall’inizio alla fine, senza trasformarla in un manuale operativo d’attacco.
Fonte originale
https://chatgpt.com/c/6aaef4bc-6350-83ed-b61d-05c5a0eb6293