Revisione delle librerie di intelligenza artificiale open-source

Completato

Il software open source (OSS) è parte integrante dello sviluppo software moderno e i sistemi di intelligenza artificiale non fanno eccezione. I progetti di intelligenza artificiale dipendono in genere da framework open source, librerie di modelli, modelli con training preliminare e strumenti di elaborazione dati. Proprio come altri componenti OSS, le librerie specifiche dell'intelligenza artificiale introducono rischi per la supply chain che richiedono una revisione completa della sicurezza prima dell'adozione.

Perché le librerie open source di intelligenza artificiale richiedono particolare attenzione

Le librerie OSS di intelligenza artificiale comportano alcuni rischi che vanno oltre quelli delle dipendenze software tradizionali:

  • Modelli preaddestrati: molte librerie di intelligenza artificiale includono o scaricano modelli preaddestrati. Un modello compromesso può contenere backdoor o comportamenti distorti difficili da rilevare solo tramite la revisione del codice.
  • Dipendenze della pipeline di dati: le librerie di intelligenza artificiale spesso gestiscono il caricamento, la trasformazione e l'estrazione delle funzionalità dei dati. Le vulnerabilità in questi componenti possono esporre i dati di training o consentire l'avvelenamento dei dati.
  • Serializzazione dei rischi: i modelli di intelligenza artificiale vengono spesso salvati e caricati usando formati di serializzazione,ad esempio pickle in Python. La deserializzazione dei file di modello non attendibili può comportare l'esecuzione arbitraria del codice.
  • Cicli di rilascio rapidi: le librerie di intelligenza artificiale si evolvono rapidamente, con frequenti cambiamenti significativi. Le organizzazioni aggiunte alle versioni precedenti potrebbero perdere patch di sicurezza critiche.

Diagramma che mostra quattro rischi specifici della supply chain di AI per le librerie open source: modelli pre-addestrati con backdoor, vulnerabilità della pipeline di dati, rischi di serializzazione e deserializzazione e cicli di rilascio rapidi.

Valutare l'idoneità delle librerie OSS

Prima di adottare una libreria oss di intelligenza artificiale, valutarla sia dalle prospettive funzionali che di sicurezza:

  • Contesto e scopo: definire il motivo per cui si sta esaminando questa libreria. La si integra in un sistema di produzione, la si usa per la sperimentazione o la valutazione rispetto alle alternative? Stabilire criteri di accettazione chiari per la revisione.
  • Valutazione dei rischi: considerare i potenziali rischi derivanti dall'uso della libreria. Usare la modellazione delle minacce per identificare i vettori di attacco: in che modo questa libreria rientra nella superficie di attacco dell'applicazione? Cosa accade se la libreria è compromessa?
  • Conformità delle licenze: verificare che la licenza della libreria sia compatibile con i criteri dell'organizzazione, in particolare per uso commerciale o per enti pubblici.
  • Integrità della manutenzione: Verifica quanto attivamente viene mantenuta la libreria. Esamina la frequenza di commit, i tempi di risposta alle issue e il numero di collaboratori attivi. Le librerie abbandonate o gestite in modo minimo sono più rischiose.

Analisi delle dipendenze e revisione del codice

Eseguire una revisione tecnica del codice della libreria e della relativa catena di dipendenze:

  • Ispezione del codice: esaminare il codice sorgente della libreria per individuare errori di sicurezza, ad esempio vulnerabilità di inserimento, procedure di crittografia non sicure e deserializzazione non sicura. Prestare attenzione ai meccanismi di autenticazione, alla convalida dell'input e alla gestione degli errori.
  • Valutazione delle dipendenze: valutare le dipendenze transitive della libreria. I componenti obsoleti o vulnerabili nell'albero delle dipendenze possono introdurre rischi anche se il codice della libreria è sicuro.
  • Analisi della composizione software (SCA): usare strumenti SCA automatizzati per identificare le vulnerabilità note (CVE) nella libreria e le relative dipendenze. Molte organizzazioni integrano questi strumenti nella pipeline CI/CD per intercettare i problemi in anticipo.

Controlli della catena di approvvigionamento specifici dell'intelligenza artificiale

Oltre alle procedure di revisione standard del sistema operativo, applicare questi controlli specifici dell'intelligenza artificiale:

  • Verifica della provenienza del modello: quando una libreria include modelli con training preliminare, verificare da dove proviene il modello, da chi è stato sottoposto a training e se i dati di training e il processo sono documentati. Una distinta base per l'IA (AI-BOM), ossia un inventario strutturato di componenti del modello, origini dati di formazione e dipendenze, consente di stabilire una relazione di trust.
  • Analisi dei modelli: analizza i file del modello scaricati per individuare payload dannosi noti prima di caricarli. Evitare di deserializzare i file di modello da origini non attendibili.
  • Controlli di riproducibilità: laddove possibile, verificare che i modelli possano essere riprodotti da dati e configurazioni di training documentati. Ciò consente di verificare che il modello non sia stato manomesso.
  • Valutazione in modalità sandbox: testare le nuove librerie di intelligenza artificiale in ambienti isolati prima di distribuirle nell'ambiente di produzione per contenere eventuali comportamenti imprevisti.

Analisi e correzione delle vulnerabilità

Non presupporre che altri utenti abbiano eseguito controlli delle vulnerabilità. Applicare la toolchain di valutazione personalizzata:

  • Analisi complete: usare gli scanner di vulnerabilità per identificare potenziali punti deboli di sicurezza nella libreria e le relative dipendenze.
  • Correzione con priorità: se vengono rilevate vulnerabilità, valutarne l'impatto e la possibilità di sfruttamento. Assegnare priorità alle correzioni in base alla gravità e all'esposizione.
  • Monitoraggio continuo: i database di vulnerabilità del sistema operativo vengono aggiornati regolarmente. Configurare avvisi automatizzati per i nuovi CVE che influiscono sulle librerie del tuo stack di intelligenza artificiale.

Diagramma di flusso del processo di revisione della sicurezza della libreria open source per intelligenza artificiale dalla valutazione all'approvazione.