Elaborato Fusiello Fabiano N46002155

annuncio pubblicitario
CORSO DI LAUREA IN:
Ingegneria Informatica
ELABORATO FINALE DI
PROGRAMMAZIONE II
Monitoraggio di affidabilità e sicurezza dei sistemi software
Relatore:
Candidato:
Ch.mo prof.
Fabiano Fusiello
Antonio Pecchia
Matricola N46 002155
Anno Accademico 2016/2017
1
Ai miei genitori, per i loro sforzi compiuti che hanno
contribuito alla formazione della mia personalità.
Ai miei amici d’università, che generosamente mi
hanno dato una mano ad abbattere la cosiddetta
“barriera della disabilità”, consentendomi di affrontare
il mio percorso di studi con maggiore disinvoltura.
2
INDICE DELL’ELABORATO:
Capitolo 1: Panoramica sulla sicurezza di un sistema informatico – pag. 5
 1.1 Definizione e breve storia del termine di “security”
 1.2 Rappresentazione grafica della security informatica
 1.3 Minacce e violazioni della sicurezza di un sistema software
1.3.1 Intrusioni
1.3.2 Malware
1.3.3 Virus
1.3.4 Worms e bots
 1.4 La guerra fredda tra gli Stati Uniti d’America e la Russia in ambito
informatico
 1.5 Conclusioni e considerazioni sulla sicurezza
Capitolo 2: Analisi dei log e architettura di un sistema SIEM – pag. 14
 2.1 Concetto e struttura di un generico log
 2.2 Le principali strategie e sfide nell’uso di un log
 2.3 Modelli di rilievo adottati in un log
2.3.1 Il modello syslog
2.3.2 Il modello SIEM
 2.4 Introduzione al SIEM
 2.5 Primo modulo: generazione di eventi
 2.6 Secondo modulo: collezione di eventi
2.6.1 Due approcci differenti: agent-based ed agentless
2.6.2 Vantaggi e svantaggi
 2.7 Terzo modulo: registrazione ed immagazzinamento
 2.8 Quarto modulo: analisi
2.8.1 Rule Engine
2.8.2 Correlation Engine
2.8.3 Knowledge Base (KB)
 2.9 Quinto modulo: monitoraggio e reporting
3
Capitolo 3: Il Magic Quadrant relativo alle varie tecnologie SIEM – pag. 28
 3.1 Descrizione e criteri di classificazione
3.1.1 Scopo della classificazione
3.1.2 Criteri qualitativi: capacità di esecuzione e completezza di visione
3.1.3 Criteri di raggruppamento: niche players, challengers, visionaries
and leaders
 3.2 Aggiunta ed esclusione dei fornitori
 3.3 Principali fornitori SIEM
3.3.1 Niche player: SolarWinds
3.3.2 Visionary: AlienVault
3.3.3 Challenger: RSA Security
3.3.4 Leader: IBM
 3.4 Confronto tra le soluzioni proposte
Capitolo 4: Il software di LogRhythm ed il formato dati CIM – pag. 38
 4.1 L’azienda e i suoi obiettivi
 4.2 Il formato MDI Fabric
4.2.1 Terminologia e vantaggi
4.2.2 Architettura a strati del MDI Fabric
 4.3 Il Common Information Model
4.3.1 Struttura e definizione
4.3.2 Rappresentazione grafica di un CIM
Riferimenti bibliografici – pag. 44
4
Capitolo 1: Panoramica sulla
sicurezza di un sistema informatico
1.1 Definizione e breve storia del termine di “security”
Il termine di “security” non ha mai significato univoco, e può riguardare qualsiasi
ambito e non solamente quello dell’informatica. Più precisamente la sicurezza
informatica rappresenta solo una specializzazione di un problema molto generale e
molto sentito.
Si può partire anche da una semplice affermazione della vita reale e quotidiana: “Ho
appena finito di lavorare al computer, ora lo spengo e lo lascio nella stanza con la
porta aperta, solo che lo sto lasciando incustodito, magari qualcuno vorrà usare il
mio pc” o meglio, da un interrogativo molto interessante da un punto di vista
esemplificativo: “Ho chiuso la macchina? Però non mi sento tranquillo se la
parcheggio lì”.
Si può subito constatare che Il termine di sicurezza è davvero molto generico, e non
deve per forza avere solo ed unicamente un significato oggettivo. La sicurezza è
anche soggettiva, intesa come una prevenzione di un rischio o pericolo, ed è quindi
basata sulla manifestazione o percezione di un qualsiasi essere umano.
In parole povere la sicurezza soggettiva rappresenta quella percepita. Invece la
sicurezza oggettiva è definita come un insieme di regole oppure di strumenti
scientifici e tecnologici in grado di garantire e proteggere ciascuno di noi da qualsiasi
forma di rischio.
Inizialmente non esisteva una vera e propria definizione di sicurezza in ambito
informatico o comunque tecnologico. La prima organizzazione che riuscì a dare una
valida definizione in tale ambito fu la NIST – National Institute of Standard and
Technology, fu fondata nel 1901 ed ebbe come primo direttore Samuel W. Stratton.
Stratton, fondatore del NIST.
5
Per tale organizzazione la “security” è la protezione di un sistema informatico al fine
di raggiungere obiettivi applicabili, ma soprattutto di preservare la disponibilità,
l’integrità e la confidenzialità delle risorse di un sistema informatico.
In particolare, non abbiamo più un’entità unica ed indivisibile, anzi la security è
un’aggregazione di tre singole componenti! Ciascuna delle componenti, inoltre, è
strettamente legata alle altre due.
È possibile parlare graficamente di una “triade”, rappresentata come segue:
Legame tra confidentiality, integrity e availability.
Allora la sicurezza è scomposta in tre parti distinte (ma comunque legate tra di loro)
ed esse hanno anche una propria definizione.
La confidenzialità rappresenta la protezione delle informazioni sensibili del sistema,
evitando di divulgarle a utenti non autorizzati o comunque estranei dal sistema. È in
questo ambito che si gestiscono le restrizioni o livelli di privacy relative ai dati stessi.
La confidenzialità si dice violata se un utente non autorizzato riesca ad effettuare un
qualsiasi tipo di operazione su un dato che non è il suo.
L’integrità è legata invece alla struttura dei dati stessa, che va mantenuta intatta. Si
dice invece “mancare di integrità” se l’utente estraneo riesce in qualche modo a
modificare il dato. L’integrità rappresenta l’elemento cardine della stabilità e delle
funzionalità di un sistema informatico, infatti se dei dati vitali risultano modificati, la
stabilità di un sistema informatico potrebbe essere compromessa.
La disponibilità invece è una caratteristica propria del sistema, che deve pertanto
essere in grado di fornire servizi e funzionalità SOLO a utenti autorizzati.
Queste tre componenti rappresentano ovviamente le fondamenta della definizione
di “security”, successivamente sono però state aggiunte due nuove componenti che
6
sono in grado di completare il quadro. Quindi ai concetti di confidenzialità –
integrità – disponibilità si aggiungono quelli di autenticità e accountability.
L’autenticità è un indice dell’affidabilità di un servizio, cioè bisogna assicurarsi che
quest’ultimo sia prodotto proprio da quel sistema. Si parla invece di violazione di
autenticità se si verifica un tentativo di CREDENTIAL STEALING, ovvero quando un
servizio malevolo che “finge” di essere un altro sito, che inganna così l’utente e
quest’ultimo fornisce, a sua insaputa, dati sensibili al sito “finto” (si preferisce usare
il termine in gergo informatico “fake” che significa appunto falso, contraffatto).
L’accountability è solo una specifica proprietà, attraverso la quale un servizio web
tiene traccia delle attività dell’utenza. Si tratta però di un termine che non va
confuso con quello di tracking, perché il primo tiene conto solo dell’accesso, dell’uso
delle funzionalità del sito e logout dallo stesso.
Invece la tracking è esattamente un’altra cosa, e tiene conto anche dell’attività di un
utente ai minimi dettagli, compreso anche il testo digitato all’interno di un portale
web.
1.2 Rappresentazione grafica della security informatica
La sicurezza informatica può essere interpretata e configurata come un insieme di
nodi connessi ad una rete LAN, i nodi coincidono con i processi che usufruiscono dei
dati presenti all’interno del sistema stesso.
Interpretazione della sicurezza informatica mediante l’uso dei nodi.
7
In pratica, si vuole analizzare lo schema attraverso quattro passi fondamentali:
1) L’accesso ai dati deve essere tenuto sotto controllo. I dati da proteggere
sono quelli posseduti dal sistema operativo, e se si ritiene necessario, si usano
tecniche di crypting per i file system. (Per file system si intende dire un
meccanismo organizzativo attraverso il quale i dati vengono gestiti)
2) L’accesso al computer deve essere vincolato. In questo caso si parla di user
authentication, quindi prima di utilizzare i servizi forniti da un sistema
informatico, l’utente deve essere autenticato. Esistono anche dei sistemi di
sicurezza avanzati, in particolare le impronte digitali per utilizzare gli
smartphone.
3) Le trasmissioni dati devono essere sicure. Si tratta della “network security”, e
la rete è regolamentata dall’uso di protocolli di comunicazione. È anche
importante conoscere la struttura della rete, e come essa è cablata.
4) Protezione dati sensibili. In quest’ultimo caso, invece la sicurezza è
rappresentata dalla confidenzialità (è sufficiente osservare la “triade”
presente nel paragrafo 1.1) ed è buona norma saper tenere una ristretta
categoria di dati, contenente anche informazioni personali, lontana da occhi
indiscreti.
1.3 Minacce e violazioni della sicurezza di un sistema software
1.3.1 Intrusioni
Le intrusioni sono una prima categoria di minaccia alla sicurezza di un sistema
software. In questo ambito si hanno davvero tante tipologie diverse di intrusi. Essi
sfruttano le cosiddette “vulnerabilità” presenti all’interno di un sistema informatico.
Per vulnerabilità si intende dire una sorta di “punto critico”, ovvero una piccola
componente informatica all’interno della quale le misure di sicurezza sono ridotte o
addirittura assenti.
Per quanto riguarda gli intrusi, esistono
due termini di uso comune che vanno
assolutamente analizzati: l’hacker e la
criminal enterprise.
 L’ hacker è un intruso che riesce ad
avere accesso a reti informatiche
protette, e successivamente
acquisisce informazioni riservate
oppure modificandole.
8
Più precisamente essi partono dal codice binario e solo grazie ad esso
riescono a comprendere le funzionalità di un sistema software.
 La criminal enterprise è decisamente più pericolosa e dannosa, e riesce in
poco tempo a catturare grandi quantità di dati e password. Esse si basano
sullo sfruttamento commerciale della rete Internet spesso a scopo di lucro,
danneggiando anche i sistemi di sicurezza avanzata di uno Stato attraverso il
sabotaggio.
Per sabotaggio si intende dire il disturbo o il danneggiamento di un sistema in
modo da impedirgli il regolare funzionamento.
1.3.2 Malware
Il termine “malware” è molto generico e sta per MALicious softWARE, e si tratta di
una categoria di programmi finalizzati solo per creare danni, oppure di sottrarre (o
persino esaurire!) le risorse di un computer infetto. Di solito i malware vengono
inglobati all’interno di programmi di uso comune, e si comportano come parassiti,
compromettendo il normale funzionamento di un computer.
Le principali sottocategorie di malware potrebbero essere:
-
Backdoor: è un punto d’accesso segreto e nascosto all’interno del codice. Di
solito è utile per aiutare il debug di un programmatore, però vi sono casi in cui i
programmatori “malintenzionati” possono avere accesso non autorizzato a dati
e risorse sensibili.
-
Logic Bomb: è un malware particolare che si comporta come un esplosivo. Si
tratta di una bomba che “esplode” al raggiungimento di determinate condizioni
(di solito: presenza o assenza di determinati files, oppure allo scadere di un
tempo prefissato) e causando un susseguirsi di operazioni scorrette, come
bloccare un sistema, cancellando singoli files oppure l’intero hard disk.
-
Trojan Horse (Cavallo di Troia): è un
malware molto interessante, che è
contenuto in un altro programma
assolutamente innocuo che l’utente
visualizzerà. Egli, ignaro ovviamente della
minaccia presente al suo interno, lo
considera affidabile e purtroppo,
immetterà dati che verranno catturati dal
malware stesso, e quest’ultimo diventa in
9
grado di attivare funzionalità indesiderate del programma e comunque in modo
indiretto.
1.3.3 Virus
Il virus in ambito informatico si comporta come la sua
controparte biologica.
Se in biologia esso si identifica come una parte del DNA che
si lega ad una cellula e la fa replicare, in informatica il virus
è inteso come un frammento di codice che si moltiplica e si
diffonde sempre di più legandosi ai files. Quindi, se si vuole usare un linguaggio più
tecnico, il virus è dotato di un trigger di attivazione che, al raggiungimento oppure
alla verità di una condizione, esso eseguirà una payload di un programma copiando
anche in altri files il suo frammento di codice. In questo modo il virus sarà in grado di
riprodursi iniziando ad infettare il sistema operativo.
Il ciclo di vita di un generico virus è dato da:
-
Fase dormiente: il virus è presente sul computer da colpire ma non compie
alcuna attività. Rimane inerte fino a quando non si verificano le condizioni per
la sua attivazione.
-
Fase di propagazione: il virus si propaga, riproducendosi ed andando ad
occupare files sia nella stessa macchina che in altri sistemi.
-
Fase di attivazione o di trigger: al verificarsi delle condizioni prestabilite, il
virus inizia l'azione dannosa.
-
Fase di esecuzione: il virus lavora a pieno regime, infettando prima il file di
partenza e di conseguenza il sistema operativo.
L’argomento dei virus è sicuramente uno dei più delicati ed interessanti da
affrontare, perché abbiamo una continua antitesi tra gli scrittori di codice infetto
(ovvero i creatori dei virus) e gli antivirus.
Infatti, i primi antivirus venivano implementati basandosi sull’idea che, appena un
virus si legava ad un determinato file, si ha un cambiamento delle dimensioni del file
stesso.
Allora questi primitivi antivirus utilizzavano una tabella di confronto con le relative
dimensioni dei file da scansionare, e appena notavano una modifica proprio sulla
dimensione del file, lo segnalavano come infetto attraverso una notifica di allarme
(di solito si usa il termine “alert”) e si procedeva subito all’eliminazione del file e
della relativa infezione.
10
Col passare del tempo, gli scrittori di codice infetto cominciarono a notare il
funzionamento dei primi antivirus e operarono una compressione del loro codice in
modo che tale dimensione non cambi. Gli antivirus infatti non erano in grado di
individuarli.
Per scovare virus legati a codice compresso, bisogna procedere alla virtualizzazione
dei files, in modo tale che, durante una fase di analisi di un antivirus, ed appena esso
nota un comportamento “sospetto” del file (ovvero, ad esempio, se il file di partenza
per continuare la propria esecuzione utilizza altri files presenti nel sistema
operativo), viene segnalato un virus e il programma legato a codice infetto viene
immediatamente interrotto.
Una valida classificazione dei virus è data da:
-
Virus criptato (encrypted virus): per aumentare la sua complessità, il “corpo”
del virus viene criptato con chiavi di cifratura random.
-
Virus invisibile (stealth virus): qui vi appartengono tutti i tipi di virus che sono
in grado di nascondersi dalla scansione antivirus e pertanto non vengono
rilevati.
-
Virus polimorfo: si comporta in maniera dinamica (come nel campo della
biologia) e che “muta” dopo ciascuna infezione.
-
Virus metamorfo: è molto simile al virus polimorfo, in più è in grado di
riscriversi completamente dopo un’infezione, vale a dire il suo codice infetto
(metaforicamente possiamo parlare di “DNA” del virus) viene modificato
radicalmente oppure persino sostituito o riscritto.
1.3.4 Worms e Bots
Un worm (in italiano, letteralmente sta per “verme”) è molto simile ad un virus,
però è in grado di autoreplicarsi molto facilmente, ed a differenza di esso, l’attività
di un worm non è necessariamente legata agli eseguibili del sistema operativo
locale, ma esso viene anche propagato negli altri computer attraverso tutti i
meccanismi di comunicazione in rete (e-mail oppure file sharing). Il più delle volte
un worm è considerato a tutti gli effetti un normale virus.
Un bot invece è genericamente un programma automatico (il termine proviene da
roBOT) che svolge compiti che risultano troppo difficili o gravosi per un essere
umano. Alcuni bots però sono implementati dagli scrittori di codice infetto e spesso
circolano all’insaputa dell’utente.
11
Un computer infetto da un bot malevolo o simili viene considerato a tutti gli effetti
un computer zombie che riesce in qualche modo a comunicare con persone non
autorizzate, seppur in maniera molto nascosta.
Questi programmi sono molto sofisticati e risulta molto difficile, se non impossibile,
risalire all’identità del suo creatore. Una rete costituita da un gruppo di bot viene
denominata botnet.
1.4 La guerra fredda tra gli USA e la Russia in ambito informatico
Anche se la campagna
elettorale per la scelta del
prossimo presidente degli
Stati Uniti si è conclusa con la
vittoria di Donald Trump,
l’Amministrazione uscente del
presidente Barack Obama è
stata decisa a pronunciare
dichiarazioni bellicose nei
confronti della Russia di
Vladimir Putin. Gli scambi di accuse sempre più acrimoniosi tra Washington e Mosca
hanno portato i rapporti tra i due Paesi al livello più basso degli ultimi 25 anni.
Sul tappeto due punti fondamentali del confronto tra le superpotenze. Il primo è
riconducibile alla situazione in Siria, dove russi e americani, dopo il fallimento del
tentativo congiunto di stabilire una tregua umanitaria ad Aleppo, hanno interrotto
qualsiasi forma di cooperazione sul terreno e chiuso i canali di scambio di
informazioni tattiche che avrebbero dovuto comportare un coordinamento
dell’impegno militare contro il Califfato. Il secondo elemento di frizione è dato dalle
accuse, alle quali ha dato pubblicamente credito Obama, di interferenze russe nella
campagna presidenziale americana con tentativi di hackeraggio dei sistemi
informatici del partito democratico, presumibilmente volti a raccogliere
informazioni imbarazzanti per Hillary Clinton e quindi in grado di favorire il suo
avversario, Donald Trump.
Per quanto riguarda le accuse di pirateria informatica – finora, occorre sottolineare,
molto generiche e non circostanziate – ribadite nei giorni scorsi dalla Clinton, queste
sono state smentite ironicamente dal ministro degli Esteri russo, Sergei Lavrov, in
un’intervista alla rete televisiva CNN dell’11 ottobre. Nell’intervista Lavrov ha
sostenuto che per il suo Paese è stato “molto lusinghiero ricevere tanta attenzione,
visto che solo qualche tempo fa il presidente Obama ci ha definito una potenza
12
regionale. Comunque su questo tema non abbiamo visto esibire alcuna prova”. Gli
ha fatto eco il 12 ottobre Putin che, a margine di un convegno finanziario a Mosca,
ha liquidato le accuse di interferenza informatica nella campagna presidenziale
definendole prive di fondamento e “dettate dall’isteria”.
La Cia ha ricevuto ordine da Barack Obama di preparare un cyber attacco "senza
precedenti" contro la Russia in risposta alle interferenze di Mosca nelle elezioni
presidenziali americane. Lo riporta in esclusiva la Nbc citando fonti dell'intelligence
americane. Nei giorni scorsi la Casa Bianca ha preannunciato la possibilità di un
attacco di questo tipo dopo i molti attacchi informatici contro interessi statunitensi
che per lo stesso Obama vogliono destabilizzare il sistema politico degli Stati Uniti.
L'avvertimento. Ancora più dura la reazione del Cremlino durante una cooperazione
internazionale sulla sicurezza informatica, e ha lanciato un vero e proprio
avvertimento agli Usa: "Stanno giocando con il fuoco. Invece di cercare una
distensione e tentare di raggiungere un accordo, stanno cercando di spaventarci. Lo
trovo sfacciato, rozzo e stupido".
Tutte queste dichiarazioni sono state pronunciate nel mese di ottobre 2016.
1.5 Conclusioni e considerazioni sulla sicurezza
La sicurezza va considerata come una problematica in continua evoluzione, così
come si sviluppano le tecnologie sistemistiche. Diciamo che è complessa da
affrontare in quanto l’evoluzione informatica ha andamento esponenziale.
È importante avere strumenti software sempre più sofisticati in grado di respingere
anche le minacce più recenti, però questo non deve essere considerato come l’unico
fattore chiave nell’ambito della security informatica. Anzi, a mio parere, è forse più
importante saper prevedere qualsiasi forma di attacco o minaccia.
Ovviamente alcuni programmi che utilizziamo sono dotati di questa feature, ma se si
è in grado di comprendere tali problematiche anche in maniera soggettiva, è
sicuramente un grande vantaggio, perché in questo modo potremo evitare
direttamente una determinata minaccia, senza che il programma stesso (che sia un
antivirus, oppure un sistema SIEM e così via) debba rilevarla oppure bloccarla, anche
perché l’ultimo caso vale se la minaccia in questione ha già iniziato la sua attività
all’interno del computer “vittima”.
13
Capitolo 2: Analisi dei log e
architettura di un sistema SIEM
2.1 Concetto e struttura di un generico log
Un log è definito come un record di eventi che si verificano all’interno dei sistemi o
reti di un’organizzazione. I log sono costituiti da righe/entries; ogni entry contiene
informazioni relative ad uno specifico evento che si è verificato all’interno di un
sistema o di una rete.
In passato, i log erano usati soprattutto per la risoluzione dei problemi. Ora svolgono
molteplici funzioni come l’ottimizzazione delle prestazioni dei sistemi e delle reti, la
registrazione delle azioni degli utenti, l’investigazione sulle attività malevole.
In seguito all’aumento del numero di dispositivi e all’aumento delle minacce a tali
sistemi, il numero di log è sempre aumentato, e si è arrivati al punto di richiedere un
vero e proprio processo di log management. Con log management si intende il
processo di generazione, trasmissione, memorizzazione, analisi e messa a
disposizione dei log di sicurezza.
È possibile costruire un elenco di software che utilizzano i log.
-
Firewall: Blocca o permette il passaggio di traffico di rete. Generalmente
viene generato un record di log per ogni pacchetto o per ogni sessione del
traffico di rete che attraversa il firewall.
-
Sistemi AntiMalware:
Tipicamente registrano
tutte le istanze di
malware, file e sistemi
disinfestati e file messi
in quarantena. In più, i
software antivirus (che
a loro volta sono anche
strumenti anti-malware)
possono anche
registrare quando
vengono effettuate
scansioni alla ricerca di
infezioni e quando viene
Registrazione di una scansione con l’antivirus di Avast.
14
fatto l’update del database del motore di scansione.
-
Virtual Private Network software: Le VPN garantiscono l’accesso remoto in
modalità sicura alle risorse aziendali. I log di tali sistemi contengono
generalmente tentativi di autenticazioni, sia falliti che andati a buon fine,
durata e provenienza delle connessioni, comprese anche le risorse a cui
l’utente ha avuto accesso.
-
Web proxy: I web proxy sono sistemi che fungono da intermediari
nell’accesso alle risorse web, mantenendo una cache locale delle pagine web
e restringendo l’accesso ad alcune risorse web basandosi su policy definite,
proteggendo così la rete dell’organizzazione. I log registrano gli url a cui gli
utenti hanno avuto accesso attraverso il web proxy.
-
Applicazioni: Anche i software di uso comune presenti in un computer
possono generare i log, ed essi variano enormemente a seconda del contesto
d’uso delle applicazioni stesse. In particolare si possono registrare le richieste
del client e relative risposte del server (per le applicazioni che necessitano la
comunicazione in rete), le informazioni di un account, le informazioni delle
transazioni compiute attraverso un motore DBMS, o altri eventi significativi
come il verificarsi di una situazione di errore o modifiche della configurazione
di un programma.
2.2 Le principali strategie e sfide nell’uso di un log
Per quanto riguarda l’elenco delle strategie, si ha come segue:
I.
II.
III.
Centralizzare nel sistema di log management tutti gli eventi rilevanti. Una
volta definiti gli eventi rilevanti per la propria organizzazione, bisogna fare in
modo che tali eventi siano registrati all’interno di un sistema centralizzato,
con operazioni di filtraggio, aggregazione e normalizzazione.
Definire l’ambito di applicazione. Occorre informarsi su quali sistemi rilevanti
viene effettuato il monitoraggio di una determinata categoria di eventi, della
sicurezza o del rispetto alle normative, oppure produrre un documento che
definisca dove sono registrati gli eventi e il periodo di conservazione per ogni
tipologia di log.
Revisionare in maniera tempestiva i log. Definire quali sono gli eventi di
interesse, ovvero quelli che possono costituire una minaccia, tenendo conto
che, dei milioni di log prodotti giornalmente, di solito meno dell’1%
rappresenta una minaccia. Inoltre, è necessario stabilire un intervallo di
tempo affinché l’evento venga sottoposto da una determinata procedura,
15
ovviamente solo su eventi “sospetti”. Infine bisogna produrre dei report degli
eventi principali dei dispositivi di sicurezza.
Invece, nell’ambito delle sfide, ovvero degli approcci da adottare per affrontare
problematiche legate al monitoraggio ed alla sicurezza informatica, ce ne sono tre di
rilievo:
A.
B.
Gestione e registrazione nel caso di log multipli. Si possono verificare
situazioni in cui si generano diverse tipologie di log, ad esempio
un’applicazione può registrare gli eventi di autenticazione in un log e l’attività
di rete in un’altra. Per efficienza, spesso la sorgente
di log registra solo la parte di informazione ritenuta più importante, e
purtroppo altre informazioni, non comunque secondarie, venivano omesse.
Inoltre il timestamp assume un ruolo fondamentale. Ogni sorgente di log
registra eventi associando un timestamp basato sull’orologio interno del
sistema. Occorre evitare che l’evento venga registrato con un timestamp non
preciso, va a finire che durante la fase di analisi dei log una certa sequenza di
eventi si sia svolta con un ordine cronologico diverso da quanto avvenuto
realmente.
Un’altra problematica è la leggibilità dei log. Molte sorgenti di log usano
diversi formati, come campi separati da virgola, campi separati da
tabulazioni, database, syslog, file xml, file binari. Alcuni formati di log sono
pensati per essere letti da umani, altri no. Per facilitare l’analisi dei log,
occorre implementare sistemi automatici che siano in grado di convertire log
che hanno contenuti e formati differenti verso un formato standard con una
rappresentazione coerente dei campi dati.
Protezione dei log. Alcuni log provenienti dai diversi sistemi
dell’organizzazione possono contenere dati delicati dal punto di vista della
sicurezza o della privacy, come password di utenti, dati relativi alla
navigazione oppure e-mail. È necessario preservare la confidenzialità e
l’integrità nell’ambito della security di un sistema software (basti vedere la
triade indicata nel paragrafo 1.1). I log infatti non devono essere alterabili, in
modo tale che i malintenzionati non riescano a coprire le loro tracce. Inoltre
anche la disponibilità dei dati deve essere preservata. Purtroppo in molti
sistemi sono configurati in modo che i file di log abbiano una dimensione
massima e che, raggiunta tale dimensione, i file di log siano sovrascritti.
Inoltre, occorre che le organizzazioni debbano conservare i log per un
periodo di tempo maggiore rispetto a quello di default sui sistemi di origine.
16
C.
Analisi dei log. Spesso l’analisi dei log è considerata un’attività a bassa
priorità da amministratori e dal management team, perché altre attività degli
amministratori necessitavano di risposte più rapide. Gli amministratori che
effettuano l’analisi dei log spesso non ricevono formazione adeguata per
effettuare l’analisi efficacemente ed efficientemente, particolarmente per
quel che riguarda l’attribuzione delle priorità. Inoltre molti amministratori
non hanno a disposizione tools che siano efficaci nell’automatizzazione dei
processi di analisi. Un altro problema consiste nel fatto che molti
amministratori considerano l’attività di analisi dei log noiosa e poco proficua
rispetto al tempo richiesto. L’analisi dei log ha un ruolo seriamente vitale per
identificare problemi imminenti. Tradizionalmente, la maggior parte dei log
non viene analizzata in real-time.
2.3 Modelli di rilievo adottati in un log
2.3.1 Il modello syslog
Il syslog fornisce un semplice framework per la generazione, lo storage e il
trasferimento dei log, che ogni sistema operativo, software di sicurezza o
applicazione può utilizzare, sempre se è progettato per poterlo fare. Molte sorgenti
di log usano syslog come formato nativo oppure offrono la possibilità di convertire i
log dal loro formato nativo a syslog.
Lo standard syslog consente di operare una classificazione del messaggio, al fine di
di stabilirne la tipologia e la priorità, sfruttando due attributi: la facility e la severity.
La facility rappresenta la tipologia del messaggio, alcune di esse potrebbero essere:
messaggio del kernel, messaggio di autorizzazione, di sicurezza o dell’applicazione.
La severity, ovvero la priorità, è un numero intero compreso fra 0 (emergency) e 7
(debug).
Il formato syslog è pensato per essere molto semplice e prevede che ogni messaggio
sia formato da 3 parti: la prima parte contiene la facility e la severity descritte
sopra, la seconda parte contiene il timestamp e il nome host (o l’indirizzo IP, nel
caso sia un servizio di rete) del sistema che ha generato l’evento e la terza parte è il
contenuto o payload del messaggio.
Per quanto rigaurda la memorizzazione dei syslog, di solito si effettua un salvataggio
con file di testo locali al sistema che li ha generati oppure può essere effettuando un
forward/inoltro verso uno o più sistemi centralizzati.
In origine il problema più grave è che il syslog era insicuro. Lo standard syslog è
stato progettato in tempi in cui la sicurezza dei log non era oggetto di molta
17
considerazione, per cui presenta alcuni aspetti critici. In primo luogo il protocollo di
trasporto utilizzato da syslog per la trasmissione sulla rete era l’UDP, protocollo
senza connessione che non garantisce la consegna dei pacchetti. In secondo luogo, il
server syslog che raccoglie messaggi via rete non effettuava nessuna forma di
autenticazione, per cui qualsiasi sistema può inviare messaggi al server syslog, senza
nessun ulteriore controllo. In terzo luogo, i log trasmessi via rete da syslog
viaggiavano in chiaro ed era quindi possibile intercettarli.
Fortunatamente, ai tempi d’oggi, vengono attuate alcune implementazioni di syslog
risolvendo alcuni di questi problemi, per esempio utilizzando TCP invece di UDP,
oppure un meccanismo di crittografia e la memorizzazione su database.
2.3.2 Il modello SIEM
Il modello System Information and Event Management (SIEM), pur non essendo
standardizzato prevede maggiori funzionalità rispetto al modello syslog e prevede
un’infrastruttura più complicata ed articolata, contenente uno o più server che
permettono l’analisi dei log, dei strumenti per la correlazione degli eventi, uno o più
database server per lo storage dei log, strumenti sofisticati per la ricerca e la
reportistica. E’ un modello molto sicuro e soprattutto organizzato che sicuramente
può sostituire il tradizionale syslog.
Ora è possibile passare al prossimo paragrafo, dove vengono trattati proprio i SIEM.
Proprio a causa degli svantaggi legati all’uso di un syslog, oggi il SIEM è nettamente
più considerato.
2.4 Introduzione al SIEM
La tecnologia dei sistemi SIEM (Security Information and Event Management) ha
come obiettivo la raccolta centralizzata degli events oppure log, generati da
applicazioni e sistemi in rete, per consentire agli analisti di sicurezza di ridurre i
tempi necessari per le risoluzioni e le indagini su allarmi e incidenti di sicurezza.
Essi sono una combinazione/integrazione di quelli che una volta erano sistemi
separati rientranti nell'ambito dei SIM (security information management - sistemi
di gestione delle informazioni di sicurezza) e dei SEM (security event management sistemi di gestione degli eventi di sicurezza) e a volte sono utilizzati come se fossero
intercambiabili.
Ma la cosa che contraddistingue meglio il modello SIEM da qualsiasi sistema di log è
sicuramente l’analisi dei log in tempo reale (real-time analysis).
18
Inoltre il SIEM è caratterizzato da un’elevata modularità. Possiamo distinguere
persino cinque moduli distinti: generazione di eventi, collezione di eventi,
registrazione e immagazzinamento, analisi, monitoraggio e reporting.
Nel seguito del capitolo approfondiremo le funzioni di ciascuno di questi moduli,
unitamente ad una discussione sulle problematiche da affrontare e le possibili
soluzioni. Verranno anche discusse le modalità di integrazione fra i diversi moduli.
Le principali funzioni di un sistema SIEM.
Nell’immagine riportata di sopra, in ordine si ha: scoperta degli asset, accertamento
delle vulnerabilità, rilevamento delle minacce, collezione di eventi, correlazione,
gestione degli eventi e memorizzazione dei log.
Si ricorda che gli asset, nell’ambito della security informatica, è una qualsiasi risorsa
aziendale, che sia un dato, un dispositivo o un computer situato all’interno
dell’organizzazione aziendale.
È anche di notevole importanza conoscere la struttura complessiva o architettura di
un sistema SIEM, che è preferibile riportare in anticipo, successivamente si procede
allo studio dei singoli moduli di un SIEM.
L’architettura è data nella pagina successiva di quest’elaborato.
19
Schema modulare complessivo di un generico sistema SIEM.
2.5 Primo modulo: generazione di eventi
Ad una prima analisi questo modulo sembrerebbe non fare parte del SIEM, tuttavia,
considerando il SIEM come un processo complessivo ed articolato e non un semplice
sistema da acquistare ed installare, anche questo modulo rientra a tutti gli effetti nel
SIEM.
È possibile distinguere due tipi di generatori degli eventi:
20
-I generatori di dati basati su eventi (sensori), generano eventi corrispondenti a
specifiche operazioni svolte da sistemi operativi, applicazioni, dispositivi di sicurezza
e così via sulla rete.
-I generatori di dati basati sullo stato (poller), generano eventi basati sulla reazione
a stimoli esterni, come dati relativi a controlli di integrità o demoni (daemon) che
hanno il compito di verificare lo stato di un certo servizio.
Per quanto riguarda i sensori, si possono far rientrare in questa categoria la maggior
parte delle tipologie di log di sicurezza elencati nella parte introduttiva del capitolo
2, come i log di firewall, VPN, sistemi di autenticazione, i log di sistemi operativi e
applicazioni. Tutti questi tipi di log sono generati, appunto, dagli sensori.
Per quanto riguarda invece i poller, il loro scopo è quello di generare un evento tutte
le volte in cui
un sistema terzo o esterno raggiunga un determinato stato. In un ambito di
sicurezza, i poller sono responsabili della verifica dello stato di servizi e dell’integrità.
2.6 Secondo modulo: collezione di eventi
2.6.1 Due approcci differenti: agent-based ed agentless
Il compito di questo modulo è quello di raccogliere informazioni dai diversi sensori e
poller ed effettuare un processo di traduzione in un formato standard, al fine di
realizzare una base omogenea di eventi.
Esistono principalmente due metodi di collezione. Si parla di metodo basato su
agenti (agent-based) quando esso avviene attraverso un agente software del SIEM
installato sul sistema sorgente, in caso contrario, di metodo senza agenti (agentless),
ovvero quando sul sistema di riferimento non vi sono specifici agenti installati.
-Agent-based: Un agente software è installato sui sistemi che generano i log, allo
scopo di effettuare filtraggio ed aggregazione per un certo tipo di log, trasmettendo
poi i dati dei log normalizzati, quasi sempre in real-time, per l’analisi e
l’immagazzinamento. Se in un sistema è possibile distinguere più tipologie di log di
interesse, è ovviamente necessario installare più agenti.
-Agentless: Nel caso di sistemi senza agente, vi sono due approcci differenti. In
primis, esiste il metodo pull attraverso il quale i sistemi SIEM stabiliscono la
connessione col sistema sorgente grazie a meccanismi di autenticazione ed andando
a recuperare in periodi di tempo regolari i log presenti, solitamente, in un database.
L’altro approccio è costituito dal metodo push che invece implementa un
meccanismo di comunicazione inverso, ovvero basato sul fatto che è il sistema
21
sorgente ad inviare i log al SIEM, ed in quest’ultimo viene inserito un receiver di tali
dati. Un esempio è l’ormai obsoleto (sul piano della sicurezza) syslog.
2.6.2 Vantaggi e svantaggi
Per quanto riguarda l’approccio agentless, il vantaggio principale è che non occorre
installare, configurare e gestire agenti in ogni sorgente di log. Lo svantaggio sta
invece nel fatto che non è possibile effettuare l’operazione di filtraggio,
aggregazione e normalizzazione a livello di sistema sorgente. Un altro possibile
svantaggio è nella necessità di dotare il SIEM di credenziali valide per ogni sistema
sorgente.
Nella maggior parte dei casi, i SIEM hanno comunque metodi predefiniti per il
filtraggio, l’aggregazione e la normalizzazione di log di particolari sistemi o
applicazioni.
Invece per sistemi o applicazioni che non sono dotati di metodi predefiniti i SIEM
forniscono normalmente vari tools che permettono di costruirsi i propri metodi,
rendendo il SIEM molto più flessibile. Naturalmente per costruire il proprio metodo
di collezione è indispensabile conoscere il formato dei log da collezionare e dei
campi dati disponibili all’interno del SIEM.
Per quanto riguarda i significati dei termini che si riferiscono ad azioni sui log:
-filtraggio: si intende la selezione, all’interno del sistema sorgente, dei log che
hanno un certo interesse per la successiva registrazione e analisi e l’esclusione dei
log privi di interesse.
-aggregazione: è il consolidamento di più eventi simili in un’unica entry della
struttura tabellare che abbia un campo contatore del numero di eventi.
-normalizzazione: è un processo volto ad eliminare la ridondanza informatica e
qualsiasi altra forma di incoerenza del contenuto informativo presente nel database.
2.7 Terzo modulo: registrazione ed immagazzinamento
Conoscendo l’elevato numero dei log presenti ai tempi d’oggi, è buona norma
conoscere un meccanismo di memorizzazione di tali log e di conservarli in un
periodo di tempo sufficientemente lungo, in modo che sia possibile l’analisi in un
secondo momento.
Qui assume un ruolo fondamentale la gestione dei database, effettuando query con
l’obiettivo di estrarre informazioni ed eventi di interesse.
22
In ogni caso, generalizzando, esistono tipicamente tre metodi di memorizzazione
dei log: in un database, in file di testo, in file binari. Il caso di memorizzazione in un
database standard
è attualmente il più utilizzato, in quanto è il sistema che permette solitamente il
miglior compromesso fra la necessità di utilizzare i log da parte di altre applicazioni,
la necessità di eseguire facilmente le analisi, e la necessità di accedere a tali dati in
maniera efficiente. I file di testo, pur permettendo l’accesso ai log da parte di altre
applicazioni e di eseguire facilmente analisi, non permettono di accedere in maniera
efficiente ai dati, soprattutto in presenza di archivi contenenti grandi quantità di log.
Al contrario, i formati binari permettono di accedere in maniera efficiente ai dati,
ma non permettono l’accesso ad altre applicazioni al di fuori del SIEM stesso.
Adesso è possibile concentrarsi sulla struttura delle tabelle dei messaggi utilizzate
dal SIEM, in particolare all’interno di un database. Anche se i campi variano
ovviamente a seconda della tipologia implementata nel SIEM, esiste comunque un
insieme minimo di campi coincidenti, o meglio, universali in tutte le varie tecnologie.
1) Time: Contiene il timestamp in cui è avvenuto l’evento. C’è la possibilità di
affiancamento da altri timestamps.
2) Type: Contiene il tipo di sistema che ha generato l’evento, per esempio
sistema operativo, database, firewall, ecc.
3) Category: Contiene la tipologia dell’evento, per esempio se si tratta di
un’autenticazione, di un’autorizzazione, dell’avvio di un’applicazione, ecc.
4) Severity: Contiene il livello di pericolosità dell’evento.
5) Device: È l’identificativo del sistema che ha generato tale evento. Potrebbero
esserci dei sottocampi, in particolare l’indirizzo IP oppure l’hostname.
6) Source: È il computer di origine dell’evento.
7) Destination: Contiene il destinatario dell’evento.
8) User: Contiene, se esiste, l’account che ha generato l’evento. Può essere
diviso in user sorgente e user destinazione per tenere conto del caso di
eventi che contengano una sorgente e una destinazione.
9) Message: Contiene un testo che descrive l’evento, ovvero il “corpo”
dell’evento stesso.
Nella pratica, in generale, il SIEM è in grado di registrare non solo ed unicamente gli
eventi, ma anche le statistiche, e gli alert.
2.8 Quarto modulo: analisi
L’analisi, come è chiaro, ha il compito di rilevare attacchi oppure tentativi di
violazione facendo riferimento al contenuto testuale presente nei log. SI possono
23
distinguere ben tre differenti componenti per l’analisi dei log, il rule engine, il
correlation engine o la base della conoscenza (Knowledge Base o semplicemente KB)
2.8.1 Rule Engine
Il rule engine, solitamente, permette di generare allarmi da mostrare sulla console
agli analisti oppure da inviare via mail, in base al verificarsi di determinate
condizioni. Generalmente le regole vengono scritte utilizzando una qualche forma di
logica booleana.
Si vuole presentare l’argomento attraverso un esempio pratico, come quello di
generare un alert ad ogni accesso dell’utente al server remoto usufruendo delle
credenziali amministrative locali. Normalmente dovremmo definire diversi trigger
all’interno dei diversi sistemi, mentre in un SIEM, utilizzando la logica interna, è
possibile definire un’unica regola basata su diverse variabili che definisca un
trigger. La regola, in forma grafica, è espressa come:
Schema logico sull’esempio di un accesso remoto con i permessi di amministratore.
2.8.2 Correlation Engine
Uno strumento sicuramente più sofisticato per generare allarmi è rappresentato dal
correlation engine, un sottoinsieme del rule engine che permette di correlare
diversi eventi provenienti da diverse sorgenti creando un unico evento correlato.
Tale correlazione viene operata allo scopo di semplificare l’identificazione di
potenziali incidenti e le procedure di risposta.
24
Per correlare gli eventi in uno solo, dal punto di vista implementativo è sufficiente
usare gli operatori booleani, in particolare OR e AND espressi in termini di codice.
Volendo si può fare un esempio di analisi in una sorta di pseudocodice che porta a
considerare un attacco di forza bruta, ed è il seguente:
if [ ( failed login > 2) and then ( successful login ) ]
from the same source within 15 seconds =
Possible Brute Force Attack Attempt
2.8.3 Knowledge Base
La Knowledge Base è, in sintesi, un contenitore di regole utilizzato nel campo
dell’intelligenza artificiale, oppure un database informativo di un’organizzazione
aziendale. Però in ambito della sicurezza, essa assume un ruolo completamente
differente. Questo permette di valutare se un tentativo di intrusione su un certo
sistema può effettivamente portare ad un’intrusione e il livello di criticità di tale
tentativo di intrusione.
Fanno parte della Knowledge Base il database degli asset e soprattutto il database
delle vulnerabilità.
Si vuole trovare una definizione appropriata dei due componenti (perchè essi si
trovano nell’immagine triangolare introduttiva del capitolo 3, ed assumono un ruolo
vitale nel processo SIEM):
- Il database degli asset: è utilizzato per definire alcuni aspetti delle configurazioni
dei sistemi, il tipo di servizio garantito all’interno del sistema informativo, gli altri
sistemi al quale sono correlati, comunque in definitiva lo scopo è quello di
determinare il livello di criticità dei sistemi e l’impatto che può avere un’eventuale
intrusione.
- Il database delle vulnerabilità: contiene informazioni relative alle violazioni
della sicurezza e ai comportamenti insicuri che possono avere impatto sul livello
globale di sicurezza o che potenzialmente possono essere utilizzate da un attaccante
allo scopo di effettuare un’intrusione. Il database delle vulnerabilità può contenere i
seguenti tipi di vulnerabilità:
I.
vulnerabilità strutturali, ovvero presenti in software specifici. Questa parte
del database può essere popolata grazie a report ottenuti da software di
vulnerability scanner.
25
II.
III.
vulnerabilità funzionali, ovvero vulnerabilità legate a configurazioni e
comportamenti degli utenti. Contrariamente alle vulnerabilità del tipo
precedente, queste dipendono fortemente dall’ambiente in cui risiedono.
La parte più complicata è trovare un modo per definire / formattare questo
tipo di vulnerabilità in maniera tale da popolare il database, cioè trovare
un’appropriata definizione o tipologia di tali vulnerabilità prima di essere
inserite sotto forma di entry nel database.
vulnerabilità basate sulla topologia di rete. Questa parte del database
include le vulnerabilità di rete così come l’impatto di intrusioni nella rete con
le loro relative conseguenze. Al fine però di inserire tali informazioni nel
database, è necessario un minimo di modellazione topologica.
Concludendo, l’obiettivo finale della Knowledge Base è quella di valutare lo stato di
sicurezza dei sistemi monitorati. Le informazioni contenute nella Knowledge Base
possono essere processate da un apposito engine, che fornirà una lista delle
vulnerabilità a cui ogni sistema è soggetto e il potenziale impatto di ogni
vulnerabilità. Tale valutazione andrà rigenerata ogni qualvolta venga trovata una
nuova vulnerabilità e ogni qualvolta ci siano modifiche ai sistemi monitorati.
2.9 Quinto modulo: monitoraggio e reporting
Il monitoraggio rappresenta la modalità con cui gli analisti della sicurezza
interagiscono con i log registrati nel SIEM. Generalmente i SIEM hanno una console,
che può essere web-based, o che rispetti il paradigma client/server, in grado di
interagire con i dati registrati sul SIEM. In generale sono presenti tre interfacce di
rilievo:
A. interfaccia per il monitoraggio real-time: fornisce una visione istantanea e
real-time degli eventi che arrivano al SIEM, permettendo un filtraggio base
allo scopo di isolare i messaggi di interesse. Questa interfaccia è usata per
scopi di debugging, per analisi approfondite di eventi specifici o per reazione a
determinati eventi.
B. interfaccia per la gestione degli incidenti: è l’engine utilizzato per la gestione
di ciascun incidente verificato, in particolare serve per avviare procedure di
reazione e risoluzione.
C. interfaccia per le analisi statistiche: fornisce e consente la memorizzazione di
dati sulle statistiche di attività di sicurezza di breve, medio e lungo periodo.
26
Oltre alle console, i SIEM hanno anche strumenti secondari, a disposizione dei
responsabili della sicurezza e del management aziendale. Sono presenti quindi, le
ulteriori interfacce:
-interfaccia per la valutazione dei rischi: fornisce informazioni sull’attuale
livello di sicurezza delle configurazioni dei sistemi monitorati e dei software
installati. Fornisce informazioni sul livello di sicurezza globale, sulle
vulnerabilità e le criticità, gli scenari di intrusioni e i dettagli sulle configurazioni.
-attività di sicurezza: fornisce report a medio e lungo termine sulle intrusioni
verificatisi. I parametri di ciascuna intrusione sono suddivisi in: tipo, frequenza,
sorgente d’origine e conseguenze sui sistemi monitorati. Quest’attività è
particolarmente utile per determinare i sistemi maggiormente colpiti, e per
prevedere in qualche modo questi attacchi.
-stato dei sistemi: fornisce un riepilogo sugli incidenti aperti, sistemi sotto
attacco, e anche meccanismi di intrusione in esecuzione. Fornisce informazioni
sulle procedure di reazione che verranno messe in atto allo scopo di circoscrivere
l’attacco, ovvero delimitare e bloccare la propagazione delle sue conseguenze.
27
Capitolo 3: Il Magic Quadrant
relativo alle varie tecnologie SIEM
3.1 Descrizione e criteri di classificazione
3.1.1 Scopo della classificazione
Le tecnologie SIEM attualmente hanno un ruolo centrale, soprattutto a causa di un
crescente numero di minacce circolanti nei vari sistemi informatici. Questo Magic
Quadrant fornisce un raggruppamento delle varie aziende che hanno realizzato dei
prodotti SIEM per investigare e per analizzare i log. Ovviamente tali fornitori hanno
dei approcci differenti, e quindi vengono distinti per alcune caratteristiche salienti
rispetto ad altre.
Questa classificazione viene fornita da una società di ricerca americana, la Gartner,
fondata nel 1979, e lo scopo di tale raggruppamento è quello di fornire un’analisi
qualitativa del mercato nell’ambito di queste tecnologie, e genericamente si basa
sulla capacità di dirigere i prodotti nel mercato, sulla maturità di ciascuna azienda e
sull’abilità dei suoi membri.
Dunque il Magic Quadrant ha un ruolo puramente statistico, e viene costantemente
aggiornato ogni 1-2 anni.
3.1.2 Criteri qualitativi: capacità di esecuzione e completezza di visione
I criteri qualitativi sono riportati in un grafico bidimensionale, che verrà riportato
successivamente nel paragrafo 3.3, ed esso presenta nell’asse delle ascisse il valore
relativo alla completezza di visione, mentre nell’asse delle ordinate è riportato il
valore relativo alla capacità di esecuzione, intesa anche come “capacità di fare”.
Per quanto riguarda la completezza di visione, essa è suddivisa in:
A. Comprensione del mercato. Tiene conto della valutazione della tecnologia sia
dei fornitori attuali che quelli emergenti, e di convertire le loro esigenze ed
idee in prodotti e servizi SIEM. I fornitori che presentano un alto grado di
completezza di visione sono quelli più preparati alle maggiori esigenze del
cliente, come la necessità di contrastare attacchi e minacce precoci, e
forniscono un’implementazione semplice e curata dei loro servizi.
B. Strategia nel marketing. Rappresenta la capacità del fornitore di comunicare
effettivamente il valore e la differenziazione dei suoi servizi SIEM offerti.
C. Strategia di vendita. Tiene conto della valutazione delle vendite dirette ed
indirette di un singolo prodotto SIEM.
28
D. Innovazione. Rappresenta la capacità di un’azienda di sfornare prodotti SIEM
che siano in grado di distinguersi dalla concorrenza e quindi capaci di
soddisfare esigenze specifiche della clientela. Alcune di esse potrebbero
essere: la rilevazione avanzata delle minacce, le query ad hoc in un database,
le funzioni per la gestione del flusso di lavoro, e persino il monitoraggio
all’interno di ambienti cloud.
E. Strategia geografica. È un indice dei guadagni che un’azienda produce in base
alla sua posizione territoriale. I mercati SIEM nel Nord America (Usa, Canada)
e quelli europei sono sicuramente quelli che creano maggiori profitti. Poi ci
sono quelli del Medio Oriente, quelli asiatici e in Australia che appartengono
alla categoria dei “mercati SIEM emergenti” e che stanno man mano
espandendo e diventando sempre più proficui.
Invece, nell’ambito della capacità di esecuzione, valgono i seguenti punti:
A. Servizi del prodotto. È un indice di valutazione della capacità del fornitore di
B.
C.
D.
E.
fornire funzioni aggiuntive all’interno del prodotto. Le principali sono:
monitoraggio della sicurezza real-time, gestione degli incidenti e reazione ad
essi, ed anche la semplicità di implementazione.
Reputazione aziendale. Tiene conto della produttività, della situazione
economica e dei successi finanziari dell’azienda, compresa la probabilità con
cui la stessa garantirà il rilascio di nuovi prodotti e tecnologie SIEM.
Esecuzione delle vendite e dei prezzi. Tiene conto delle attività di prevendita,
i successi delle vendite e l’assistenza postvendita. Viene anche valutata
l’efficacia del canale di vendita, ovvero tutti i mezzi attraverso i quali vengono
venduti e consegnati i singoli prodotti SIEM.
Reattività del mercato. Valuta un fornitore nell’ambito della soddisfazione
delle esigenze della clientela, compresa l’aggiunta di nuove caratteristiche o
features di un prodotto già in vendita per appagare nuove ed inedite richieste
del cliente.
Esperienza del cliente. Tiene conto del contributo di un cliente, attraverso il
quale si migliorano i prodotti di un fornitore SIEM con l’uso di sistemi di
feedback o altre interazioni produttore-consumatore. Questo aspetto non è
per nulla secondario perché con l’ausilio e le esigenze di un cliente l’azienda
potrà garantire prodotti migliori, più semplici da implementare, più stabili e
con più funzionalità.
29
3.1.3 Criteri di raggruppamento: niche players, challengers, visionaries and leaders
-Niche players (“principianti o giocatori di nicchia”): vi appartengono tutti i fornitori
che offrono servizi solo su specifiche tecnologie SIEM, e quindi compatibili con le
esigenze di una ristretta categoria di clienti. Le funzionalità dei loro prodotti sono
abbastanza specifiche. Inoltre gli investimenti di questa categoria di fornitori sono
piuttosto ridotti, oppure con espansione geografica limitata. Comunque il termine
“niche players” non deve per forza avere connotazione negativa perché il più delle
volte vi appartengono società che producono prodotti che si riferiscono a casi d’uso
molto specifici oppure fornitori emergenti nel mercato SIEM.
-Visionaries (“visionari”): qui vengono collocati tutti i fornitori che propongono
prodotti completi, con molte funzionalità e capaci di soddisfare svariate esigenze
della clientela. D’altra parte hanno un basso punteggio nella capacità d’esecuzione a
causa di una minore presenza nel mercato internazionale rispetto alla concorrenza, i
loro investimenti sono ridotti, oppure le sedi dell’azienda non hanno una
distribuzione geografica internazionale ma locale.
-Challengers (“sfidanti”): appartengono in questa categoria tutti i fornitori che
hanno cospicue risorse economiche, hanno una distribuzione geografica capillare e
le cui vendite sono significative e di notevole successo. Dall’altro lato, però, i loro
prodotti non sono abbastanza completi da soddisfare tutte le tipologie di esigenze
della clientela.
-Leaders: vanno in questa categoria tutti i fornitori SIEM che hanno un successo
strepitoso nel mercato ed un elevato numero di vendite, hanno una solida base
aziendale, offrono una tecnologia all’avanguardia o comunque attuale, il loro
supporto e la loro assistenza postvendita è assai evoluta, anche grazie ai feedback
dei clienti. Tali fornitori soddisfano in maniera completa la clientela, andando
incontro anche a bisogni particolari o riferiti ad uno specifico contesto d’uso.
30
3.2 Aggiunta ed esclusione dei fornitori
Il Magic Quadrant viene costantemente aggiornato con un periodo di tempo di 1 o 2
anni. L’esclusione di un fornitore non implica necessariamente il cambiamento
dell’opinione o del giudizio su di esso, ma semplicemente è dovuta all’evoluzione del
mercato SIEM che si concentra e focalizza l’attenzione su nuovi criteri di valutazione.
L’oggetto di questo capitolo della tesi è il Magic Quadrant aggiornato nell’anno
2016, e le principali motivazioni che comportano l’aggiunta o la rimozione di un
produttore SIEM sono le seguenti:
-Aggiunta. Vengono inseriti nel Magic Quadrant tutti i fornitori i cui prodotti:
 Garantiscono sia funzionalità SIM che quelle SEM (che appunto formano
insieme il SIEM).
 Supportano l’acquisizione di dati da fonti eterogenee, principalmente
dispositivi di rete, di sicurezza o programmi che rispettano il paradigma clientserver.
 Vengono inseriti nelle liste di valutazione (cioè ritenuti più utili) elaborate da
organizzazioni end-user.
 Vengono consegnati all’utente finale come strumenti software o comunque
basati sulle applicazioni (e non come servizi).
-Eliminazione. Vengono rimossi dal Magic Quadrant tutti i fornitori i cui prodotti:
 Offrivano funzionalità SIEM strettamente legate ai dati dei prodotti della
stessa azienda.
 Non venivano ritenuti competitivi dalle organizzazioni end-user.
 Avevano un fatturato inferiore ai 13.5 milioni di dollari nel corso dell’anno
2015.
 Offrivano soluzioni esclusivamente legate a servizi gestiti, dando minore
importanza alle interfacce ed alle applicazioni.
31
3.3 Principali fornitori SIEM
Il Magic Quadrant elaborato nell’anno 2016 è il seguente:
L’obiettivo è quello di analizzare un fornitore o produttore SIEM per quadrante.
Verranno quindi studiate la SolarWinds come “niche player” di riferimento, la
AlienVault come visionaria, la RSA Security come sfidante e infine l’ormai nota IBM
come leader di riferimento.
32
3.3.1 Niche player: SolarWinds
La SolarWinds è una società che fornisce il software Log & Event Manager (LEM). Le
funzionalità comprese in tale programma sono il deposito dei log e la gestione
centralizzata, l’uso della console LEM per visualizzare i dati, compresi anche quelli di
ricerca. Poi vi sono features aggiuntive come la prevenzione della perdita di dati e
reazioni ad incidenti di sicurezza anche automatiche. Nel 2015 viene implementato
anche un meccanismo in grado di prevedere minacce sfruttando i dati e gli
aggiornamenti di una blacklist contenente indirizzi IP a bassa reputazione.
Il sistema di SolarWinds si presenta facile da implementare, ma indirizzato a tutte le
organizzazioni di media o piccola dimensione, perché l’uso di tale programma è
sconsigliato per lo studio di grandi mole di dati in quanto non vengono effettuate
analisi accurate oppure rilevamenti avanzati di minacce.
Punti di forza:
-Semplicità: l’interfaccia di questo software è molto intuitiva ed è possibile
effettuare una grande varietà di operazioni di sicurezza a seconda dei casi d’uso.
-Reattività: il sistema è dotato di una risposta automatica, con un sistema di
prevenzione di minacce ed anche un controllo della quarantena. Inoltre
l’integrazione con altre soluzioni tecnologiche SIEM si è rivelata flessibile.
-Rapporto qualità/prezzo: I clienti SolarWinds sono molto soddisfatti grazie
all’elevato numero di funzionalità che il programma offre nonostante il suo costo sia
abbastanza contenuto.
Difetti:
-Raggio d’azione limitato: le analisi effettuate dall’engine di SolarWinds sono
puramente statistiche e legate al comportamento di base. Quindi questa tecnologia
SIEM si rivela inadatta per la gestione di grandi quantità di dati e utenti.
-Gestione incompleta del flusso: il sistema è dotato di un meccanismo di cattura dei
dati nativo nel flusso, però non è possibile effettuare la correlazione dei dati in realtime e nemmeno la cattura dei pacchetti in rete.
-Ridotta dotazione di serie: se un cliente ha la necessità di ampliare il prodotto con
altre funzionalità, come il monitoraggio web oppure il supporto ad un elevato
numero di utenti, deve acquistare altri prodotti SolarWinds per estendere tali
caratteristiche.
33
3.3.2 Visionary: AlienVault
L’AlienVault fornisce il sistema USM (Unified Security Management) che è un
prodotto SIEM assai completo, ed include: valutazione delle vulnerabilità,
rilevamento degli asset e delle intrusioni di rete, gestione dei flussi, compresa la
cattura dei pacchetti (che manca nella soluzione SolarWinds). Inoltre è presente un
meccanismo di bilanciamento del carico, di analisi e gestione dei log e di
correlazione degli eventi. Infine vanta di una vasta community di utenti che, con la
discussione e condivisione di informazioni sulle minacce, contribuiscono al rapido
miglioramento dei prodotti AlienVault.
Questo sistema software è sicuramente indirizzato anche a grandi aziende, in
quanto viene offerta una vasta gamma di funzionalità per qualsiasi ambiente di
lavoro e contesto d’uso.
Punti di forza:
-Dotazione di serie completa: acquistando il pacchetto USM, esso già offre tutto
quello che serve nell’ambito della security: monitoraggio, valutazione dell’integrità e
delle vulnerabilità, e rilevamento efficace di intrusioni in rete.
-Qualità del prodotto: il prodotto presenta un’interfaccia completa e ben
progettata. Essa tiene conto della navigazione di eventi, delle attività real-time e
delle informazioni delle minacce, compresi anche gli strumenti per indagare su
eventuali incidenti di sicurezza.
-Vasta community: i clienti contribuiscono al miglioramento dei prodotti Alienware
grazie ai loro consigli e discussioni, inoltre i prezzi del prodotto USM è relativamente
basso date le innumerevoli funzionalità che esso offre.
Difetti:
-Flussi NetFlow: il software USM è in grado di catturare anche flussi NetFlow, ma è
sprovvisto di un sistema di avvisi per informare all’utente della cattura di questo
tipo di flusso.
-Problemi di integrazione con sorgenti di dati non supportati: purtroppo con
formati di dati non previsti o nuovi gli strumenti AlienVault si rivelano abbastanza
ingombranti per tale integrazione. Nel frattempo gli utenti possono sfruttare la
community e richiedere un plug-in da AlienVault per supportare questa integrazione
in maniera più semplice.
34
3.3.3 Challenger: RSA Security
La RSA è una divisione di sicurezza di EMC, e la sua offerta di prodotti SIEM è
denominata come RSA NetWitness. Questi sistemi si focalizzano sul monitoraggio in
tempo reale, analisi, un sofisticato sistema di avvisi, caccia proattiva delle minacce e
risposta immediata ad incidenti di sicurezza. Questa piattaforma sfrutta una
combinazione di uno o più dispositivi fisici o virtuali per la cattura dei pacchetti, per
l’interrogazione e recupero di dati grezzi, l’analisi real-time e la conservazione a
lungo termine di log e report con un archivio. È presente inoltre, fra i prodotti di
RSA, anche quello relativo al servizio cloud-based (tale servizio è denominato RSA
Live Connect), che fornisce aggiornamenti automatici di contenuti di sicurezza
comprese le norme di rivelazione di minacce, di cattura dei pacchetti e di
generazione di log e report. È prevista anche la gestione avanzata degli incidenti di
sicurezza, ed il monitoraggio del traffico di rete grazie alla conservazione di registri
selettivi.
Punti di forza:
-Elevata sicurezza: un’unica piattaforma RSA NetWitness combina svariate funzioni
ed è molto estesa: monitoraggio delle minacce e ricerca costante in tutto il traffico
di rete, compresi anche gli end-point.
-Modularità: il cliente ha il pieno controllo di scegliere o personalizzare il
monitoraggio dell’intero traffico di rete, oppure di rivolgere l’attenzione su
determinati eventi. C’è anche la possibilità di personalizzare l’analisi dei log in base
alle loro esigenze.
-Elevata automazione: il sistema RSA Live offre un approccio prevalentemente
automatizzato nel trasmettere periodicamente aggiornamenti e nuove definizioni
per rilevare ulteriori minacce.
Difetti:
-Complessità: questo sistema offre una tecnologia SIEM di difficile
implementazione, ed è necessaria molta pratica per arrivare ai casi d’uso desiderati.
-Gestione incompleta degli incidenti: il prodotto RSA NetWitness offre solo una
leggera gestione degli incidenti. Se si desidera una dettagliata gestione di tali
imprevisti va aggiunto anche il prodotto SecOps Manager, sempre di RSA.
35
3.3.4 Leader: IBM (International Business Machines Corporation)
Lo strumento software creato da IBM è l’Intelligence Platform QRadar Security,
attraverso il quale le operazioni principali effettuate risultano: la gestione del
rischio, quella delle vulnerabilità, l’analisi e la gestione dei log. Il sistema QRadar è
implementato sia con dispositivi fisici che virtuali, e sono inclusi anche sistemi cloud
proprietari. Ulteriori attività eseguite dal software di IBM sono la collezione di eventi
(è uno dei cinque moduli di un SIEM citati nel capitolo 3), l’elaborazione di eventi di
sicurezza, la gestione dei flussi NetFlow (offerta anche da AlienVault) il monitoraggio
della rete e dei pacchetti. Infine non ci saranno problematiche legate al supporto di
fonti e formati dati, perché QRadar è praticamente in grado di rilevare quasi tutte le
sorgenti dati e di conseguenza, l’integrazione è assai immediata.
Per quanto concerne tutti i miglioramenti di quest’anno, la piattaforma è divenuta
più reattiva e supporta anche casi d’uso specifici, come la sorveglianza sanitaria e la
gestione delle patch di sicurezza. C’è stato anche un aumento delle prestazioni di
ricerca dati.
Punti di forza:
-Completezza di visione: il sistema QRadar fornisce un quadro d’insieme integrato di
tutti i dati di log ed eventi, compresi i flussi dei pacchetti, informazioni su minacce e
vulnerabilità espresse in maniera completa.
-Possibilità di correlazione: l’analisi del traffico di rete e dei pacchetti può essere
correlata con il flusso NetFlow e con gli eventi di log.
-Architettura all-in-one: la tecnologia di QRadar è di implementazione molto
semplice e prevede una struttura “a livelli”. Ciò rende il sistema software
estremamente modulare, supportando il controllo nativo e il monitoraggio anche in
ambienti IaaS (“Infrastructure as a Service”, ovvero infrastruttura distribuita come
servizio).
Difetti:
-Tecnologie thirdparty: alcuni meccanismi di monitoraggio e di rilevamento delle
minacce, oppure per l’analisi dell’integrità dei dati, richiedono l’attività di tecnologie
e componenti aggiuntivi da terze parti.
36
3.4 Confronto tra le soluzioni proposte
Anche se l’obiettivo finale di tutti i sistemi SIEM risulta essere lo stesso, offrire una
protezione quanto più efficace possibile da ogni forma di rischio, in ogni caso ci sono
comunque differenze tra tutte le diverse tecnologie, e quindi esiste un ambito di
applicazione dove ciascuno dei software SIEM riesce a dare il meglio di sé.
Le soluzioni del gruppo “Niche
Players” vengono proposte
principalmente a piccole imprese che
sono appena entrate nel mercato dei
SIEM, ad aziende con distribuzione
geografica limitata, oppure con risorse
economiche e finanziarie modeste.
Nel frattempo queste aziende cercano
di avere sempre un ruolo di rilievo e
quindi i loro prodotti sono caratterizzati da un ottimo rapporto qualità/prezzo. Vale
a dire che le funzionalità offerte da tali sistemi software sono abbastanza numerose
con un prezzo relativamente contenuto.
Le soluzioni del gruppo “Visionaries” sono realizzate per imprese solitamente di
media grandezza, ma che soprattutto puntano agli obiettivi della clientela. La
preoccupazione di tali società è proprio la piena soddisfazione di colui che utilizza i
suoi prodotti SIEM. Ciò è reso possibile grazie allo sfruttamento di un’ampia
community per supportare e migliorare in continuazione il sistema di sicurezza
offerto da tali software.
I prodotti SIEM del gruppo “Challengers” sono quelli che, offrendo un avanzato
numero delle funzionalità, vogliono prepotentemente ritagliare un ruolo
importante, magari come possibili candidati per la categoria “Leader”. Tutto questo
avviene attraverso l’offerta di soluzioni decisamente complete, con un rilevamento
delle minacce aggressivo, un sistema di log management rigoroso e offerta di
sistemi cloud-based. Tuttavia, dall’altra faccia della medaglia, purtroppo va
migliorata l’assistenza per il cliente, cercando di mirare nella realizzazione di
prodotti più adatti proprio per il suo desiderato caso d’uso.
Infine, la categoria “Leader”: qui vi addensano aziende di grande importanza,
distribuzione geografica internazionale e capillare, reddito economico invidiabile,
mentre per quanto riguarda i loro strumenti offerti, essi risultano la combinazione
dei pregi della categoria Visionaries per le esigenze della clientela e del gruppo
Challengers per le funzionalità offerte dai loro software.
37
Capitolo 4: Il software di LogRhythm
ed il formato dati CIM
4.1 L’azienda e i suoi obiettivi
La LogRhythm già risiede nel settore “Leader” del
Magic Quadrant, proprio come la IBM che è stata già
trattata in questa tesi nel capitolo 3.
Il logo di LogRhythm.
Quest’azienda offre soluzioni SIEM come le precedenti, però offre il software
proprietario Intelligence Platform Security che è in grado di intercettare anche gli
attacchi più recenti, e di studiare persino il ciclo di vita di una minaccia qualsiasi.
La sua proposta SIEM è data dalla seguente:
-
Software SIEM di ultima generazione, compreso il log management
Monitoraggio locale, per lo studio dell’integrità di files e registro di sistema
Monitoraggio di rete, per la cattura completa dei pacchetti e dell’ID delle applicazioni web
Ricerca contestuale rapida
Sistema di reazione automatica agli incidenti di sicurezza
Uso del framework SmartResponse per i cyber attacchi più sofisticati
È proprio questo framework appena citato che contraddistingue meglio la soluzione
offerta da LogRhythm rispetto alle altre. Si tratta di un meccanismo di protezione
decisamente originale che rende il suo funzionamento impeccabile e contribuendo
anch’esso nell’ascesa dell’azienda fino al ruolo di leader nel mercato SIEM.
Nel dettaglio, si vuole analizzare questa SmartResponse. Questo framework può
essere considerato appropriatamente come un “ibrido”, perché offre allo stesso
momento: la protezione real-time nell’ambiente informatico, la capacità di
individuare minacce ancora sconosciute, ed un sistema di studio dell’intero ciclo di
vita delle minacce condotto da un team specifico, o volendo, anche in maniera semiautomatica, esonerando l’utente in alcune situazioni, come la risposta al comparire
di minacce sul proprio sistema.
Un altro problema che è sempre stato a cuore dell’azienda è la velocità di scansione
e anche quella relativa della risposta automatica alle eventuali minacce. Per fornire
gli strumenti quanto più veloci e sicuri possibili, vi sono in dotazione la gestione endto-end dei flussi, e un insieme di funzionalità contenute nel cosiddetto out-of-thebox (che significa appunto funzionalità standard, pronte all’uso) attraverso le quali
38
gli analisti SIEM aiutano, tramite la comunicazione end-to-end, a risolvere
efficacemente anche i più urgenti problemi di sicurezza dei clienti.
Inoltre è supportata anche la virtualizzazione, consentendo quindi di usare il
software SIEM anche in sistemi operativi virtuali, con l’uso dell’ormai noto
VirtualBox e di altre tecnologie sottostanti:
Parte relativa alla virtualizzazione contenuta nei datasheet di LogRhythm, citati nella bibliografia.
4.2 Il formato MDI Fabric
4.2.1 Terminologia e vantaggi
Questo paragrafo è incentrato sul formato dati “standard” utilizzato da LogRhythm
che ora si vuole analizzare. Innanzitutto, bisogna sapere che il termine MDI è una
sigla e sta per Machine Data Intelligence.
Avevamo già citato che la velocità di scansione e di rilevamento sono i principali
problemi che la LogRhythm ha voluto affrontare e che continua a farlo. Grandi
organizzazioni aziendali, infatti, impiegano giorni o addirittura mesi per individuare
una determinata minaccia, con la conseguente reazione, quando in realtà ne
servirebbero anche pochi minuti.
Queste perdite di tempo possono essere finalmente soppresse con un’architettura
che utilizza il formato MDI e che prevede una suddivisione della gestione dati in tre
livelli diversi. Tale architettura favorisce sicuramente la velocità di reazione e la
scalabilità, e di conseguenza comporta la diminuzione dei costi grazie ad un
sofisticato sistema di indicizzazione.
4.2.2 Architettura a strati del MDI Fabric
L’architettura sopracitata è definita come “Machine Data Processing and Indexing
Tiers”. Il MDI, invece, può essere definito come un set di metadati informativi,
compresi la criticità dell’evento, l’host “vittima” e l’host d’origine che ha trasmesso
l’infezione. Dopo la raccolta e la collezione di tali metadati (questo è uno dei cinque
moduli dell’architettura SIEM presente nel capitolo 2), si ha la normalizzazione e
successivamente l’invio degli stessi ad un motore IA (d’intelligenza artificiale) per
l’analisi e l’indicizzazione.
39
Infine, viene per precauzione (è comunque una buona norma nell’ambito della
security) conservata una copia grezza del messaggio negli archivi, per poterla
estrarre in caso di future necessità.
Nell’architettura indicata dall’immagine è stata già trattata la collezione di tali
metadati, normalizzazione e storage del dato grezzo negli archivi. Tutto questo
rappresenta il primo livello dell’architettura, cioè il data collection.
Scendendo nel secondo livello, il data processing prevede una compressione di tali
dati in log testuali o in linguaggio macchina. Inoltre il software di LogRhythm
arricchisce tali metadati di altre informazioni contestuali, in particolare:
classificazione degli eventi, livelli di priorità, e anche la geolocalizzazione del dato.
Per quanto riguarda invece il timestamp, esso viene opportunatamente gestito
grazie allo strumento LogRhythm TrueTime che consente di eliminare gli
scostamenti di tempo causati dai fusi orari, oppure da orologi di sistema mal
impostati.
Inoltre, ogni file archiviato viene firmato digitalmente in modo da risalire alla sua
vera identità, rilevando così anche i tentativi di manomissione di tale dato. Poi è
presente un ordinamento nell’archivio per data e per descrizione in modo da
consentire una ricerca agevole.
40
Infine, in basso abbiamo il terzo livello, il data indexing, che riceve tutti i messaggi
elaborati dal data processing (il 2° livello) e successivamente li colloca in un
complesso motore di ricerca altamente scalabile, in particolare si tratta di una forma
di ricerca non strutturata, che l’azienda lo nomina Elasticsearch.
Una tipologia di ricerca come questa consente di analizzare anche dati macchina
non elaborati, aiutando in maniera significativa l’analysis team grazie ad una
conversione tra ricerca contestuale e linguaggio nativo.
Questo engine di ricerca funziona anche con le query di un database. Essendo
un’architettura scalabile, ad alte prestazioni e con un sistema di indicizzazione, è
supportata inoltre la ricerca dei cluster di dati, perché è in dotazione un
meccanismo di replicazione degli stessi su più nodi, in modo tale che, se si perde
accidentalmente un nodo, l’impatto è minimo sul sistema e nullo sulle prestazioni,
grazie alla presenza di copie di sicurezza negli altri nodi.
4.3 Il Common Information Model
4.3.1 Struttura e definizione
Il Common Information Model è uno standard che definisce come gli elementi
gestiti nell’ambito della Information Tecnology vengono rappresentati come un
insieme di oggetti relazionati fra di loro. Questo modello è stato reso ufficiale grazie
alla DMTF (Distributed Management Task Force) che ha pubblicato un insieme di
regole per la gestione di tali oggetti a prescindere dal loro produttore o fornitore.
Il Common Information Model relativo alle aziende ed alle imprese.
41
Uno dei possibili modi per descrivere un modello CIM è quello di dire che esso si
presenta come un insieme di più componenti che si integrano tra di loro e quindi
consentendo lo scambio di informazioni.
Inoltre, un modello CIM consente anche di controllare attivamente gli elementi
scambiati. Esso fornisce anche supporto alle diverse implementazioni di un modello
comune, evitando quindi operazioni onerose ed anche costose di conversione dei
dati, a volte con probabile perdita di informazioni.
È possibile costruire un modello CIM sfruttando tre diverse tecnologie:
-
CIM Core Model: questa tecnica risulta assai teorica, infatti si tratta di uno
schema concettuale di oggetti con semplici relazioni. Attualmente è preferita
grazie alla sua semplicità ed immediatezza. Il Core Model viene utilizzato pure
nei settori più recenti dell’IT, come quello dei middleware, del cloud storage e
dei servizi di rete. Infine ha facile estensibilità, in modo da essere prontamente
modificato secondo le idee del produttore.
-
CIM Common Model: questa tecnica permette di delineare gli oggetti e le loro
relazioni in maniera strutturale, e quindi usa uno dei più diffusi linguaggi
dell’ingegneria del software, l’UML. Si tratta di un approccio ovviamente
orientato agli oggetti, e questi ultimi vengono identificati come classi e le
relazioni che li caratterizzano come associazioni, aggregazioni, composizioni,
dipendenze, responsabilità, e così via.
-
CIM Extension Schemas: si tratta di un insieme di estensioni opzionali del
Common Model al fine di arrivare a specifici casi d’uso.
In generale, il Core Model rappresenta un punto di partenza per delineare le prime
funzionalità di un sistema software, mentre il Common Model è utilizzato per
dettagliare la struttura di un sistema nell’ambito della IT mediante la progettazione
o il software design. Se poi si ritiene necessaria una funzionalità aggiuntiva non
contenuta nel Common Model, vanno consultate le Extension Schemas per
verificare la sua presenza, ed in caso affermativo, questa viene integrata.
4.3.2 Rappresentazione grafica di un CIM
Per il Common Information Model non viene utilizzata un’implementazione grafica
di riferimento universale, ma ci sono quattro modi diversi per descrivere
interattivamente la gestione degli oggetti nella Information Technology.
Lo schema che verrà utilizzato è riportato nella pagina successiva.
42
Schema illustrativo basato sui meccanismi e sul funzionamento di un CIM.
Si vogliono delineare queste quattro diverse modalità di gestione.
1. Repository (deposito): è un ambiente di un sistema informatico in cui
vengono gestiti i metadati, attraverso tabelle relazionali, regole e motori di
calcolo.
2. Applicazione DBMS: preleva tutte le definizioni contenute in un diagramma
concettuale e li trasforma in un vero database implementato in una
tecnologia prescelta. I più diffusi sono i RDBMS, cioè i database relazionali.
3. Applicazione degli oggetti: consente di definire i dati di riferimento come
oggetti o classi, mentre un uso di tale oggetto prende il nome di istanza.
4. Scambio dei parametri: qua si ha il passaggio delle istanze delle classi tra le
specifiche applicazioni come se fossero parametri, usufruendo così del
contenuto informativo del Common Information Model.
43
Riferimenti bibliografici
William Stallings – Operating Systems, Internals and Design Principles – 7th edition
Editore: Prentice Hall
RaiNews – La nuova Guerra fredda
URL website: http://www.rainews.it/dl/rainews/articoli/rRussia -senza-precedenti-minacceUsa-su-attacchi-informatici-1a1658c3-f543-4876-b579-75afeb4417d3.html
NIST – Guide to Computer Security and Log Management
URL website: http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800 -92.pdf
Renaud Bidou – Security Operation Center Concepts & Implementation
URL website: http://www.iv2-technologies.com/SOCConceptAndImplementation. pdf
Kelly M. Kavanagh, Oliver Rochford, Toby Bussa – 2016 Magic Quadrant for SIEM
URL website: https://www.securelink.be/wp-content/uploads/sites/2/2016 -Magic-Quadrantfor-SIEM.pdf
LogRhythm’s security intelligence platform
URL website: https://logrhythm.com/pdfs/datasheets/lr -a4-security-intelligence-platformdatasheet.pdf
LogRhythm – Data Processing and Indexing Tiers
URL website: https://logrhythm.com/pdfs/datasheets/lr -processing-and-indexingdatasheet.pdf
DMTF – Common Information Model Infrastructure
URL website:
http://www.dmtf.org/sites/default/files/standards/documents/DSP0004_2.7.0.pdf
44
Scarica