Progetto del corso di SICUREZZA DELLE RETI E DEI SISTEMI SOFTWARE Studenti: Alessandro Esposito 399/92 Luciano Ocone 399/96 Luigi Pino 399/88 Docente:

Slides:



Advertisements
Presentazioni simili
Il firewall di Linux: IPTables 19 Settembre 2005.
Advertisements

AICA Corso IT Administrator: modulo 5 AICA © EUCIP IT Administrator Modulo 5 - Sicurezza Informatica Esercitazione Alberto Bosio.
OSSEC HIDS, Host Based Intrusion Detection System
Luca Tampieri - INFN Firenze1 Intrusion Detection Systems Cosa sono gli Intrusion Detection Systems (IDS) e a cosa servono Snort Demarc, Acid e SnortSnarf.
Progetti 2015/2016. Proj1: Traduzione di regole snort in regole iptables Snort: – analizza i pacchetti che transitano in rete, confrontandoli con un database.
Firewalling. A che serve un firewall? Rende accessibili all’esterno solo i servizi che veramente vogliamo pubblicare Impedire agli utenti della rete.
Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
PRIN NAPOLI Enzo Capone, Gianpaolo Carlino, Alessandra Doria, Rosario Esposito, Leonardo Merola, Silvio Pardi, Arturo Sanchez Pineda.
Linux Day 2006 – Giornata nazionale dedicata al Software Libero e GNU/ Linux – Come proteggere Windows tm con GNU/Linux Roberto Lacava.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
LTSP (Linux Terminal Server Project) GNU/Linux ed Workshop di Enrico Teotti powered with Gentoo Linux Linux Day LUG Mantova.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
OSMit 2010 Genova, giugno 2010 a cura di a cura di ROBERTO Vito Gerardo ROBERTO Vito Gerardo
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
A dvanced N etwork T echnologies Lab oratory Infrastrutture e Protocolli per Internet Laboratorio 5 Politecnico di Milano Stefano NapoliAlberto Pollastro.
Università degli Studi - “ G. d'Annunzio ” Chieti - Pescara FACOLTÀ DI ECONOMIA Corso di laurea in Economia Informatica/s Seminario di: Giovanni Placentino.
OpenWrt Diego Furlan. Panoramica ● Presentazione ● Download software ● Configurazione software ● Compilazione firmware ● Upload firmware ● Configurazione.
Gestione dei Software in GNU/Linux HackLab Catanzaro Installazione software da sorgente 8° Lezione GNU/Linux Base
AFS NELLA SEZIONE DI PADOVA aree_utenti: attualmente nessuno ha la proria home in AFS e quasi nessuno utilizza l'area utenti di AFS. /usr/local: si preferisce.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
VO-Neural Project e GRID Giovanni d’Angelo Dipartimento di Scienze Fisiche Università degli Studi di Napoli Federico II Martina Franca 12 – 23 Novembre.
HYSTRIX Dario BRUNO protects your network Cisco ID: CSCO
Facile da usare Un'interfaccia amministrativa completamente rinnovata, iniziare con Drupal è più facile!
Ing. Christian Barberio
Corso per Webmaster base
NAT, Firewall, Proxy Processi applicativi.
Vulnerability Assessment
VI Giornata Nazionale Di Gnu/Linux E Del Software Libero
TCP/IP.
INDUSTRIA 4.0 & IPERAMMORTAMENTO
Piattaforma per industrie stampaggio
Arkoon Network Security 2010
dCache Test effettuati al CNAF
CARATTERISTICHE DI UN DATACENTER
Corso di Laurea in Ingegneria Informatica
FireWall A cura di:IVX A.Volta-Napoli Marco Calì Dario Minutolo
Pronto.
Introduzione a Scratch!
OSSEC HIDS, Host Based Intrusion Detection System
TCP/IP. Sommario  Introduzione al TCP/IP  Indirizzi IP  Subnet Mask  Frame IP  Meccanismi di comunicazione tra reti diverse  Classi di indirizzi.
Breve report su corso RedHat Enterprise Virtualization (RH318)
PNSD - Modulo D1A 27 aprile 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Guido Cuscela INFN-Bari
Terza Lezione → Navigare nel file System → parte 2
Tutorial help.ebsco.com.
PRIN Roma1 – status Luciano Barone, Alessandro De Salvo
Aurelio LEONE CTS OCP – Bologna 28/07/2016
Job Application Monitoring (JAM)
LA GESTIONE DEI PACCHETTI
Sviluppo di server web e sistema di caching per contenuti dinamici
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Sono stati sperimentati software in grado di rilevare se sono stati compromessi determinati componenti di un sistema operativo.
Operazioni pianificate
analizzatore di protocollo
Corso di Ingegneria del Web A A Domenico Rosaci 1
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Programmare.
COME PROTEGGERSI Ing. Massimiliano Zuffi
Commercialisti & Revisori
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Firewalling.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Le reti informatiche di Roberto Minotti 17/01/2019.
Le reti informatiche di Roberto Minotti 15/02/2019.
Corso base per Operatori di Protezione Civile
Excel 3 - le funzioni.
Università degli studi di Modena e Reggio Emilia
Arantxa De La Hoz Codice Matricola:
Modellizzazione dei flussi nelle intersezioni stradali:
Transcript della presentazione:

Progetto del corso di SICUREZZA DELLE RETI E DEI SISTEMI SOFTWARE Studenti: Alessandro Esposito 399/92 Luciano Ocone 399/96 Luigi Pino 399/88 Docente: Prof. Corrado Aaron Visaggio Collaboratore: Ing. Antonio Pirozzi

Presentazione del tool 2

1. Introduzione Il tool s2ipt, realizzato nel Maggio del 2016 e distribuito sotto licenza GNU, permette di effettuare la traduzione delle regole Snort in regole Iptables, dal contenuto semantico equivalente (ambienti Linux based). Unico tool simile esistente: FWSNORT SNORT ▪È un Intrusion Detection System (IDS) open-source (GNU GPLv2) ▪Permette l’analisi del traffico di una determinata rete IP e l’individuazione di potenziali minacce ed intrusioni provenienti dall’esterno ▪Firewall a livello applicativo ▪3 modalità di funzionamento: sniffer, packet logger e network intrusion detection ▪Basato su regole snort IPTABLES ▪Programma utente delle distribuzioni Linux, che permette di configurare opportunamente NetFilter, un componente del kernel (firewall a livello kernel) ▪Organizzato in catene (chain): input, output, forward ▪Basato su regole iptables 3

2. Obiettivo del tool S2ipt permette di configurare iptables in modo da funzionare sia come IDS che IPS: ▪IDS (Intrusion detection system): sistema utilizzato per monitorare il traffico di rete al fine di individuare e segnalare eventuali attività malevoli. ▪IPS (Intrusion prevention system): sistema utilizzato per monitorare il traffico di rete al fine di individuare e segnalare eventuali attività malevoli, cercando di fermarle. Tool sviluppato in Python, leggero e a basso impatto: ▪Sistemi embedded e low-cost (es. Raspberry pi) ▪Internet of things 4 4

3. Caratteristiche e vantaggi di s2ipt Semplice Configurazione firewall dall’elevata robustezza a “costo zero” Sempre aggiornato Protezione verso le più recenti e diffuse minacce grazie alle Snort community rules Non invasivo Impatta il meno possibile sull’ambiente: ▪livello prestazionale (RAM) ▪trasparente 5 Veloce Operando a livello kernel è in grado di abbattere tutto l’overhead presente in soluzioni che operano a livello applicativo Traduzione “best-effort” Traduzione delle regole Snort al massimo della sintassi consentita da iptables Efficiente Risolve il classico problema della frammentazione dei pacchetti presente a livello applicativo (preprocessore frag3)

6 4. Impatto sul sistema s2ipt ha impatta il meno possibile sull’ambiente, lasciando invariato lo stato del firewall  catena separata (IDS/IPS) Aggiunta di due regole  Per le default chain iptables -A DEFAULT_CHAIN –j CUSTOM_CHAIN  Per la custom chain iptables -A CUSTOM_CHAIN –j RETURN

5. FUNZIONALITÀ OFFERTE ▪Specifica dell’interfaccia di rete: tramite l’opzione --iface è possibile specificare l’interfaccia di rete sulla quale applicare le regole Iptables. ▪Log mode: tramite l’opzione --log è possibile specificare la possibilità di aggiungere alle regole tradotte in Iptables l’opzione –j LOG (chain IDS) ▪Drop mode: tramite l’opzione --drop è possibile specificare la possibilità di aggiungere alle regole tradotte in Iptables l’opzione –j DROP (chain IPS) ▪Reject mode: tramite l’opzione --reject è possibile specificare la possibilità di aggiungere alle regole tradotte in Iptables l’opzione –j REJECT (chain IPS) ▪Revert mode: tramite l’opzione --revert è possibile ripristinare le regole Iptables presenti nel backup effettuato dal s2ipt. 7 S2ipt permette di specificare le seguenti opzioni da riga di comando:

Implementazione del tool Architettura e algoritmo di traduzione 8

6.1 Approccio utilizzato 9 Keyword_1:value_1 (options) Approccio best-effort: mancanza di mapping 1:1 tra regole Snort e Iptables Regola Snort Action Protocol Source IP, port Destination IP, port Operator Header Keyword_n:value_n …

6.2 Approccio utilizzato 10 iptables [-t ] \ \ Regola Iptables In generale, al fine di creare una qualsiasi regola Iptables valida, è necessario fissare almeno i tre aspetti chiave:  Packet type – il tipo di pacchetto da filtrare/monitorare.  Packet source/destination – il tipo di pacchetti da filtrare sulla base dei campi di origine e destinazione.  Target – che tipo di azione eseguire quando la regola in questione viene matchata.

7. Algoritmo di traduzione 11 s2ipt Regole Iptables Pre-processing Header-translation Option-translation Synthesis Snort community rules

7.1 Algoritmo di traduzione 12 Mapping 1:1 S2ipt traduce i seguenti campi: Best-effort  Action  Protocol  Source/destination IP e port  Content  Uricontent  TTL  Tos  Ip_proto  Depth  Flow  Pcre  Offset

8.Architettura 13 Package: domain_classes engine

Utilizzo del tool 14

9. File install Nella distribuzione rilasciata è presente un file install.sh che consente di installare il tool nell’ambiente ospitante: 1.Controllo versioni e servizi dell’ambiente 2.Creazione gerarchia directory 3.Copia dei file in opt/s2ipt 4.Creazione link simbolico 5.Configurazione del demone 6.Download community rules 15 install –d ▪Python ▪Kernel-linux Deployment ▪Test connettività ▪Download ▪Estrazione regole

10. s2ipt_daemon S2ipt configura l’esecuzione di uno script bash che agisce come una sorta di demone: ▪Controlla regolarmente se è un certo intervallo di tempo x (default 30 giorni dall’ultimo update) Last_update + x = today? ▪Aggiorna data ultimo update 16 L’esecuzione del demone viene definita in fase di installazione (crontab): ▪Ogni giorno alle 00:00 ▪Ogni riavvio dell’ambiente

11.1 Esempi di traduzione Prendiamo in considerazione la seguente regola Snort: alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"MALWARE-BACKDOOR Infector.1.x"; flow:established,to_client; content:"WHATISIT"; metadata:ruleset community; reference:nessus,11157; classtype:misc-activity; sid:117; rev:16;) 17 S2ipt produce la seguente regola iptables: iptables -I CUSTOM_CHAIN 1 –i IFACE –p tcp –m state --state ESTABLISHED –m string -- string “WHATISIT” --algo bm -m comment --comment "MALWARE-BACKDOOR Infector.1.x" –j LOG --log-prefix [IDS-117]

11.2 Esempi di traduzione Prendiamo in considerazione la seguente regola Snort: alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"FTP SITE CHOWN overflowattempt"; flow:to_server,established; content:"SITE";nocase; content:"CHOWN"; distance:0; nocase; isdataat:100,relative; pcre:"/^SITE\s+CHOWN\s[^\n]{100}/smi"; reference:bugtraq,2120; reference:cve, ; classtype:attempted-admin; sid:1562; rev:11;) 18 S2ipt produce la seguente regola iptables: ▪ iptables -I CUSTOM_CHAIN 1 –i IFACE -p tcp -m state -–state ESTABLISHED -m string -- string "SITE" --algo bm -m string --string "CHOWN" --algo bm -m comment --comment "FTP SITE CHOWN overflowattempt" -m length --length 140: -j LOG --log-prefix [IDS-1562]

19 File kern.log

12. Risultati ottenuti 20 Traduzione delle Snort community rules (16/06/2016) ▪Regole tradotte: 83.65% (FWSNORT 60%) ▪Best effort: 66,34% (79,25% di quelle tradotte)

Testing del tool 21

13. Testing Obiettivo: verificare la bontà e l’accuratezza della traduzione di s2ipt Strategia: confrontare il comportamento di Snort e quello di iptables a valle dell’utilizzo di s2ipt. Due scenari:  Traffico malevolo - Analisi in presenza di traffico generato sulla base delle regole Snort  Traffico normale - Analisi in presenza di traffico “normale” (valutazione dei falsi positivi) Problema: mancanza di framework per il testing di sistemi IDS/IPS, limitazioni iptables per trattamento RAW_SOCKET Il comportamento di Snort costituisce l’oracolo su cui basare l’analisi dei risultati di iptables. 22

14.1 Testing Snort Test traffico malevolo ▪Dati di test: 2181 pacchetti generati a partire dalle 2860 regole Snort Strumenti ▪Rule2alert: tool in grado di generare file.pcap a partire da regole Snort Ambiente ▪Configurazione stand-alone su una sola macchina (Snort agisce a livello applicativo) Risultati del test: ▪Snort allerta 1617 alert sui 2181 pacchetti inviati – Oracolo 23

14.2 Testing Snort Test traffico normale ▪Dati di test: pattern di traffico (normal usage) di diversi protocolli Strumenti ▪Snort: funzionalità dell’IDS in grado di valutare particolari file.pcap Ambiente ▪Configurazione stand-alone su una sola macchina (Snort agisce a livello applicativo) 24 Risultati del test PROTOCOLALERTPACKETS BITTORENT153 HTTP043 LDAP013 MYSQL457 SIP & RTP332 SNMP3089 PPPOE028 TELNET092

15.1 Testing iptables Test traffico malevolo ▪Dati di test: 2181 pacchetti generati a partire dalle 2860 regole Snort ▪Rilassamento regole (tavola RAW, catena PREROUTING, no porte e no stato connessione) Strumenti ▪Rule2alert: tool in grado di generare file.pcap a partire da regole Snort ▪Tcpreplay: suite di tool in grado di modificare e riprodurre pacchetti di traffico Ambiente ▪Configurazione con due macchine fisiche connesse alla stessa LAN (1 macchina «attacker» e 1 macchina configurata con iptables) Risultati del test: ▪Iptables logga 883 alert sui 2181 pacchetti inviati 25

15.2 Testing Iptables Test traffico normale ▪Dati di test: pattern di traffico (normal usage) di diversi protocolli Strumenti ▪Tcpreplay: suite di tool in grado di modificare e riprodurre pacchetti di traffico Ambiente ▪Configurazione con due macchine fisiche connesse alla stessa LAN (1 macchina «attacker» e 1 macchina iptables) 26 Risultati del test PROTOCOLALERTPACKETS BITTORENT4653 HTTP6843 LDAP13 MYSQL2957 SIP & RTP632 SNMP1689 PPPOE028 TELNET4192

PROTOCOLSNORTIPTABLES BITTORENT146 HTTP068 LDAP013 MYSQL429 SIP & RTP36 SNMP3013 PPPOE00 TELNET Risultati del Testing 27 Traffico normale

17. Conclusioni S2ipt è un tool che consente di configurare in maniera semplice e trasparente un firewall Iptables sulla base delle regole Snort della relativa community. ▪Potenza sintassi Snort ▪Supporto della community Snort ▪Efficienza kernel Linux ▪Semplicità comandi iptables Possibili sviluppi futuri (s2ipt 2.0): ▪Ulteriore separazione dei flussi (chain aggiuntive INPUT e OUTPUT) ▪Traduzione basata su sid (opzione aggiuntiva) ▪Raffinamento del processo di traduzione ▪Supporto traduzione per altri IDS 28

18. Riferimenti Per ulteriori informazioni: Any question?