Sommario
Il blog di Trail of Bits ha recentemente descritto una nuova tecnica di sfruttamento chiamata Sleepy Pickle, che sfrutta il formato di file Pickle, ampiamente utilizzato ma notoriamente insicuro, per compromettere i modelli di machine learning (ML). Il formato Pickle è un metodo di serializzazione in Python che salva e carica oggetti Python da file di dati, ma la sua natura eseguibile lo rende vulnerabile agli attacchi.
Pericoli dei File Pickle
I file Pickle contengono bytecode eseguibile che viene interpretato da una macchina virtuale (VM) all’interno del modulo Pickle di Python. Questo permette agli attaccanti di inserire facilmente bytecode malevolo in un file Pickle benigno. Tali exploit possono essere distribuiti tramite attacchi Man-In-The-Middle (MITM), compromissione della supply chain, phishing o attacchi interni.
Tecnica Sleepy Pickle
Sleepy Pickle compromette i modelli ML inserendo una funzione personalizzata malevola all’interno del file Pickle. Quando il file viene deserializzato sul sistema della vittima, il payload viene eseguito e modifica il modello per inserire backdoor, controllare gli output o manomettere i dati elaborati. Sleepy Pickle può compromettere due aspetti del modello:
- Parametri del Modello: Modificando i pesi del modello per cambiare il comportamento intrinseco.
- Codice del Modello: Sostituendo i metodi dell’oggetto modello con versioni personalizzate.
- Attacchi Dimostrati
- Output Dannosi e Disinformazione
Compromettendo modelli AI generativi, come GPT-2-XL, un attaccante può far sì che il modello generi output dannosi o diffonda disinformazione. Ad esempio, un attacco PoC ha mostrato come il modello possa essere manipolato per consigliare “bere candeggina per curare l’influenza”.
Furto di Dati Utente
Modelli utilizzati per applicazioni come Otter AI e Avoma possono essere compromessi per rubare dati sensibili degli utenti. L’attaccante può iniettare un payload che registra i dati utente e li restituisce quando viene trovata una parola di attivazione segreta.
Phishing
Applicazioni basate su LLM che riassumono pagine web possono essere compromesse per inserire link malevoli nei sommari generati, inducendo gli utenti a cliccare su questi link e diventare vittime di phishing o malware.
Protezione contro gli Attacchi Pickle
Per proteggersi dagli attacchi Sleepy Pickle e altri attacchi alla supply chain, è consigliabile utilizzare modelli provenienti da organizzazioni fidate e affidarsi a formati di file più sicuri come SafeTensors. Soluzioni di scansione dei file Pickle e unpickler limitati non sono sufficientemente efficaci contro attacchi dedicati.
Sleepy Pickle dimostra che gli attacchi avanzati a livello di modello possono sfruttare debolezze nella supply chain, evidenziando l’importanza di considerare i rischi di sicurezza in modo olistico. Gli attacchi ai modelli ML rappresentano una minaccia significativa per la sicurezza, la privacy e l’integrità dei dati degli utenti.