4. Network Forensics
▷ È una branca della Digital Forensics
▷ Si occupa del monitoraggio e dell’analisi del
traffico su rete per raccogliere informazioni
▷ Presenta alcune difficoltà specifiche
4
5. Network Forensics
▷ Il traffico di rete è volatile e dinamico
▷ Differentemente da altri ambiti della Digital
Forensics, la network forensics è
tipicamente un processo proattivo
▷ Prevalentemente basata sull’acquisizione di
traffico di rete e sua successiva analisi
5
6. Network Forensics
▷ La network forensics assolve due compiti
principali
▷ Monitorare una rete per traffico anomalo ed
identificare le intrusioni
▷ Recuperare prove basate su traffico di rete
anche in caso di cancellazione di contenuto
locale
▷ Ci occuperemo di questo secondo aspetto
6
8. Pacchetti di Rete
▷ Un pacchetto di rete è una sequenza finita di
dati trasmessa su una rete a commutazione
di pacchetti
8
9. Pacchetti di Rete
▷ Unità di dati del Livello Rete (OSI Layer 3)
9
Unità di dati per i livelli ISO/OSI
Fonte https://it.wikipedia.org/wiki/Modello_OSI
10. Pacchetti di Rete
▷ Ciascun pacchetto comprende diversi
campi, tra cui
▷ IP Sorgente e Destinazione
▷ Informazioni di Sequenza
▷ Codici per l’identificazione di errori
▷ Payload
▷ Corpo vero e proprio del pacchetto
10
12. Pacchetti di Rete
▷ Contengono molte informazioni relative
all’attività online di un utente, tra cui
▷ Siti Visitati
▷ Tentativi (riusciti e falliti) di login
▷ File Scaricati
▷ Tali informazioni possono essere rilevanti
dal punto di vista forense
12
13. Pacchetti di Rete
▷ Possono essere catturati, conservati e
analizzati per raccogliere informazioni sui
dati trasmessi
▷ Purché si rispettino alcune condizioni, sono
utilizzabili come prove in tribunale
▷ Autorizzazioni all’acquisizione
▷ Autenticità dei pacchetti
13
15. Cattura dei pacchetti di rete
15
▷ Con il termine sniffing si definisce l’attività
di intercettazione dei dati che transitano su
una rete
▷ I prodotti (software o hardware) atti a
svolgere questa attività sono detti sniffers
16. Cattura dei pacchetti di rete
16
▷ Ci sono diversi possibili approcci per
intercettare il traffico (tapping into the wire)
e catturare i pacchetti di rete.
▷ Quale utilizzare dipende anche dal tipo di
rete in cui si trova il dispositivo target
▷ Reti con Hub
▷ Reti con Switch
17. Reti con Hub
17
▷ Nel caso (sempre più raro) di reti con hub,
intercettare il traffico è semplice
18. Sniffing su Reti con Hub
▷ Il traffico viene inviato ad ogni dispositivo
connesso all’hub
▷ È possibile intercettare il traffico
semplicemente collegando uno sniffer ad
una porta libera dell’hub
▷ Tale sniffer vedrà tutte le comunicazioni
da e per i computer connessi all’hub
18
Fonte:
https://www.researchgate.net/publication/267908713_Packet_Sniffing
_Network_Wiretapping
19. Reti con Switch
19
▷ Le reti basate su switch sono le più diffuse
▷ Forniscono un mezzo efficiente per
trasportare dati attraverso traffico
broadcast, unicast e multicast
▷ Consentono comunicazione full-duplex
▷ Ogni macchina può inviare e ricevere dati
simultaneamente
20. Sniffing su Reti con Switch
20
▷ Lo sniffing diventa più complicato
▷ I pacchetti vengono inviati solo alla porta a cui
sono destinati, secondo il loro MAC address di
destinazione
▷ Uno sniffer connesso ad uno switch è in grado di
vedere il solo traffico broadcast e il traffico
destinato alla macchina stessa
21. Sniffing su Reti con Switch
21
Fonte: https://www.researchgate.net/publication/267908713_Packet_Sniffing_Network_Wiretapping
22. Sniffing su Reti con Switch
22
▷ Esistono quattro modi principali per
catturare traffico su una rete con switch
▷ Port Mirroring
▷ Hubbing Out
▷ ARP cache poisoning
▷ Network tap
23. Port Mirroring
23
▷ Consiste nel forzare lo switch a ripetere il
traffico destinato al dispositivo target
anche su un’altra porta
▷ Uno sniffer collegato su quella porta potrà
vedere tutto il traffico trasmesso e ricevuto dal
dispositivo target
25. Port Mirroring
25
▷ Metodo non sempre applicabile
▷ Necessario accesso all’interfaccia di controllo
dello switch
▷ Necessario che lo switch supporti il port-
mirroring
▷ Necessario che lo switch abbia una porta libera
alla quale collegare lo sniffer
26. Hubbing Out
26
▷ Metodo concettualmente molto semplice
▷ Consiste nel collegare il dispositivo da
analizzare e lo sniffer allo stesso segmento
di rete utilizzando un hub
▷ Richiede accesso fisico alla rete
28. TAP
28
▷ Soluzione hardware che fornisce una copia
del traffico tra due dispositivi
▷ Ha diversi vantaggi
▷ Non richiede alimentazione elettrica
▷ Risulta molto difficile da individuare
▷ Non richiede configurazioni specifiche su server o
switch
▷ Ha una visibilità del 100% del traffico Full Duplex,
inclusi errori o anomalie ai livelli 1 e 2
30. TAP
30
Alla porta MONITOR verrà collegato il
dispositivo che si occuperà del monitoraggio ed
eventualmente della cattura del traffico
I dati fluiscono inalterati tra A e B (Pass Through)
DUALCOMM ETAP-2003
Fonte: https://www.dualcomm.com/products/usb-powered-10-100-1000base-t-network-tap
31. ARP Cache Poisoning
31
▷ Si invia una ARP Reply (non sollecitata)
sfruttando il comportamento stateless del
protocollo
▷ Può essere portato avanti solo sulla stessa rete
locale della macchina target
▷ Una macchina vittima salverà nella propria ARP
cache un’associazione <IP, MAC> errata
32. ARP Cache Poisoning
32
Fonte: https://github.com/SRJanel/arp_poisoning
La macchina di chi intercetta va a porsi nel mezzo
della comunicazione tra Alice e Bob, che però
pensano di stare comunicando direttamente l’uno
con l’altra
33. Cattura dei pacchetti di rete
33
▷ Individuato il metodo più adeguato per
ottenere visibilità del traffico, è necessario
catturare i pacchetti in transito
▷ Disponibili diverse soluzioni software per il
packet sniffing
▷ Tra le più utilizzate, citiamo Wireshark e Tcpdump
34. Cattura dei pacchetti di rete
34
▷ I pacchetti catturati vengono salvati in file
con un formato specifico
▷ Lo standard ‘de facto’ è libpcap (pcap)
▷ Supporta timestamps con precisione al nanosecondo
▷ Diverse implementazioni per il formato pcap, che possono
differire leggermente
▷ La struttura generale resta invariata
35. PCAP
35
▷ L’header globale contiene
▷ Un magic number che consente di
identificare la versione del formato
file e il byte order
▷ L’offset rispetto all’ora GMT
▷ La precisione dei timestamp
▷ La lunghezza massima dei pacchetti
catturati
▷ Il tipo di data link
▷ Seguono i pacchetti catturati
36. PCAP – HEADER
36
Il contenuto (parziale) di un file PCAP
Fonte: https://www.acrylicwifi.com/en/blog/pcap-wifi-capture-save-wireless-traffic-in-windows/
38. Autorizzazioni
38
▷ In Italia le intercettazioni telematiche sono
equiparate alle intercettazioni telefoniche
▷ Per acquisire il flusso di pacchetti scambiati
da un sospetto, è necessario un mandato di
intercettazione
▷ Ottenere tale mandato non è banale, né
possibile per tutti i tipi di reati
39. Autorizzazioni
39
▷ Il diritto alla privacy è protetto in Italia
dall’articolo 15 della costituzione e dalle
fonti del diritto dell’Unione Europea
Fonte: https://www.senato.it/1025?sezione=120&articolo_numero_articolo=15
40. Autorizzazioni
40
▷ Le intercettazioni sono previste solo dal
codice di procedura penale, che le consente
in casi ben definiti:
▷ Gravi indizi di reato e indispensabilità delle
intercettazioni per proseguire le indagini
▷ Per i soli reati delineati dall’articolo 266 del
codice di procedura penale
42. Pacchetti come prove digitali
42
▷ Per utilizzare i pacchetti come prova, è
necessario che siano attendibili
▷ Debolezze nei protocolli di comunicazione
potrebbero renderne dubbia l’autenticità
▷ Uno dei pericoli esistenti è lo spoofing
dell’indirizzo sorgente
43. Il pericolo dello spoofing
43
▷ L’header dei pacchetti IP prevede campi
relativi ad indirizzo sorgente e destinazione
44. Il pericolo dello spoofing
44
▷ Tipicamente non vi è alcun controllo che
autentichi la sorgente dei pacchetti IP
▷ Un sospetto potrebbe essere in grado di inviare
pacchetti con indirizzo sorgente spoofato
▷ Per nascondersi, per incriminare qualcun altro…
▷ Proposte diverse tecniche atte a tracciare
l’origine dei pacchetti
45. Marking dei Pacchetti
45
▷ La maggioranza delle tecniche di traceback
dei pacchetti sono basate sul marking degli
stessi
▷ Vengono sfruttati il campo identification e il flag
reserve dell’header per memorizzare
informazioni sui router attraversati
46. Marking dei Pacchetti
46
Il campo di identification è tipicamente dedicato
alla frammentazione, ma viene sfruttato per il
packet marking
47. Marking dei Pacchetti - Limiti
47
▷ Le informazioni sul percorso sono parziali
▷ Per ricostruirlo interamente, sarebbe necessario
un cospicuo numero di pacchetti
▷ Il marking dei pacchetti andrebbe
effettuato dai router al loro transito
▷ Se ciò non avviene, l’investigatore non ha modo
di rimediare
48. Supporto alle evidenze
49
▷ A causa di questi limiti, difficilmente
potremo conoscere con certezza l’origine di
un pacchetto
▷ I pacchetti intercettati possono però essere
molto utili come supporto a prove di altro
tipo (es, log ottenuti da altre fonti)
50. Elementi Ricavabili
51
▷ Dall’analisi dei pacchetti catturati, è
possibile ricavare dati di vario genere
▷ Siti Visitati
▷ Tentativi (riusciti e falliti) di login
▷ File Scaricati
▷ Email
▷ Indirizzi IP sorgente e destinazione
▷ Numeri di Porta
51. 52
Tipi di dati ricavabili dalla cattura di pacchetti.
Fonte: https://www.sciencedirect.com/science/article/pii/S1742287619302002
52. Network Packet Analyzers
53
▷ Per analizzare il traffico catturato, è
necessario servirsi di network packet analyzers
▷ Consentono di esaminare i dati che transitano su
una rete pacchetto per pacchetto
▷ Molti sniffer, disponendo di una componente di
analisi, sono anche network packet analyzers
53. Network Packet Analyzers
54
▷ I Network Packet Analyzers differiscono
per funzioni, utilizzo delle risorse hardware,
velocità di elaborazione, protocolli
supportati e facilità d’uso
▷ La maggior parte di essi ha alcune capacità
fondamentali in comune
54. Network Packet Analyzers
55
Capacità tipiche
▷ Catturare e decodificare il traffico su rete (Sniffing)
▷ Analizzare l’attività di rete sui protocolli supportati
▷ Generare e mostrare statistiche sull’attività di rete
▷ Eseguire analisi basate su pattern dell’attività di rete
55. Network Packet Analyzers
56
▷ Alcune soluzioni hardware
▷ Cisco Security Packet Analyzers
▷ SolarFlare’s Solar Capture
▷ IPCopper Packer Capture Appliances
Fonti: Web, Siti dei Produttori
56. Network Packet Analyzers
57
▷ Soluzioni software
▷ Nettamente più comuni di quelle
hardware
▷ Uno dei tool più utilizzati è Wireshark
57. Wireshark
58
▷ Ha un’interfaccia grafica molto intuitiva
▷ È estremamente flessibile grazie ai filtri
applicabili, che consentono di selezionare
solo il traffico rilevante
▷ Ad es: filtri su IP, protocollo…
59. 60
Fonte: https://wiki.wireshark.org/CaptureFilters
Filtri
Filtri di cattura:
Vengono impostati prima di iniziare la cattura del
traffico e non possono essere alterati
successivamente.
È possibile ridurre le dimensioni del file pcap, non
memorizzando i pacchetti esclusi dal filtro
60. 61
Fonte: https://wiki.wireshark.org/CaptureFilters
Filtri
Filtri di visualizzazione:
A differenza dei filtri di cattura, non impattano sui
dati catturati ma solo su quelli visualizzati.
È possibile modificarli in modo dinamico a seconda
della ricerca specifica che ci interessa,
memorizzando comunque l’intero flusso del traffico
65. Wireshark
66
▷ Una volta applicati gli opportuni filtri, è
possibile selezionare i pacchetti che ci
interessano
▷ Ispezionandoli manualmente, possiamo
leggere il contenuto sia dell’header che del
payload
70. Xplico
71
▷ Già preso in esame durante il corso di
Digital Forensics
▷ Argomento 7
▷ È in grado di estrarre dati relativi alle
applicazioni dal traffico internet
▷ Acquisendolo direttamente
▷ Partendo da un file pcap già acquisito
71. Xplico
72
▷ Tra i dati che Xplico può estrarre:
▷ Email
▷ Contenuti HTTP
▷ Chiamate VoIP
▷ Chat di Social Network
▷ Le informazioni sui dati estratti sono
visualizzate in una chiara interfaccia
riassuntiva
73. EtherApe
74
▷ Sviluppato originariamente da Juan Toledo,
rilasciato nel 2000
▷ Visualizza il traffico tra host mediante grafi
▷ Ogni nodo rappresenta un host
▷ Gli archi che collegano gli host rappresentano una
connessione.
▷ La quantità di traffico è rappresentata dallo spessore
dell’arco
▷ Il colore dei nodi e degli archi differenzia i protocolli
utilizzati
75. Scelta del Network Packet Analyzers
76
▷ Ciascun packet analyzer è particolarmente
adatto ad uno scopo
▷ La scelta dipende dall’uso che vogliamo farne
▷ Wireshark per l’ispezione manuale
▷ Xplico per il estrarre dati applicazione
▷ EtherApe per il flusso di rete
▷ Ne esistono molti altri
76. 77
Packet Analyzers divisi per adeguatezza agli specifici tipi d’indagine
Fonte: https://www.sciencedirect.com/science/article/pii/S1742287619302002
78. Classificazione del traffico
79
▷ In alcuni casi, potrebbe risultare utile
categorizzare il traffico di rete anche
relativamente alle applicazioni utilizzate
▷ A tal fine è tipicamente necessario esaminare il
payload dei pacchetti
▷ Si ricorre alla Deep Packet Inspection (DPI)
▷ La DPI esamina gli header di tutti i livelli e il
payload del pacchetto
79. Deep Packet Inspection
80
▷ Utilizzando come signature determinati pattern
presenti nel payload dei pacchetti, la DPI è in grado
di identificare e classificare il traffico
Fonte: https://blog.catchpoint.com/2017/07/19/guide-deep-packet-inspection/
80. Deep Packet Inspection
81
▷ In caso di traffico cifrato, la situazione per la DPI si
complica
▷ Non è più possibile effettuare il matching dei pattern
con il contenuto del payload
▷ Diversi approcci sono stati proposti per classificare il
traffico criptato
▷ Basati soprattutto su machine learning
▷ Possibile sfruttare le caratteristiche di cifratura dei
pacchetti per identificare le applicazioni
81. Pacchetti Cifrati
82
▷ Uno schema di cifratura ideale è pensato per
generare un output che non contenga pattern
riconoscibili
▷ Tuttavia, visto che nella pratica tutti gli schemi di
cifratura usano generatori pseudo-casuali, non c’è
vera casualità
82. Pacchetti Cifrati
83
▷ Applicazioni diverse usano diversi generatori
pseudo-casuali
▷ Questo può portare a pattern distinguibili nell’output
cifrato
▷ Tali variazioni nei pattern possono consentire di
distinguere un’applicazione dall’altra
83. Deep Packet
84
▷ Deep Packet è uno schema proposto da Lotfollahi et
al. (2019)
▷ Si propone di utilizzare il Deep Learning per
apprendere i diversi pattern di cifratura
▷ Permette di ottenere importanti risultati
▷ Categorizzare il traffico in macrocategorie (es FTP,
P2P)
▷ Identificare l’applicazione utilizzata dall’utente (es
BitTorrent, Skype)
84. Deep Packet - Risultati
85
▷ Le performance ottenute sono state misurate
usando Recall (Rc), Precision (Pr) e F1 Score
TP = True Positive
FP = False Positive
FN = False Negative
▷ I risultati sono stati divisi anche in base alle tipologie
di reti neurali profonde utilizzate:
▷ CNN – Convolutional Neural Network
▷ SAE – Stacked Autoencoder
85. Deep Packet - Risultati
86
Fonte: https://link.springer.com/article/10.1007%2Fs00500-019-04030-2
▷ Caratterizzazione del traffico:
▷ La tipologia di traffico è stata
correttamente categorizzata in
una percentuale tra il 92% e il
94% a seconda della metrica e
del tipo di rete neurale profonda
utilizzata
86. Deep Packet - Risultati
87
Fonte: https://link.springer.com/article/10.1007%2Fs00500-019-04030-2
▷ Identificazione dell’applicazione:
▷ L’applicazione che ha generato il
traffico è stata identificata
correttamente in una
percentuale tra il 95% e il 98% a
seconda della metrica e del tipo
di rete neurale profonda
utilizzata
▷ I risultati ottenuti con questa tecnica
sono quindi realmente promettenti
88. Conclusioni
89
▷ L’analisi dei pacchetti di rete è una componente
portante della network forensics
▷ Possono essere ricostruiti dati importanti
▷ Siti Visitati
▷ Tentativi (riusciti e falliti) di login
▷ File Scaricati
▷ Email
▷ Indirizzi IP Sorgente e destinazione
▷ Numeri di Porta
89. Conclusioni
90
▷ Tali informazioni possono essere ammissibili come
prove in tribunale
▷ Purché sia garantita l’autenticità dei pacchetti
▷ Purché il traffico sia stato catturato dopo aver
ottenuto un mandato
▷ Gli elementi raccolti possono essere utili anche a supporto
di altre prove
90. Conclusioni
91
▷ In alcuni casi può essere utile classificare il traffico
▷ In caso di traffico criptato è possibile utilizzare il
machine learning
▷ Nuove tecniche utilizzano il deep learning per
individuare pattern anche nei pacchetti cifrati
▷ Con alcune di queste tecniche è possibile
persino risalire all’applicazione che ha generato
il pacchetto
92. Riferimenti – 1/3
▷ Patel, N. P., Rajan G. Patel, and D. R. Patel. "Packet Sniffing: Network Wiretapping Packet Sniffing:
Network Wiretapping." Pack. Sniff. Netw. Wiretapping 2 (2014): 6-7.
https://www.researchgate.net/publication/267908713_Packet_Sniffing_Network_Wiretapping
▷ Sikos, Leslie F. "Packet analysis for network forensics: a comprehensive survey." Forensic Science
International: Digital Investigation 32 (2020): 200892.
https://www.sciencedirect.com/science/article/pii/S1742287619302002
▷ Lotfollahi, Mohammad, et al. "Deep packet: A novel approach for encrypted traffic classification
using deep learning." Soft Computing 24.3 (2020): 1999-2012.
https://link.springer.com/article/10.1007%2Fs00500-019-04030-2
▷ Belenky, Andrey, and Nirwan Ansari. "IP traceback with deterministic packet marking." IEEE
communications letters 7.4 (2003): 162-164.
https://link.springer.com/article/10.1007%2Fs00500-019-04030-2
93
93. Riferimenti – 2/3
▷ Pimenta Rodrigues, Gabriel Arquelau, et al. "Cybersecurity and network forensics: Analysis of
malicious traffic towards a honeynet with deep packet inspection." Applied Sciences 7.10 (2017):
1082.
https://www.researchgate.net/publication/320476110_Cybersecurity_and_Network_Forensics_Analysis_of_Malicious_Traffic_towards_
a_Honeynet_with_Deep_Packet_Inspection
▷ Parashar, Ashwani, and Ramaswami Radhakrishnan. "A review of packet marking ip traceback
schemes." International Journal of Computer Applications 67.6 (2013).
https://pdfs.semanticscholar.org/63a2/9e3027bf4f0d9951ed222762dc78a602e69b.pdf
94
94. Riferimenti – 3/3
▷ https://en.wikipedia.org/wiki/Network_forensics
▷ https://en.wikipedia.org/wiki/IP_traceback
▷ https://it.wikipedia.org/wiki/Intercettazione_(ordinamento_italiano)
▷ https://www.wireshark.org
▷ https://www.sciencedirect.com/topics/computer-science/network-analyzer
▷ https://blog.catchpoint.com/2017/07/19/guide-deep-packet-inspection/
▷ Slides del corso di Cybersecurity (Prof F. Palmieri, Università degli Studi di Salerno)
▷ Slides del corso di Digital Forensics (Prof R. Pizzolante, Università degli Studi di Salerno)
95