La Cyber Threat Intelligence (CTI) è l’applicazione dell’Intelligence alla cyber security e, grazie alla condivisione delle informazioni sulle minacce cyber, può essere usata a supporto delle operazioni di prevention e detection degli incidenti di sicurezza.
Le minacce alla sicurezza a cui sono soggette le aziende si presentano, infatti, attraverso diversi vettori di attacco e con modalità sempre più sofisticate. Il continuous monitoring, basato sull’analisi e la correlazione dei dati provenienti dall’interno dell’azienda, potrebbe non essere sufficiente alla difesa dell’azienda, in quanto non permette di riconoscere eventuali nuove tecniche di attacco e non è in grado di prevedere i prossimi passi degli attaccanti.
Per questi motivi è quindi utile dotarsi di un processo di Cyber Threat Intelligence che utilizzi dati provenienti da sorgenti eterogenee interne ed esterne, da affiancare ed integrare con i normali presidi di sicurezza presenti in azienda.
L’Intelligence è spesso definita come la raccolta delle informazioni sugli avversari e l’analisi delle minacce da essi provenienti. Le minacce possono essere meglio analizzate in termini di:
- intento, ovvero le motivazioni e gli obiettivi degli attaccanti: costituisce la parte meno mutabile di una minaccia;
- opportunità, ovvero la possibilità per gli attaccanti di sfruttare una vulnerabilità o altre condizioni favorevoli al raggiungimento degli obiettivi;
- capacità, ovvero le competenze e le risorse utilizzate dagli avversari per arrivare ai loro obiettivi sfruttando le opportunità.
Le informazioni raccolte possono essere analizzate e comprese al fine di applicare in primo luogo azioni di prevenzione, ma possono essere utilizzate anche in fase di gestione degli incidenti di sicurezza.
Il processo di gestione degli incidenti fornirà poi nuove informazioni che andranno ad arricchire il ciclo di intelligence, permettendo di applicare ulteriori azioni di prevenzione.
Indice degli argomenti
Cyber Threat Intelligence e condivisione delle informazioni: strategia vincente
Ogni giorno le comunità internazionali di cyber criminali condividono informazioni, circa le nuove vulnerabilità e gli zero-day attack, nei meandri nascosti del Deep Web. Un’analoga strategia di condivisione delle informazioni andrebbe messa in campo tra i difensori del cyber spazio. Tale strategia è uno dei metodi fondamentali per ridurre i rischi riconducibili alla cyber security.
Particolarmente interessante sarà la condivisione di informazioni tra organizzazioni che condividono in qualche modo gli stessi interessi, o perché operano nello stesso settore, oppure perché hanno strutture simili e quindi possono essere oggetto degli stessi attacchi.
La condivisione delle informazioni è una strategia che permette ad ogni organizzazione di essere maggiormente reattiva e matura; lo sforzo collettivo permette un più rapido arricchimento delle informazioni originarie, passando per esempio velocemente da un elenco di indirizzi IP malevoli, agli attori della minaccia, ad un pattern di attacco, correlando indicatori di attacco che sembravano indipendenti tra loro.
Affinché la condivisione di informazioni di Cyber Threat Intelligence possa funzionare, è importante che le organizzazioni che partecipano alla condivisione si diano delle regole rispetto a cosa condividere e come condividere.
Modelli di condivisione delle informazioni nella cyber threat intell
Le organizzazioni che partecipano alla condivisione delle informazioni di CTI possono strutturare lo scambio di informazioni secondo diversi modelli, anche in rapporto al livello di maturità di ognuna di essa.
Organizzazioni poco mature possono scegliere di sottoscrivere uno o più servizi di CTI, commerciali o community based; man mano che il livello di maturità aumenta, l’organizzazione può farsi parte attiva diventando essa stessa produttrice di contenuti.
Di seguito verranno descritti alcuni possibili modelli di condivisione.
Modello Hub and Spoke
In questo modello di condivisione un’organizzazione funge da HUB, coordinando e centralizzando lo scambio di informazioni fra le organizzazioni partner (spoke), alcuni dei quali fungono da produttori, da consumatori o svolgere entrambe le funzioni.
Rappresentazione grafica della condivisione di informazioni basata sul modello HUB and Spoke.
Modello Source / Subscriber
In questo modello di condivisione un’unica organizzazione funge da produttore di informazioni (source), che vengono inviate alle organizzazioni subscriber.
Rappresentazione grafica della condivisione di informazioni basata sul modello Source / Subscriber.
Modello Peer to Peer
In questo modello due o più organizzazioni scambiano direttamente le informazioni tra di loro. In un modello peer to peer può avvenire senza coordinamento, sulla base delle necessità, in maniera formale, attraverso accordi e procedure, oppure in altre forme intermedie.
Rappresentazione grafica della condivisione di informazioni basata sul modello Peer to Peer.
Al di là del modello utilizzato, il nucleo centrale della condivisione delle informazioni è la fiducia. Essa può essere a livello personale con altri individui oppure con gruppi di persone all’interno di organizzazioni che condividono lo stesso interesse sull’argomento.
Caratteristiche della condivisione delle informazioni
Un approccio strutturato alla condivisione delle informazioni deve considerare fondamentali i seguenti punti:
- le informazioni da condividere richiedono una qualche forma di classificazione delle stesse. Molte iniziative di condivisione delle informazioni ora utilizzano il cosiddetto Traffic Light Protocol (TLP), descritto in seguito, per classificare come devono essere gestite le informazioni da condividere;
- le informazioni devono essere accurate. Condividere informazioni non verificate rischierebbe di consumare inutilmente tempo e risorse;
- e parti interessate alla condivisione devono assicurarsi che le informazioni vengano trattate e condivise in maniera tale che non cadano nelle mani sbagliate. Sarebbero necessari meccanismi per impedire la divulgazione a persone e/o ad organizzazioni esterne al gruppo di condivisione;
- il feedback alle informazioni condivise deve essere tempestivo. Non c’è alcun valore nel lasciare le informazioni condivise in un cassetto. In caso di inerzia un attaccante potrebbe venire a conoscenza di quella vulnerabilità ed utilizzarla per avviare un attacco di successo;
- deve essere possibile rendere anonima la fonte delle informazioni. Rivelare l’identità dell’organizzazione o dell’individuo che ha sollevato la questione potrebbe risultare dannoso ed anche scoraggiare le parti che offrono la loro fiducia al gruppo di condivisione.
Il Traffic Light Protocol per lo scambio di informazioni
Il TLP è un protocollo utilizzato per lo scambio di informazioni in grado di garantire la diffusione delle stesse in modo controllato. Il TLP viene implementato con un concetto simile a quello del semaforo stradale e attraverso uno schema semplice e intuitivo, basato sull’impiego di quattro colori (rosso, ambra, verde, bianco): colui che invia le informazioni è in grado di classificarle in funzione della criticità connessa ad una eventuale divulgazione delle stesse, indirizzando in tal modo i destinatari verso le opportune modalità di trattamento per le attività di competenza.
TLP: RED | Informazioni che possono essere utilizzate dai soli destinatari, anche nelle comunicazioni tra loro, ma che non possono essere divulgate neppure all’interno della propria organizzazione. È necessario adottare la massima riservatezza. |
TLP: AMBER | Informazioni che possono essere condivise dai destinatari, tra loro e da parte di ciascuno di esse all’interno della propria organizzazione, nel rispetto del principio del “need to know”. |
TLP: GREEN | Informazioni che possono essere condivise dai destinatari con altre organizzazioni operanti nell’ambito della cyber security, ma che non possono essere rese di dominio pubblico. |
TLP: WHITE | Informazioni che possono essere liberamente condivise dai destinatari con soggetti terzi, nel rispetto delle norme a tutela dei diritti di proprietà intellettuale. |
Strutturazione delle informazioni condivise
La ricezione di informazioni di intelligence in forma non strutturata, seppure non direttamente utilizzabili dai SIEM (Security Information and Event Management) o da altri strumenti, aumentano sicuramente le conoscenze e la sensibilità dell’analista di sicurezza, che può venire a conoscenza di nuove tecniche di attacco e del loro utilizzo.
Tuttavia, è facile comprendere come la disponibilità delle stesse informazioni in forma strutturata potrebbe migliorare di molto l’automazione velocizzando e migliorando la prevenzione e il rilevamento delle minacce, così come l’arricchimento delle informazioni e la loro condivisione.
Per questo motivo sono nati diversi progetti che hanno lo scopo di strutturare le informazioni di Cyber Threat Intelligence e la loro condivisione. Noi presenteremo brevemente due progetti collaborativi che hanno portato alla definizione di due linguaggi open source: STIX, che ha lo scopo di formalizzare l’espressione di informazioni di CTI, e TAXII, linguaggio che ha lo scopo di automatizzare lo scambio di informazioni. Per entrambi i progetti è disponibile anche una utile documentazione di dettaglio.
Introduzione a STIX
STIX (Structured Threat Information eXpression) è un progetto collaborativo che ha lo scopo di definire un linguaggio che consenta di descrivere e condividere informazioni di threat intelligence. STIX è stato progettato per esprimere informazioni provenienti dall’intera gamma dei domini della cyber security. Oltre ad essere espressivo, STIX mira ad essere integrabile con altri linguaggi che esprimono la threat intelligence, come ad esempio Cyber Observable eXpression (CybOX), ad essere flessibile, permettendo il più possibile l’utilizzo delle parti rilevanti minimizzando gli elementi obbligatori, estendibile, in quanto sono previsti meccanismi di estensione, automatizzabile, ovvero processabile da strumenti automatici, rimanendo il più possibile leggibile da esseri umani.
STIX affronta una gamma completa di casi d’uso delle minacce informatiche, tra cui:
- analisi delle minacce;
- acquisizione e specifica degli indicatori;
- gestione delle attività di risposta;
- condivisione delle informazioni;
per migliorare la coerenza, l’efficienza, l’interoperabilità e la consapevolezza generale di quanto accade.
Il modello dati di STIX, nella versione 2.0, definisce 12 oggetti di tipo dato, STIX Data Objects (SDO) e 2 di tipo relazione, STIX Relationship Objects (SRO). Tutti gli oggetti sono completamente opzionali e possono essere utilizzati singolarmente o insieme, a seconda dei casi d’uso.
Le 12 tipologie di SDO previsti da STIX 2.0 sono:
- Attack Pattern: una tipologia di TTP (Tactics, Techniques and Procedures) che descrive le modalità con cui gli attori delle minacce tentano la compromissione dei target.
- Campain: un raggruppamento di comportamenti ostili che descrive un insieme di attività malevole o attacchi che si verificano nel corso di un periodo di tempo contro una specifica categoria di target.
- Course of Action: un’azione intrapresa per prevenire o rispondere ad un attacco.
- Identity: individui, organizzazioni o gruppi, così come classi di individui, organizzazioni o gruppi.
- Indicator: contiene un pattern che può essere usato per individuare attività cyber sospette o malevole.
- Intrusion Set: un raggruppamento di comportamenti e risorse ostili con proprietà comuni che si ritiene siano orchestrate da un singolo attore.
- Malware: una tipologia di TTP, conosciuta anche come codice malevolo o software malevolo, usato per compromettere la confidenzialità, l’integrità o la disponibilità di dati o sistemi di una vittima.
- Observed Data: trasmette informazioni osservate su un sistema o una rete (es. un indirizzo IP).
- Report: Collezioni di threat intelligence focalizzate su uno o più argomenti, come descrizione di attori delle minacce, malware o tecniche di attacco, compresi dettagli contestuali.
- Threat Actor: individui, gruppi o organizzazioni che si ritiene possano operare con intenti malevoli.
- Tool: software legittimo che può essere utilizzato dagli attori delle minacce per eseguire attacchi.
- Vulnerability: un errore nel software che può essere utilizzato direttamente per ottenere l’accesso a un sistema o una rete.
Le 2 tipologie di SRO previste da STIX 2.0 sono:
- Relationship: usato per collegare due SDO e per descrivere come sono relazionati l’uno con l’altro.
- Sighting: denota la convinzione che un elemento di Cyber threat intelligence è stato visto (es, indicatore, malware).
Il modello dati di STIX può essere pensato come un grafo connesso, dove i nodi sono gli SDO e gli archi sono gli SRO. La funzione degli SRO, che rappresentano appunto gli archi del grafo, è quella di connettere gli SDO in modo che, nel tempo, gli utenti siano in grado di sviluppare e rappresentare una conoscenza più approfondita degli attori delle minacce e delle loro tecniche.
Dalla descrizione precedente appare evidente come alcuni degli SDO di STIX, come ad esempio gli Indicator e gli Observed Data, siano più adatti per essere importati automaticamente all’interno dei SIEM aziendali per far scattare degli allarmi o per essere utilizzati all’interno di regole di correlazione, mentre altri, più ad alto livello, sono più adatti per essere utilizzati da analisti: questi ultimi possono essere resi disponibili in un secondo momento.
Introduzione a TAXII
TAXII (Trusted Automated eXchange of Indicator Information) è un progetto collaborativo che ha lo scopo di automatizzare lo scambio di informazioni di Cyber Threat Intelligence. Si tratta di un protocollo applicativo che utilizza HTTPS per lo scambio di informazioni.
TAXII definisce un insieme di servizi e scambi di messaggi che, una volta implementati, consentono la condivisione di informazioni sulle minacce informatiche utilizzabili attraverso i confini dell’organizzazione e dei prodotti / servizi per l’individuazione, la prevenzione e la mitigazione delle minacce informatiche.
TAXII definisce due servizi primari per supportare una varietà di modelli di condivisione comuni:
- Collection: una Collection è un’interfaccia ad un repository di oggetti di CTI fornite da un server TAXII che permette ad un produttore di ospitare un insieme di dati CTI che possono essere richiesti da consumatori. I client e i server TAXII scambiano informazioni attraverso un modello di tipo richiesta-risposta.
- Channel: mantenuto da un server TAXII, un Channel permette a produttori di fornire dati a diversi consumatori e a consumatori di ricevere dati da più produttori: client TAXII scambiano informazioni con altri client TAXII in un modello pubblicatore-sottoscrittore.
TAXII è stato specificatamente progettato per supportare lo scambio di informazioni di CTI rappresentate in STIX, tanto che il supporto per lo scambio di contenuti STIX 2.0 è obbligatorio da implementare. Tuttavia, TAXII può essere usato per condividere dati in altri formati. STIX e TAXII sono standard indipendenti: da un lato le strutture e i meccanismi di serializzazione di STIX non fanno affidamento ad un meccanismo di trasporto specifico, dall’altro TAXII può essere utilizzato per il trasporto di dati non STIX.
Piattaforme di Threat Intelligence
Il primo naturale utilizzo delle informazioni di CTI è quello della prevenzione: le informazioni vengono utilizzate per alimentare il SIEM e gli strumenti di prevenzione e da qui utilizzate per le attività tipiche di un Security Operation Center (SOC).
Una possibile evoluzione è quella di utilizzare le informazioni di CTI anche all’interno di una piattaforma di Threat Intelligence, che possa mostrare le metodologie utilizzate dagli attaccanti e le relazioni fra le diverse campagne di attacco, a vantaggio del processo di gestione degli incidenti, che ne beneficerebbe sia in termini di riduzione dei tempi che di comprensione dello scenario che ci si trova a fronteggiare.
Le piattaforme di Threat Intelligence, sia commerciali che open source, permettono di raccogliere dati grezzi provenienti da diverse sorgenti, sia esterne che interne, di aggregarli, arricchirli, raggrupparli, classificarli, normalizzarli, automatizzando quindi in parte il processo di CTI. L’automazione è naturalmente solo parziale, in quanto rimane fondamentale la fase di analisi, che deve essere svolta da analisti esperti con varie specializzazioni, threat analyst, incident analyst, security analyst, fraud analyst, e così via. Il vantaggio è che i vari analisti possono liberarsi delle incombenze più ripetitive, che possono appunto essere automatizzate, per concentrarsi sugli aspetti a più alta specializzazione e ad alto valore aggiunto.
Tali piattaforme sono generalmente in grado di riconoscere i principali formati strutturati di informazioni di CTI e possono essere integrate con i SIEM e le altre piattaforme di sicurezza presenti in azienda.
Può essere infine utile elencare le principali piattaforme di threat intelligence, limitandoci a quelle open source:
- MISP – Open Source Threat Intelligence Platform & Open Standards For Threat Information Sharing
- YETI – Your Everyday Threat Intelligence
- CRITS – Collaborative Research Into Threats
Conclusioni
Spero che questo articolo sia riuscito nell’intento di illustrare la necessità, per le aziende che abbiano un certo livello di maturità riguardo alla cyber security, di affrontare il tema della Cyber Threat Intelligence.
Sono stati illustrati i benefici che possono essere apportati da un processo di CTI e soprattutto dalla condivisione delle informazioni, introducendo i modelli di condivisione e i linguaggi utilizzati per strutturare le informazioni e la loro condivisione; sono infine state accennate caratteristiche e scopi delle piattaforme di Threat Intelligence.
Parte del materiale utilizzato nell’articolo deriva dalla pubblicazione della Oracle Community for Security “SOC e Continuous Monitoring faccia a faccia con la cyber security” di cui sono uno degli autori. La pubblicazione è liberamente scaricabile da questo indirizzo.
Le immagini su STIX e TAXII e quelle sui modelli di condivisione, sono prese dalla documentazione ufficiale STIX e TAXII, liberamente disponibile a partire da questo indirizzo.