DARPA

L’intelligenza artificiale per controllare la sicurezza dell’open source: sfide e nuovi approcci

La Darpa ha avviato il SocialCyberProgram, che mira ad analizzare con algoritmi AI lo sviluppo dei codici in open source per individuare eventuali anomalie: i dettagli, l’evoluzione del kernel Linux, la cybersecurity nei sistemi proprietari e in quelli di codice aperto

Pubblicato il 23 Ago 2022

Antonio Cisternino

Università di Pisa

shell linux

Oggi uno dei grandi fallimenti della computer science è quello di poter dimostrare che un programma funziona esattamente come previsto dalle sue specifiche. Allo stesso tempo, dato il codice sorgente di un programma, non è possibile assicurarne automaticamente la correttezza.

L’analisi dei codici sorgenti di progetti Open come Linux è quindi essenziale per comprendere in modo approfondito il loro funzionamento, cercando di assicurarsi che sia quello che tutti noi ci aspettiamo. Un approccio possibile solo perché si tratta di codici sorgenti aperti e quindi ispezionabili da chiunque.

L’open source si fa largo in azienda: motivi per adottarlo, ostacoli, sistemi più diffusi

L’introduzione di algoritmi automatici di analisi è interessante: il volume del software sviluppato, insieme alla parcellizzazione delle conoscenze che porta a comunità sempre più piccole, richiede infatti nuovi approcci, affinché la disponibilità del codice sorgente sia un valore aggiunto e non solo un manifesto.

L’evoluzione del kernel Linux

Il kernel del sistema operativo Linux è divenuto di fatto uno dei motori del nostro mondo: ha mostrato come sia possibile costruire interi business utilizzando un pezzo di codice condiviso e manutenuto da molti sviluppatori, sia sostenuti da aziende che sviluppatori per passione.

A chi, come me, ha avuto il privilegio di installare Linux usando una pila di floppy disk, sembra quasi impossibile che quell’iniziativa sia riuscita a crescere fino a superare il codice chiuso di giganti del panorama IT globale.

Linux ha contribuito tanto allo sviluppo mondiale non solo direttamente: anche la necessità di gestire e manutenere una base di codice così importante ha portato allo sviluppo del sistema per il controllo delle revisioni dei codici sorgenti ormai dominante, il sistema Git.

Il sistema è impiegato in molti dispositivi, di uso civile e anche militare: in molti casi, ci sono apparati costruiti sul sistema senza che gli utenti ne siano consapevoli.

I cellulari, grazie ad Android, sono largamente basati su Linux, e anche il desktop vede una certa diffusione, oltre alle installazioni native, da quando Microsoft ha inserito il Linux Subsystem in Windows, consentendo di eseguire il kernel di Linux insieme a quello di Windows.

Open source e sistemi proprietari: il nodo cybersecurity

Negli anni, la natura aperta del codice di un progetto Open Source è stata oggetto di acceso dibattito, specialmente per quanto riguarda gli aspetti di sicurezza.

L’indisponibilità dei codici sorgenti, hanno spesso argomentato le compagnie IT, assicura che eventuali vulnerabilità non siano facilmente accessibili, e che i processi di sviluppo siano controllati.

Ma, allo stesso tempo, i sostenitori del codice aperto hanno sempre ribattuto che la disponibilità dei codici sorgenti consente un’ispezione più approfondita e una più rapida azione nel risolvere eventuali vulnerabilità nello sviluppo.

Dopo tanti anni di coesistenza di software libero e software proprietario, è possibile osservare come entrambe le affermazioni siano fondate. L’attacco a SolarWinds nel 2019, ad esempio, ha mostrato che il codice sorgente chiuso non sia garanzia di sicurezza. L’intrusione nei sistemi e l’iniezione di codice malevolo nel software Orion, usato da molte organizzazioni, ha consentito infatti di effettuare con successo uno dei più grossi attacchi di tipo supply chain della storia. D’altro canto, lato open source, nel 2002 anche il codice sorgente del software sendmail è stato compromesso, portando ad una build del sistema che per circa un mese ha aperto potenziali falle nei sistemi di posta elettronica basati sul popolare programma.

Due semplici esempi che sottolineano come il dibattito non possa essere condotto semplicemente per stabilire l’approccio migliore. La qualità di un codice, e la sua robustezza, dipendono da molti fattori: gli ambienti dell’Open Source consentono a eventuali attaccanti di infiltrarsi più facilmente, ma nello stesso tempo esiste sempre una negligenza o una trascuratezza nello sviluppo introdotta dalle logiche del business. Il testing poi è sicuramente più esteso nel caso dei sistemi aperti di largo uso.

Più recentemente, la vulnerabilità di log4j ha riacceso i riflettori sull’impatto degli attacchi di supply chain: la continua evoluzione del software, basata sull’integrazione di librerie attraverso package manager, indebolisce di fatto l’ispezione di codice aperto, delegando agli sviluppatori di una particolare funzione come il log tutti i controlli di sicurezza.

Infine, molto software commerciale e chiuso oggi poggia su codice aperto, e in particolare sul kernel di Linux, è quindi sempre più difficile porre in antitesi i due approcci che si stanno combinando gradualmente nella realizzazione di sistemi sempre più complessi.

Il kernel di Linux è, in questo panorama, uno dei blocchi fondamentali e la sua sicurezza è essenziale alla maggior parte delle organizzazioni di questo pianeta.

È lecito quindi chiedersi: come possiamo assicurarci che i comportamenti di questo importante software siano quelli attesi? Come fare a scoprire se un piccolo codice che cerca particolari configurazioni di bit in memoria non possa essere attivato a comando?

Il DARPA SocialCyber Program

L’agenzia americana DARPA, che contribuisce alla ricerca per conto del dipartimento della difesa, è nota per aver promosso competizioni volte a stimolare lo sviluppo di tecnologie in settori specifici dell’IT.

Una delle nuove sfide lanciate dall’agenzia è il DARPA “SocialCyber program”, un progetto multimilionario di 18 mesi volto a combinare l’analisi Social attraverso algoritmi AI per analizzare le comunità che contribuiscono a sviluppare e mantenere codici sorgenti come il kernel di Linux, alla ricerca di elementi sospetti che possano suggerire l’inserimento di codici malevoli all’interno di questi progetti cruciali.

La diffusione di questi software all’interno di apparati centrali al funzionamento della nostra civiltà apre scenari in cui cellule dormienti possano infiltrare le comunità, alterando il codice sorgente in modo malevolo solo dopo molto tempo, e dopo aver conquistato la fiducia da parte della comunità.

L’ispezione dei sorgenti e della loro evoluzione è troppo complessa per essere monitorata manualmente: lo sviluppo di tecniche di analisi basati su algoritmi di intelligenza artificiale sembra l’unica via possibile per proteggere i sistemi aperti da possibili compromissioni.

È importante sottolineare che il dipartimento della difesa americano per primo può considerarsi sospetto, essendo un attore che potrebbe aver interesse all’introduzione di vulnerabilità, ad esempio, crittografiche. Si tratta quindi di un’iniziativa sicuramente interessante ma che richiederebbe che il controllo avvenisse da parte di più attori indipendenti, per bilanciare interessi contrapposti.

Attraverso il programma SocialCyber, DARPA ha stipulato contratti con vari attori nel panorama della cybersecurity tra cui la ditta newyorkese Margin Research, specializzata sul kernel di Linux, componente ormai essenziale per i sistemi di tutto il mondo.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

EU Stories - La coesione innova l'Italia

Tutti
Iniziative
Video
Analisi
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati