Il crimine informatico si presenta come una delle sfide più urgenti per le imprese, posizionandosi tra i reati in più rapida espansione su scala mondiale. Un panorama di dati e statistiche convincenti mette in luce l’importanza per i leader aziendali di persistere negli investimenti volti ad adottare un approccio proattivo alla sicurezza informatica.
Nell’intricato contesto della rete internet, dove convergono diverse infrastrutture, applicazioni di alto livello, endpoint client e utenti, si forma un ambiente complesso e interconnesso.
In questa lotta tra attaccanti e difensori, gli aggressori trovano spesso vie d’accesso sfuggenti, sfidando i meccanismi di rilevamento esistenti e aprendo nuovi vettori di attacco. Al contempo, i difensori si trovano a fronteggiare le incessanti vulnerabilità. Di conseguenza, è imperativo che i Responsabili IT e i Responsabili della Sicurezza abbandonino gli approcci convenzionali per concentrarsi sulla creazione di strategie più resilienti, in grado di contrastare sia le minacce conosciute che quelle impreviste.
Combattere, contro il cybercrime, la terza potenza mondiale
Se il crimine informatico fosse valutato come un paese, occuperebbe la terza posizione nell’economia mondiale, superato solo dagli Stati Uniti e dalla Cina [1]. La notizia sconcertante è che l’economia generata da questa potenza sta crescendo a ritmi vertiginosi: secondo le previsioni di Cybersecurity Ventures, una delle principali società di ricerca nel campo della sicurezza informatica, i costi globali del crimine informatico aumenteranno del quindici percento all’anno nei prossimi cinque anni, raggiungendo 10.5 mila miliardi di dollari statunitensi all’anno entro il 2025, rispetto ai 3 mila miliardi di dollari statunitensi del 2015.
I crimini informatici sono ampiamente sottovalutati poiché non vengono sempre segnalati, spesso per imbarazzo, timore di danni alla reputazione e la percezione che le forze dell’ordine possano non essere in grado di fornire assistenza.
Si stima che solo circa il 10% di tutti i crimini informatici commessi globalmente venga effettivamente segnalato, andando in contrasto con le normative come il Regolamento Generale sulla Protezione dei Dati (GDPR) dell’Unione Europea, che obbliga le organizzazioni a notificare prontamente le violazioni dei dati personali all’autorità di controllo competente entro settantadue ore dalla scoperta, a meno che la violazione non rappresenti un rischio improbabile per i diritti e le libertà delle persone fisiche. Simili normative esistono anche in altri paesi, dove alle aziende è richiesto di rendere pubbliche o informare le persone coinvolte in caso di violazioni della sicurezza dei dati. Negli Stati Uniti, le leggi sulla notifica delle violazioni della sicurezza variano a livello statale, ma in molte giurisdizioni, le aziende sono tenute a comportarsi in modo analogo al GDPR europeo.
Le entità criminali organizzate nel campo informatico stanno consolidando le loro forze, e la probabilità di individuare e perseguire il crimine informatico è stimata essere estremamente bassa, attestandosi intorno allo 0,05 percento negli Stati Uniti, secondo il Global Risk Report 2020 del World Economic Forum [2].
Il ruolo della sicurezza informatica nella lotta al cybercrime
La sicurezza informatica riveste un ruolo cruciale nella lotta contro il cybercrime, fornendo le fondamenta e le strategie essenziali per difendere sistemi, reti e dati da minacce sempre più sofisticate e dannose. Questo vasto campo abbraccia diverse aree specializzate, affrontando con determinazione gli intricati aspetti della protezione dei sistemi digitali, delle reti e dei dati. Tra i pilastri fondamentali della sicurezza informatica spiccano:
- La Sicurezza di Rete: Il suo focus è sulla difesa delle reti informatiche da accessi non autorizzati, attacchi e abusi.
- La Sicurezza dell’Informazione: Coinvolge la tutela delle informazioni da accessi non autorizzati, divulgazione, alterazione o distruzione.
- La Sicurezza degli Endpoint: Riguarda la salvaguardia dei singoli dispositivi, come computer, smartphone e altri endpoint, da minacce informatiche.
- La Sicurezza Cloud: Concentrandosi sulla sicurezza di dati, applicazioni e servizi ospitati in ambienti cloud.
- La Sicurezza delle Applicazioni: Obiettivo: rendere software e applicazioni resistenti a minacce e vulnerabilità di sicurezza.
- L’Identity and Access Management (IAM): Coinvolge la gestione e il controllo dell’accesso degli utenti a sistemi e reti.
- L’Incident Response: Si occupa della gestione e risposta a incidenti e violazioni della sicurezza informatica.
- Il Security Operations Center (SOC): Con un focus sul monitoraggio continuo, l’analisi e la risposta agli eventi di sicurezza.
- La Sensibilizzazione e Formazione sulla Sicurezza: L’obiettivo è educare e addestrare gli utenti a riconoscere e mitigare i rischi della sicurezza informatica.
- La Crittografia: Coinvolge l’uso di tecniche matematiche per garantire la sicurezza delle comunicazioni e proteggere le informazioni.
- La Gestione delle Vulnerabilità: Identifica, assegna priorità e mitiga le vulnerabilità nei sistemi e nelle reti.
- La Governance e Conformità alla Sicurezza: Stabilisce politiche, procedure e controlli per garantire la conformità agli standard e alle normative di sicurezza.
- L’Intelligence sulle Minacce: Raccoglie e analizza informazioni per comprendere e mitigare le potenziali minacce informatiche.
- La Sicurezza Wireless: Si concentra sulla sicurezza delle reti e dei dispositivi wireless da accessi non autorizzati.
- La Sicurezza Fisica: Coinvolge misure per proteggere beni fisici, strutture ed attrezzature da accessi o danni non autorizzati.
- L’Investigazione Forense e Incidenti: Esamina e analizza prove digitali per comprendere e rispondere agli incidenti informatici.
- La Gestione del Rischio: Identifica, valuta e mitiga i rischi della sicurezza informatica per un’organizzazione.
- Security Architecture: Progetta ed implementa sistemi e reti sicuri.
- La Sicurezza IoT: Affronta le sfide di sicurezza legate ai dispositivi e agli ecosistemi dell’Internet delle cose (IoT).
- Sicurezza Mobile: Si concentra sulla sicurezza dei dispositivi, delle applicazioni e dei dati mobili.
La sicurezza di rete e la gestione delle identità e degli accessi
Per ognuno di questi domini esistono metodologie, applicazioni e procedure per aumentare e gestire la sicurezza informatica. Consideriamo ad esempio solo due domini, la sicurezza di rete e la gestione delle identità e degli accessi (IAM). Per la sicurezza di rete, applicazioni come ad esempio firewall, sistemi di rilevamento intrusioni (IDS) e sistemi di prevenzione delle intrusioni (IPS) sono oramai gli strumenti di base per qualsiasi azienda. Tra le procedure per la sicurezza di rete annoveriamo la configurazione sicura dei dispositivi di rete e il monitoraggio costante del traffico.
Le soluzioni IAM sono diventate sempre più sofisticate. Si è passati da sistemi utilizzati per la sola gestione delle identità e per autenticare gli utenti, a sistemi più complessi per gestire, in modo sempre più granulare, le autorizzazioni, cioè dare accesso a dati o all’esecuzione di servizi o applicazioni, non solo a utenti ma anche proprio ad altre applicazioni e servizi, fino ad arrivare ad autorizzare l’esecuzione di un micro-servizio all’interno di un ambiente altamente distribuito.
Tanti domini, tante procedure e tante applicazioni significano una grandissima mole di dati prodotti. L’analisi di questi dati, a sua volta, genera ulteriori informazioni. Tuttavia, questa ricchezza di dati deve essere sottoposta a un’analisi approfondita; altrimenti, diventa solo un onere per le aziende, senza apportare alcun beneficio tangibile. Solo un approccio automatico o semi-automatico può consentire l’estrazione di informazioni preziose e l’individuazione tempestiva di azioni o tentativi di crimine informatico.
La sfida principale nell’analisi della sicurezza informatica risiede non tanto nella mancanza di dati disponibili, quanto nella loro vastità ed eterogeneità. Ogni applicazione presenta la sua dashboard, più o meno avanzata e accattivante, che consente di esaminare i dati esistenti. All’interno di queste applicazioni, sono disponibili sistemi di analisi automatica essenziali per rilevare anomalie e attivare allarmi, facilitando così una gestione idealmente automatica, di singoli problemi.
Il principale ostacolo nei dati generati dalle diverse applicazioni deriva dal fatto che ciascuna di esse non condivide i propri dati con le altre. Tuttavia, solo l’integrazione di informazioni provenienti da diverse fonti offre una prospettiva a 360 gradi, consentendo una gestione più coesa di tutte le applicazioni. L’approccio ottimale è senza dubbio quello di analizzare e interrogare i dati attraverso un’unica applicazione che centralizza tutte le informazioni di interesse. Questo non solo fornisce una visione completa, ma consente anche di estrarre nuove informazioni dai dati prodotti dalle singole applicazioni. Tale metodologia arricchisce la comprensione del panorama della sicurezza informatica e facilita un processo decisionale a 360 gradi, se possibile, in tempo reale.
Graph database per la sicurezza informatica
I continui progressi nel campo della sicurezza informatica si stanno concentrando sulla tecnologia dei grafi e sui graph database, attirati dalla loro intrinseca capacità di preservare relazioni e offrire prestazioni eccezionali in termini di efficienza e scalabilità. Sebbene il raggiungimento di una sicurezza completa rimanga una sfida, l’utilizzo di query e l’esecuzione di algoritmi sui grafi, spesso combinato con tecniche di intelligenza artificiale spiegabile, sta potenziando la sicurezza informatica delle organizzazioni.
I database a grafo semplificano l’archiviazione, l’esecuzione di query e l’analisi dei dati, anche quando i volumi di dati si espandono rapidamente. Nel contesto della sicurezza informatica, i nodi rappresentano entità come oggetti di sistema, vulnerabilità, dispositivi acceduti, utenti e applicazioni, mentre gli archi indicano le relazioni, le interazioni o i flussi che collegano queste entità. I graph database, specialmente quelli che garantiscono elevata scalabilità, consentono di centralizzare in un unico repository fonti dati eterogenee, combinando dati strutturati e non strutturati.
Database a grafo consentono di gestire milioni o anche centinaia di miliardi di nodi e archi, eseguendo simultaneamente in maniera efficiente l’analisi del grafo e algoritmi di graph analytics. Questo approccio consente, ad esempio, di analizzare in modo approfondito il comportamento di un utente: integrando i dati del firewall, le informazioni del CRM, i dati relativi al sito di commercio elettronico e altre applicazioni, è possibile rifiutare una transazione, prevenendo potenziali tentativi di frode fin dalla loro nascita. Una volta individuato un truffatore, è possibile avviare attività di investigazione per identificare altri utenti, attività e dispositivi potenzialmente “sospetti” a causa della loro connessione con il truffatore.
Alcuni esempi di modellazione basata su grafi
Dal punto di vista della sicurezza, la stragrande maggioranza dei dispositivi all’interno delle organizzazioni è connessa e comunica in rete. Recentemente, gli analisti della sicurezza hanno riconosciuto il notevole potenziale del flusso di dati come una solida base per i framework di sicurezza, consentendo il rilevamento di attività sospette o dannose che potrebbero indicare un attacco informatico.
Il monitoraggio del traffico di rete consente l’estrazione dei record del flusso di rete, comunemente raccolti da dispositivi come i router. Questi record catturano sequenze di pacchetti scambiati tra dispositivi entro intervalli di tempo specifici. L’utilizzo di modelli basati su grafi per l’analisi del flusso dei dati nella rete offre una visione olistica del traffico della rete. Un modello così semplice ma estremamente efficace, basato su grafi, prevede:
- La memorizzazione dei device monitorati come nodi,
- La memorizzazione del flusso di dati tra due device con archi che connettono i relativi nodi, uno per ogni flusso di dati scambiato.
In figura 1 è rappresentato un flusso di dati tra due device. Per semplicità, in figura abbiamo riportato solo l’identificativo del device ma nella realtà tali nodi conterranno altre proprietà, come indirizzi di rete, macro-tipologia del device (server, client, router), dettaglio del device (http server, client Windows 11). L’arco che connette i due device terrà traccia dell’ora di inizio dell’evento, la durata dell’evento in secondi, il tipo di protocollo, la porta di origine e di destinazione utilizzata dai device durante la comunicazione, il numero di pacchetti e il numero di byte inviati dai due dispositivi durante l’evento.
Figura 1. Il percorso che rappresenta un flusso di rete bidirezionale
In un grafo così definito, è semplicissimo valutare, anche solo visivamente il traffico di rete. L’immagine di seguito rappresenta la visualizzazione di diecimila flussi di dati tra device, ottenuta interrogando il graph database e utilizzando un dataset di un ambiente reale [3]. La potenza dei graph database risiede nella velocità di esecuzione delle query, soprattutto quando queste richiedono, come in questo caso l’attraversamento del grafo: nell’immagine si può notare come il tempo di esecuzione della query abbia richiesto solo pochissimi millisecondi.
L’altro aspetto molto interessante è che il risultato della query può essere visualizzato graficamente. Nell’immagine è riportata una visualizzazione e navigazione dei dati in tre dimensioni. A parte la particolare modalità di visualizzazione, i nodi e gli archi restituiti sono presentati in un modo molto simile a come i dati sono memorizzati e organizzati all’interno del database.
I vantaggi delle tecniche basate sull’analisi del flusso dei dati
È evidente in questa visualizzazione la presenza di pochi device che comunicano con tantissimi altri device. Questi pochi device potrebbero corrispondere agli host sui quali sono in esecuzione dei servizi web, come servizi di posta elettronica o web server. In questo caso, i flussi di dati rappresentano la normale comunicazione tra tanti client e pochi, ben identificati, server. Chiaramente, se il device che comunica con moltissimi altri device non è un server, probabilmente questa stessa visualizzazione potrebbe dipingere una situazione completamente opposta: un device dal quale parte un attacco verso migliaia di altri device.
Figura 2 Analisi dei flussi di dati e visualizzazione in 3D tramite il database Ultipa Graph.
Le tecniche basate sull’analisi del flusso dei dati offrono diversi vantaggi e si dimostrano efficaci nel rilevare vari comportamenti dannosi nella rete. Un esempio è rappresentato dall’attacco DDoS (Distributed Denial of Service), che consiste in un tentativo dannoso di interrompere il funzionamento di un servizio specifico sovraccaricandolo con un’enorme quantità di richieste, rendendolo incapace di rispondere alle richieste legittime. Pertanto, la rilevazione di un volume insolitamente elevato di pacchetti o byte entro un breve periodo di tempo specificato da parte di un dispositivo può indicare potenziali attacchi DDoS.
Nel grafo descritto, l’individuazione di un attacco DDoS può essere ottenuta con facilità attraverso l’esecuzione dell’algoritmo Degree Centrality. Questo algoritmo permette di contare il numero degli archi entranti per ogni nodo del grafo: contando il numero degli archi contiamo in questo caso il numero dei flussi di dati ricevuti da ogni device.
Figura 3 Individuazione di due potenziali obiettivi di attacchi DDoS tramite l’esecuzione dell’algoritmo Degree Centrality
Arricchendo il grafo con ulteriori informazioni e modellando, espandiamo il campo della nostra analisi, raggiungendo una visione olistica dell’attività degli utenti, delle applicazioni e dei dispositivi. Questo tipo di analisi consente di identificare attività critiche e azioni dannose o criminali, altrimenti difficilmente rilevabili dalle attuali applicazioni che operano solo in perimetri ben definiti.
Il grafo per facilitare le indagini sul crimine informatico
Oltre a facilitare la scoperta di azioni di crimine informatico, il grafo si presta anche all’attività investigativa, consentendo di comprendere l’origine e, di conseguenza, le cause di un’attività illecita. Se il risultato di un crimine informatico può essere ovvio, spesso non lo è la sua origine, almeno non immediatamente. Consideriamo, ad esempio, un attacco ransomware: la cifratura dei dati in un sistema informatico e la richiesta di un pagamento di riscatto in cambio della chiave di decrittografia rappresentano l’effetto evidente, ma la sua origine e causa possono essere iniziate giorni o settimane prima della richiesta di riscatto. Arricchendo il grafo con ulteriori informazioni, è possibile risalire alla vera causa scatenante dell’attacco ransomware, identificando il file eseguibile responsabile della crittografia dei dati e comprendendo come l’eseguibile abbia fatto ingresso nella rete.
Sarebbe ad esempio utile aggiungere al grafo su descritto:
- l’insieme degli utenti del sistema considerato,
- le richieste di autenticazione da parte degli utenti,
- le chiamate per l’esecuzione delle API per la creazione, modifica, e sovrascrittura di file.
Con un tale grafo è possibile:
- individuare e investigare le richieste di autenticazione malevoli [4]
- creare un efficace anti-malware [5]
Conclusioni
I graph database si prestano a una vasta gamma di casi d’uso, e l’ambito della sicurezza rappresenta certamente un’area di notevole interesse, considerando gli ingenti costi in gioco. Le idee presentate in questo articolo offrono spunti utili per comprendere l’efficacia dell’impiego dei graph database e potenzialmente costituiscono una solida base per lo sviluppo di una serie di applicazioni non ancora disponibili. La versatilità dei graph database rende questi strumenti particolarmente interessanti, aprendo opportunità completamente nuove che attendono solo di essere implementate, per essere proposte non solo sul mercato italiano, ma anche su scala internazionale.
Note
- [1] 2023 Cybersecurity Almanac: 100 Facts, Figures, Predictions, And Statistics
- [2] The Global Risks Report 2020
- [3] Unified Host and Network Data Set, M. Turcotte, A. Kent, C. Hash, in Data Science for Cyber-Security (2018)
- [4] Graph-based malicious login events investigation, F. Amrouche, S. Lagraa, G. Kaiafas, R. State (2019)
- [5] Gotcha: Sly Malware!- Scorpion A Metagraph2vec Based Malware Detection System, Y. Fan, S. Hou,Y. Zhang, Y. Ye, M. Abdulhayoglu (2018)