UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa...

121
UNIVERSITÀ DI PISA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA SPECIALISTICA IN TECNOLOGIE INFORMATICHE "Centralizzazione e correlazione dei log per la rilevazione di incidenti e per un efficace analisi investigativa. Un caso pratico:CS-MARS(Cisco Security Monitoring Analisys and Response System)" Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: Prof. Fabrizio Baiardi Vito Pietrapertosa Ing. Emanuele Briganti Controrelatore: Prof. Vincenzo Ambriola ANNO ACCADEMICO 2005-2006

Transcript of UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa...

Page 1: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

UNIVERSITÀ DI PISA

FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI

CORSO DI LAUREA SPECIALISTICA IN TECNOLOGIE

INFORMATICHE

"Centralizzazione e correlazione dei log per la rilevazione di incidenti e per un efficace analisi investigativa. Un caso pratico:CS-MARS(Cisco Security Monitoring Analisys and Response System)"

Tesi di Laurea Specialistica di

Vito Pietrapertosa

Relatori: Candidato: Prof. Fabrizio Baiardi Vito Pietrapertosa

Ing. Emanuele Briganti Controrelatore: Prof. Vincenzo Ambriola

ANNO ACCADEMICO 2005-2006

Page 2: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

2

Dedicata ai miei nonni

Donato e Vito

Page 3: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Sommario

SOMMARIO..................................................................................................................................................................... 3

INTRODUZIONE ............................................................................................................................................................ 6

STRUTTURA DELLA TESI ................................................................................................................................................. 9 1.1 CS MARS CONCETTI GENERALI ............................................................................................................................. 10

1.1.1 Il tab Summary è costituito da tre sottotab .................................................................................................... 14 1.2 INCIDENTS INVESTIGATION .................................................................................................................................... 16 1.3 CORRELAZIONE DEGLI INCIDENTI........................................................................................................................... 19 1.4 LA MITIGATION ...................................................................................................................................................... 20 1.5 I FALSI POSITIVI...................................................................................................................................................... 21

1.5.1 Il tab Query/Report .................................................................................................................................. 23 1.6 LE REGOLE ............................................................................................................................................................. 24

1.6.1 Il tab Rules .................................................................................................................................................... 24 1.6.2 Il tab Management ......................................................................................................................................... 28 1.6.3 Il tab Admin................................................................................................................................................... 29

2.1 TEST EFFETTUATI PER LA RILEVAZIONE DELLE SCANSIONI..................................................................................... 30 2.3 OBIETTIVO 1 .......................................................................................................................................................... 35

2.3.1 Test di scansione di tipo 1 .............................................................................................................................. 35 2.4 OBIETTIVO 2 .......................................................................................................................................................... 36

2.4.1 Test di scansione di tipo 2.............................................................................................................................. 36 2.5 OBIETTIVO 3 .......................................................................................................................................................... 39

2.5.1 Test di scansione di tipo 3 .............................................................................................................................. 39 2.6 OBIETTIVO 4 .......................................................................................................................................................... 40

2.6.1 Test di scansione di tipo 4.............................................................................................................................. 40 2.7 OBIETTIVO 5 .......................................................................................................................................................... 42

2.7.1 Test di scansione di tipo 5 .............................................................................................................................. 42 2.8 RISULTATO............................................................................................................................................................. 43 2.9 CONFIGURAZIONE REGOLE PER LA RILEVAZIONE DELLE SCANSIONI....................................................................... 44 2.10 CONCLUSIONI ....................................................................................................................................................... 46

CAPITOLO 3.................................................................................................................................................................. 49

3.1 TEST PER LA RILEVAZIONE DI ATTIVITÀ PEER TO PEER .......................................................................................... 49 3.2 CONFIGURAZIONE DEI DISPOSITIVI ......................................................................................................................... 52 3.3 RILEVAZIONE P2P CON L’AIUTO DELL’IPS ............................................................................................................ 54

3.3.1 Impostiamo il blocco dei peer to peer........................................................................................................... 54 3.3.2 Le contromisure ............................................................................................................................................. 56

3.4 IL PROBLEMA DEI FALSI POSITIVI............................................................................................................................ 59

3

Page 4: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

4

CAPITOLO 4.................................................................................................................................................................. 61

4.1 TEST SULLA RILEVAZIONE DI ALCUNI ATTACCHI .................................................................................................... 61 4.2 ANALISI E CONDUZIONE DEGLI ATTACCHI .............................................................................................................. 65 4.3 ANALISI DELLE VULNERABILITÀ RILEVATE............................................................................................................. 66 4.4 VULNERABILITÀ FTP .............................................................................................................................................. 68 4.5 ATTACCO DI TIPO “DENIAL OF SERVICE” AL MAIL SERVER .................................................................................... 70 4.6 ATTACCO DI TIPO “BRUTE FORCE” AL FIREWALL .................................................................................................... 73 4.7 ATTACCO “BRUTE FORCE” AL SERVER WINDOWS 2003 .......................................................................................... 75 4.8 ATTACCO AL WEB SERVER MICROSOFT-IIS/6.0..................................................................................................... 76 4.9 ATTACCO AL DB ORACLE...................................................................................................................................... 79

CAPITOLO 5.................................................................................................................................................................. 82

5.1 ATTACCHI COMPLESSI CONDOTTI IN PIÙ PASSI ....................................................................................................... 82 5.2 TECNICA STATEFULL .............................................................................................................................................. 83 5.3 LA TECNICA BASATA SULLE SIGNATURE ................................................................................................................ 83 5.4 MODELLARE L’ATTACCO ....................................................................................................................................... 84 5.5 ATTACCHI COMPLESSI HOST BASED ........................................................................................................................ 92 5.6 ATTACCHI DINAMICAMENTE MUTEVOLI................................................................................................................ 101

CONCLUSIONI............................................................................................................................................................ 103

APPENDICE A............................................................................................................................................................. 106

BIBLIOGRAFIA .......................................................................................................................................................... 118

SITOGRAFIA............................................................................................................................................................... 120

RINGRAZIAMENTI ................................................................................................................................................... 121

Page 5: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

5

Page 6: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

6

Introduzione Il valore strategico e la crescente complessità delle reti informatiche rendono sempre

più stringente la necessità di dotarsi di strumenti per la loro gestione e per il controllo

delle risorse coinvolte. L’amministratore di rete e/o gli amministratori delle politiche

di sicurezza devono poter disporre di informazioni affidabili non solo sull’utilizzo

della rete e delle sue componenti, ma anche di quelle necessarie per ottimizzare le

risorse, correggere le configurazioni e inibire comportamenti che possano

compromettere l’efficienza e la sicurezza della rete. Queste informazioni possono

essere dedotte dai messaggi di log, che descrivono tutte le attività effettuate dai vari

dispositivi, sia in maniera autonoma sia per conto degli utenti. L’analisi dei log è

però gravosa, perchè il “volume grezzo” dei dati generati è notevole. Di conseguenza,

la raccolta, il filtraggio e la correlazione dei log deve essere delegata a strumenti

automatici che siano in grado di memorizzare, gestire ed analizzare queste

informazioni per conto dell’utente. Inoltre, l’utente deve poter accedere alle varie

funzioni tramite una opportuna interfaccia. La soluzione adottata deve essere non solo

affidabile, ma anche scalabile, flessibile ed in grado di gestire - con criteri univoci -

dispositivi di costruttori diversi e con diversi obiettivi, sia locali che remoti. In

un’ottica di investimenti a medio-lungo termine, occorre che la soluzione sia inoltre

compatibile con futuri sviluppi ed ampliamenti fisiologici della rete. L’adozione di un

valido sistema di monitoraggio di rete offre vantaggi immediati, quali la possibilità di

quantificare l’uso della banda aziendale, di valutare le attività delle utenze, di

individuare attività a rischio. Contemporaneamente, questa attività è indispensabile

per pianificare interventi di carattere evolutivo della rete, che ne migliorino la

funzionalità e ne ottimizzino i processi. L’adozione di un sistema automatico di

monitoraggio permette di risolvere un paradosso generato dalla crescita delle

piattaforme di sicurezza utilizzate dal gestore di una rete. Infatti, se da un lato gli

strumenti tecnologici sono fondamentali per minimizzare i rischi, dall’altro la mole

dei log che essi generano è talmente elevata che spesso non si è in grado di

controllarli in modo razionale ed efficace con una visione integrata e globale.

Ottenere un'immagine di dello stato complessivo, dal punto di vista delle prestazioni e

della sicurezza, di una infrastruttura ICT è un’attività tutt’altro che facile. Inoltre, la

Page 7: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

7

soluzione di utilizzare gli strumenti standard in dotazione ad ogni prodotto è di solito

troppo dettagliata e specifica e non permette una visione completa. Per determinare

correttamente cosa sta avvenendo è infatti necessario integrare le informazioni di più

fonti. Ad esempio, solo osservando lo stato dei firewall e, contemporaneamente,

considerando le informazioni restituite dagli IDS si possono dedurre le informazioni

utili sulla dinamica e l’estensione di un attacco. Queste informazioni, se gestite in

tempo reale, permettono di definire la risposta più adatta per non interrompere i

servizi forniti dai sistemi e di non soffrire delle perdite di tempo causate da falsi

allarmi.

Uno dei rischi significativi della sicurezza informatica è quello di provare un falso

senso di sicurezza: è possibile valutare il grado di sicurezza offerto da una certa

soluzine solo si può valutare il corretto funzionamento delle contromisure. La

gestione degli allarmi in tempo reale permette di evidenziare gli elementi più critici

per la sicurezza, garantendo una elevata reattività anche in presenza di dati

loscamente connessi.. La maggior parte dei danni al sistema informativo, siano essi la

propagazione di un worm che l’attacco ad un database aziendale sono minimizzabili

grazie alla rapidità di intervento. Coniugare il sistema di centralizzazione e

correlazione di base con gli strumenti dell’E-mail, del SMS o della console permette

di controllare tutti i parametri di sicurezza di interesse e reagire di conseguenza.

Oltre ai sistemi di sistemi di correlazione in tempo reale ne esistono altri più

complessi e quindi più lenti nell’elaborazione delle informazioni. Questi sistemi

producono dei report periodici sull’insieme dei dati di sicurezza, permettendo di

evidenziare anche quei segnali più deboli che normalmente possono essere trascurati

come, ad esempio, lo scanning su un’unica porta ma su tutta la rete, la ripetizione di

login sbagliati prima che venga disabilitato l’account, la ripetizione di tentativi di

accesso falliti anche con account differenti ma su uno stesso sistema, tentativi di

escalation di privilegi su macchine di minore importanza. Non è possibile escludere a

priori la possibilità che un nuovo tipo di attacco, o la fiducia mal riposta in un

dipendente, permetta l’accesso non autorizzato, la modifica o la cancellazione delle

informazioni aziendali. In questo caso, la possibilità di gestire in modo appropriato il

consolidamento dei log permette di analizzare i metodi e le tecniche utilizzate violare

le politiche di sicurezza, fornendo le prove non falsificabili di quanto è avvenuto. E’

evidente che risultati come questi non sono ottenibili semplicemente installando un

Page 8: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

8

dispositivo, ma serve selezionare e configurare la soluzione che offre il miglior

compromesso tra costo e risultati.

Tutti i vari problemi discussi evidenziano la necessità di monitorare e analizzare le

attività di ambienti sempre più eterogenei, centralizzando l’investigazione e l’analisi

dei dati. CS MARS (Cisco Security Monitoring Analisys and Response System) è un

dispositivo pensato per risolvere i vari problemi evidenziati in precedenza e che.

può avere due ruoli fondamentali per aumentare la sicurezza della rete.

• contribuisce ad aumentare la qualità della sicurezza della rete fornendo un

supporto per la comunicazione tra i vari dispositivi.

• permette di mitigare situazioni critiche con tempi di risposta in tempo reale.

L’obiettivo di questa tesi è quello di valutare tecnicamente le potenzialità del

dispositivo mediante numerosi test qualitativi. Le strategie di valutazione adottate si

basano sulle conoscenze dei protocolli di rete che forniscono la base per le varie

analisi considerate. Abbiamo cercato di misurare sia la capacità di rilevare attività

significative per la sicurezza della rete sia la precisione di MARS in fase di

rilevazione di scansioni, studiando se e come esso era in grado di distingure le

potenziali attività di interesse per la sicurezza complessiva quali, ad esempio, traffico

p2p, attacchi semplici, attacchi complessi, attacchi multistep e host based. La

valutazione dei risultati ha tenuto conto delle seguenti caratteristiche:

• Completezza: rilevamento di tutti gli attacchi (numero di falsi negativi)

• Accuratezza: rilevamento corretto (numero di falsi positivi)

• Performance di processing: numero di eventi analizzati al secondo

• Risposta agli attacchi

• Il grado di personalizzazione del dispositivo

L’ultimo punto sintetizza la capacità di poter modellare, attraverso

personalizzazione della configurazione del dispositivo, quelle attività di rete che non

sono rilevate nella configurazione standard e che dipendono quindi dalla specifica

rete considerata.

Page 9: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

9

Struttura della tesi

I vari capitoli della tesi esaminano in maniera più approfondita i concetti presentati in

questa introduzione. La struttura dei capitoli è la seguente:

Capitolo 1: CS MARS concetti generali

Il capitolo descrive CS MARS, un dispositivo che permette di monitorare analizzare e

correlare i log generati da dispositivi firewall, router, switch, e sistemi operativi.

Capitolo 2: Test effettuatati per la rilevazione delle scansioni

Questo capitolo descrive alcune modalità di scansioni, i risultati ottenuti con la

configurazione di base di MARS e quelli ottenuti creando delle regole ad hoc.

Capitolo 3: Test per la rilevazione di attività Peer to Peer

Questo capitolo descrive i vari problemi da affrontare per rilevare le attività peer to

peer, e valuta la precisione di MARS con configurazione standard e con

configurazione personalizzata da regole specifiche.

Capitolo 4: Test sulla rilevazione di alcuni attacchi

Questo capitolo descrive alcune modalità standard di attacco ed analizza la

precisione del dispositivo nella rilevazione delle attività sospette.

Capitolo 5: Attacchi complessi condotti in più passi

Questo capitolo descrive attacchi complessi costituiti da più passi e analizza la

precisione di MARS con una configurazione personalizzata da regole che modellano

tali attacchi.

Conclusioni: questa sezione riassume brevemente il lavoro svolto concludendo con la

nostra valutazione.

Page 10: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

10

Capitolo 1

1.1 CS MARS concetti generali In questo capitolo descriveremo uno degli strumenti utilizzati per effettuare alcuni

test relativi ad attacchi sulle reti.

CS MARS è l ’abbreviazione di Cisco Security Monitoring, Analysis and Responce

System, termini che mettono immediatamente in risalto le caratteristiche migliori di

questo dispositivo di terza generazione. MARS è in grado di raccogliere eventi grezzi,

chiamati comunemente “Log”, da altri dispositivi di rete, correla eventi in sessioni e

analizza profili di traffico rilevando anomalie. Inoltre è in grado di analizzare

incidenti di rete e progettare un percorso adeguato per esaminare vulnerabilità di

host e vulnerabilità correlate a scansioni. La maggior parte dei dispositivi di rete quali

firewall, router, switch, etc.., sono equipaggiati di un sistema di monitoring che

permette di tenere traccia delle attività svolte. Tali informazioni sono strutturate in

maniera diversa a seconda delle case produttrici e possono essere archiviate in un file

oppure inviate verso un raccoglitore di log chiamato syslog server. MARS raccoglie e

interpreta i log generati dalla maggior parte dei vendor. Il meccanismo di raccolta è

abbastanza semplice: ogni dispositivo viene configurato settando l’indirizzo ip di

MARS come syslog server. Dall’altra parte, MARS deve conoscere l’indirizzo ip dei

dispositivi generatori di log e un loro account necessario per diverse funzioni descritte

nei capitoli seguenti.

La caratteristica che rende questo dispositivo veramente unico è la cosiddetta

“mitigation” cioè un meccanismo che prevede contromisure immediate a Livello 2 o

a Livello 3 dello, stack dei protocolli,con una tempestività nell’ordine di pochi click.

MARS possiede poi delle caratteristiche che facilitano l’interpretazione delle attività

sulla rete spesso confuse e incomprensibili, tra queste citeremo i meccanismi di

reportistica e di investigazione di un incidenti. Prima di addentrarci nel vivo della

questione sarebbe opportuno dare alcuni cenni circa l’architettura e alcuni concetti

fondamentali che ne facilitano la comprensione. Il dispositivo è costituito da

Page 11: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

11

hardware appositamente scelto per sopportare i carichi di traffico che devono essere

analizzati in tempo reale.

Da un punto di vista delle componenti, MARS è corredato di :

• Dischi rigidi Hot-swap RAID 1

• Multiprocessori

• Alimentazione ridondante

• Sistema software watchdog

• Intel Pentium or Xeon processor(s)

• DRAM memoria

• Interfaccia di rete 10/100/1000

• DVD-ROM drive

• Porta seriale

• Software proprietario

• Database Oracle

• Linux kernel v4.1.2

• Tomcat Web Server

Tutta la logica applicativa si basa su quattro concetti fondamentali:

• Gli eventi: messaggi grezzi inviati a MARS da dispositivi di rete.

• Sessioni: gruppi di eventi che hanno caratteristiche simili.

• Gli Incident: sessioni rilevate per inferenza di regole.

• Le regole: modelli che descrivono attività confrontate con le sessioni.

Page 12: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Tenendo presente i concetti appena espressi, è possibile adesso comprendere meglio

come lavora MARS: gli eventi arrivano a MARS da dispositivi di rete,

successivamente vengono bufferizzati, analizzati e formattati. Le informazioni appena

normalizzate vengono ulteriormente controllate e quelle che hanno caratteristiche

simili vengono accorpate in gruppi di sessioni. Le sessioni sono definite insiemi di

eventi, accomunati dallo stesso indirizzo Ip sorgente e lo stesso indirizzo Ip di

destinazione. Occorrenze di sessioni vengono confrontate con il modello descritto

dalle regole e se si verificano delle analogie viene generato un incident. Tali

Incidenti sono tempestivamente visualizzati nella pagina principale della console. Le

informazioni che coincidono con le Drop Rules vengono filtrate mentre tutte le altre

vengono memorizzate nel database. Ricordiamo che le Drop Rules sono regole che

individuano il traffico da filtrare.

Graficamente MARS si presenta con una console centralizzata, mostrata in fig.1,

dove vengono visualizzate tutte le attività in tempo reale:

12

Page 13: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig 1 La console presenta diversi tab che si dividono in:

• Summary dove vengono visualizzate le informazioni più importanti.

• Incidents per gestire la “incidents investigation”

• Query/Report per gestire la reportistica e informazioni del database

• Rules per gestire le regole di default e quelle create dall’utente

• Management per la gestione degli account per l’accesso a MARS e la gestione dei ruoli

• Admin per aggiungere, eliminare, registrare, configurare i dispositivi che inviano i log.

• Help che fornisce una documentazione on line

13

Page 14: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

1.1.1 Il tab Summary è costituito da tre sottotab

• Il sotto tab Dashboard

• Il sotto tab Network status

• Il sotto tab My report

Il sottotab principale è il Dashboard diviso in quattro aree per una rapida

visualizzazione di tutte le reti connesse. Nella parte principale del dashboard ci sono i

cinque Incidenti più recenti mentre nella parte sinistra sono visualizzate le statistiche

di eventi, incitents, falsi positivi. Sotto gli Incidenti sono visualizzati rispettivamente

il grafo degli attacchi alla rete (fig. 2), il grafo di tutta la topologia della rete e i

report che contengono informazioni statistiche.

Il sotto tab Network status descrive lo stato della rete con grafici che specificano

diverse informazioni. Qui è possibile trovare tutte le informazioni circa il numero di

eventi in tempo reale, gli eventi totali ricevuti in un certo periodo di tempo oppure è

possibile ricavare informazioni sul traffico medio giornaliero, mensile etc.

Il sotto tab My report tiene traccia di quei report che l’utente utilizza frequentemente

oppure di tutti i report personalizzati e che vengono utilizzati di frequete. I report

possono rappresentare qualsiasi tipo di informazione sia in tempo reale sia per un

periodo di tempo ben determinato. I report sono molto utili per capire l’andamento di

grandezze come la quantità degli eventi inviati nell’unità di tempo ma soprattutto

quali eventi vengono generati. I report che rappresentano le medie o le percentuali

degli eventi o dei protocolli utilizzati sono molto importanti per capire le abitudini di

una rete. Eventi, che in media, non sono nella norma, nascondono tentativi di

intrusioni o qualche anomalia nella rete.

fig. 2

14

Page 15: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Il grafo degli attacchi, mostrato in figura 2, mette in risalto gli ultimi cinquecento

eventi relativi agli incident generati nelle ultime ventiquattro ore. Il grafo è costituito

da nodi rappresentati dai dispositivi mentre gli archi orientati rappresentano le

sessioni.

Clickando su un arco è possibile visualizzare tutte le sessioni rappresentate dal link e

il percorso seguito dal flusso del traffico. Clickando su un dispositivo è possibile

avere informazioni generali sul suo stato: indirizzo ip, se è un dispositivo attivo, se sta

inviando correttamente i log.

fig. 3

I grafici, in fig. 3, visualizzano lo stato della rete in tempo reale fornendo

informazioni circa le sorgenti che generano il traffico e le destinazioni, il regime di

eventi che arrivano al MARS, le regole utilizzate più di frequente, la gestione dei

dispositivi etc. Le modalità di visualizzazione per i grafici sono molteplici ed è

possibile anche modificare il refresh delle visualizzazioni.

Il tab Incidents permette di gestire gli eventuali incidenti. Un utente con sufficienti

diritti accede al tab e può effettuare ricerche per codice, per tipo di Incidente, i quali

15

Page 16: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

sono organizzati in ordine cronologico cioè dal più recente al meno recente oppure

per ordine e per tipo di severità. Inoltre è presente una sezione della quale sono gestiti

Incidenti secondo i casi di studio assegnati cioè vengono assegnati agli utenti Analisti

che si occupano della investigazione. Finita l’analisi e compreso il problema,

l’incident è risolto quindi chiuso.

1.2 Incidents Investigation Ogni incident visualizzato è caratterizzato da una serie di informazioni che mettono

in risalto :

• Cosa è successo

• A chi è successo

• Quando e come è successo

L’incident a seconda della regola che lo ha generato può essere più o meno grave. La

fig. 4 mostra le tre tipologie rosso, verde e giallo:

fig. 4

• Rosso segnala un incident di massima allerta che deve immediatamente

essere preso in considerazione.

• Giallo segnala tentativi di attacco che sono stati respinti ma che devono essere

analizzati per capirne meglio la natura.

16

Page 17: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

• Verde segnala un Incident che può essere stato causato da errori di

configurazioni, tentativi di scansioni, o variazioni drastiche del volume di

traffico.

A ogni Incidente generato associato un identificativo unico che permette

successivamente di individuarlo ed effettuare controlli incrociati in modo da

investigare sulle attività sospette.

Ovviamente ogni Incidente è accompagnato da una descrizione sia dei tipi di eventi

che lo caratterizzano sia del modello di attacco rappresentato dalla regola che lo ha

generato.

Un esempio di Incidente e di correlazione è un tentativo di scansione seguito da un

tentativo di penetrazione nella rete. L’Incidente include anche una descrizione della

notifica generata dalla regola, un time range cioè l’intervallo di tempo entro il quale si

è verificato, un link che rimanda alla visualizzazione del grafo e un link che rimanda

a una visualizzazione più dettagliata mostrata in fig. 5:

.

fig. 5

Nella figura 5 vengono mostrate in dettaglio tutte le caratteristiche dell’Incident :

è da notare come oltre agli elementi già descritti compaiono anche elementi circa le

sessioni, indirizzi Ip e porta sorgente, indirizzo Ip e porta destinazione, tipo di

protocollo e il tipo di dispositivo che lo genera.

17

Page 18: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

18

MARS dispone anche di diversi privilegi di accesso che dipendono dai ruoli assegnati

ai vari utenti:

• Administrator: ha un accesso incondizionato per tutte le modifiche e

configurazioni.

• Security Analist: ha accesso alle funzioni di MARS per quanto riguarda

“l’incident investigation” ma non può effettuare modifiche sulle

configurazioni.

• Operatore: può avere visibilità delle varie visualizzazioni e reportistiche

• Notification Only: non ha accesso al MARS ma riceve notifiche sullo stato

della rete e sulla reportistica

I ruoli sicuramente più interessanti sono quelli di Amministratore e Security Analist.

Quest’ultimo analizza gli Incidenti generati. Lo studio prevede un percorso ben

definito che è caratterizzato da piccoli passi consecutivi che facilitano sia l’utilizzo di

questo strumento sia la comprensione di quello che accade sulla rete.

L’analista quindi accede a MARS e seleziona un Incident nella coda; la quale può

essere ordinata cronologicamente dal più recente al meno recente, oppure è possibile

filtrare gli Incident per livello si pericolosità. Selezionato l’incident si procede

individuando la regola che lo ha generato e l’attività che descrive. L’investigazione

continua studiando il grafo di attacco, il dispositivo sorgente. Successivamente si

passa all’analisi delle sessioni e quindi allo studio degli indirizzi Ip sorgente e

destinazione, delle porte utilizzate dai protocolli e dai servizi. Tutte le sessioni

riportano il tempo esatto in cui sono state generate e l’incident visualizza il periodo di

tempo che abbraccia tutte le sessioni.

Page 19: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

1.3 Correlazione degli incidenti

Eventi, sessioni e altri elementi sono contenuti negli Incidenti. A volte però si

verificano attività più complesse che generano diversi Incidenti in tempi diversi. In

questo caso MARS unisce gli Incidenti secondo una specifica correlazione. Ad

esempio un tentativo di penetrazione eseguito in tempi diversi genera un Incidente

che unisce tutti i diversi tentativi. A seconda della frequenza e dal risultato conseguito

dall’attacco, MARS correla gli eventi e genera un Incidente che riassume globalmente

cosa è accaduto. Un esempio è il tentativo ripetuto di login su un sistema; sbagliando

la password per almeno tre volte MARS genera un Incidente che descrive un

tentativo di intrusione. Se invece dopo al più due tentativi, il login va a buon fine

allora MARS notifica un Incident che descrive l’accesso di un utente al sistema. La

figura 6 descrive la regola e la correlazione degli eventi.

fig. 6

19

Page 20: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

20

1.4 La mitigation In casi di tentativi di attacco violenti o comunque azioni invasive che creano Denial

of service è possibile scorrere nell’incident e clickando sul link “mitigate”

intraprendere delle azioni di contromisure. La mitigation fornisce una serie di

soluzioni che vanno a modificare la configurazione dei dispositivi interessati da

eventi critici. Se un host di una rete è stato infettato con un worm e se tale worm

cerca di propagarsi, un incident appropriato viene visualizzato. Dal link Mitigate è

possibile scegliere le contromisure da adottare. Tali soluzioni sono scelte dall’utente

ma vengono completamente eseguite da MARS in maniera del tutto automatica.

Questo è possibile perché il dispositivo è stato registrato nel database di MARS con il

suo indirizzo ip e con un accout per l’accesso. Infatti, selezionata la soluzione da

adottare, MARS accede al dispositivo con l’account fornito in fase di registrazione e

modifica la configurazione. Le soluzioni possono essere diverse a seconda del

problema e a seconda delle possibilità dei dispositivi. Se l’host interessato dal worm

si trova in una rete in cui c’è un switch che implementa la mitigation, MARS può

accedervi e creare una access list per l’indirizzo IP dell’ host al fine di bloccare il

traffico maligno. Le soluzioni proposte possono essere drastiche, infatti un evento

di massima allerta che descrive un tentativo riuscito di intrusione può richiedere la

massima tempestività nelle contromisure.

In questo caso “la mitigation” potrebbe non andare tanto per il sottile e suggerire

l’isolamento di tutta la rete così da impedire all’intruso di provocare danni

potenzialmente irreparabili.

Ovviamente da un punto di vista tempistico una “mitigation” immediata presuppone

una soluzione non elegante e brutale talvolta ridotta a un solo comando.

Invece una mitigation più precisa presuppone diversi accorgimenti ma maggior

tempo per metterla in pratica perchè richiede più comandi. Quindi in base alle

esigenze e alle situazioni MARS propone delle soluzioni proporzionali al fattore di

rischio della rete.

Page 21: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

In fig. 7 sono riportati alcuni esempi di soluzioni di mitigation proposti da MARS a

seguito di tentativi di intrusione via ssh:

fig. 7

1.5 I falsi positivi Incidenti che analizzati, non costituiscono minacce, possono essere catalogati come

falsi positivi. I falsi positivi sono Incidenti che descrivono attività sospette non vere.

Si possono catalogare tipi di Incidenti:

• Dovuti a traffico che genera un allarme causato da eventi di rete spesso non

malevoli

• Contromisure non adeguate che generano pacchetti considerati sospetti

• Allarmi di violazione di protocollo causati da traffico di rete sconosciuto

spesso dovuto da errori di scrittura di codice client

• Allarmi che vengono generati per qualche strana ragione, spesso dovuti a bug

nel software

• Allarmi generati inconsciamente da qualche azione manuale degli utenti.

21

Page 22: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

22

Data la loro varia natura è anche difficile riconoscerli e quindi eliminarli. MARS

fornisce un sistema che fondamentalmente permette di imparare dalla storia: falsi

positivi che si sono verificati in passato possono servire a rilevare futuri falsi positivi.

Quando un Incident viene visualizzato e ci si accorge che è un falso positivo, è

possibile applicare la modulazione, cioè adeguare MARS, verso una rilevazione di

Incidenti quanto più fedele alla realtà. La pagina di modulazione permette di settare

indirizzi, porte, protocolli che conosciamo essere innocui. Molto spesso in alcune

realtà aziendali vengono dedicate delle porte per alcuni servizi. È possibile che per

motivi implementativi alcune porte dedicate ai servizi e conosciute come tali da

MARS, non possono essere utilizzate, quindi se ne utilizzano altre. Il traffico

generato dalle richieste per un servizio su porte sconosciute può generare falsi

positivi. La modulazione permette di far “apprendere ” a MARS che determinati

flussi sono dovuti a traffico di rete normale e quindi non sono tentativi di attacco o di

intrusione.

MARS ricorda la storia dei falsi positivi e in base a questi cerca di eliminarne altri.

Ogni Incident rilevato ha un link per la modulazione dei falsi positivi che vengono

gestiti e divisi in :

• Falsi positivi non confermati che hanno bisogno della notifica per essere

considerare tali.

• Falsi positivi confermati dall’amministratore

• Positivi confermati dall’amministratore cioè attacchi che erano considerati

falsi positivi

• Falsi positivi confermati dal sistema.

Una volta accertato la natura di un evento si può quindi confermare o smentire MARS

in maniera tale da aumentare la qualità del monitoraggio.

Una modulazione con criterio implica una buona conoscenza delle attività, dei

protocolli, dei software e dei servizi utilizzati in modo tale da capire e soprattutto

“far capire a MARS” le abitudini della rete.

Page 23: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

23

1.5.1 Il tab Query/Report

Il tab Query/Report permette di effettuare query o report visualizzati in formato

html, pdf oppure cvs. Le query sono divise per gruppi. Ogni query ha una tipologia

associata che rappresenta il tipo di attività che vogliamo utilizzare, ad esempio attività

di tipo peer to peer oppure attività di attacchi DoS etc. A ogni tipologia di query

possono essere associate sotto query che specificano le informazioni da ricavare. Le

sotto query sono di due tipi:

• quelle che specializzano il range di tempo nel quale reperire gli eventi; tale

range può essere:

-un Range di date ad esempio dal 01/04/2006 al 01/05/2006

-un Range predefinito settimanale, mensile, annuo.

-un real time Range per query in tempo reale.

• quelle che specificano le sorgenti degli eventi o i tipi di traffico:

-Indirizzo ip del dispositivo

-Range di indirizzi ip

-Tipo di protocollo

-Numero di porta

Ad esempio per sapere se il dispositivo con indirizzo Ip xxx.xxx.yyy.yxd sta

effettuando del peer to peer eseguiano una query con tipo di eventi “p2p” e per sotto

query i parametri “ip del dispositivo ” e “time range = real time ”.

Oltre alle query in tempo reale è possibile effettuare anche delle batch quary cioè

delle query che hanno bisogno di più tempo per essere eseguite e che quindi vengono

schedulate.

Se si vuole sapere quanti eventi ha generato una rete nell’arco del mese allora la

query da eseguire è una “batch query” in quanto la mole di dati non consente una

elaborazione in tempo reale. Le batch query eseguite sono memorizzate in questo tab

ed è sempre possibile consultarle. Ricordiamo che è possibile anche personalizzare

tipi di query; se vogliamo tenere costantemente sott’occhio alcuni eventi di una

determinata rete, possiamo creare un query personalizzata che mantiene i parametri

Page 24: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

24

che altrimenti dovremmo settare ogni volta che si lancia una query. Da un punto di

vista concettuale, la generazione dei report è pressoché identica all’esecuzione delle

query, cambiano ovviamente alcuni parametri.

Per i report ci sono modelli che determinano informazioni sul traffio effettuato, sulla

banda consumata, sui siti più visitati e quant’altro. Come per le query anche per i

report c’è la possibilità di settare alcuni parametri di specializzazione. I report

vengono generati per avere una visione grafica degli andamenti di alcune grandezze

che altrimenti con tabelle e numeri sarebbero meno intuitivi. Graficamente la banda

consumata da un dispositivo, magari divisa per tipo di protocolli utilizzati è molto più

esplicativa di una tabella con dei numeri.

1.6 Le regole

1.6.1 Il tab Rules

Come detto in precedenza tutte le notifiche di Incident vengono generate perché

alcuni eventi inviati a MARS descrivono attività che coincidono con i modelli

rappresentati dalle regole. Entrando più nel dettaglio le regole sono espressioni

regolari che modellano determinate attività. Gli “attacchi”, possono essere facilmente

rilevati in tempo reale se i modelli, rappresentati delle regole, sono simili.Se settate in

maniera opportuna, le regole aiutano a capire se un falso positivo deve essere

cancellato completamente oppure può essere conservato nel database. Queste

decisioni vengono prese in base alle caratteristiche del falso positivo.

Alcuni di essi essere cancellati se esistono incident, generati dagli stessi eventi, in

grado di interpretare correttamente le attività. Quando si analizza il tipo di errore è

conveniente utilizzare l’incident relativo e non quello che è stato dichiarato falso

positivo.

I falsi positivi possono anche essere utilizzati per rilevarne altri, quindi sono tenuti

nel database. In totale MARS dispone di 104 regole di sistema che rilevano

Page 25: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

25

anomalie. Altre sono aggiunte dagli aggiornamenti o comunque è possibile crearle

secondo determinate esigenze.

Tutte le regole sono definite come espressioni regolari e operatori logici. Una

espressione rappresenta un modello di attività. Se una regola è descritta da più

espressioni allora tali espressioni sono legate fra loro da operatori logici.

Siano e1, e2, e3 delle espressioni che specificano modelli di attività in qualche modo

collegati. Se la regola modella un’attività il cui comportamento implica il verificarsi

delle sotto attività e1, e2, e3, allora la regola è descritta come l’AND delle sotto

attività:

e1 AND e2 AND e3

Se la regola deve descrivere una attività che implica il verificarsi delle attività e1, e2

oppure dell’attività e3, tale regola diventa:

(e1 AND e2) OR e3

Laddove è necessario esprimere un certo ordine temporale delle attività, ad esempio

se una regola è definita dall’attività e1 successivamente seguita dall’attività e2,

MARS ha a disposizione la keyword FOLLOWED-BY

Dunque la regola diventa:

e1 FOLLOWED-BY e2

Una regola può avere una o più espressioni, in tal caso ogni espressione ha un

proprio id chiamato offset. Se una regola ha tre offset significa che è composta da tre

espressioni. La figura 8 riporta un esempio di regola:

Page 26: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

fig. 8

Ogni regola è caratterizzara da:

• Una descrizione che identifica il modello di attività rilevato

• Lo stato della regola cioè se è attivata o meno

• Il time range cioè l’intervallo di tempo ammissibile dentro il quale deve

verificarsi l’espressione regolare

• Una serie di offest collegati da operatori logici

Ogni offset ha le seguenti caratteristiche:

• nessuna o più parentesi secondo la precedenza degli operatori

• Indirizzo IP sorgente

• Indirizzo IP destinazione

• Identificazione del servizio

• Una collezione di eventi che lo determinano

• Il dispositivo da cui sono stati generati gli eventi

• Il livello di allarme che può essere rosso giallo o verde

26

Page 27: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

27

• Un contatore settato a un numero che indica quante volte almeno deve

verificarsi l’offset

• Un operatore logico se l’offset è seguito da un altro offset.

In corrispondenza dei campi indirizzi IP sorgente e destinazione possiamo anche

settare delle variabili il cui valore risulta essere un insieme di indirizzi non

necessariamente appartenenti alla stessa rete. Ci sono anche costanti di default che

specificano tutti gli indirizzi: ANY, o variabili che specificano lo stesso ip: SAME.

Allo stesso modo è possibile specificare variabili anche per i servizi e per le porte dei

servizi. Settare una variabile all’interno di un offset significa passare il valore di

queste variabili. La notazione di MARS si avvicina molto a linguaggi di tipo script.

Infatti quando si vuole esprimere il valore di alcune variabili si usa il carattere

speciale “$” seguito dal nome della variabile.

Come detto in precedenza ci sono regole di default cioè già presenti nel database di

MARS, queste regole si chiamano Inspection rule. Le regole che possiamo creare

vengono chiamate User Rule. Le Inspection rules non possono né essere modificate

né essere cancellate. Tuttavia è possibile copiare una Inspection rules facendola

diventare una User rule che può essere modificata o cancellata. Creare una regola è

molto semplice è intuitivo.

La possibilità di lanciare un wizard rende tutto molto semplice, naturalmente creare

una regola vuol dire avere la necessità di modellare e quindi rilevare un’attività

sospetta particolare. In questo caso un buona conoscenza dell’attività in questione in

termini di comportamento è fondamentale per creare una buona regola.

Ad esempio potrebbe essere molto utile creare una regola se vogliamo rilevare attività

particolari di host per determinati protocolli, oppure l’utilizzo di regole “ad hoc” per

rilevare un particolare protocollo o servizio, può aiutare ad evidenziare un problema

che altrimenti sarebbe generalizzato, ancora è possibile aggiornare regole che

descrivono protocolli ormai obsoleti creandone delle simili. E’ il caso dei protocolli

P2P che aggiornano continuamente le porte dei servizi.

Page 28: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

28

1.6.2 Il tab Management

Il tab Management permette di gestire al meglio MARS da un punto di vista

amministrativo.

L’interfaccia ha alcuni link che permettono la gestione degli account e dei privilegi da

assegnare agli utenti creati e pattern di ogni genere utilizzati per altri tab.

Nel tab management è possibile creare un utente e assegnargli i privilegi in funzione

del suo ruolo. Se l’utente farà parte del team “incident investigation” allora i suoi

privilegi saranno di “Security Analist”. Inoltre da qui viene gestita tutta la

personalizzazione dei pattern per quanto riguarda le variabili di query, regole e di

eventi. Il Management offre la possibilità di creare variabili che identificano un tipo

di servizio oppure protocolli che utilizzano una determinata porta. Gli eventi hanno

una loro severità e la personalizzazione di questi passa attraverso la creazione o la

modifica alcuni parametri. Ogni gruppo ha un id, una descrizione, un severità, un

identificativo del dispositivo e un insieme di eventi che lo caratterizzano. Per creare

quindi un gruppo occorre settare tutti i parametri descritti.

Creare un gruppo di eventi è molto utile per definire regole che rilevano attività

rappresentate dai log di dispositivi che MARS non conosce, tali dispositivi hanno

formati di log non interpretabili. È possibile creare dei pattern che identificano delle

reti o un range di indirizzi Ip, che si rivelano essere molto utili quando si vogliono

creare delle regole solo per determinati host della rete. Inoltre questo tab offre la

possibilità di gestire azioni di notifica causate da incident. Poiché un incident

potrebbe significare l’inizio di un attacco distruttivo, il sistema di notifica (via sms,

via mail, via telefono) avvisa l’amministratore circa lo stato delle attività in corso.

Ovviamente possiamo settare il sistema in maniera tale da generare notifiche

immediate per incidenti disastrosi e notifiche meno immediate per quelli che non

richiedono particolari interventi.

Page 29: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

29

1.6.3 Il tab Admin

Il tab rappresenta l’interfaccia da dove è possibile gestire i dispositivi che inviano

log. Ricordiamo che registrare significa mettere MARS in condizioni tali da dialogare

con il dispositivo per eventuali notifiche o mitigation. Di default, attualmente,

MARS conosce la maggior parte dei dispositivi di rete. Tra i più famosi ricordiamo

Checkpoint, ovviamente Cisco, Junipeer, Net Screen, IIS, McAfee, Snort, Symantec.

Tra questi ci sono anche sistemi Linux, Windows, Solaris cioè sistemi che hanno la

possibilità di inviare dei log interpretabili.

Naturalmente a causa della vasta eterogeneità dei dispositivi, il formato dei log sarà

diverso a seconda dei vendor. La sezione “Device configuration end Discover” offre

la possibilità di aggiungere un dispositivo al database di MARS. Se il dispositivo non

è conosciuto è comunque possibile registrarlo, a patto che sia raggiungibile attraverso

internet. Se il dispositivo non è conosciuto allora i suoi log non sono interpretabili ed

è possibile creare un template che modella il formato degli eventi del dispositivo. Il

template creato sarà registrato con il dispositivo e messo a disposizione per tutti i log

che di quel formato. MARS supporta anche dispositivi che implementano l’intrusion

Prevention System, sistemi in sono in grado di prevenire forme di attacco effettuando

a priori analisi qualitative sui flussi di traffico.

L’IPS è un sistema in grado di bloccare le minacce prima che si diffondano. Un

dispositivo dotato di IPS analizza il contenuto dei pacchetti, controlla la presenza di

traffico maligno che viene bloccato. Il sistema di notifica di log permette di informare

MARS circa il tipo di traffico che transita sulle interfacce del dispositivo

aumentandone la qualità e la precisione del monitoraggio.

Page 30: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

30

Capitolo 2

2.1 Test effettuati per la rilevazione delle scansioni Oggi la tecnologia internet ha avuto una larga diffusione. Il suo impiego consta di più

svariati usi, da quello prettamente domestico all’uso aziendale. Con l’aumento

dell’utilizzo di questa risorsa si è avuto anche una larga diffusione di minacce che si

traducono in termini di virus, spyware, malware e in ultimo ma non per importanza,

di attacchi mirati. Mentre le minacce di tipo virus/spyware sono invasivi verso la

rete e non mirano a un sistema obiettivo particolare, gli attacchi guidati hanno come

un obiettivo il cosiddetto “sistema target”. Molto spesso il “sistema target” viene

individuato o evidenziato attraverso una fase che precede l’attacco vero e proprio.

È in questa fase che un attaccante utilizza strumenti per la scansione di reti ed è

attraverso questo strumento che ottengono informazioni preziose, fondamentali

per organizzare un attacco.

In questo capitolo ci occuperemo di conoscere e analizzare gli strumenti di scansione

per poi prevedere un meccanismo in grado non solo di bloccare eventuali

informazioni che un attaccante può ricavare ma anche di rilevare i tentativi di

scansione stessa. Infatti conoscere una scansione e individuarne il tipo, risulta essere

un notevole risultato per aumentare le qualità difensive della nostra rete. Le scansioni

possono essere effettuate con una svariata quantità di software “ad-hoc” che a

seconda del modo con cui operano si classificano in strumenti di alta qualità e

precisione e strumenti di bassa qualità.

La qualità di una scansione è sicuramente la precisione del risultato:

una scansione è tanto più precisa quanto più riesce ad avvicinarsi alla vera

topologia del “sistema target” senza però essere rilevata dai sistemi di sicurezza.

Page 31: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

31

Infatti alcune tipologie di reti prevedono strumenti in grado di dissuadere le scansioni

in modo che il risultato di quest’ultime sia fuorviante, oppure la scansione risulta

tanto invasiva da essere rilevata facilmente anche da sistemi target che non hanno un

alto coefficiente di sicurezza. Sicuramente tanto più è accurata la sicurezza del

“sistema target” tanto più deve essere accurata il tipo di scansione da effettuare verso

di esso. Quindi per testare sistemi di sicurezza molto accurati dobbiamo ricorrere a

strumenti che forniscano la possibilità di effettuare scansioni accurate. Viceversa un

sistema è qualitativamente sicuro se è in grado di gestire o meglio rilevare scansioni

accurate. Sotto questo punto di vista abbiamo pensato, per i nostri test, di utilizzare

uno dei migliori (se non il migliore) strumenti per le scansioni: Nessus versione

2.2.7.

Per quanto riguarda il “sistema target” abbiamo pensato a una tipologia di rete con un

alto coefficiente di qualità per quanto riguarda il suo sistema di sicurezza. Questo

coefficiente qualitativo risulta essere un apparato costituito da diversi dispositivi in

grado di rilevare, raccogliere, analizzare, correlare tutte le attività. Solitamente una

rete per utilizzare la risorsa internet deve necessariamente avere un dispositivo in

grado di gestire il traffico. Questo dispositivo può essere un modem, per impieghi

domestici, un router per tutti gli impieghi. Noi affiancheremo al router un dispositivo

firewall e un dispositivo per la raccolta, analisi e correlazione delle informazioni. Un

firewall è un dispositivo in grado di bloccare i tentativi di intrusione dall’esterno e di

notificare, tramite un sistema di monitoraggio remoto, tutti gli eventi che interessano

la rete. Il dispositivo in grado di raccogliere, analizzare e correlare i log è il CS

MARS. Per ulteriori chiarimenti si rimanda alla lettura del capitolo descrittivo. Come

detto più volte, MARS può ricevere log da dispositivi: router, firewall, swicth, server,

basta “registrarli”; analizza i log e correla quelli che provengono dalla stessa rete.

L’analisi prevede un meccanismo di matching con le regole di cui dispone.

Quando arrivano i log, MARS li filtra secondo la rete sorgente, apre le sessioni di

NAT e confronta gli eventi con le sue firme e se si creano le condizioni per le quali

un flusso di log “coincide” con un modello descritto da una regola, MARS produce

un evento complesso e suggerisce le contromisure qual’ora ce ne sia la possibilità. Il

primo passo da effettuare è configurare gli apparati di rete e descrivere il nostro

ambiente per test che effettueremo. La prima parte del nostro percorso sarà quindi

quella di illustrare l’ambiente e i passi di configurazioni effettuati.

Page 32: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig.1

In fig. 1 viene mostrato la semplificazione del nostro ambiente di test.

Infatti ci siamo limitati a descrivere solo quella parte di topologia della rete che ci

interessa. Molto più complessa risulta essere invece la topologia della rete originale

costituita da più di cento canali VPN verso il MARS utilizzati per la raccolta di

informazioni da altrettanti dispositivi. Il firewall che abbiamo adottato è un cisco Pix

501 con versione del frmware 6.3. Tale firewall ha due interfaccie una outside in rete

192.168.253.0 e una inside in rete 192.168.250.0. Sulla interfaccia Outside è stato

collegato un pc portatile ibm thinkpad t23 con indirizzo IP 192.168.253.169.

32

Page 33: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

33

Sulla interfaccia Inside ci sono diversi dispositivi :

• MARS con indirizzo IP 192.168.250.108

• Un PC Linux Distribuzione RedHat 7.3 kernel ver. 2.4.18-3 con indirizzo ip

192.168.250.199. Sul sistema linux abbiamo abilitato il syslog e diretto i log

verso il MARS.

• Sulla rete si sono altri pc e diversi dispositivi di minore importanza.

La configurazione

I passi per registrare un dispositivo sono i seguenti:

Passo 1:

creare un account ssh o telnet in maniere tale da permettere il dialogo tra il

firewall e MARS

Passo 2:

aggiungere il device pix firewall su MARS

Configurati gli apparati e descritti gli strumenti che ci accingeremo ad usare, il nostro

scopo è:

testare il nostro “sistema target” fornendo uno spazio di prove costituite

essenzialmente da tutti i diversi tipi di scansione valutandone i risultati ottenuti.

Da un punto di vista puramente teorico possiamo vedere il nostro scopo come un

insieme di tanti sotto obiettivi. Un obiettivo è raggiunto se il test che lo specifica va a

buon fine, cioè se le ipotesi formulate trovano riscontro nel test. Dunque l’obiettivo

principale è raggiunto se sono raggiunti tutti i sotto obiettivi.

Page 34: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

34

Sia Oj un sotto obiettivo che appartiene all’insieme delle prove dell’obiettivo O.

Allora l’insieme O, con cardinalità n, e si scrive |O| = n, è valido se

O = O1 and O2 and ……and On

Ogni sotto obiettivo Oj è caratterizzato da alcuni parametri che costituiscono le

condizioni dei test. Le condizioni sono :

• configurazione MARS di default indicata dalla costante D_C o

personalizzata, identificata dalla variabile c_p

• nessus configurato in modo da non effettuare ping Icmp e Tcp indicato dalla

costante N_C

• scansioni su un range di porte da 0-10000 (le porte di interesse sarebbero da 0

a 1024 su un totale di 65000) indicato dalla costante S_P

- il traffico globale convogliato al MARS indicato dalla variabile t_g

- la frequenza degli eventi al secondo indicato dalla variabile f_g

- il tipo di tecnica utilizzata per effettuare la scansione indicata dalla

variabile s_u

- il rumore generato dalla scansione indicato dalla variabile f_r

Quindi un generico sotto obiettivo è definito come Oj ( D_C|c_p, N_C, S_P, t_g, f_g,

s_u, f_r )

Le costanti D_C, N_C, S_P saranno parametri per tutti i test, salvo che per obiettivi

non raggiunti. In quel caso utilizzeremmo la variabile c_p.

Il risultato è caratterizzato dal modo con cui il sistema di sicurezza rileva o meno la

scansione e quali informazioni ricava.

L’obiettivo finale è dunque :

Costruire un diagramma discreto dello spazio dei test effettuati, risaltando la

precisione del CS MARS al fine di ricavarne un limite qualitativo delle capacità di

rilevare, correlare e interpretare i passi preliminari di un attacco.

Page 35: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

2.3 Obiettivo 1

2.3.1 Test di scansione di tipo 1

La scansione di tipo 1 un prevede la seguente configurazione.

Hp rilevare la scansione sotto le seguenti condizioni:

- Il traffico convogliato al MARS in Maga Byte risulta essere in media

nell’ordine di 800 Mb al giorno t_g = 800 mb.

- Il regime degli eventi risulta essere di circa f_g = 75 eventi**/sec

- La tecnica di scansione utilizzata è s_u = “TCP Connect”

- Il rumore generato dalla scansione risulta essere f_r = 8 eventi / sec

Il sotto obiettivo è O1 ( D_C, N_C,S_P, t_g, f_g, s_u, f_r ).

La tecnica TCP Connect definita nella variabile s_u è rumorosa perché Nessus tenta

di stabilire una connessione tcp (3.way.handshake) secondo la rfc relativa, su tutto il

range di porte selezionato. Eseguendo Nessus, MARS interpreta la scansione con un

regola, mostrata in fig. 2 e definita nel seguente modo:

fig. 2

La regola genera un evento se nell’arco di un minuto si hanno almeno 20 eventi di

tipo : “FirewallPolicyViolation/ACL o FirewallPolicyViolation/NAT”.

* si precisa che ogni evento è costituito da un record inviato a MARS vale a dire una riga di log che rappresenta

una generica azione rilevata dal sistema target

35

Page 36: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

36

Il risultato ottenuto è il seguente :

per questo tipo di configurazione e sotto queste condizioni il MARS rileva la

scansione fornendo dettagli su tutti i tentativi di connessioni, l’indirizzo IP

dell’attaccante e le porte interessate. Naturalmente un settaggio più accurato dei

parametri della regola aumenta la precisione della rilevazione. Per il momento ci

limitiamo a questa configurazione di base.

2.4 Obiettivo 2

2.4.1 Test di scansione di tipo 2

La scansione di tipo 2 prevede la seguente configurazione

Hp rilevare la scansione sotto le seguenti condizioni:

- Il traffico convogliato al MARS in Maga Byte risulta essere in media

nell’ordine di 800 Mb al giorno t_g = 800 mb.

- Il regime degli eventi risulta essere di circa f_g = 60 eventi†*/sec

- La tecnica di scansione utilizzata è s_u = “Syn Scan”

- Il rumore generato dalla scansione risulta essere f_r = 4 eventi / sec

La tecnica “syn scan” è più discreta della precedente perché non stabilisce

connessioni ma si limita a interpretare solamente i flag di risposta.

* si precisa che ogni evento è costituito da un record inviato a MARS vale a dire una riga di log che rappresenta

una generica azione rilevata dal sistema target

Page 37: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Questa tecnica è stata lanciata con due diversi modi:

• s_u1 = “Insane”, tecnica che massimizza la velocità della scansione a

discapito dell’accuratezza e della discrezione.

Il sotto obiettivo è O2 ( D_C, N_C, S_P, t_g, f_g, s_u1, f_r ).

• s_u2 = “Polite”, tecnica più lenta ma molto più discreta.

Il sotto obiettivo è O2 ( D_C, N_C,S_P, t_g, f_g, s_u2, f_r ).

In entrambi i casi MARS rileva la scansione interpretando la stessa regola, mostrata

in fig. 3, utilizzata per rilevare la scansione con tecnica tcp.

Fig 3

37

Page 38: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

In dashboard la scansione viene rilevata con l’incident mostrato in fig. 4:

fig. 4 Il risultato ottenuto è il seguente :

per questo tipo di configurazione e sotto queste condizioni il MARS rileva la

scansione fornendo dettagli su tutti i tentativi di connessioni, l’indirizzo IP

dell’attaccante e le porte interessate.

38

Page 39: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

39

2.5 Obiettivo 3

2.5.1 Test di scansione di tipo 3

La scansione di tipo 3 un prevede la seguente configurazione:

Hp rilevare la scansione sotto le seguenti condizioni:

- Il traffico convogliato al MARS in Maga Byte risulta essere in media

nell’ordine di 800 Mb al giorno t_g = 800 mb.

- Il regime degli eventi risulta essere di circa f_g = 65 eventi‡*/sec

- La tecnica di scansione utilizzata è s_u = “Fin Scan”

- Il rumore generato dalla scansione risulta essere f_r = 4-5 eventi / sec

Il sotto obiettivo è O3 ( D_C, N_C,S_P, t_g, f_g, s_u, f_r ).

• La tecnica di scansione utilizzata è “Fin Scan” con modalità “Polite” e

“Paranoica”

• s_u1 = “Polite”,tecnica che massimizza la velocità della scansione a

discapito dell’accuratezza e della discrezione.

Il sotto obiettivo è O3 ( D_C, N_C,S_P, t_g, f_g, s_u1, f_r ).

• s_u2 = “Paranoica”, tecnica più lenta ma molto più discreta.

Il sotto obiettivo è O3 ( D_C, N_C,S_P, t_g, f_g, s_u2, f_r ).

*si precisa che ogni evento è costituito da un record inviato a MARS vale a dire una riga di log che rappresenta una generica azione rilevata dal sistema target

Page 40: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

MARS rileva un incident con la seguente regola mostrata in fig. 5:

fig. 5

Risultato: Questo “incident” avverte che esiste un traffico che il firewall ha impedito

ma non rileva la scansione l’obiettivo per tanto non è andato a buon fine perché la

tecnica utilizzata e molto discreta e con la modalità “paranoica” viene generato anche

del traffico fuorviante.

In questo caso utilizziamo una configurazione personalizzata creando un sotto

obiettivo che sostituisce la costante D_C con la variabile c_p.

2.6 Obiettivo 4

2.6.1 Test di scansione di tipo 4

La scansione di tipo 4 un prevede la seguente configurazione:

Hp rilevare la scansione sotto le seguenti condizioni:

- Il traffico convogliato al MARS in Maga Byte risulta essere in media

nell’ordine di 830 Mb al giorno t_g = 830 mb.

- Il regime degli eventi risulta essere di circa f_g = 70 eventi§*/sec

*si precisa che ogni evento è costituito da un record inviato a MARS vale a dire una riga di log che rappresenta una generica azione rilevata dal sistema target

40

Page 41: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

- La tecnica di scansione utilizzata è s_u = “Scan TCP Xmas Tree”

- Il rumore generato dalla scansione risulta essere f_r = 2-3 eventi / sec

Il sotto obiettivo è O4 ( D_C, N_C,S_P, t_g, f_g, s_u, f_r ).

• La tecnica di scansione utilizzata “Scan TCP Xmas Tree” detta anche ad

albero di natale, è eseguita in modalità “Polite” e in “Stealth”. Questa

tecnica prevede l’invio di un pacchetto FIN, URG e PUSH alla porta

target. Secondo la RFC-793, il sistema dovrebbe rispondere con RST per

tutte le porte chiuse.

Questa tecnica è stata lanciata con due diversi modi:

• s_u1 = “Polite”, tecnica che massimizza la velocità della scansione a

discapito dell’accuratezza e della discrezione.

Il sotto obiettivo è O4 ( D_C, N_C, S_P, t_g, f_g, s_u1, f_r ).

• s_u2 = “Stealth”, tecnica più lenta ma molto più discreta.

Il sotto obiettivo è O4 ( D_C, N_C, S_P, t_g, f_g, s_u2, f_r)

MARS rileva un incident con la regola mostrata in fig. 6:

fig. 6

Questo “incident” avverte che esiste un traffico che il firewall ha impedito ma non

rileva la scansione.

41

Page 42: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

42

Risultato: anche in questo caso MARS non rileva la scansione ma lo stesso incident

del terzo test.

2.7 Obiettivo 5

2.7.1 Test di scansione di tipo 5

La scansione di tipo 5 un prevede la seguente configurazione.

Hp rilevare la scansione sotto le seguenti condizioni:

- Il traffico convogliato al MARS in Maga Byte risulta essere in media

nell’ordine di 830 Mb al giorno t_g = 830 mb.

- Il regime degli eventi risulta essere di circa f_g = 70 eventi***/sec

- La tecnica di scansione utilizzata è s_u = “TCP Null Scan”

- Il rumore generato dalla scansione risulta essere f_r = 2-3 eventi / sec

Il sotto obiettivo è O5 ( D_C, N_C,S_P, t_g, f_g, s_u, f_r ).

La tecnica di scansione utilizzata “TCP Null Scan” Adoperando questa tecnica

disattiveremo tutti i flag. Secondo la RFC-793, il sistema obiettivo dovrebbe

rispondere con RST per tutte le porte chiuse.

Questa tecnica è stata lanciata con due diversi modi: • s_u1 = “Polite”, tecnica che massimizza la velocità della scansione a discapito

dell’accuratezza e della discrezione.

Il sotto obiettivo è O5 ( D_C, N_C,S_P, t_g, f_g, s_u1, f_r ).

*si precisa che ogni evento è costituito da un record inviato a MARS vale a dire una riga di log che rappresenta una generica

azione rilevata dal sistema target

Page 43: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

• s_u2 = “Paranoica”, tecnica più lenta ma molto più discreta.

Il sotto obiettivo è O5 ( D_C, N_C,S_P, t_g, f_g, s_u2, f_r). MARS rileva un incident con la regola mostrata in fig. 7:

fig. 7

Questo “incident” avverte che esiste un traffico che il firewall ha impedito ma non

rileva la scansione. È da notare come questa regola sia più restrittiva.

2.8 Risultato Anche in questo caso MARS non rileva la scansione ma lo stesso incident del terzo test. NOTA: è possibile modificare le regole in modo da individuare anche il tipo

specifico di scansione. In particolare è possibile modificare la condizione temporale

e del quantificatore degli eventi in base al tipo di scansione, ovvero modificare il

range di tempo e il numero gli eventi che si verificano.

In tal modo è possibile creare delle regole simili ma che mettono che rilevano non

solo una scansione generica ma anche se si tratta di una scansione aggressiva o una

scansione discreta.

43

Page 44: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

2.9 Configurazione regole per la rilevazione delle

scansioni Analizzando i manuali, editando/aggiungendo alcune regole o semplicemente

mettendo in evidenza gli eventi impliciti (in questo caso modificando gli eventi

rilevati da MARS ma che non determinano la scansione) è stato possibile configurare

MARS in maniera da far rilevare queste ultime scansioni. Da un punto di vista teorico

abbiamo sostituito negli obiettivi O3, O4, O5 il parametro costante D_C con la

variabile c_p modificando alcuni settaggi sulle regole.

I passi che sono stati effettuati sono i seguenti: 1. sono stati individuati gli eventi impliciti generati dal firewall in relazione alla

scansione. Tali eventi venivano generati, a seconda del tipo di scansione, con

ritmi e frequenze diverse.

2. una volta capito il modo e la frequenza con cui gli eventi sono stati generati è

stata aggiunta la seguente regola “generale”*:

Gli obiettivi O3, O4, O5 diventano rispettivamente:

O3 ( c_p, N_C,S_P, t_g, f_g, s_u, f_r )

O4 ( c_p, N_C, S_P, t_g, f_g, s_u, f_r )

O5 ( c_p, N_C, S_P, t_g, f_g, s_u f_r )

fig. 8

*la regola ha come condizione di rilevazione di un incident l’intersezione di tutte le modalità si scansione viste

negli obiettivi 3,4,5. In pratica abbiamo settato in “time range” e il rate count degli eventi in modo da rilevare tutte

le scanzioni. Per aumentare la precisione è consigliato di creare una regola per ogni caratteristica scansione.

44

Page 45: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

La regola genera l‘Incident in (fig. 8) se nell’arco di 12 minuti si verificano almeno

dieci eventi di tipo “ConfigError/CiscoPix ecc”(sono gli eventi in figura ) con

protocollo di tipo tcp, stesso indirizzo IP sorgente e stesso indirizzo IP destinazione.

Una volta effettuata l’attivazione della regola, sulla dashboard, mostrata in Fig 9, compare:

Fig 9 Poiché nella regola creata è possibile aggiungere eventi generati da diversi dispositivi

in relazione alle azioni di scansioni, ulteriori test di scansione sono stati rilevati. Altri

test sono stati effettuati utilizzando strumenti diversi (Nmap, Looklan) e

sottoponendo alla scansione anche altri dispositivi (cisco 877, router zyxel 650 ). In

sostanza abbiamo provveduto a rieseguire il test modificando i sotto obiettivi che non

sono stati raggiunti a causa della configurazione di standard di MARS.

Formalmente questo significa sostituire ai sotto obiettivi in questione la costante D_C

con la variabile c_p. L’obiettivo principale diventa:

O = O1 and O2 and (O3.1 or O3.2) and (O4.1 or O4.2) and (O5.1 or O5.2)

Dove con O3.1 ,O4.1, O5.1 indichiamo rispettivamente i sotto obiettiv1 O3, O4, O5

con parametro D_C e con O3.2, O4.2, O5.2 gli stessi sotto obiettivi con parametro

c_p

Inoltre aumentando lo spazio di prove e studiando gli andamenti del traffico generato

dalle scansioni abbiamo aumentato la precisione creando un regola che si avvicina

quanto più possibile al modello reale. In figura 10 è mostrata la nuova regola:

45

Page 46: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig.10

La regola della fig.10 introduce alcuni elementi utili per modellare in maniera più

accurata un tentativo di scansione. La keyword “DISTINCT_ANY_DEST_PORT” è

stata utilizzata per tenere traccia delle tipiche sessioni di scansione che sondano le

porte in maniera incrementale o comunque porte diverse tra loro. Nello stesso record

è possibile notare che abbiamo filtrato le sessioni con porta sorgente 80 e 110 perché

non sono di scansione ma rispettivamente utilizzate dai protocolli http e pop3. Con

questi accorgimenti abbiamo ridotto drasticamente il numero dei falsi positivi.

2.10 Conclusioni MARS dispone di meccanismi che permettono facilmente la personalizzazione

dell’analisi delle attività.

Studiando una metodologia empirica che prevede simulazioni di attività specifiche e

personalizzazione dell’analisi, risulta quindi possibile rilevare qualsiasi tipo di attività

e conseguentemente progettare contromisure che possono offrire vantaggi in termini

di tempo e di costi. Per tutti i test abbiamo volutamente eliminato la possibilità di

effettuare il ping sia a livello di protocollo ICMP sia a livello TCP.

• Le modalità di scansione sono ordinate in modo decrescente rispetto al

fattore rumore.

• Le tecniche di scansione sono ordinate secondo la loro caratteristica

implementativa.

46

Page 47: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Una scansione di tipo “tcp connect “ è, di per se, facilmente rilevabile. Quindi non

avrebbe avuto senso impostare per questa tecnica diverse modalità. La tecnica di tipo

syn scan è meno invasiva delle prime due, quindi si è scelto per questa due modalità

di scansione intermedie da un punto di vista della rumorosità. Per la tecnica di tipo

“fin scan” abbiamo diminuito ulteriormente il livello di rumorosità, settando una

modalità “polite” e “stealth”. Per l’ultimo test abbiamo utilizzato il tipo di scansione

qualitativamente più precisa settando una modalità Stealh e “paranoica”. Lo spazio

degli obiettivi coperto secondo le condizioni precedentemente esposte risulta essere:

Gli obiettivi contrassegnati in nero sono quelli che hanno avuto esito positivo con

configurazione MARS di default. Quelli contrassegnati in verde sono gli obiettivi

che hanno avuto buon esito con una configurazione personalizzata cioè che hanno

come parametro la variabile c_p al posto della costante D_C. Quelli contrassegnati in

arancione sono obiettivi che con la configurazione di default non sono andati a buon

fine.

47

Page 48: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

48

I valori assegnati alle variabili più significative sono riassunte nella seguente tabella:

Parametri t_g f_g s_u f_r

Obiettivi

O1 800 MB 75 Tcp Connect 8

O2.1 800 MB 60 Syn Scan Insane 4

O2.2 800 MB 60 Syn Scan Polite 4

O3.1 800 MB 65 Fin_Scan Polite 4-5

O3.2 800 MB 65 Fin_Scan Paranoica 4-5

O4.1 830 MB 70 Scan Xmas Tree Polite 2-3

O4.2 830 MB 70 Scan Xmas Tree Stelth 2-3

O5.1 830 MB 70 Tcp Null Scan 2-3

O5.2 830 MB 70 Tcp Null Scan 2-3

Abbiamo voluto classificare i sotto obiettivi in base alle modalità e alle tecniche più

significative fornendo uno spazio bidimensionale. Le altre variabili sono meno

rilevanti in quando o dipendono fortemente da quelle che abbiamo evidenziato o sono

costanti per tutti i sotto obiettivi. Le modalità di configurazioni che abbiamo testato

coprono, sufficientemente, tutto lo spazio di prove perché inglobano i risultati di

quelle che non sono state testate; ad esempio, la configurazione definita nell’obiettivo

O3.2, permette rilevare scansioni con caratteristica Tcp Connect, utilizzata

nell’obiettivo O1, in modalità Aggressiva, Insane, Polite, Stelth e Paranoica.

Page 49: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

49

Capitolo 3

3.1 Test per la rilevazione di attività Peer to Peer Il Peer to Peer è sicuramente una dei protocolli più diffusi nelle applicazioni internet

degli ultimi anni. Molte applicazione fanno uso di questa tecnologia per implementare

la condivisione di risorse. Sicuramente il suo utilizzo trova ampio spazio nelle

applicazioni che permettono di condividere file multimediali. Tali applicazioni

risultano eterogenee da un punto di vista architetturale rilevare, dunque bloccare le

attività P2P non è cosi banale. In una realtà aziendale le attività di condivisione di

files multimediali via internet oltre ad essere il collo di bottiglia delle prestazioni

della rete è soprattutto una falla di sicurezza macroscopica. Il nostro obiettivo in

questo capitolo è quello di rilevare attività di peer to peer utilizzando come strumento

MARS. Il seguente test ha lo scopo di studiare la bontà qualitativa dell’applience

cisco MARS nei confronti di una rete nella quale viene generato del traffico di tipo

P2P.

Page 50: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Definizione e descrizione dell’ambiente per il test

Fig 1 L’ambiente mostrato in Fig 1 è costituito da due linee adsl il cui traffico è gestito

rispettivamente da un router/firewall cisco 877 Series e un router Cisco 827 con

un firewall cisco pix 515.

Le RETE 1 è costituita dal Cisco 877 series e dal pc4 sul quale gira un sistema

operativo Windows XP professional. Sul pc4 è stato installato un software che

permette lo scambio e la condivisione dei dati con altri utenti connessi alla rete

internet. Possiamo trovare diversi software di file sharing ad esempio:

Kaaka, Edonky, Gnutella, Bit Torrent ed Emule.

Si è scelto di installare Emule versione 0.47 a, perché attualmente risulta essere il

più usato, dunque fornisce più file in fase di ricerca e quindi anche in fase di

download.

50

Page 51: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

51

Il pc4 è connesso a internet tramite un router/firewall 877.

La scelta di questo device è stata dettata soprattutto perché dispone del sistema IPS

(intrusion prevention system), caratteristica già descritta nei capitoli precedenti e che

ha il grande vantaggio di analizzare i pacchetti e capirne la natura. Sui dispositivi

cisco che lo supportano, l’IPS non è abilitato di default, in questo modo sarà possibile

testare il traffico peer to peer sia con il sistema ISP sia senza. In un primo momento

effettueremo il test senza abilitare l’IPS, in questo caso il dispositivo invia al MARS

solo log grezzi. In questo primo test vogliamo osservare come MARS analizza e

correla log generici di un traffico peer to peer.

In un secondo momento abiliteremo il sistema IPS. Questo significa che il

dispositivo analizzerà il contenuto dei pacchetti e invierà informazioni peer to peer,

più dettagliate. Il log generato dall’IPS, per lo stesso tipo di traffico, è molto diverso

dal log generico, infatti mentre il generico riporta informazioni di connessioni, porte

e indirizzi, l’IPS, oltre queste specifica il tipo di P2P ad esempio bit torrent.

La RETE 2 è costituita da un router 827 cisco e un firewall cisco pix 515 con IP

inside 192.168.250.1. In questa rete toviamo MARS con Ip 192.168.250.108 e altri

dispositivi. Per la comunicazione, è stato configurato un tunnel vpn tra i due firewall.

Page 52: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

52

3.2 Configurazione dei dispositivi

Questa sezione prevede i passi preliminari necessari per configurare i dispositivi. Le

configurazioni sono state effettuate in funzione dello specifico test:

“vogliamo monitorare e analizzare il traffico generato dal pc4 della RETE 1, per capire

se il dispositivo cisco MARS rileva, attraverso i log inviati, il tipo attività e nello specifico,

un’attività di tipo peer to peeer”

• Passo 1: configurare il cisco 877 per inviare in vpn tutto il traffico generato

dal pc4

• Passo 2: configurare il firewall pix 515 per accettare il traffico in vpn dal

cisco 877

• Passo 3:configurare il Cisco 877 per comunicare con MARS, ciò significa

creare un account ssh o telnet da passare come parametro in fase di

registrazione del dispositivo

• Passo 4: configurare MARS per comunicare con Cisco 877 ciò significa

effettuare la registrazione con l’account creato al passo tre

Il test è stato eseguito sotto se seguenti condizioni: -il traffico del canale dovuto al peer to peer circa 80 Mb in un ora

-il traffico globale convogliato al MARS circa 220 Mb in un ora

-la frequenza globale degli eventi al secondo convogliati al MARS circa 80

eventi al secondo

-il grado di rumore cioè il traffico non P2P generato nello stesso canale della

rete del P2P

-il dispositivo 877 cisco configurato senza IPS

Page 53: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Il MARS rileva in dashboard attività mostrata in fig. 2: .

fig. 2 L’attività che viene evidenziata descrive un generico “Incident” dove si rileva

un’attività di tipo “file sharing”. Clickando sull’incident è possibile osservare tutte le

righe che interessano quest’attività. In particolare è possibile osservare, dalla figura 3,

la sorgente dell’incident (10.10.10.4 cioè l pc4 ), le porte del servizio interessato (la

4662 la classica porta di servizio di emule ), il tipo di evento IP di destinazione,il

numero di sessioni:

fig. 3

Poiché la regola che genera l’incident è costituita da una serie di variabili che

identificano tutte le porte utilizzate da tutti i programmi peer to peer, tale incident

rileva un’attività peer to peer generica. In altre parole, se avessimo utilizzato un altro

programma ad esempio “torrent”, avremmo avuto lo stesso tipo di evento in

“dashboard”.

Ovviamente da un indagine più accurata, effettuando una investigazione sull ’incident

e osservando i parametri di quest’ultimo (in particolare ip destinazione, porte e

53

Page 54: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

54

protocollo), è sempre possibile capire l’attività file sharing specifica, cioè se l’evento

è stato causato da emule o da torrent oppure è un falso positivo.

In conclusione con questa configurazione e quindi con log “grezzi” occorre un

ulteriore piccolo passo in più per scoprire il tipo specifico di ”file-sharing”.

3.3 Rilevazione P2P con l’aiuto dell’IPS La seconda parte del test, come pre annunciato, si basa sulla stessa configurazione

usata per il primo test con la differenza che è stato abilitato sul router 877 il sistema

IPS (intrusion prevention system). Il sistema IPS (Intrusion Prevention System)

consente di gestire il rilevamento di intrusioni. Sul sistema operativo del router è

possibile importare delle definizioni per le firme IPS. Una firma IPS è costituita da

un insieme di caratteristiche che specificano un tipo di peer to peer.

Il nostro router dispone di quattro firme che rispettivamente identificano i peer to peer

kaaza, Torrent, Edonky e Gnutella. Da Notare che per abilitare il sistema IPS si sono

effettuati ulteriori passi di configurazione sia sul router 877. Per uno studio più

approfondito delle configurazioni si rimanda alla consultazione i manuali Cisco.

3.3.1 Impostiamo il blocco dei peer to peer

Ora in dashboard, fig. 4, compare un nuovo “incident” che correla i log “grezzi ”

ricevuti precedentemente e i nuovi:

Page 55: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig 4

La differenza è che con il log IPS, MARS è in grado di riconoscere a priori il tipo

specifico di filesharing. Eseguendo una query per visualizzare i log IPS inviati in dal

nostro router è possibile osservare informazioni mostrate in fig. 5:

Fig 5

55

Page 56: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

56

Chiaramente la voce Edonky Client si riferisce al client Emule che deriva

storicamente da Edonky. Con questo nuovo incident siamo in grado di riconoscere

subito di quale P2P si tratta e adottare le specifiche contromisure.

3.3.2 Le contromisure

Le contromisure che possono essere effettuate sono diverse a seconda delle scelte di

politiche aziendali e a seconda del tipo di file sharing che analizziamo.

Ad esempio per situazioni in cui rileviamo file sharing di tipo Kaaza o

Napster/Morpheus è possibile creare un filtro sulle porte di interesse e quindi bloccare

l’attività.

Con Emule, Torrent, il blocco risulta più difficile perché il loro funzionamento si

basa sul protocollo Kademlia.

Kademlia è un protocollo P2P ideato da Petar Maymounkov e David Mazières per

una rete di computer decentralizzato. I nodi sfruttano il protocollo di trasporto UDP.

Ogni nodo di questa rete è identificato con un # ID necessario per:

• Identificazione del nodo

• Calcolo distanza tra 2 nodi (non geografica, ma di rete) in uno spazio di ID

calcolata mediante l’or esclusivo dei 2 nodi.

Non ci sono server che tengono traccia dei client e dei file che condividono, ciò

viene fatto dai client presente in rete. Ogni client è anche un piccolo server.

Poiché ogni client è identificato da un valore di hash univoco, l’idea di Kademlia è di

associare una certa RESPONSABILITA’. Ogni client nella rete Kademlia agisce

come server per certe parole o fonti. L’hash del client determina la parola o le fonti

specifiche.

Obiettivo ricerca: trovare quei client che hanno la responsabilità relativa

all’argomento della ricerca in corso.

Page 57: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Le porte principali di emule sono mostrate in fig. 6:

fig. 6

In caso queste porte vengono bloccate da un firewall, il client emule si dice riceve dal

server un ID basso. Questo significa che non può comunicare direttamente con altri

nodi dunque effettua una connessione (inside to outside, consentita dal firewall )

verso un server e attraverso questa connessione riesce a condividere files (con

performance chiaramente basse).

Da qui nasce l’esigenza di studiare in maniera approfondita tutte le architetture

P2P al fine di modellare un sistema che permette il blocco totale.

Le soluzioni pensate possono essere di due tipi:

1. inibire tutto il traffico del pc su cui è installato emule.

2. abilitare su un device con caratteristiche IPS una firma “ad hoc”.

La prima soluzione è brutale: al pc viene inibito l’accesso totale alla rete. Questa

soluzione può essere seguita qualora non disponiamo di device con caratteristiche

IPS. Tale soluzione viene adottata da MARS attraverso la “mitigation”. La mitigation

è una soluzione possibile se MARS, nella topologia della rete, è in grado di accedere

57

Page 58: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

a un dispositivo di “Layer 2” solitamente “switch”. L’accesso allo switch si ottiene

aggiungendolo nello stesso modo con cui è stato aggiunto il router cisco 877:

• Selezionare dalla dashboard del MARS Admin > System Setup > Security

and Monitor Devices > Add

Aggiunto il device di layer2, è possibile effettuare la “mitigation” cliccando dalla

“dashboar” sull’evento e poi su path mitigate (fig. 7):

fig. 7

Si aprirà una schermata dove è possibile effettuare la scelta del blocco del pc con un

semplice click.

La seconda soluzione è più elegante ma necessita che nella rete ci sia un device con

IPS contenente la firma “ad hoc”. Attualmente sul nostro router cisco 877 sono

caricate solo firme P2P per Torrent, Kazaa, Gnut

ella, Edonky.

Nulla vieta di scaricare dal sito della cisco le firme aggiornate per emule è bloccare

totalmente il traffico.

58

Page 59: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

59

3.4 Il problema dei falsi positivi

Poiché il protocollo Peer to Peer non è solo utilizzato da applicazioni che

condividono file multimediali ma anche da applicazioni che lavorano in rete, la

rilevazione del “Peer to Peer multimediale “ risulta ancora più difficile. Le cause che

possono generare falsi positivi sono tante. Ci possono essere falsi positivi dovuti ad

altre applicazioni; nel nostro sistema target, per esempio, abbiamo una console

centralizzata che gestisce da remoto agent antivirus installati su diversi client. Gli

agent comunicano con la console e scaricano gli aggiornamenti, tutte attività

supportate dal protocollo peer to peer. È naturale quindi che MARS rilevi queste

attività come tali. Oppure possono verificarsi falsi positivi a causa di trasferimenti in

rete di file che in qualche modo generano, secondo il meccanismo di analisi delle

firme di MARS, attività di tipo peer to peer. Per fortuna MARS dispone di opzioni

per filtrare i Peer to Peer conosciuti o ritenuti lecite. Queste opzioni “educano”

MARS a riconoscere lo specifico traffico “innocuo” e a non targare tale traffico

come Peer to Peer. L’approccio al filtraggio dei cosiddetti falsi positivi deve essere

fatto con cura e solo quando si è sicuri che quel tipo di attività lo sia veramente. Altra

considerazione da fare è che il filtraggio educa MARS a riconoscere il falso positivo

specifico e non generalizzato,ciò significa che MARS riconoscerà solo sessioni simili

del falso positivo cioè sessioni costituite dallo stesso range di Ip sorgente e dallo

stesso range di Ip di destinazione.

Basta che ci sia un’attività simile ma diversa da un punto di vista di indirizzi IP

interessati che il problema si ripresenta. Un approccio, per risolvere questo problema,

potrebbe essere quello di creare delle regole “ad-hoc” per riconoscere il tipo di “peer

to peer multimediale”. Creare delle regole dunque che fanno lavorare MARS

esattamente come se ricevesse eventi da dispositivi dotati di IPS. Le regole possono

essere create in base alle porte utilizzate dalle applicazioni P2P, (ad esempio

sappiamo che emule adotta le porte tcp 4661, 4662 e udp 4671, 4672, etc..) e in base

agli eventi che l’applicazione specifica genera. Per capirci Emule, in una prima fase

genera traffico udp per la ricerca del server e per la ricerca di file, poi traffico tcp con

indirizzi IP sorgenti e destinazioni di tipo pubblico.

Quindi una regola per Emule, potrebbe essere creata filtrando le classi degli Indirizzi

privati e fornendo due offset sequenziali rispettivamente per traffico udp e tcp.

Page 60: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

60

Una regola è tanto più efficace quanto più si conosce la natura dell’applicazione da

rilevare.

Quindi il metodo da seguire è studiare bene l’attività che vogliamo rilevare e poi

creare una regola che la rappresenti. Con questo approccio siamo riusciti ad ottenere

risultati soddisfacenti che implicano un affinamento ulteriore delle qualità di MARS.

In sostanza la dove si evidenzia un limite qualitativo di MARS è possibile spingersi

oltre con la personalizzazione delle regole in modo da allontanare questo limite.

Un grande aiuto in questo viene fornito dal supporto Cisco che in tempi brevi eroga

aggiornamenti in grado di facilitare alcuni problemi a qualsiasi livello di

configurazione.

Page 61: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

61

Capitolo 4

4.1 Test sulla rilevazione di alcuni attacchi Questo capitolo descrive e valuta alcune modalità di attacco che utilizzano i processi

di “fingerprinting” per sfruttare le eventuali vulnerabilità dei sistemi.

Il caso considerato è quello di aziende che erogano servizi on line e che devono

permettere alla propria utenza di raggiungere determinate risorse, diverse a seconda

del tipo di servizio erogato: portali web, server di posta, server ftp, accounting di

dominio, protocolli ad-hoc per determinati software etc. Per fare in modo che tali

risorse siano fruibili dagli utenti, devono necessariamente essere pubblicate.

Pubblicare una risorsa significa fare in modo che un utente interessato possa

raggiungere il servizio da qualunque parte del mondo si trovi.

Un attaccante può sfruttare la raggiungibilità del servizio per scoprire le vulnerabilità

connesse e conseguentemente, costruire un attacco che le sfrutti. Se il dominio di

utenza è ben ristretto, allora è possibile aumentare la sicurezza di questi servizi

utilizzando la tecnologia delle vpn (virtual private network) cioè una connessione

autenticata e cifrata per ogni utente che vuole accedere ai servizi. Purtroppo per

motivi di costi e di gestione, le vpn sono applicabili solo a determinati tipi di servizi

ed a un ristretto numero di utenti, quindi non per servizi forniti su larga scala.

Assunta la presenza di vulnerabilità, alcune delle quali non note a priori, un buon

approccio alla loro gestione è quello di aggiornare continuamente i servizi o le

applicazioni e monitorare le attività che spesso vengono classificati come attacchi.

L'aggiornamento per quanto possa essere una prima barriera per gli attacchi non può

essere sufficiente per la sicurezza della rete aziendale perché aggiornare un servizio o

un software significa renderlo più robusto agli attacchi ma non elimina tutte le

possibili vulnerabilità. É probabile che un attacco possa sfruttare una vulnerabilità

non ancora eliminata. Ad esempio un database di virus può non contenere definizioni

Page 62: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

62

di recenti “malware” o “trojan horse” quindi è un sistema vulnerabile perché esposto

a nuovi virus

Dove esiste un servizio pubblico è possibile scoprire le corrispondenti vulnerabilità,

basta avere a disposizione l’indirizzo ip della macchina su cui è allocato il servizio e

ovviamente un software in grado di effettuare scansioni.

In questo contesto è facile comprendere come possa essere utile cercare di monitorare

le attività delle macchine critiche al fine di rilevare attacchi e agire in maniera

tempestiva. Scoprire un attacco in corso su un server non è facile, occorrono

strumenti di monitoraggio ed analizzatori di eventi in grado di filtrare e visualizzare

all'amministratore di rete le informazioni nel giro di pochi minuti.

MARS è stato concepito per risolvere e gestire questi problemi quindi per valutare le

prestazioni possiamo simulare attacchi che sfruttino vulnerabilità riscontrate

attraverso scansioni. Il problema delle scansioni è gia stato ampiamente trattato nei

capitoli precedenti per cui ci soffermeremo soprattutto sulla fase di attacco

supponendo che la fase di scoperta dei sevizi e quindi delle vulnerabilità sia già stata

rilevata.

Page 63: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

La figura 1 illustra l’ambiente creato per la simulazione costituito dai seguenti dispositivi:

Fig.1

La rete 1 con indirizzo 192.168.253.0 ha i seguenti dispositivi:

- router zyxel 650 h IP 88.44.155.33 Mask 255.255.255.248

- firewall cisco pix 510 IP outside 88.44.155.34 mask 255.255.255.248 inside

192.168.253.1

- switch cisco catalyst 500 express IP 192.168.253.2

- ibm e@Series Xeon bi_processore IP 192.168.253.100

- linux red hat 7.3. IP 192.168.253.4

63

Page 64: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

64

Il server ibm e@series esegue il sistema operativo Windows 2003 Server.

Il monitoraggio e la notifica degli eventi di sistema sono gestiti dal tool Snare, che

permette la comunicazione con MARS. I servizi installati e configurati sono:

• Database oracle 9.2i

• Server ftp CesarFtp versione 0.93a

• Servizio IIS 6.0 per web server

• Mail server generico

I servizi su cui è stato possibile attivare il sistema di notifiche da remoto, sono :

• oracle db, riconosciuto dalla firme di MARS. La configurazione di oracle è

stata suggerita dai manuali sia di oracle sia di MARS. Il sistema di notifiche

funziona attraverso un meccanismo di query periodiche (ogni 3 secondi) che

MARS effettua sul DataBase autenticandosi con credenziali fornite in fase di

configurazione.

• IIS 6.0; il meccanismo di event logging è gestito da un tool Snare IIS

configurato per raccogliere eventi e inviarli a MARS su a intervalli periodici.

• Gli altri servizi sono monitorati attraverso il log si sistema.

Tutti questi servizi sono stati pubblicati, cioè resi accessibili dall’esterno assegnando

al server un indirizzo pubblico disponibile del pool 88.44.155.32 Mask

255.255.255.248. Poichè gli ip 88.44.155.33 e 88.44.155.34 sono stati assegnati

rispettivamente al router e al firewall nell'interfaccia outside, al server è stato

assegnato l'ip pubblico 88.44.155.36. Sul firewall è stata configurata una regola che

permette di accettare richieste dall'esterno per l'indirizzo 88.44.155.36 verso i servizi

installati. Al solito il compito di rilevare, analizzare, correlare i log è affidato al

MARS configurato in rete2.

Page 65: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

65

4.2 Analisi e conduzione degli attacchi

Abbiamo già detto che l’esecuzione di un attacco richiede la conoscenza a priori del

sistema obiettivo dell’attacco stesso.

La conoscenza del sistema odiettivo è importante perché l’efficacia dell’attacco

dipende specificatamente dalle informazioni ricavate precedentemente.

Una scansione con software appropriati permette di ottenere informazioni utili che

determinano il tipo di attacco da sferrare, sfruttando la versione del sistema

operativo, le eventuali vulnerabilità, i servizi e le applicazioni.Gli attacchi considerati

in questa sezione, adottano le metodologie descritte e quindi sfruttano le vulnerabilità

che possono essere rilevate mediante scansioni. I software utilizzi per scoprire le

vulnerabilità sono:

Nessus 3.0 con definizioni delle plug in 2.0 aggiornate a settembre 2006.

Nmap v.4.00

Page 66: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

66

4.3 Analisi delle vulnerabilità rilevate

Con la configurazione appena descritta abbiamo eseguito nessus e nmap da remoto.

I risultati ottenuti sono stati seguenti :

Host host36-155-static.44-88-b.business.telecomitalia.it trovate le seguenti falle si

sicurezza:

Trovata vulnerabilità per host36-155-static.44-88-b.business.telecomitalia.it ftp

(21/tcp)

Trovata vulnerabilità per host36-155-static.44-88-b.business.telecomitalia.it smtp

(25/tcp)

Trovata vulnerabilità per host36-155-static.44-88-b.business.telecomitalia.it http

(80/tcp)

Trovata vulnerabilità per host36-155-static.44-88-b.business.telecomitalia.it pop3

(110/tcp)

Trovata vulnerabilità per host36-155-static.44-88-b.business.telecomitalia.it ncube-lm

(1521/tcp)

In dettaglio:

Host 88.44.155.36

Tipo Porta Caratteristiche

Vulnerabilità

ftp (21/tcp)

Synopsis : Il server ftp è affetto da alcune falle di sicurezza Il server ftp è CesarFTP e gira su sistema Windows. Il suo banner è: 220 CesarFTP 0.99g Server Welcome !

Informazioni

smtp (25/tcp)

Un server Smtp è in esecuzioe su questa porta Il suo banner è : 220 *****************************0*****************************200************0*00

Informaz http Un web server è in esecuzione su

Page 67: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

67

ioni (80/tcp) questa porta

Il server web remoto è : Microsoft-IIS/6.0

Informazioni

pop3 (110/tcp)

Un server pop3 è in esecuzione su questa porta

Vulnerabilità

https(443)

Un host remoto potrebbe usare una versione di OpenSSL che è obsoleta rispetto alle versioni 0.9.6m o 0.9.7d. Ci sono diversi bug in queste versioni che potrebbero a un hacker di causare un attacco “brute force”

Vulnerabilità

ncube-lm (1521/tcp)

IL Database remoto Oracle è vulnerabile al buffer overflow nella query SET TIME_ZONE. Un attaccante provvisto si un accaunt potrabbe usare questa falla per ottenere il controllo del database da remoto.

Vulnerabilità

ncube-lm (1521/tcp)

IL Database remoto Oracle è vulnerabile all'esecuzione di un comano remoto che permette a un attaccante di eseguire codice SQL arbitrario

Vulnerabilità

ncube-lm (1521/tcp)

IL Database remoto Oracle è vulnerabile all'attacco denial of service relativo a SOAP and XML. Un attaccante potrebbe sfruttare questa falla per disabilitare il database da remoto

Vulnerabilità

ncube-lm (1521/tcp)

Il Database remoto Oracle tnslsnr non ha password assegnata. Un attaccante potrebbe utlizzare questa falla per effetuare uno shut down.

. Abbiamo usato Nessus per simulare attacchi e testare la robustezza dei sistemi.

Page 68: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

4.4 Vulnerabilità ftp

La prima simulazione di attacco è stata attuata con nessus configurato per testare i

server ftp e quindi le vulnerabilità del nostro sistema target su cui è installato il server

ftp Cerar versione 0.99g. L’attacco consiste nel provare ripetutamente via ftp

l’accesso alla url del server Cesar ftp.

Dopo aver mandato in esecuzione Nessus abbiamo osservato la dashboard di MARS.

Il risultato è riassunto in Fig 2.

Fig.2 Tra gli Incidenti è stato osservato il seguente n 134367878 che descrive un probabile

accesso non consentito a una url o a uno spazio ftp.

Entrando più nel dettaglio e clickando sull’Incidente è possibile notare, come

visualizzato in figura 3, tentativi di connessione verso il server windows 2003 da

parte dell’indirizzo 85.45.142.154, ip pubblico della rete nella quale è stato eseguito

Nessus.

68

Page 69: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig.3

La regola ha permesso di rilevare quest’attività, genera Incidente se vi sono più di

venti connessioni in un minuto. Inoltre dal campo dell’ora e della data è possibile

dedurre come tali connessioni siano correlate tra di loro. Infatti in fig. 3 e fig.4 in ogni

riga vi sono due tipi eventi diversi generati in tempi differenti ma con lo stesso ip

sorgente e stesso ip destinazione. Immaginando l’andamento del traffico e tenendo

presente il funzionamento del protocollo ftp è possibile stabilire che i due eventi

sono, rispettivamente, la connessione di controllo dei dati e la connessione di

trasferimento dati. Poiché tali tentativi si ripetono molte volte l’Incidente rilevato è di

livello giallo.

Fig. 4

69

Page 70: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

70

In questo caso la rilevazione degli Incidenti ha permesso di effettuare una serie di

controlli e analisi che suggeriscono un’attività ftp anomala.

4.5 Attacco di tipo “denial of service” al mail server

Un attacco di tipo DoS (Denial of Service) non è un virus ma un metodo utilizzato

dagli hacker per impedire o negare agli utenti legittimi l'accesso a un computer.

Gli attacchi DoS vengono eseguiti di solito mediante degli strumenti DoS che inviano

molti pacchetti di richieste al server Internet preso di mira (di solito un server Web,

FTP, o di posta), saturando le risorse del server e rendendo il sistema instabile.

Qualunque sistema collegato a Internet e fornito di servizi di rete basati su TCP è

esposto ad attacchi.

Molti strumenti DoS sono in grado di eseguire attacchi distribuiti. Si immagini ad

esempio che un hacker installi di nascosto il proprio programma su molti computer

connessi a Internet. In questo modo otterrebbe un effetto ancora maggiore perché ci

sarebbero più computer che generano traffico. In questo caso è anche molto più

difficile individuare l'aggressore poiché il programma non viene eseguito

direttamente dal computer dell'aggressore; quest'ultimo infatti sta solo controllando il

computer su cui ha installato il programma di nascosto. Una simile situazione

descrive un attacco DoS distribuito (DDoS). I metodi per saturare le risorse variano a

seconda degli strumenti DoS utilizzati. Ad esempio, Smurf DoS attack utilizza una

richiesta echo ICMP (Internet Control Message Protocol) falsificata. Altri strumenti

DoS, come quelli della serie TFN (Tribe Flood Network), utilizzano la tecnica di

invasione SYN, che satura le risorse creando connessioni aperte a metà.

Nel nostro caso, il servizio pubblicato é quello della posta elettronica, quindi un

metodo valido per saturare le risorse del mail server è l’invio di numerose mail verso

il server.

Grazie alle firme di Nessus è stato possibile simulare un attacco “Worm” al server

mail sulla porta 25. In effetti questo tipo di attacco può anche essere catalogato come

Page 71: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

un attacco di tipo “Denial of service” in quanto si cerca di impedire il servizio di

posta.

Comunque trattandosi di un attacco che utilizza come strumento la mail

continueremo a chiamarlo “mail worm”. Mandando in esecuzione nessus abbiamo

ottenuto il risultato illustrato in fig. 5 e in fig. 6.

Fig. 5 In dashboard subito compare l’Incidente del worm, a differenza dell’attacco ftp,

l’attacco “mail worm” è stato rilevato da MARS praticamente in tempo reale.

Infatti la tempestività della rilevazione dipende molto dal tipo di attacco: se l’attacco

è rumoroso perchè genera tanto traffico, la rilevazione è più facile. Al contrario, un

attacco discreto genera poco traffico e la rilevazione viene ritardata. La tempestività

dipende anche dal carico della rete se un attacco viene sferrato in una situazione di

carico consistente, la rilevazione sarà ritardata perché le code saranno sature e di

conseguenza il tempo di completamento aumenta. Comunque, grazie alla gestione

degli Incidenti secondo il livello di priorità (rosso, giallo, verde), gli eventi che

vengono considerati più importanti sono processati prima rispetto ad eventi che lo

sono meno. In figura 5 è possibile notare che l’Incidente relativo all’attacco ftp è stato

notificato prima dell’evento che descrive l’attacco al server di posta, anche se

quest’ultimo è stato eseguito prima.

71

Page 72: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

La ragione per cui MARS cataloga l’attacco ftp con priorità maggiore rispetto

all’attacco mail sta nel fatto che mentre il flusso di mail viene bloccato dal firewall

impedendo così il successo dell’attacco, l’attività ftp non viene bloccata dal firewall

ma semplicemente rilevata come anomala.

Fig.6

La figura 6 mostra la regola che ha generato l’evento. La semantica della regola dice

che se vengono inviate più di venti mail in un minuto da un singolo host verso il mail

server, l’attività è considerata sospetta. Da notare che, in questo caso,gli eventi sono

stati rilevati attraverso l’analisi dei log del firewall. Infatti, fino a questo momento

non abbiamo sollecitato alcun servizio configurato per inviare notifiche verso il

MARS. Ancora il meccanismo di correlazione degli eventi ci ha permesso di capire

con facilità, e soprattutto in tempo reale il tipo di attività sospetta. Il firewall ha

bloccato le attività di tipo “ worm”, impedendo all’attacco di saturare le risorse del

mail server, MARS ha correlato gli eventi del firewall.

Concludendo, possiamo dire che questa simulazione di attacco è stata rilevata in

maniera soddisfacente.

72

Page 73: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

73

4.6 Attacco di tipo “brute force” al firewall

E' un tipo di attacco banale per la tecnica usata ma che ha ancora un margine di

successo di circa il 60%, grazie alle password statiche e facili da indovinare. Esistono

in rete, facilmente reperibili sui più comuni siti underground, dei veri e propri

dizionari di password che contengono le stringhe più utilizzate dagli utenti. Nomi

propri, nickname, combinazioni alfanumeriche e tutto ciò che gli utenti usano

comunemente per impostare le proprie password. Esistono diversi dizionari a seconda

della lingua di appartenenza dell'utente, questo perchè ovviamente un nostro

connazionale sarà più portato ad usare parole italiane laddove un americano agirà

utilizzando termini in slang. L'attacco Brute Force prevede l'uso di un tool automatico

che ha in input le coordinate dell'account da craccare (indirizzo ip del server,

tipologia dell'account e username), oltre che ovviamente il dizionario delle password.

Alcuni tool sono addirittura in grado di effettuare delle combinazioni delle parole

presenti nel dizionario, ad esempio anagrammandole o invertendole specularmente.

Nel nostro scenario tentiamo di effettuare un attacco “brute force” per cercare di

penetrare nell’interfaccia inside del firewall sfruttando le vulnerabilità del protocollo

https. Ovviamente questo tipo di attacco è stato condotto da un pc posto all’interno

della lan in quanto l’interfaccia di configurazione del firewall è abilitata solo

dall’interno della rete locale. Modificando la configurazione è possibile anche

effettuare l’accesso dall’esterno cioè selezionando come sistema target l’indirizzo

pubblico del firewall 88.44.155.34 ma per il nostro scopo, la direzione dell’attacco

outside o inside non influisce. L’attacco è molto semplice ed è stato condotto “a

mano” semplicemente aprendo una finestra di internet explorer all’indirizzo

https://192.168.253.1. Appare un pop up dove viene richiesta di inserire la password

di accesso al firewall. L’attacco consiste nel provare a inserire diverse password

nell’arco di poco tempo.

Esistono dei tool che permettono di effettuare molti tentativi nell’ordine di pochi

secondi ma per le nostre prove è sufficiente effettuare a mano un decina di tentativi.

In Fig 7 viene mostrato l’Incidente che viene generato per il tentativo di attacco.

Page 74: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig. 7

Il livello di severità dell’Incidente è verde perché l’attacco è stato sferrato dalla rete locale.

Fig. 8

In fig. 8 viene mostrata la regola che genera l’Incidente, strutturata con tre offset. Il

primo e il secondo sono coordinati dall’operatore “FOLLOWED-BY”, il terzo legato

ai primi due dall’operatore “OR”. Gli eventi degli offset sono di tipo “penetrate”e la

semantica della regola dice che un Incidente è generato se un tentativo “penetrate ” e

seguito da almeno altri tre tentativi nell’arco di un minuto.

74

Page 75: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

4.7 Attacco “brute force” al server windows 2003 Lo stesso tipo di attacco “brute force” è stato simulato per il server windows 2003

tentando di violare il sistema attraverso il tentativo di login degli utenti specificati di

default dal sistema: Administrator, Guest. L’attacco è stato eseguito in rete locale da

un pc con indirizzo ip 192.168.253.23. Il tool utilizzato per simulare l’attacco è

Nessus.

Fig. 9

In fig. 9 viene mostrato l’Incidente in dashboard rilevato. Il sistema classifica

l’incidente con severità gialla perché oltre al semplice tentativo di login si è verificato

un tentativo di disabilitare lo user account da remoto.

Fig. 10

In fig. 10 è mostrata la regola che ha generato l’Incidente. Notiamo che il dispositivo

che ha generato il log è il sistema operativo. La regola ha un solo offset con eventi

“Penetrate/GuessPassword/All”, tali eventi permettono di rilevare un Incidente se

75

Page 76: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

76

nell’arco di dieci minuti si verificano per almeno tre volte. Gli eventi che sono stati

correlati in seguito alla rilevazione sono almeno undici e sono tutti dello stesso tipo.

Anche in questo caso la rilevazione è stata tempestiva: dopo tre minuti dall’inizio

della simulazione è stato visualizzato il primo Incidente in dashboard.

4.8 Attacco al web server Microsoft-IIS/6.0

La vulnerabilità di IIS possono essere divise in tre grandi categorie: gestione di

richieste inattese, "buffer overflow" e legate alle applicazioni di esempio. Ognuna di

queste categorie verrà qui brevemente trattata.

1. Gestione di richieste inattese. Molte vulnerabilità di IIS sono dovute a

problemi di gestione delle richieste HTTP non corrette o volutamente

composte in modo anomalo. Un ben noto esempio è la vulnerabilità Unicode

sfruttata dal worm Code Blue. Costruendo una richiesta che sfrutti una di

queste vulnerabilità, un aggressore può da remoto:

• Visualizzare il codice sorgente di programmi non compilati.

• Visualizzare file che si trovano oltre la radice del Web server.

• Visualizzare file che il Web server non dovrebbe rendere accessibili.

• Eseguire comandi arbitrari sul server (che possono avere come

conseguenza, per esempio, la cancellazione di file di importanza

critica o l’istallazione di una backdoor).

2. Buffer overflow. Molte estensioni ISAPI (incluse le estensioni ASP, HTR,

IDQ, PRINTER, e SSI) sono vulnerabili ai buffer overflow. Un ben noto

esempio è la vulnerabilità dell’estensione ISAPI.idq, che viene sfruttata dai

worm Code Red e Code Red II. Una richiesta costruita in modo particolare da

un aggressore remoto può portare a:

Page 77: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

77

• Interruzione del servizio.

• Esecuzione di codice arbitrario e/o di comandi da parte degli account

predefiniti del Web server (es. gli account IUSR_nomeserver or

IWAM_nomeserver).

3. Legate alle applicazioni di esempio. Le applicazioni di esempio sono di solito

progettate per esemplificare le funzionalità di un ambiente server e non per

resistere ad attacchi, e non sono nate per essere applicazioni da utilizzare solo

in fase di test. Se a ciò si aggiunge il fatto che è noto a tutti il loro indirizzo di

default e che il loro codice sorgente è disponibile, si capisce come esse siano

gli obiettivi preferiti degli exploit. Le conseguenze dovute a tali exploit

possono essere gravi; ad esempio:

• Una applicazione di esempio, newdsn.exe, permette a un aggressore

remoto di creare o sovrascrivere dei file sul server.

• Alcune applicazioni permettono di vedere da remoto qualsiasi file, e

questo fatto può essere sfruttato per raccogliere informazioni come gli

user id e le password dei database.

• Una applicazione iisadmin, ism.dll, permette l’accesso remoto a

informazioni riservate del server, tra le quali la password di

amministratore.

Abbiamo simulato gli attacchi descritti al punto uno e tre. Più in dettaglio, l’attacco

tenta di modificare le credenziali di sicurezza tentando di accedere alle informazioni

riservate quali password, user id ecc. Il metodo prevede l’invio di richieste http

anomale verso il server. In questo scenario il sistema di notifiche cambia perché non è

più il firewall a notificare gli eventi al MARS ma il sistema operativo. Infatti,

l’attacco è costituito da richieste anomale via http verso l’indirizzo pubblico del

server 88.44.155.36. Per motivi di configurazione scelta, il firewall accetta queste

richieste come se fossero normali attività web.

Page 78: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

La figura 11 evidenzia la regola che genera questo evento in dashboard

Fig. 11

Come detto in precedenza, è possibile notare sotto la voce “Reporting Device” che il

dispositivo generante l’evento è il sistema operativo. In particolare, si tratta di una

sonda installata per i servizi IIS che permette il monitoraggio delle attività per il

server web verso il MARS. La descrizione della regola evidenzia il tentativo di

modificare le impostazioni di sicurezza del server relative al server web. L’evento è

stato generato dopo che la simulazione dell’attacco ha tentato di eseguire del codice

per cercare di ottenere password e user id. Poiché l’attacco consiste di più richieste

http, il sistema rileva l’Incidente dopo due tentativi di richieste anomale. Grazie al log

della sonda IIS, è possibile anche monitorare altre azioni come ad esempio lo stato

del web server e i tentativi di login. La figura 12 mostra una serie di notifiche del

sistema

Fig. 12

In conclusione, possiamo dire che il tentativo di attacco al web server è stato rilevato

con successo.

78

Page 79: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

79

4.9 Attacco al DB Oracle

L’analisi delle vulnerabilità suggerisce di simulare un attacco che tenta di sfruttare

il modulo tnslsnr da remoto per entrare nel sistema e creare un utente attivabile al

prossimo avvio del servizio. OracleHomeTNSListener è il servizio che sulla porta

standard 1521 (o nella porta indicata nel file tnsnames.ora) ascolta se qualche client

vuole collegarsi al database. Oracle in versione 9.02 è stato configurato per inviare gli

eventi relativi alle attività del database a MARS. La configurazione prevere la

creazione di un utente con diritti per la vista della tabella “dba_audit_trail”. Per

abilitare i log delle attività del database è stato modificato il file “cataudit.sql” nel

quale è stata aggiunta la seguente opzione “AUDIT_TRAIL=DB”. Il log non viene

direttamente inviato a MARS ma viene memorizzato nella tabella “dba_audit_trail”.

Sarà poi il MARS che, a intervalli di 3 secondi, accederà al database, con credenziali

dell’utente, effettuerà l’interrogazione sulla tabella e ricaverà tutte le informazioni

relative alle attività registrate. Il plug-in di Nessus permette di capire come viene

condotto l’attacco. Fondamentalmente, si tratta di costruire un pacchetto “ad-hoc” che

simuli la richiesta di accesso con esecuzione di un comando. Se la richiesta viene

accettata, è inviato un pacchetto con comando COMMAND=STATUS per rilevare se

il servizio di accesso remoto non ha password. In questo caso l’attacco ha avuto

successo e quindi viene notificata la vulnerabilità, altrimenti viene notificata una

situazione di errore o di conferma che il servizio di accesso remoto ha la password

settata. In fig. 13 e 14 mostriamo rispettivamente l’Incidente dell’attacco in dashbord

e la regola che lo ha generato:

Page 80: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig.13

Come possiamo vedere, gli Incidenti che vengono generati sono più di uno in quanto

la plug in di Nessus ripete diverse volte il tentativo. L’Incidente ha come priorità di

minaccia il livello giallo, in figura 9, si vede che il dispositivo che ha generato gli

eventi è il sistema operativo su cui è installato Oracle, anche se la creazione vera e

propria delle notifiche è affidata al sistema di logging del database. Il motivo per cui

è il sistema operativo ad essere visto come dispositivo sorgente delle notifiche è

dovuto alla struttura della gestione dei dispositivi di MARS. Infatti in fase di

registrazione dei dispositivi, il database Oracle e il servizio IIS sono visti come

moduli aggiuntivi del sistema operativo, quindi ne fanno parte.

Fig. 14

80

Page 81: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

81

La regola che genera l’Incidente “Password attack” è costituita dall’inferenza di

un’azione di rilevazione del servizio seguita da un tentativo di penetrazione nel

sistema. Infatti i primi due offset della regola descrivono eventi cosiddetti di “probe”,

cioè eventi che indicano un tentativo da parte di un attaccante di rilevare informazioni

sui servizi. Gli offset tre o quattro seguono i primi due con l’operatore

“FOLLOWED-BY” e descrivono tentativi di penetrazione nel sistema.

Ovviamente, gli offset sono correlati solo se hanno gli stessi campi, cioè se hanno

stesso indirizzo ip sorgente, stesso indirizzo ip destinazione e stesso protocollo.

Considerando la plugin di Nessus è possibile verificare che la regola che genera

l’Incidente è strutturata con due tipi di eventi che rispecchiano esattamente la

semantica della plug in.

Infatti, il programma implementato nella plug in, invia un pacchetto di sonda e

successivamente un comando che ricava l’informazione sullo lo stato di settaggio

della password.

Page 82: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

82

Capitolo 5

5.1 Attacchi complessi condotti in più passi

Nei capitoli precedenti abbiamo considerato la rilevazione di attività di rete atomiche

cioè costituite da uno o più eventi generati per una stessa azione o Incidente.

Ad esempio il tentativo di scansione è di per se un’attività che presuppone diversi

eventi simili tra di loro a meno del parametro porta di destinazione, oppure il peer to

peer viene visto come un numero elevato di connessioni tcp su alcune porte note.

Anche gli stessi attacchi fino ad ora considerati sono isolati cioè costituiti da una sola

azione. Per tutte queste attività la rilevazione è semplice, in quanto il sistema deve

solamente analizzare eventi e, in tempo reale, generare un Incidente qualora ce ne sia

la necessità.

Questo capitolo considera il problema della rilevazione degli attacchi complessi,

costituiti da più passi in relazione tra di loro. Gli attacchi cosiddetti “Multi-step” sono

attività che richiedono una serie di passi consecutivi e non necessariamente immediati

per essere portati a termine. Le azioni che fanno parte di un singolo passo non

necessariamente sono maligne. Infatti è possibile che il passo di un attacco, se

eseguito da solo, possa non essere maligno mentre lo diventa se eseguito nella

sequenza corretta che definisce l’attacco.

Gli attacchi “multi-step” introducono due problematiche fondamentali:

• Se il sistema non è in grado di ricordare gli eventi analizzati in precedenza,

l’attacco non può essere rilevato.

• I singoli passi che fanno parte di un attacco possono non essere intrusivi; se il

sistema viene configurato in modo da tenerne traccia, è possibile che si

generino diversi falsi positivi

Page 83: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

83

Da un punto di vista teorico ci sono due tecniche per affrontare il problema: tecnica

statefull e tecnica basata sulle signature.

5.2 Tecnica Statefull

Il sistema ricorda tutti gli eventi accaduti e controlla, per ogni nuovo evento, se

esistono correlazioni tra esso ed i precedenti. Di conseguenza, l’effetto di un certo

evento è dipendente dalla sua posizione rispetto a quella della coda degli eventi.

Tuttavia, questo tipo si approccio aumenta la complessità del motore inferenziale e

risulta soggetto ad attacchi di tipo “alert storm” che hanno come obiettivo quello di

generare falsi positivi.

Alcune attività di rete possano generare allarmi ripetuti che incidono sulle prestazioni

del dispositivo stesso, questo accade quando il dispositivo non è configurato in modo

appropriato. Un’attaccante può sfruttare questa situazione generando del traffico che

crea falsi allarmi cos’ da aumentare i tempi di risposta degli apparati e il

deterioramento delle prestazioni complessive.

5.3 La tecnica basata sulle signature

In un sistema basato sulle signature, il modello che descrive un attacco è memorizzato

in un database. Le signature riassumono in una espressione logica tutte le

informazioni necessarie per descrivere il tipo di attacco.

Questo tipo di approccio non aumenta la complessità del motore inferenziale, ma la

difficoltà di modellare il tipo di attacco.

Page 84: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

84

Il processo di correlazione di più attività per di rilevare attacchi complessi multi-step,

attualmente, è manuale e richiede molto tempo e risorse umane.

La possibilità di automatizzare la rilevazione di questi attacchi è un campo che pone

sfide significative:

• E’ necessario conoscere bene l’attacco che si vuole modellare, prescindendo

da modelli che descrivono casi particolari.

• I potenziali eventi che potrebbero nascondere attività sospette sono

eterogenei e molteplici.

• Modellare attacchi multi-step può portare alla generazione di molti falsi

positivi

• Un attacco può essere eseguito in modi diversi ma equivalenti. Per esempio,

l'ordinamento temporale di alcuni passi potrebbe essere cambiato, o a un

passo potrebbe sostituirne uno equivalente da un punto di vista semantico

Il nostro obiettivo è quello di progettare un modello di correlazione per attacchi

multi-step utilizzando le tecniche e soprattutto gli strumenti forniti da MARS.

In particolare, vogliamo creare un modello di attacco che possa in qualche modo

descrivere diverse attività.

5.4 Modellare l’attacco

Il nostro modello di attacco prende in considerazione le seguenti linee guida:

• Vulnerabilità: un difetto o errore in un sistema o in una procedura che

permette di eseguire operazioni che violano, esplicitamente o implicitamente,

le politiche di sicurezza del sistema.

• Exploit: un singolo passo (atomico) che sfrutta una singola vulnerabilità.

Page 85: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

• Attacco: singolo step o elementare: un attacco che raggiunge un obiettivo

intermedio

• Attacco composto: la concatenazione dei passi che costituiscono l’attacco .

Il modello deve comprendere la logica degli attacchi in quanto un attacco può essere

composto da tanti attacchi elementari, con altrettanti obiettivi intermedi e deve essere

rilevato attraverso l’osservazione di alcuni eventi. Il modello deve specificare le

relazioni tra le diverse sotto attività: ad esempio se un’azione accade prima di

un’altra, e/o l’ausilio degli stessi parametri come sistema target. Secondo quanto

detto e utilizzando gli strumenti forniti da MARS, abbiamo creato una regola che

tiene conto fondamentalmente di due passi di un attacco:

1. Analisi delle vulnerabilità attraverso strumenti di scansione.

2. Attacco che sfrutta le vulnerabilità rilevate.

In figura 1 è mostrata la definizione della regola che abbiamo creato.

Fig. 1

La regola tiene conto sia della generalizzazione sia del dei falsi positivi. La struttura

da un punto di vista logico prevede l’attività “scansione” seguita da una qualsiasi

attività. Sia SC l’attività scansione e At1, At2, At3,.., At6, le attività che seguono SC,

allora la regola R è definita come

SC FOLLOWED_BY (AT)

85

Page 86: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

86

dove AT rappresenta l’unione di tutti i possibili sotto attacchi Ati con i=1 to 6

AT = (AT1 or AT2 or AT3 or AT4 or AT5 or AT6 or AT7)

Nel campo ip sorgente di SC, sono state utilizzate le variabili “ANY” non

conoscendo a priori l’indirizzo ip dell’attaccante e la variabile “$TARGET01”,

fondamentale per tenere traccia, dell’indirizzo ip da cui è stata lanciata.

Nel campo ip destinazione la variabile “SAME” permette di tracciare tutti gli eventi

con ip “sistema target” in SC. La variabile “$TARGET02” tiene traccia del sistema

obiettivo in AT. Il campo “Service name” contiene la keyword

“DISTINCT_ANY_DEST_PORT” per visualizzare e correlare solo gli eventi con

porte di destinazione diverse.

Questo fa si che vengano filtrata tutte le richieste verso alcuni servizi aventi le stesse

porte di destinazione. Il campo “Event” definisce gli eventi che genera SC,

solitamente un tentativo di scansione genera gli eventi “Deny paket to due security

policy” e “Deny tcp/udp request ”. Tali eventi, insieme con la condizione di

cardinalità (Il campo della regola count impostato a venti) modellano in generale il

comportamento di software per scansione. Nel campo device è definita la variabile

“DEVICE01”, per correlare tutti gli eventi di SC e AT generati dallo stesso

dispositivo. La keyword “FOLLOWED_BY” vincola l’attività SC ad essere

necessariamente seguita dall’attività AT. In effetti l’Incidente generato da R non è

altro che la soluzione di un sistema le cui condizioni sono espresse in termini di

indirizzi Ip, porte, eventi, e variabili ausiliarie quali “$TARGET01”, “TARGET02”e

”DEVICE01”. AT è definito come l’unione degli offset O2, O3, O4, O5, O6 che

differiscono tra di loro per gli eventi che rappresentano. Rispettivamente, tali eventi

sono di tipo Denial of service, Penetrate, Probe, e Propagate, Persist. Gli eventi di

tipo Dos sono tutti eventi che possono generare un disservizio, gli eventi Penetrate

rappresentano tentativi di brute force o password attack etc, eventi Probe descrivono

tentativi di login verso servizi aperti dall’esterno, il gruppo di eventi Propagate

descrive attività spesso riconducibili a propagazione di worm o tentativi di conessioni

verso indirizzi casuali, tipico dei trojan o delle back doors, gli eventi del gruppo

Persist descrivono situazioni in cui si verificano aumenti drastici del traffico di rete

dovuti ad anomalie. Ogni offset contiene la condizione “!=Deny packet due to

security policy” per filtrare gli eventi che vengono generati per l’attività SC.

Page 87: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Da un punto di vista semantico la regola R tiene conto di alcune proprietà di tipo

euristico:

• In media un tentativo di scansione produce da venti a mille eventi in un

tempo che va da pochi secondi fino a dieci minuti. Il campo “count” di SC ha

un limite inferiore di venti eventi necessariamente con “porta destinazione”

diversa. La precisione e l’accuratezza della rilevazione discende dal fatto che

è estremamente improbabile che un’attività con queste caratteristiche non sia

un’attività si scansione.

• Assunto che SC modelli con precisione accettabile una scansione, è

estremamente improbabile che un’attività, nel caso specifico definita come

AT

o segue SC

o sia generata dallo stesso dispositivo di SC

o hanno lo stesso indirizzo ip sorgente e lo stesso indirizzo ip di

destinazione

Le prove effettuate hanno dimostrato l’efficacia della regola R. Abbiamo effettuato

prima una scansione, utilizzando come strumento Nessus. Successivamente lo

abbiamo eseguito in modalità check vulnerability, cioè senza effettuare la scansione.

Il test è stato eseguito su un reale sistema target con pool di indirizzi ip

82.191.150.219 Mask 2585.255.255.248.

In figura 2 è mostrato l’Incidente rilevato in dashboard:

Fig. 2

87

Page 88: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

La figura permette di notare in sequenza temporale prima la rilevazione della

scansione e poi la rilevazione della regola R che comprende sia la scansione sia il

tentativo di attacco.

Da un punto di vista cronologico l’attacco è stato eseguito due minuti dopo la

scansione. La regola è stata configurata per accettare eventi in un arco di tempo di 23

ore, è possibile anche configurare un lasso di tempo più ampio (giorni, mesi) ma

statico (data iniziale, data finale ). La scelta di scegliere un periodo di 23 ore è stata

adottata soprattutto per motivi pratici.

In fig. 3 e 4 sono mostrati gli eventi che fanno parte dell’Incidente.

Fig 3

La Fig. 3 illustra il match degli eventi: 100 generati dal dispositivo a seguito di una

scansione e i seguenti 62 generati a seguito del controllo delle vulnerabilità eseguito

da Nessus.

Fig..4

Come mostrato in fig.4, gli eventi di tipo “Deny packet due to security policy” sono

stati generati e inviati a MARS prima degli eventi “Deny connection no xlate”.

88

Page 89: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Da notare come l’indirizzo destinazione risulta essere privato 192.168.0.98, a

seguito di una traslazione di indirizzo pubblico 82.191.150.219.

Sono considerati attacchi complessi anche quelli che arrivano al sistema target

eseguendo passi elementari su host intermedi. Per alcuni tipi di attacchi MARS

dispone già di alcune regole, per tutti gli altri invece abbiamo creato una regola

generica che modella, a partire da una scansione, il passo successivo verso un sotto

sistema target.

Fig. 5

Sia R1 la regola mostrata in figura 5, costituita da tre offset di cui il primo risulta

essere SC. Sia NS l’offset che modella un’attività successiva a SC. NS contiene nel

campo “Source IP” le variabili SAME e $TARGET01 che permettono

rispettivamente di correlare occorrenze di eventi che hanno lo stesso indirizzo IP

nell’offset o stesso IP sorgente dell’offset SC. Stessa cosa dicasi per il campo

“Destination IP”, in particolare la variabile “SAME” permette di modellare situazioni

in cui ci sono diversi passi intermedi caratterizzati da diversi Host mentre la variabile

“TARGET03” permette la correlazione con il passo successivo. La variabile ANY

utilizzata nel campo “Service Name” e nel campo “EVENT” indica che devono far

parte di NS eventi generici non vincolati dal tipo o numero di porta sorgente e

destinazione. Tale scelta si basa sul principio di modellare comportamenti di attività

generali che prescindono dal tipo di protocollo. Per lo stesso motivo anche il campo

“DEVICE” contiene sia la variabile $DEVICE01 sia la variabile SAME. Il passo

finale, verso il sistema obbiettivo, è rappresentato dall’offset NS1 che ha come IP

sorgente lo stesso valore del campo “Destination IP” di NS. Il campo “Destination

IP” di NS1, contiene la variabile “TARGET02”, inserita anche nel campo di SC,

perchè è possibile che il sistema obiettivo venga attaccato senza passi intermedi.

89

Page 90: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Formalmente, R1 può essere vista come una stringa prodotta da una grammatica:

R1 :=SC(A)NS1 ;

A:= {}| NS | ANS ;

SC := scansione ;

NS := passo intermedio;

NS1:= passo conclusivo;

Alcuni esempi di regole che modellano situazioni particolari di attacchi sono riportati

in seguito

Fig.6

La fig. 6 illustra una regola creata esplicitamente per una attività sospetta di una back

door dove è stato effettuato un primo passo di attacco “brute force” verso l’host

“target01” seguito da un passo in cui si evidenzia il tentativo di attacco worm o dos

verso lo stesso host o verso il sistema obiettivo.

90

Page 91: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig 8.

La fig. 8 illustra la regola che descrive l’attività del worm sasser.

http://www.nod32.it/pedia/s/sasser-a.htm

http://www.symantec.com/region/it/techsupp/avcenter/venc/data/it-

w32.sasser.e.worm.html

La regola modella un attacco sulla porta 445 seguito da un qualsiasi commando di

connessione verso il sistema target sulla posta 9996 o da una connessione ftp sulla

posta 5554 oppure eventi che rappresentano un eccessivo numero di connessioni sulla

porta 445. Ciò indica che sia la sorgente sia la destinazione sono state infettate dal

Worm sasser.

Fig.9

Questa regola descrive un modello di attacco di tipo “Password Guess” verso un

database server. L’attacco prevede un consistente numero di tentativi di login falliti.

91

Page 92: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

5.5 Attacchi complessi host based Sono considerati attacchi complessi anche gli attacchi”host based” cioè attacchi che

cercano di compromettere un host da utilizzare successivamente come trampolino di

lancio verso altri sistemi o server della stessa rete. Come già detto, le modalità con le

quali un attaccante ricava le informazioni possono essere sia dirette, tramite

scansioni e tecniche di fingerprint, sia indirette sfruttando il web come motore di

ricerca o attraverso archivi di mailing list o informazioni ricavate da elenchi

telefonici. Ricavate quante più possibili informazioni, un malintenzionato potrebbe

attaccare un qualsiasi host della rete internet oppure un host che fa parte della stessa

rete del server o del sistema target. Se l’obbiettivo raggiunto non è quello prefissato,

l’accattante può continuare a raccogliere informazioni di altri host critici sfruttando la

posizione di vantaggio acquisita. I passi compiuti dagli hacker da un attaccante per

compromettere una rete sono essenzialmente rappresentati in figura 10:

fig. 10

1. Identificare il sistema da attaccare e trovare le vulnerabilità e le modalità di

attacco.

2. Ottenere un accesso utente penetrando nel sistema e tentare di ottenere

accessi privilegiati

3. Ottenere un accesso privilegiato per controllare totalmente il sistema target.

92

Page 93: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

93

4. Coprire le tracce in modo che non sia possibile risalire all’attaccante

attraverso l’analisi dei log di sistema

5. Installare BackDoors per rientrare nel sistema qualora venga individuato e/o

eliminato il precedente metodo di penetrazione.

6. Attaccare altri sistemi dall’host compromesso per agire in modo anonimo.

7. Penetrare o alterare informazioni presenti sulla macchina e sulla rete

8. Attuare altre attività non autorizzate al fine di procurarsi un vantaggio o un

profitto

L’importanza di rilevare in tempo reale queste attività diventa fondamentale per

proteggere una rete costituita da file server, mail server, web server.

La natura complessa e non deterministica dell’attacco aumenta notevolmente la

complessità di modellare la regola che lo descrive. I principali problemi da affrontare

sono:

• Rilevare attacchi a sistemi critici prima di quelli non critici.

• Tracciare attacchi con un numero indefinito di host intermedi.

• Rilevare attività anomale analizzando le credenziali di accesso di utenti

sospetti

• Gestire con cura e precisione i potenziali falsi positivi.

La soluzione dei problemi al primo punto richiede un’adeguata conoscenza del

traffico permesso e del traffico da bloccare. Molto spesso, data la grande quantità di

dati scambiati è difficile comprendere la natura del traffico, quindi capire se siamo in

presenza di anomalie. In queste circostanze, è difficile scegliere gli eventi che

modellano il comportamento dell’attaccante ed ancora più difficile è distinguere le

attività generate da host critici e quelle da host non critici. Un buon approccio è

quello di specificare, per ogni situazione, l’indirizzo IP degli host. Il metodo descritto

richiede però la creazione di una regola per ogni ambiente diverso che vogliamo

controllare. Un altro approccio è quello che creare una regola generica che tenga

conto non solo dei log del firewall ma anche di quelli delle macchine critiche. In

questo modo è possibile rilevare in maniera più accurata gli attacchi verso gli host su

cui abbiamo abilitato i log del sistema operativo. Quest’ultima considerazione

introduce il vincolo di installare sulla macchina critica un agent che invii i log al

Page 94: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

94

MARS. Se non è possibile installare un agent, si può configurare il sistema operativo

per inviare gli eventi verso un host remoto, in questo caso il MARS, ma la

configurazione non è sempre agevole. Di contro bisogna considerare:

• la compatibilità dell’agent con il sistema operativo del host su cui

viene eseguito.

• il carico della rete all’aumentare del traffico dovuto ai log generati.

• i tempi di risposta e performance del server dopo l’installazione.

I problemi di compatibilità sono semplificata dall’esistenza di agent per quasi tutti i

sistemi operativi. Ad esempio dell’agent SNARE

(www.intersectalliance.com/projects/Snare) esiste una versione per tutti i sistemi

operativi Solaris, Windows 2000/NT/XP/2003, Novell Netware, AIX, e tutte le

distribuzioni Linux. Una buona configurazione dei filtri degli eventi può ridurre

drasticamente il volume dei log da inviare. Data la natura delle operazioni di raccolta

e invio degli eventi di sistema, possiamo dire che non si hanno degradi significativi

delle prestazioni. In sostanza è possibile utilizzare un agent per la gestione dei log,

senza effetti collaterali sul sistema.

Inoltre, adottando questa metodologia vengono risolti anche tutti i problemi degli

altri punti in quanto:

• il modello rileva un’attività sospetta che è suggerita dall’host stesso

passando per un numero indefinito di host intermedi.

• Gli eventi del sistema operativo creano eventi contenenti informazioni

sulle credenziali di accesso degli utenti e le relative operazioni (figura 11).

• La correlazione tra i log del sistema operativo e i log del firewall permette

un’analisi più accurata e precisa minimizzando i falsi positivi.

Page 95: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig. 11

La regola è stata implementata tenendo presente tutte le problematiche viste

precedentemente e cerca di modellare un tipo di attività piuttosto generalizzata

rispetto a un attacco specifico.

fig. 12

La fig.12 mostra la regola costituita da tre offset rispettivamente o1, o2, o3. Gli offset

o1 e o2 sono legati dall’operatore “AND” e rappresentano attività generiche di

attacchi su uno o più host. L’offset o3 è legato, tramite l’operatore logico

“FOLLOWED-BY”, agli offset o1 e o2 e rappresenta un’attività sospetta su un host

critico. Da un punto di vista logico la regola ha la forma:

95

Page 96: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

96

((o1 AND o2) FOLLOWED-BY o3)

Nel campo “Source IP” di o2 sono specificate le stesse variabili di “Destination IP”

presenti in o1, infatti:

• un generico attacco, verso un generico nodo della rete, può essere eseguito

su altri nodi partendo da quello precedentemente compromesso

(correlazione delle variabili $TARGET01 tra o1 e o2)

• un generico attacco può essere eseguito su un numero indefinito di nodi

intermedi (correlazione, in o2, della variabile SAME in “Source IP” e

delle variabili “SAME” e “ANY” in “Destination IP” )

La generalizzazione dell’attacco deriva dalla generalizzazione dei servizi interessati

(Variabile “SAME_ANY_DEST_PORT” in o2) e dai possibili eventi che possono

interpretare un qualsiasi attacco (definiti nel campo “Event” in o2).

Nel campo “Source IP” di o3 sono specificate le variabili “SAME” “$TARGET02”

che fanno parte anche del campo “Destination IP” in o2. La correlazione tra queste

variabili modella l’ultimo passo dell’attacco verso il sistema target.

Nel campo “Event” in o3 compare la variabile “$EVENT_TYPE01” che richiama

tutti gli eventi espressi in o2. Sono anche stati aggiunti altri eventi, che espandono il

dominio delle possibili attività affinché si aumenti la sensibilità dalla rilevazione

verso il sistema target.

Alcuni degli eventi vengono generati solo dal sistema operativo, ciò implica che tale

regola genera Incidenti diversi (con eventi diversi) a seconda che si tratti di host che

eseguono l’agent o meno. Questa regola rilevare attività anomale generiche, se

volessimo rilevare attività specifiche esistono delle regole di sistema “ad hoc”.

Page 97: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

fig.13

La regola in Fig. 13 rappresenta un modello di rilevazione di attacco basato un host

localmente loggati con permessi utente, seguito da attività anomale verso il server

che includono denial of service, scansioni, connessioni a backdoors e tentativi di

proparazione di worm e trojan horse.

fig. 14

97

Page 98: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

La regola in Fig. 14 rileva uno specifico attacco su un generico server FTP seguito da

una sospetta attività sul sistema target. Tali attività comprendono, host scan,

generazione di molti allarmi del firewall e connessioni a backdoor. Gli attacchi al

server ftp comprendono buffer overflows, esecuzione di comandi da remoto tentativi

di ottenere privilegi di administrator, denial of service.

Fig 15

La regola in Fig. 15 rileva un modello di attacco basato su login verso i servizi si un

host (Telnet, SSH, R-protocol tipo Rsh, Rlogin, Rexec etc.) seguito da attività

sospette verso il sistema target. L’attacco al server include buffer owerflows,

esecuzione remota di comandi usando i privilegi del server, tentativi di denial of

service.

98

Page 99: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

fig. 16

La regola in Fig. 16 modella uno specifico attacco verso i servizi mail (SMTP, POP,

IMAP) su un host seguito da sospette attività verso il server. Le attività sospette

includono scansione, eccessivo traffico negato dal firewall, connessioni a backdoor.

L’attacco include buffer owerflow, esecuzione di comandi da remoto, tentativi di

utilizzare i privilegi del server e denial of service.

99

Page 100: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

Fig 17

La regola della Fig. 17 rileva attacchi a diversi servizi ( DNS, FTP, HTTP, Mail, FTP,

RPC, Telnet, SSH, R-protocols) verso un generico host seguiti da attività sospette

verso il server. Sono comprese tutte le attività della regola mostrata in Fig. 16.

100

Page 101: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

101

5.6 Attacchi dinamicamente mutevoli Le politiche di sicurezza basate su intrusion detection system (IDS) rilevano gli

attacchi definiti da uno o più modelli che descrivono i comportamenti intrusivi di

interesse. Un sistema IDS è costituito da un database di attacchi descritti come attività

sospette. L’abilità di questi sistemi, dipende fortemente dalla qualità dei modelli di

attacco chiamati “signatures”.

Tanto più una signature descrive in maniera fedele un attaccho tanto più il sistema

IDS è performante.

Un modello perfetto dovrebbe disporre di segnature perfette e quindi essere in grado

di riconoscere tutte le istanze di un attacco. Purtroppo produrre un modello perfetto è

molto complesso perchè è difficile definire fedelmente tutte le possibili varianti di un

attacco.

Attualmente, il progetto di sistemi IDS è ancor più complesso perché esistono

attacchi in grado di mutare il loro comportamento in modo non deterministico,

eludendo cosi una qualsiasi signature. Questo tipo di attacco comprende una serie di

meccanismi che implementano la mutazione e sono quindi in grado di offuscare un

exploit che sfrutti una vulnerabilità di un servizio. La tecnica di mutazione può

operare a diversi livelli:

• Mutazione a livello rete: si sfrutta una classe di tecniche che operano sia a livello

rete sia a livello di trasporto. Queste mutazioni possono essere applicate

indipendentemente da quelle a livelli più alti. Ad esempio, una di queste tecniche

sfrutta l’attuale coesistenza del protocollo IPv4 con IPv6 offrendo la possibilità a

un attaccante, di eludere i sistemi IDS inviando dei pacchetti su IPv6. Alcuni

sistemi IDS controllano la lunghezza del pacchetto IP per scoprire eventuali

attacchi. In alcuni casi, è sufficiente inviare pacchetti più piccoli per eludere le

signatures di un IDS.

• Mutazioni a livello applicativo: queste mutazioni si verificano a livello di

sessione, presentazione e applicazione. Ad esempio è possibile inserire una certa

sequenza di controllo telnet in uno stream di comandi FTP. Alcuni IDS

normalizzano i comandi FTP identificandoli o estrapolandoli da una sequenza di

controllo. Usando quindi, un controllo di sequenza alternativo è possibile eludere

Page 102: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

102

un IDS. Ancora, le differenze implementative tra web server e sistemi IDS fanno

si che un attaccante possa beffare le signature violando un web server. Alcuni web

server, per esempio, tollerano errori o richieste non formattate correttamente. Le

richieste incorrette verso i web server potrebbero essere non considerate dai

sistemi IDS. Alcune implementazioni del protocollo SSL permettono di inviare un

numero arbitrario di records NULL tra le sequenze di possibili messaggi

scambiati tra client e server. Un attaccante potrebbe manipolare una sequenza di

handshake tra client e server che a questo punto dovrebbe essere non valida ma

che viene normalmente accettata by-passando cosi l’IDS.

L’importanza della problematica richiede una riflessione più accurata che deve

essere affrontata in altri ambiti. Il nostro scopo è quello di valutare un sistema di

intrusion prevention system (IPS) che si basa sull’analisi e correlazione di log inviati

da altri dispositivi. Le tecniche che permettono di eludere i sistemi IDS sono problemi

che devono essere affrontati dai dispositivi che generano log e non da quelli che li

analizzano. MARS raccoglie informazioni inviate da altri dispositivi e analizza con

alto grado di correlazione gli eventi ricevuti. I modelli IDS e IPS che oggi sono

implementati nei dispositivi prendono in considerazione tutte queste problematiche in

maniera esaustiva.

(http://www.cisco.com/application/pdf/en/us/guest/products/ps5769/c1244/cdccont_0

900aecd8030e502.pdf)

Page 103: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

103

Conclusioni Le attività di rete sono sempre più complesse e quindi più difficili da comprendere se

analizzate attraverso la lettura e l’interpretazione dei log. In questo senso MARS è

uno strumento efficace che facilita sia la lettura, attraverso il filtraggio di eventi, sia

l’interpretazione, attraverso l’inferenza generata da regole che permettono di

evidenziare le attività critiche. Le metodologie di analisi utilizzate in questa tesi

hanno cercato di valutare, in particolare, il grado di rilevazione e la precisione di

MARS.

Il grado di rilevazione è la capacità di MARS di riconoscere quindi rilevare,tutte le

attività sospette della rete.

La precisione misura l’attendibilità delle informazioni restituite dalle regole ed, in

particolare, dell’incidente generato cioè se esso descrive un’attività che

effettivamente può essere considerata sospetta.

Per quanto riguarda la rilevazione di attività sospette, MARS utilizza un insieme di

regole che le modellano. Non è possibile rilevare anomalie sulla rete se non esistono

regole che le modellano. I test effettuati hanno mostrato che nella sua configurazione

di base, MARS non rileva alcune scansioni (il 60%) e attacchi complessi generici

(100%) mentre rileva attività peer to peer generiche. Le possibili cause possono

essere attribuite ai dispositivi, utilizzati nei test, i quali generano un tipo di log poco

espressivo e verboso. Sarebbe opportuno ripetere tutti i test di scansione, su

dispositivi di costruttori diversi per confrontare i risultati. Le scansioni si

caratterizzano soprattutto per la rumorosità e per i tipi di pacchetti che inviano,

dunque, i parametri interessati sono la quantità di eventi inviati nell’unità di tempo e i

tipi di eventi generati dai diversi dispositivi bersaglio (ogni dispositivo di un diverso

costruttore ha un tipo caratteristico di log). Questa diversità è la principale causa del

basso grado di rilevazione delle scansioni. Infine è stato possibile rilevare tutte le

scansioni creando un'unica regola che sintetizza tutte le categorie di eventi interessati

e con un rapporto numero-eventi / range di tempo che abbraccia tutti i possibili gradi

di rumorosità.

Page 104: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

104

Gli attacchi complessi si distinguono per la loro caratteristica di effettuare operazioni

sequenziali diverse in un periodo di tempo indefinito, in questo caso, abbiamo creato

una regola che modella il tipo di attività permettendone la rilevazione.

La precisione di MARS dipende fortemente dall’attendibilità degli incidenti generati;

la rilevazione di un incidente, deve perciò essere accompagnata da un’adeguata

investigazione, sotto questo aspetto abbiamo avuto ottimi risultati per le scansioni.

MARS nella configurazione di base, riesce a rilevare solo generiche attività p2p, che

a volte può anche comprendere del normale traffico ftp o traffico p2p consentito dalle

politiche aziendali. Creando una regola che modella l’attività di un client Emule,

siamo riusciti a individuare, quindi, differenziare, il traffico anomalo da quello

consentito. Tenendo presente parametri come la stima del numero di sessioni di

connessioni e le porte di servizio utilizzate da Emule è stato possibile rilevare traffico

con un’attendibilità del 100%. Il risultato ottenuto può anche essere raggiunto

facilmente utilizzando dei dispositivi in grado di riconoscere ed inviare informazioni

circa il tipo di peer to peer. La nostra soluzione comunque è applicabile in qualsiasi

realtà aziendale senza sostenere costi aggiuntivi per dispositivi IDS.

Gli attacchi semplici sono stati rilevati con una precisione dell’90% dei casi, gli

attacchi complessi sono stati rilevati con un precisione dell’80%, in particolare è stato

necessario implementare una soluzione che correlasse non solo le informazioni

provenienti dai dispositivi di frontiera, quali firewall e router, ma anche tutte le

informazioni provenienti da server critici quali file server, server mail o web server. I

fattori che influiscono sulle difficoltà di programmare MARS, per aumentarne la

precisione, sono soprattutto legati alla “logica del giusto compromesso” tra la

descrizione completa dello spazio di attività anomale dello stesso genere (Kaaza,

Emule, Napster) e quella di diminuire i falsi positivi in modo da escludere dallo

spazio attività generate da altre attività legali.

Relativamente a questo ultimo aspetto, il nostro approccio è stato quello di

configurare MARS attraverso regole sia generiche sia specifiche che tenessero

rispettivamente traccia di determinati tipi attività (attacchi complessi, scansioni, p2p )

e di attività specifiche (attacco complesso all’ftp, scansioni lente, Emule).

L’intersezione degli eventi generati da una regola generica e di quelli dovuti ad una

specifica ci ha permesso di capire gli eventi che potevano generare errori nella

rilevazione fornendo un forte contributo alla scoperta di falsi positivi.

Page 105: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

105

Concludendo, possiamo affermare che MARS è un strumento adeguato per rilevare,

analizzare, correlare e definire efficaci contromisure nei confronti di minacce sempre

più sofisticate; è però fondamentale che MARS sia correttamente configurato

secondo le necessità e le caratteristiche delle reti aziendali. A tal proposito, è

necessario conoscere tutti i dispositivi di rete, gli host critici e tutte le attività

permesse dalle politiche di sicurezza aziendali al fine di implementare una soluzione

efficace ed efficiente per la sicurezza.

Le politiche aziendali richiedono di specificare regole che rilevano particolari attività

tra quali l’instant messaging, streaming multimediale e altri tipi di file sharing.

Per i nostri test sono stati utilizzati in prevalenza dispositivi Cisco. Sarebbe opportuno

utilizzare nei test ulteriori dispositivi di rete di altri costruttori per analizzarne le

diversità. Inoltre MARS non supporta alcuni dispositivi e i loro eventi non sono

possono essere interpretati. Per superare questa limitazione è necessario creare nuovi

eventi associati a tali dispositivi, ad esempio, la diffusione della tecnologia voip

introduce nuove problematiche di sicurezza. Lo studio e l’analisi di attività, generate

dal traffico voip, e la comprensione, di tali problematiche, sono possibili purchè

vengano definite delle opportune regole capaci di interpretare gli eventi che le

descrivono.

È doveroso soffermarci anche sulle problematiche sollevate dai sistemi di IPS che

popolano, sempre più, le reti e, se non regolati, forniscono un contributo inadeguato

alla sicurezza. I sistemi IPS analizzano il contenuto dei pacchetti che transitano sulle

interfacce dei dispositivi di rete e se il loro contenuto, è dichiarato anomalo, vengono

generate notifiche; poichè l’analisi del traffico è limitata al solo ambito delle sessioni,

il sistema IPS ha una visione relativa e non globale delle attività della rete, dunque, è

molto probabile che siano generati falsi allarmi. Attualmente questo sembra essere

uno dei problemi più sentiti nell’ambito della sicurezza e affiancare a un sistema IPS

le caratteristiche di MARS significherebbe avere un monitoraggio più preciso grazie

al meccanismo di correlazione delle informazioni e alla capacità di analisi e studio

dei falsi positivi.

Page 106: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

106

Appendice A

Plug in dell’attacco al database Oracle

# # oracle_tnslsnr_security.nasl - NASL script to do a TNS STATUS # command against the Oracle tnslsnr and grep out "SECURITY=OFF" # # James W. Abendschan <[email protected]> # if (description) { script_id(10660); script_version ("$Revision: 1.12 $"); script_name(english: "Oracle tnslsnr security"); script_description(english: "The remote Oracle tnslsnr has no password assigned. An attacker may use this fact to shut it down arbitrarily, thus preventing legitimate users from using it properly. Solution: use the lsnrctrl SET PASSWORD command to assign a password to, the tnslsnr. Risk factor : High" ); script_summary(english: "Determines if the Oracle tnslsnr has been assigned a password."); script_category(ACT_GATHER_INFO); script_family(english: "Misc.", francais:"Divers"); script_copyright(english: "James W. Abendschan <[email protected]> (GPL)"); script_dependencie("oracle_tnslsnr_version.nasl"); script_require_ports("Services/oracle_tnslsnr"); exit(0); } include('global_settings.inc'); function tnscmd(sock, command) { # construct packet command_length = strlen(command); packet_length = command_length + 58; # packet length - bytes 1 and 2 plen_h = packet_length / 256; plen_l = 256 * plen_h; # bah, no ( ) ? plen_l = packet_length - plen_h; clen_h = command_length / 256; clen_l = 256 * clen_h; clen_l = command_length - clen_l; packet = raw_string(

Page 107: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

107

plen_h, plen_l, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x36, 0x01, 0x2c, 0x00, 0x00, 0x08, 0x00, 0x7f, 0xff, 0x7f, 0x08, 0x00, 0x00, 0x00, 0x01, clen_h, clen_l, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xe6, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, command ); send (socket:sock, data:packet); r = recv(socket:sock, length:8192, timeout:5); return (r); } function oracle_tnslsnr_security(port) { sock = open_sock_tcp(port); if (sock) { cmd = "(CONNECT_DATA=(COMMAND=STATUS))"; reply = tnscmd(sock:sock, command:cmd); close(sock); if ( ! reply ) return 0; if ("SECURITY=OFF" >< reply) { security_hole(port:port); } else { if ("SECURITY=ON" >< reply || "ERROR=(CODE=1169)" >< reply ) { # FYI report = string ( "This host is running a passworded Oracle tnslsnr.\n" ); security_note(port:port, data:report); } else if ( "ERROR=(CODE=12618)" >< reply && report_verbosity == 2 ) { report = string( "This host has an incompatible version of tnslsnr for the plugin. This cannot be checked.\n"); security_note(port:port, data:report); } } } } # tnslsnr runs on different ports . . . port = get_kb_item("Services/oracle_tnslsnr"); if ( isnull(port)) exit(0); if(get_port_state(port)) { oracle_tnslsnr_security(port:port);}

Plug in dell’attacco al IOS CISCO per Denial of service

Page 108: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

108

# # (C) Tenable Network Security # if(description) { script_id(20807); script_bugtraq_id(15401); script_version("$Revision: 1.1 $"); name["english"] = "IOS IPSec IKE Traffic Denial of Service Vulnerability"; script_name(english:name["english"]); desc["english"] = " Synopsis : The remote router can be crashed remotely. Description : The remote host is a CISCO router containing a version of IOS which is vulnerable to a denial of service vulnerability. An attacker may exploit this flaw to crash the remote device by sending a malformed IKE packet to the remote device. Solution : http://www.cisco.com/warp/public/707/cisco-sa-20051114-ipsec.shtml Risk factor : Medium / CVSS Base Score : 4 (AV:R/AC:H/Au:NR/C:N/A:C/I:N/B:A)"; script_description(english:desc["english"]); summary["english"] = "Uses SNMP to determine if a flaw is present"; script_summary(english:summary["english"]); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is (C) 2006 Tenable Network Security"); script_family(english:"CISCO"); script_dependencie("snmp_sysDesc.nasl", "snmp_cisco_type.nasl"); script_require_keys("SNMP/community", "SNMP/sysDesc", "CISCO/model"); exit(0); } include('cisco_func.inc'); os = get_kb_item("SNMP/sysDesc"); if(!os)exit(0); hardware = get_kb_item("CISCO/model"); if(!hardware)exit(0); version = extract_version(os); if ( ! version ) exit(0); if ( check_release(version:version, patched:make_list("12.2(18)SXD7"),

Page 109: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

109

newest:"12.2(18)SXD7") ) vuln ++; # # 12.3 # if ( deprecated_version(version, "12.3TPC", "12.3XD", "12.3XE", "12.3XF", "12.3XG", "12.3XH", "12.3XI", "12.3XJ", "12.3XK", "12.3XM", "12.3XQ", "12.3XR", "12.3XS", "12.3XU", "12.3XW", "12.3XX", "12.3YA", "12.3YD", "12.3YF", "12.3YG", "12.3YH", "12.3YI", "12.3YJ", "12.3YK", "12.3YS", "12.3YT", "12.3YU", "12.3YX") ) vuln ++; if ( check_release(version:version, patched:make_list("12.3(11)T9", "12.3(14)T5"), newest:"12.3(14)T5") ) vuln ++; if ( check_release(version:version, patched:make_list("12.3(14)YM4"), newest:"12.3(14)YM4") ) vuln ++; if ( check_release(version:version, patched:make_list("12.3(14)YQ4"), newest:"12.3(14)YQ4") ) vuln ++; # 12.4 if ( deprecated_version(version, "12.3XA")) vuln ++; if ( check_release(version:version, patched:make_list("12.4(1c)", "12.4(3b)"), newest:"12.4(3b)") ) vuln ++; if ( check_release(version:version, patched:make_list("12.4(2)T2"), newest:"12.4(4)T2") ) vuln ++; if ( check_release(version:version, patched:make_list("12.4(2)XB"), newest:"12.4(2)XB") ) vuln ++; if ( vuln == 1 ) security_warning(port:161, proto:"udp"); else if ( vuln > 1 ) display("Problem in script $Id: CSCed94829.nasl,v 1.1 2006/01/25 18:02:07 renaud Exp $\n");

Plug in dell’attacco al server FTP per directory traversal

# # This script was written by Erik Tayler <[email protected]> # # See the Nessus Scripts License for details # if(description) { script_id(11206); script_bugtraq_id(2444); script_version("$Revision: 1.6 $"); script_cve_id("CVE-2001-0295"); script_xref(name:"OSVDB", value:"874"); name["english"] = "War FTP Daemon Directory Traversal"; script_name(english:name["english"]);

Page 110: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

110

desc["english"] = " The version of WarFTPd running on this host contains a vulnerability that may allow a potential intruder to gain read access to directories and files outside of the ftp root. By sending a specially crafted 'dir' command, the server may disclose an arbitrary directory. Solution: Visit the following link and download the latest version of WarFTPd: ftp://ftp.jgaa.com/pub/products/Windows/WarFtpDaemon/ Risk factor: Low"; script_description(english:desc["english"]); summary["english"] = "WarFTPd Directory Traversal"; script_summary(english:summary["english"]); script_category(ACT_ATTACK); script_copyright(english:"This script is Copyright (C) 2003 Digital Defense, Inc."); family["english"] = "FTP"; script_family(english:family["english"]); script_dependencies("find_service_3digits.nasl"); script_require_ports("Services/ftp", 21); exit(0); } include("ftp_func.inc"); port = get_kb_item("Services/ftp"); if(!port)port = 21; if(get_port_state(port)) { r = get_ftp_banner(port:port); if(!r)exit(0); if( (egrep(pattern:"WAR-FTPD 1\.(6[0-5]|[0-5].*)",string:r)) || ("WAR-FTPD 1.67-04" >< r) ) { security_hole(port); } }

Plug in vulnerabilità servizi IIS di Windows

# # This script is Copyright (C) 2003 SensePost"); # # Modification by David Maciejak # <david dot maciejak at kyxar dot fr> # based on 404print.c from Digital Defense # desc["english"] = " Synopsis : The remote web server is running Microsoft IIS.

Page 111: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

111

Description : The Patch level (Service Pack) of the remote IIS server appears to be lower than the current IIS service pack level. As each service pack typically contains many security patches, the server may be at risk. Note that this test makes assumptions of the remote patch level based on static return values (Content-Length) within a IIS Server's 404 error message. As such, the test can not be totally reliable and should be manually confirmed. Solution: Ensure that the server is running the latest stable Service Pack. Risk factor : None"; if(description) { script_id(11874); script_version("$Revision: 1.15 $"); name["english"] = "IIS Service Pack - 404"; script_name(english:name["english"]); script_description(english:desc["english"]); summary["english"] = "IIS Service Pack Check"; script_summary(english:summary["english"]); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2003 SensePost & Copyright (C) 2004 David Maciejak"); family["english"] = "Web Servers"; script_family(english:family["english"]); script_dependencie("find_service.nes", "http_version.nasl", "www_fingerprinting_hmap.nasl"); script_require_ports("Services/www", 80); exit(0); } # Check starts here include("http_func.inc"); include("http_keepalive.inc"); port = get_http_port(default:80); sig = get_http_banner(port:port); if ( sig && "IIS" >!< sig ) exit(0); if(! get_port_state(port)) exit(0); r1 = http_get(item:"/nessus" + rand(), port:port); r = http_keepalive_send_recv(data:r1, port:port); if ( r == NULL ) exit(0); if (!ereg(pattern:"^HTTP.* 404 .*", string:r))exit(0); v4 = egrep(pattern:"^Server:.*Microsoft-IIS/4\.0", string:r); v5 = egrep(pattern:"^Server:.*Microsoft-IIS/5\.0", string:r); v51 = egrep(pattern:"^Server:.*Microsoft-IIS/5\.1", string:r); v6 = egrep(pattern:"^Server:.*Microsoft-IIS/6\.0", string:r); cltmp = eregmatch(pattern:".*Content-Length: ([0-9]+).*", string:r); if (isnull(cltmp)) exit(0);

Page 112: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

112

cl=int(cltmp[1]); ver = string("The remote IIS server *seems* to be "); #if(v4) #{ # if (102 == cl) # ver = ver + string("Microsoft IIS 4 - Sp0\n"); # if (451 == cl) # ver = ver + string("Microsoft IIS 4 - SP6\n"); # if (461 == cl) # ver = ver + string("Microsoft IIS 4 - SP3\n"); #} if(v5) { #?? # if(111 == cl) # ver = ver + string("Microsoft IIS 5 - SP4\n"); if(3243 == cl) ver = ver + string("Microsoft IIS 5 - SP0 or SP1\n"); if(2352 == cl) ver = ver + string("Microsoft IIS 5 - SP2 or SRP1\n"); if(4040 == cl) ver = ver + string("Microsoft IIS 5 - SP3 or SP4\n"); } if(v51) { if (1330 == cl) ver = ver + string("Microsoft IIS 5.1 - SP2\n"); if (4040 == cl) ver = ver + string("Microsoft IIS 5.1 - SP0\n"); } if(v6) { if (2166 == cl) ver = ver + string("Microsoft IIS 6.0 - SP0\n"); if (1635 == cl) ver = ver + string("Microsoft IIS 6.0 - w2k3 build 3790\n"); } if ( ver != "The remote IIS server *seems* to be " ) { report = string( desc["english"], "\n\n", "Plugin output :\n", "\n", ver ); security_note(port:port, data:report); }

Page 113: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

113

PlugIn per il discovery dei servizi

# # This script was written by Michel Arboi <[email protected]> # # It is released under the GNU Public Licence. # # if(description) { script_id(14773); script_version ("$Revision: 1.24 $"); name["english"] = "Identifies services like FTP, SMTP, NNTP..."; script_name(english:name["english"]); desc["english"] = " Synopsis : This plugin performs service detection. Description : This plugin is a complement of find_service.nes. It attempts to identify services that return 3 ASCII digits codes (ie: FTP, SMTP, NNTP, ...) Risk factor : None"; script_description(english:desc["english"]); summary["english"] = "Identifies services that return 3 ASCII digits codes"; script_summary(english:summary["english"]); script_category(ACT_GATHER_INFO); script_timeout(0); script_copyright(english:"This script is Copyright (C) 2004 Michel Arboi"); script_family(english:"Service detection"); script_dependencie("find_service.nes"); # cifs445.nasl # "rpcinfo.nasl", "dcetest.nasl" # Do *not* add a port dependency on "Services/three_digits" # find_service2 must run after this script even if there are no # '3 digits' services exit(0); } # include("misc_func.inc"); include("global_settings.inc");

Page 114: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

114

port = get_kb_item("Services/three_digits"); if (! port) exit(0); if (! get_port_state(port)) exit(0); if (! service_is_unknown(port: port)) exit(0); if (thorough_tests) retry = 3; else retry = 1; function read_answer(socket) { local_var r, answer, i; repeat { for (i = 0; i <= retry; i ++) { r = recv_line(socket: socket, length: 4096); if (strlen(r) > 0) break; } answer += r; } until (! r || r =~ '^[0-9]{3}[^-]' || strlen(answer) > 1000000); return answer; } soc = open_sock_tcp(port); if (! soc) exit(0); banner = read_answer(socket: soc); if (banner) replace_or_set_kb_item(name: "FindService/tcp/"+port+"/spontaneous", value: banner); else debug_print('Banner is void on port ', port, ' \n'); # 500 = Unknown command # 502 = Command not implemented # If HELP works, it is simpler than anything else send(socket: soc, data: 'HELP\r\n'); help = read_answer(socket: soc); if (help) { replace_or_set_kb_item(name: "FindService/tcp/"+port+"/help", value: help); if (! banner) banner = help; # Not normal, but better than nothing } if (help !~ '^50[0-9]') { if ("ARTICLE" >< help || "NEWGROUPS" >< help || "XHDR" >< help || "XOVER" >< help) { report_service(port:port, svc: 'nntp', banner: banner); exit(0); } # nb: this must come before FTP recognition. if ( egrep(string:banner, pattern:"^220.*HylaFAX .*Version.*") || egrep(string:help, pattern:"^220.*HylaFAX .*Version.*") ) { report_service(port: port, svc: 'hylafax', banner: banner); exit(0); } if ( "220 Sharp - NetScan Tool" >< banner ) { report_service(port: port, svc: 'ftp', banner: banner); exit(0); }

Page 115: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

115

if ("PORT" >< help || "PASV" >< help) { report_service(port:port, svc: 'ftp', banner: banner); exit(0); } # Code from find_service2.nasl if (help =~ '^220 .* SNPP ' || egrep(string: help, pattern: '^214 .*PAGE')) { report_service(port: port, svc: 'snpp', banner: banner); exit(0); } if (egrep(string: help, pattern: '^214-? ') && 'MDMFMT' >< help) { report_service(port: port, svc: 'hylafax-ftp', banner: banner); exit(0); } } send(socket: soc, data: 'HELO mail.nessus.org\r\n'); helo = read_answer(socket: soc); if ( egrep(string: helo, pattern: '^250')) { report_service(port:port, svc: 'smtp', banner: banner); exit(0); } send(socket: soc, data: 'DATE\r\n'); date = read_answer(socket: soc); if (date =~ '^111[ \t]+2[0-9]{3}[01][0-9][0-3][0-9][0-2][0-9][0-5][0-9][0-5][0-9]') { report_service(port: port, svc: 'nntp', banner: banner); exit(0); } ftp_commands = make_list("CWD", "SYST", "PORT", "PASV"); ko = 0; foreach cmd (ftp_commands) { send(socket: soc, data: cmd + '\r\n'); r = read_answer(socket: soc); if (egrep(string: r, pattern: '^50[0-9]')) ko ++; debug_print('Answer to ', cmd, ': ', r); if (cmd == "SYST") { # We store the result of SYST just in case. Most (>99%) FTP servers answer # "Unix Type: L8" so this is not very informative v = eregmatch(string: r, pattern: '^2[0-9][0-9] +(.*)[ \t\r\n]*$'); if (! isnull(v)) set_kb_item(name: 'ftp/'+port+'/syst', value: v[1]); } } if (! ko) { report_service(port: port, svc: 'ftp', banner: banner); exit(0); } # Code from find_service2.nasl: # SNPP, HylaFAX FTP, HylaFAX SPP, agobot.fo, IRC bots, WinSock server, # Note: this code must remain in find_service2.nasl until we think that # all find_service.nes are up to date #

Page 116: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

116

if (egrep(pattern:"^220 Bot Server", string: help) || raw_string(0xb0, 0x3e, 0xc3, 0x77, 0x4d, 0x5a, 0x90) >< help) { report_service(port:port, svc:"agobot.fo", banner: banner); exit(0); } if ("500 P-Error" >< help && "220 Hello" >< help) # or banner? { report_service(port:port, svc:'unknown_irc_bot', banner: banner); exit(0); } if ("220 WinSock" >< help) # or banner? { report_service(port:port, svc:'winsock', banner: banner); exit(0); } # Try poppasswd if (egrep(pattern:"^200 .* (Password service|PWD Server|poppassd)", string:banner)) { report_service(port:port, svc:"pop3pw", banner:banner); exit(0); } if (substr(banner, 0, 3) == '200 ') { close(soc); soc = open_sock_tcp(port); if (soc) { banner = read_answer(socket: soc); send('USER nessus\r\n'); r = read_answer(socket: soc); if (strlen(r) > 3 && substr(r, 0, 3) == '200 ') { send('PASS ', rand(), 'nessus\r\n'); r = read_answer(socket: soc); if (strlen(r) > 3 && substr(r, 0, 3) == '500 ') { report_service(port:port, svc:"pop3pw", banner:banner); close(soc); exit(0); } } close(soc); } } # Give it to find_service2 & others register_service(port: port, proto: 'unknown'); set_unknown_banner(port: port, banner: banner); if (report_paranoia > 1) { security_warning(port: port, data: 'Although this service answers with 3 digit ASCII codes like FTP, SMTP or NNTP servers, Nessus was unable to identify it. This is highly suspicious and might be a backdoor; in this case, your system is compromised and a cracker can control it remotely. ** If you know what it is, consider this message as a false alert ** and please report it to the Nessus team. Solution : disinfect or reinstall your operating system Risk factor : High'); }

Page 117: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

117

Page 118: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

118

Bibliografia [1] Constrained Automata: a Formal Tool for ICT Risk Assesment F. Baiardi, L. Ricci, C. Telmon diartmento informatica Università di Pisa F.Martinelli Istituto di Informatica e Telecomunicazioni, CNR, Pisa [2] Automatic Generation and Analysis of NIDS Attacks Shai Rubin, Somesh Jha, and Barton P. MillerUniversity of Wisconsin, Madison Computer Sciences Department {shai,jha,bart}@cs.wisc.edu [3] Testing Networkbased Intrusion Detection Signatures Using Mutant Exploits Giovanni Vigna [email protected] William Robertson [email protected] Davide Balzarotti [email protected] Reliable Software Group University of California, Santa Barbara Santa Barbara, CA 93106 [4] A Graph-Based Network-Vulnerability Analisys System Laura Painton Swiler, Cynthia Phillips, Timothy Gaylor [5] Modeling Multistep Cyber Attacks for Scenario Recognition Steven Cheung Ulf Lindqvist Martin W. Fong System Design Laboratory SRI International 333 Ravenswood Ave, Menlo Park [6] Cisco IPS-4240 v.6.0 technical evaluation Cisco System Inc. www.cisco.com [7] Le principali tipologie di attacco ai sistemi aziendali e personali INFOSEC [8] On the Completeness of Attack Mutation Algorithms Shai Rubin, Somesh Jha, and Barton P. Miller University of Wisconsin, Madison Computer Sciences Department {shai,jha,bart}@cs.wisc.edu [9] Xeno-ttacks: Near-Future Attack Mutation By Andrew Berkuta [10] Buffer overflow attack detect, exploit, prevent James C. Foster, Vitality Osipov, Nish Bhalla, NIels Heinen [11] Anti-Hacker Tool Kit, Second Edition by Mike Shema and Bradley C. Johnson McGraw-Hill © 2004 (808 pages) [12] Hacker’s programming book Flavio Bernardotti amc [13] Remote Timing Attacks are Practical Brumley, Boneh

Page 119: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

119

[14] Syngress - Aggressive Network Self-Defense Neil Archibald, Seth Fogie, Chris Hurley, Dan Kaminsky, Johnny Long, Luke McOmie, Haronn Meer, Bruce Potter, Roelof Temmingh [15] Syngress,.Writing.Security.Tools.and.Exploits James C. Foster, Vincent T. Liu. [16] CISCO PIX Firewall and VPN Configuration Guide, Version 6.3 Cisco System Inc. www.cisco.com [17] Cisco ASA: All-in-One Firewall, IPS, and VPN Adaptive Security Appliance By Jazib Frahim Cisco System Inc.www.cisco.com [18] ] Ethereal Packet Sniffing by Angela Orebaugh [19] Cisco.Press,.The.Complete.Cisco.VPN.Configuration.Guide By Richard Deal [20] Cisco_Pix_6.3_Commands guide Cisco System Inc. www.cisco.com [21] Mcgraw Hill - Cisco Tcp-Ip Routing Professional Reference by Chris Lewis [22] Syngress - Sniffer Pro Network Optimization and Troubleshooting Handbook Robert Shiminski, Wally Eaton, Umer Khan, yuri Gordienko [23] Syngress,.Nessus.Network.Auditing Sence Post, Jay Beale, Raven Alder, Jimmy Alderson, Andy Johnston, Gorge A. Theall [24] Syngress,Nessus.Snort and Ethereal Power Tools Customizing Open Source Security Applications Gilbert Ramirez, Brian Caswell, snort.org, Noam Rathaus, Jay Beale

Page 120: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

120

Sitografia

1. http://www.google.it

2. http://www.cisco.com

3. http://www.nessus.org

4. http://insecure.org/nmap/

5. http://www.looklan.com

6. http://www.ethereal.com

7. http://www.zyxel.com

8. http://www.redhat.it/fedora/

9. http:// www.kiwisyslog.com

10. http://www.oracle.com/

11. http://www.apache.org

12. http://www.tomcat.apache.org

13. http://www.intersectalliance.com/projects/Snare/

14. http://www.networkworld.com/weblogs/security/005784.html

15. http://www.seifried.org/security/ids/20020107-honeypot-vmware-basics.html

16. http://www.cis.udel.edu/~sunshine/F03/CIS659/mitigation.pdf

17. http://www.windowsitpro.com/WindowsSecurity/Article/ArticleID/49076/4907

6.html

18. http://www.windowsitpro.com/WindowsSecurity/Article/ArticleID/49076/4907

6.html

19. http://www.p2pforum.it/forum/showthread.php?t=110423

20. http://www.petri.co.il/forums/showthread.php?t=8386

21. http://www.emule-project.net/home/perl/general.cgi?l=18

22. http://www.afterdawn.com/guides/archive/little_emule_tutorial.cfm#02

23. http://www.sci.unich.it/~bista/didattica/reti-sicurezza/seminari2005-

06/Funzionamento_di_emule.ppt

24. http://it.wikipedia.org/wiki/EDonkey

25. http://it.wikipedia.org/wiki/EMule

26. http://www.cisco.com/en/US/products/hw/routers/ps380/products_installation_g

uide_chapter09186a0080471070.html

Page 121: UNIVERSITÀ DI PISA - COnnecting REpositories · Tesi di Laurea Specialistica di Vito Pietrapertosa Relatori: Candidato: ... Il valore strategico e la crescente complessità delle

121

Ringraziamenti

Vorrei ringraziare di cuore i miei relatori Fabrizio Baiardi ed Emanuele Briganti che

mi hanno sostenuto e consigliato durante l’elaborazione e la stesura di questo lavoro.

Ringrazio Marco Misitano e Marco Voi, di Cisco Systems, che mi hanno aiutato per

problemi tecnici del dispositivo MARS.

Un grazie alla Pc System s.r.l, in particolare, a Flavio Casini che ha sostenuto i costi,

per me proibitivi, di MARS e dei dispositivi utilizzati nei test.

Grazie infinite a Papà e Mamma che mi hanno appoggiato e sostenuto nelle mie

scelte, a Donatella e Maria, sorelle fantastiche e particolarmente vicine durante

l’esperienza universitaria.

Un grazie reciproco ai miei inseparabili amici Giuseppe “il Rosso” e “Michele

l’uomo Nero”, persone vere, disponibili in qualsiasi momento, soprattutto in quelli

meno fortunati e che, come me, ora sono impegnati a scrivere i loro ringraziamenti.

Grazie agli amici di Genzano, in particolare, Pierino che ha abbandonato Roma per

stare con noi a Pisa.

Grazie alla banda di Peppe “la Mente”, Gianfranco “il Brigante”, Raffaele “Zampy”,

Enza, Alberto “u’ Boss”, Passeretta e a tutti gli amici “Lopez”, compagni di notti

brave a piazza dei Cavalieri.

Un particolare ringraziamento a Maria Teresa, dolce compagna, capace, come

sempre, di farmi sorridere nei momenti, come questi, fatti di tensioni.

Colgo l’occasione per esprimere tutta la mia felicità e soddisfazione per aver

raggiunto, nella vita, un così grande traguardo.

Un forte abbraccio a tutti quelli che hanno creduto in me e che mi vogliono bene.