Immagine AI

Coontec sta sviluppando una serie di tecniche dedicate alla protezione delle implementazioni di intelligenza artificiale eseguite direttamente sui dispositivi, con l’obiettivo di rendere più difficile l’analisi esterna dei modelli e dei programmi utilizzati per l’inferenza. Il lavoro rientra nel progetto “Development of AI Implementation Information Hiding Technology to Prevent On-Device AI Information Leakage”, sostenuto dal Ministero della Scienza e dell’ICT della Corea del Sud e dall’Institute of Information & Communications Technology Planning & Evaluation, e affronta un problema specifico degli ambienti on-device: quando modelli e applicazioni vengono distribuiti direttamente su smartphone, dispositivi IoT, veicoli e altri terminali, un attaccante che riesce a ottenere i file può analizzarne struttura, parametri e flussi di elaborazione. La soluzione sviluppata combina tecniche di offuscamento del modello con sistemi di taint analysis destinati a individuare automaticamente le parti di codice realmente coinvolte nell’inferenza AI.

La componente dedicata all’offuscamento prevede innanzitutto la conversione del modello AI nel formato MLIR, Multi-Level Intermediate Representation, sul quale vengono applicate diverse trasformazioni organizzate come pass indipendenti. Tra queste rientrano la modifica delle informazioni identificative degli operatori attraverso tecniche di renaming, la separazione e l’occultamento di parametri come pesi e bias mediante parameter encapsulation, la modifica delle forme dei tensori tramite neural structure obfuscation e l’inserimento di collegamenti e nodi fittizi attraverso graph structure obfuscation. L’obiettivo è alterare le informazioni visibili all’interno del file del modello, comprese tipologia degli operatori, parametri, forme dei tensori e relazioni all’interno del grafo computazionale, in modo da rendere più complessa la ricostruzione della struttura originale attraverso tecniche di analisi statica.

L’offuscamento viene però progettato in modo da preservare il comportamento del modello durante l’esecuzione. Coontec utilizza informazioni operative separate che permettono di collegare le rappresentazioni offuscate alle operazioni effettive necessarie per l’inferenza, mantenendo così la funzionalità originale pur nascondendo una parte della struttura interna. L’organizzazione delle trasformazioni come MLIR Pass consente inoltre di combinare selettivamente differenti tecniche di offuscamento in funzione delle caratteristiche del modello e del livello di protezione richiesto, limitando al tempo stesso le modifiche necessarie al runtime e cercando di mantenere compatibilità ed estensibilità rispetto agli ambienti nei quali il modello deve essere eseguito.

Parallelamente viene sviluppato un sistema di analisi dei flussi di dati destinato a identificare automaticamente quali parti di un’applicazione richiedano effettivamente protezione. Un programma AI comprende infatti non soltanto le chiamate al modello, ma anche codice per preprocessing, postprocessing, gestione dei file e numerose altre operazioni non direttamente collegate all’inferenza. Nel sistema sviluppato da Coontec, le applicazioni AI scritte in C e C++ vengono convertite in LLVM IR e analizzate utilizzando le API TFLite come punti di riferimento. Il sistema segue quindi la propagazione dei dati attraverso variabili, puntatori e chiamate di funzione, ricostruendo le dipendenze effettive tra le diverse parti dell’applicazione.

Questo approccio permette di identificare il codice coinvolto nell’inferenza sulla base delle reali relazioni di dipendenza dei dati, invece di affidarsi soltanto a nomi di funzioni o altri pattern statici. L’obiettivo successivo è collegare direttamente la taint analysis alle tecniche di offuscamento, in modo da applicare la protezione soltanto ai componenti che gestiscono informazioni o operazioni realmente sensibili. Nei dispositivi con risorse limitate questo permetterebbe di evitare l’offuscamento indiscriminato dell’intero programma e di concentrare invece le trasformazioni sulle porzioni di codice e sui dati strettamente legati all’esecuzione del modello AI.

Coontec ha inoltre completato la richiesta di brevetto per due tecnologie sviluppate nell’ambito del progetto. La prima riguarda un metodo e un dispositivo di calcolo per nascondere le informazioni di implementazione di un modello di intelligenza artificiale, mentre la seconda riguarda un metodo e un sistema per identificare automaticamente, attraverso taint analysis, le parti di codice di inferenza che devono essere protette. Entrambi gli approcci intervengono a livello di rappresentazione intermedia, modificando o occultando identificatori delle operazioni, parametri, strutture dei tensori e collegamenti del grafo, mentre sul lato applicativo tracciano le API AI e le dipendenze dei dati per determinare dove applicare le tecniche di protezione.

L’obiettivo finale è portare queste tecniche in prodotti reali nei quali l’AI viene eseguita localmente e nei quali la distribuzione del modello sul dispositivo espone direttamente parte dell’implementazione a eventuali attività di reverse engineering. La combinazione tra offuscamento strutturale del modello e identificazione selettiva del codice sensibile punta quindi a proteggere sia la struttura del modello sia il percorso attraverso il quale i dati vengono elaborati durante l’inferenza, mantenendo l’esecuzione compatibile con i vincoli di memoria e calcolo tipici degli ambienti on-device.

Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)

Di Fantasy