Quelle simpatiche backdoor che vivono nei modelli di machine learning su Hugging Face, la community AI open-source

8 months ago 259

Di Hugging Face, la community che ospita modelli sfruttabili per il machine learning, abbiamo parlato in passato raccontando di Hugging Chat, il chatbot alternativo a ChatGPT emerso proprio quando quest’ultimo venne messo temporaneamente al bando in Italia da parte dell’authority della privacy.

Ma la community Hugging Face è ben più di quel singolo chatbot di cui abbiamo parlato, è uno spazio collaborativo in cui gli sviluppatori possono condividere modelli di deep-learning pre-allenati, codice sorgente e conoscenze. La forza di questa community sta proprio in quel “pre-allenamento” di modelli, poiché sono la parte più complicata e costosa (in termini computazionali). Tramite la condivisione di questi modelli, insieme ai tool ed alle risorse che consentono di interagirvi, Hugging Face è in sostanza diventato il GitHub dell’intelligenza artificiale.

Tutto magnifico, ma i lettori ben si ricorderanno di come giusto qualche giorno fa raccontavamo dei centomila repository infetti parte di una campagna di malicious repo confusion con cui GitHub sta facendo i conti. Bene, anche Hugging Face, in maniera per nulla sorprendente, deve fare i conti con modelli di machine learning che contengono quelle che JFrog ha definito Silent Backdoor.

Nel dettagliato articolo viene spiegato come sia possibile caricare un modello di machine learning che porti all’esecuzione di codice, mediante un video:

How can loading an ML model lead to code execution

Alla fine non è nulla di estremamente misterioso: di fatto si tratta di codice malevolo (in questo caso Python) che viene eseguito dall’utente, ignaro.

Come racconta l’articolo la piattaforma Hugging Face implementa già misure di sicurezza, come lo scan di malware, pickle (ossia un protocollo binario che consente di serializzare e de-serializzare strutture Python ad oggetti, quindi in pratica programmi nascosti) e secret.

Ma ovviamente, come insegna la storia, queste implementazioni non sono sufficienti per rendere perfettamente sicuro l’ambiente. Nel caso dei pickle di cui sopra ad esempio, questi vengono indicati come insicuri, ma non inibiti, quindi rimanendo disponibili, rimangono anche pronti ad infettare.

L’articolo fa una disamina dei vari tipi di attacchi che possono essere scatenati mediante i modelli infetti (e che lasciamo ai lettori il “piacere” di scoprire), ma la sostanza del discorso è una ed una soltanto: anche nell’ambito ML c’è poco da stare sereni quando si parla di sicurezza, ed è sempre bene tutelarsi.

Chiaramente JFrog propone i propri prodotti a tutela, ma ce n’è uno che non è in vendita e vale sempre comunque la pena aver con se: il buon senso.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

Read Entire Article