L'intelligenza artificiale (IA) viene introdotta in quasi tutti gli aspetti della vita. L'IA viene utilizzata per sviluppare codice, comunicare con i clienti e scrivere su vari media. La sicurezza informatica, in particolare la sicurezza dei prodotti, è un altro aspetto in cui l'IA può avere un impatto significativo. L'intelligenza artificiale viene integrata negli strumenti di sicurezza, ma viene anche utilizzata per sfruttare le vulnerabilità del software. L'intelligenza artificiale è ormai un sistema mainstream e non verrà mai meno, quindi i professionisti della sicurezza devono imparare a utilizzarla al meglio per migliorare la sicurezza dei loro sistemi e prodotti.
L'IA e le sue implicazioni per la sicurezza
Il termine "intelligenza artificiale" si riferisce all'utilizzo di sistemi informatici per simulare l'intelligenza umana. I sistemi di IA sono in grado di eseguire una serie sempre più ampia di attività, come il riconoscimento di pattern, l'apprendimento e la risoluzione dei problemi. All'interno dell'IA ci sono diversi campi tra cui il machine learning (ML), che consente ai sistemi di apprendere e migliorare nel tempo; l'elaborazione del linguaggio naturale (NLP), che tenta di imitare il linguaggio umano; la visione artificiale, che utilizza le telecamere come input per eseguire varie attività.
Queste applicazioni dell'IA vengono integrate in una vasta gamma di sistemi per automatizzare, analizzare e migliorare i processi attuali. Nel mondo della sicurezza informatica, l'IA assiste o sostituisce una serie di ruoli e processi. Viene utilizzata per analizzare i log, prevedere le minacce, leggere il codice sorgente, identificare le vulnerabilità e persino per creare o sfruttare le vulnerabilità.
Utilizzo dell'IA per rilevare gli attacchi alla sicurezza informatica
Considerando la competenza dell'IA nel riconoscimento di pattern, il rilevamento delle anomalie della sicurezza informatica è un chiaro scenario di utilizzo. Il rilevamento delle anomalie comportamentali ne è un buon esempio. Grazie al machine learning, un modello è in grado di identificare il comportamento normale all'interno di un sistema e di individuare le istanze che si discostano dalla norma. Questo può aiutare a individuare potenziali attacchi e a identificare i sistemi che non funzionano come previsto, rilevando comportamenti anomali.
Anche un comportamento problematico da parte degli utenti, come la perdita e l'esfiltrazione accidentali di dati, può essere individuato attraverso il riconoscimento di pattern IA o altri meccanismi. Anche set di dati creati o utilizzati dall'organizzazione possono essere impiegati per rilevare modelli e comportamenti anomali su scala più ampia, nel tentativo di determinare la probabilità che per l'organizzazione possano verificarsi incidenti di sicurezza informatica come quelli che si verificano in tutto il mondo.
Scenario di utilizzo 1: rilevamento delle anomalie
Il rilevamento delle anomalie, ovvero l'identificazione di modelli insoliti, rari o anomali nei registri, nel traffico o in altri dati, è un buon esempio di come sfruttare il potenziale del riconoscimento di pattern offerto dal ML. Che si tratti del traffico di rete, delle attività degli utenti o di altri dati, fornendo l'algoritmo e l'addestramento appropriati, intelligenza artificiale e machine learning (IA/ML) sono ideali al fine di individuare elementi anomali e potenzialmente dannosi. Questo può essere fatto in diversi modi, a partire dal monitoraggio e dagli avvisi in tempo reale. Questo metodo parte dalle impostazioni del sistema per gestire, ad esempio, il traffico di rete, le chiamate e i log delle API, e può utilizzare l'analisi statistica per monitorare continuamente il comportamento e le azioni del sistema. Il modello è in grado di attivare un avviso ogni volta che vengono rilevate azioni anomale o inusuali.
L'IA/ML non è solo un'ottima soluzione per individuare i modelli, ma è anche in grado di categorizzarli e raggrupparli. Questo è essenziale per assegnare livelli di priorità a vari eventi, che possono aiutare ad evitare di inondare utenti e team con avvisi, molti dei quali possono essere irrilevanti. Se gli avvisi sono eccessivi, spesso gli avvisi perdono importanza e rischiano di non essere analizzati adeguatamente. Grazie alle funzionalità AI/ML, è possibile fornire informazioni intelligenti, aiutando gli utenti a compiere scelte più consapevoli.
Scenario di utilizzo 2: intelligenza assistita dall'IA per la sicurezza informatica
La capacità di monitorare i sistemi e fornire avvisi in tempo reale può essere fondamentale, ma l'IA/ML può anche essere utilizzata per migliorare la sicurezza dei sistemi prima che si verifichi una violazione della sicurezza. La Cyber Threat Intelligence (CTI) raccoglie informazioni su attacchi ed eventi riguardanti la sicurezza informatica. L'obiettivo di CTI è quello di essere informato sulle minacce nuove o in corso con l'intento di preparare in modo proattivo i team alla possibilità di un attacco all'organizzazione prima che questo si verifichi. La CTI offre inoltre un valore aggiunto nella gestione degli attacchi che si sono già verificati, aiutando i team di risposta agli incidenti a capire meglio con cosa hanno a che fare.
Tradizionalmente, la raccolta, l'organizzazione e l'analisi di questi dati venivano eseguite da professionisti della sicurezza, ma l'IA/ML è in grado di gestire molte delle attività ordinarie o di routine e di aiutare con l'organizzazione e l'analisi, consentendo ai team di concentrarsi sul processo decisionale da seguire quando dispongono delle informazioni necessarie in un formato fruibile.
Utilizzo dell'IA per prevenire le vulnerabilità
Se è importante sfruttare l'IA/ML per rilevare e prevenire gli attacchi alla sicurezza informatica, è altrettanto importante prevenire le vulnerabilità nel software. Gli assistenti IA negli editor di codice, le pipeline di creazione e gli strumenti utilizzati per testare o convalidare i sistemi in esecuzione stanno rapidamente diventando la norma in molti aspetti dell'IT.
Come CTI, i sistemi di intelligenza artificiale possono aiutare ad alleviare le attività ordinarie, consentendo alle persone di dedicare più tempo a progetti e innovazioni più importanti. Le revisioni del codice, sebbene importanti, possono essere migliorate sfruttando i test di sicurezza delle applicazioni statici (SAST). Sebbene le piattaforme SAST esistano da un po' di tempo, il loro problema principale è la quantità spesso elevata di falsi positivi che generano. Le capacità offerte da AI/ML sono in grado di analizzare in modo più intelligente il codice sorgente, l'infrastruttura e il codice di configurazione. L'intelligenza artificiale sta iniziando a essere utilizzata anche per eseguire test di sicurezza delle applicazioni dinamici (DAST) al fine di testare le applicazioni in esecuzione e verificare l'efficacia degli attacchi comuni.
Scenario di utilizzo 3: scansione del codice assistita dall'intelligenza artificiale
SAST utilizza da tempo un approccio alla scansione del codice detto "sources and sinks". Si tratta di un modo per tenere traccia del flusso dei dati, cercando le insidie più comuni. Ivari strumenti prodotti per la scansione del codice statico utilizzano spesso questo modello. Sebbene questo sia un modo valido di verificare il codice, può portare a molti falsi positivi che devono essere convalidati manualmente.
L'IA/ML può essere utile in questo caso, poiché può imparare e comprendere il contesto o l'intento dei possibili risultati nella base di codice, riducendo i falsi positivi e i falsi negativi. Non solo, ma anche gli strumenti SAST e gli assistenti IA sono stati aggiunti agli editor di codice, aiutando gli sviluppatori a individuare gli errori prima che vengano inviati. Tuttavia, esistono alcune limitazioni che riguardano, ad esempio, il supporto dei linguaggi e la scalabilità di basi di codice molto grandi, ma queste limitazioni vengono rapidamente risolte.
Scenario di utilizzo 4: automazione del rilevamento delle vulnerabilità
La revisione del codice può richiedere molto tempo, e una volta inviato il codice in genere i test continuano. DAST viene utilizzato per testare gli attacchi più comuni durante l'esecuzione di un'applicazione. Ci sono alcuni strumenti sul mercato che aiutano in questo, ma come per la codifica stessa, serve tempo per raggiungere la velocità desiderata. Un utente deve comprendere questi tipi di attacchi e come replicarli tramite lo strumento DAST, per poi automatizzarli.
Di recente, DAST e i relativi strumenti di test delle applicazioni hanno iniziato a implementare l'IA/MLdirettamente nelle loro piattaformeocome plug-in, migliorando notevolmente la scansione automatizzata. Questo non solo alleggerisce il lavoro del personale, che necessita di tempo per eseguire le simulazioni di diversi attacchi, ma consente anche di risparmiare tempo e denaro necessari ad eseguire test di penetrazione completi. I test di penetrazione richiedono il lavoro di un essere umano, poiché è in grado di pensare come un utente malintenzionato, di riconoscere le potenziali vulneribilità, e creare nuovi modi per verificare se esse siano effettivamente sfruttabili.
La sicurezza dell'intelligenza artificiale
Sebbene l'IA possa aiutare a eliminare molti errori umani, qualche rischio c'è sempre. In primo luogo le tecnologie presentano problemi, e si possono trovare problemi di configurazione. Una problematica strettamente correlata riguarda la necessità di addestrare e convalidare in modo più sicuro il modello e i relativi processi. In caso contrario, un sistema non è ben compreso dagli utenti, creando una sorta di scatola nera e un processo di gestione del ciclo di vita del modello scadente.
Uno dei problemi di sicurezza più discussi legati all'IA è il data poisoning. Spesso raccogliamo dati che vengono poi utilizzati per addestrare algoritmi di AI/ML e, come esseri umani, possiamo introdurre errori nei dati. Questo è un concetto abbastanza semplice a cui prestare attenzione, ma a volte gli errori vengono aggiunti di proposito. Gli aggressori, attraverso vari meccanismi, possono intenzionalmente "avvelenare" il set di dati utilizzato per addestrare e convalidare i sistemi di IA/ML. È quindi ipotizzabile che gli output distorti del sistema possano essere utilizzati per scopi malevoli.
L'IA si diffonde velocemente, mentre per noi ci vuole tempo per comprenderla e acquisire le competenze necessarie, in particolar modo nel campo della sicurezza degli strumenti AI/ML. Gran parte del funzionamento interno dei sistemi di AI/ML non è ben compreso da molti al di fuori della comunità tecnologica, e questo può peggiorare se i sistemi vengono trascurati e o non sono trasparenti.
Questo porta a un altro problema abbastanza comune nella tecnologia: la corretta documentazione. I sistemi richiedono una documentazione di facile comprensione e sufficientemente completa da coprire la maggior parte del sistema in questione.
Infine, i governi di tutto il mondo stanno discutendo e pianificando (e in alcuni casi stanno già adottando) normative relative ai sistemi di AI/ML. Sviluppare certificazioni AI/ML sicure è possibile, e fare del nostro meglio per garantire che i sistemi sviluppati oggi siano il più sicuri e validi possibile, in futuro probabilmente si tradurrà in un vantaggio.
Considerazioni finali
Con la diffusione dei sistemi di intelligenza artificiale, la velocità e la precisione del machine learning per proteggere i sistemi che utilizziamo non saranno solo una comodità: diventeranno una necessità. Sicuramente i malintenzionati utilizzeranno i sistemi di IA/ML per gli attacchi informatici, e per questo motivo è necessario implementare strumenti per proteggere e difendere organizzazioni e sistemi.
Idealmente, gli studenti che si preparano a entrare nel mondo del lavoro impareranno a conoscere i sistemi di AI/ML, ma anche i colleghi meno giovani dovranno adottarli. La cosa migliore che ognuno di noi può fare è assicurarsi di avere una conoscenza di base dell'IA, mentre le organizzazioni possono iniziare a cercare di sfruttare al meglio l'IA/ML nei loro prodotti, sistemi e strumenti di sicurezza.
Scopri come Red Hat può aiutarti
Red Hat OpenShift AI può aiutare a creare modelli e integrare l'IA nelle applicazioni. OpenShift AI consente alle organizzazioni che operano nel settore della sicurezza e ai loro prodotti di sfruttare il potenziale dell'IA. Le applicazioni abilitate all'intelligenza artificiale stanno diventando sempre più diffuse e OpenShift AI è una piattaforma di sviluppo di IA efficiente e scalabile che può aiutare a portare tali applicazioni in produzione.
Sull'autore
I'm a long time enthusiast of both cyber security and open source residing in the United States. From a young age, I have enjoyed playing with computers and random tech. After leaving the U.S. Army, I decided to pursue my studies in computer science, and focused much of my attention on application security. I joined Red Hat in 2023, and work with engineering teams to improve the security of the applications and processes. When I am not working, studying, or playing with my home lab, I enjoy off-roading with a local Jeep club.
Altri risultati simili a questo
Ricerca per canale
Automazione
Novità sull'automazione IT di tecnologie, team e ambienti
Intelligenza artificiale
Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque
Hybrid cloud open source
Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido
Sicurezza
Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti
Edge computing
Aggiornamenti sulle piattaforme che semplificano l'operatività edge
Infrastruttura
Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale
Applicazioni
Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili
Virtualizzazione
Il futuro della virtualizzazione negli ambienti aziendali per i carichi di lavoro on premise o nel cloud