Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Summary of “Packet-Level Signatures for Smart Home Devices”
1. UNIVERSITÀ DEGLI STUDI DI TRIESTE
Dipartimento di Ingegneria e Architettura
Tesi di laurea triennale in Ingegneria Elettronica ed Informatica
Summary of “Packet-Level Signatures for
Smart Home Devices”
Candidato:
Riccardo Zulla
IN 0500565
Relatore:
Prof. Alberto Bartoli
____________________________________________
Anno Accademico 2019 – 2020
3. 2
1 Introduzione
La diffusione dei dispositivi smart induce a riflettere se sono sicuri, se garantiscono la privacy e se
tenerli in casa non possa rappresentare un pericolo. L’articolo “Packet Signature For Smart Home
Devices” redatto da Rahmadi Trimananda, Janus Varmarken, Athina Markopoulou e Brian Demsky,
un gruppo dell’Università della California di Irvine dimostra che questi dispositivi smart sono
sensibili agli attacchi passivi. I ricercatori hanno sviluppato uno strumento chiamato PINGPONG per
estrarre automaticamente un identificativo, che chiameremo firma, unico per ogni dispositivo smart
e per ogni evento generato; utilizzando la firma sono stati capaci di identificare nel traffico Internet
gli eventi generati con percentuali superiori al 97%, dimostrando la sua unicità e robustezza alle
diverse configurazioni.
2 Dispositivi smart
I dispositivi smart sono tipicamente connessi ad Internet attraverso il router WiFi e si possono
controllare localmente o da remoto con lo smartphone. Sebbene il traffico Internet da loro generato
sia criptato, sono sensibili ad attacchi di tipo passivo, i quali consistono nell’intercettare e osservare
il traffico Internet senza interferire nella comunicazione violando la riservatezza.
L’attaccante può intercettare i pacchetti con un WAN sniffer, ovvero ponendosi tra il router
domestico e l’Internet Service Provider o con un WiFi sniffer, osservando i pacchetti che vengono
trasmessi via radio nei pressi dell’abitazione. La tipologia di “sniffing” utilizzata permette
all’attaccante di ottenere informazioni differenti: un WAN sniffer permette di vedere l’indirizzo IP
di tutti i pacchetti ma non l’indirizzo MAC per identificare il dispositivo che ha trasmesso quel
traffico; un WiFi sniffer, invece, permette di vedere l’indirizzo MAC, ma non l’indirizzo IP perché si
ipotizza la rete sia protetta con chiave WPA2.
In questo articolo sono stati studiati 19 dispositivi smart tra i più popolari presenti sul mercato tra i
quali prese smart, lampadine, termostati, sistemi di sicurezza, etc. ed è stato trovato un metodo per
l’individuazione del dispositivo e dell’evento generato analizzando il traffico di rete, al fine di intuire
i comportamenti dell’utente. È stato osservato che ogni evento genera delle comunicazioni che
coinvolgono il dispositivo smart, lo smartphone e i cloud server e seguono un pattern ricorrente:
request-reply. Spesso la lunghezza dei pacchetti è distinta per ogni dispositivo ed evento e
combinata alla direzione dei pacchetti compone la firma.
L’obiettivo che si sono posti i ricercatori di questo articolo è trovare un sistema per automatizzare
l’estrazione della firma senza previa conoscenza del dispositivo smart in questione, verificare la sua
universalità e la sua unicità.
4. 3
3 PINGPONG design
I motivi che hanno contribuito alla nascita di questo strumento sono la necessità di testare il metodo
su un numero maggiore di dispositivi smart e di verificare che le firme estratte permettano di
identificare univocamente un dispositivo.
L’addestramento di PINGPONG avviene in cinque fasi:
1. Data collection
Per ogni dispositivo vengono generate con lo smartphone una serie di ripetizioni per ogni sua
funzione utilizzando la sua applicazione ufficiale. Sul router viene eseguito tcpdump per
intercettare i pacchetti che viaggiano sulla rete attraverso il router, quindi sia il traffico locale
sia quello Internet.
Tcpdump crea un file PCAP contenente il traffico di rete ed insieme ad un altro file contenente i
timestamp degli eventi generati con lo smartphone compongono i dati raw per addestrare il
sistema.
2. Trace filtering
L’obiettivo è eliminare il traffico superfluo: tutti i pacchetti che come mittente o destinatario
non hanno gli indirizzi IP dello smartphone o del dispositivo smart vengono eliminati. Ricostruite
le connessioni TCP viene esaminato il contenuto del payload, in quanto per le connessioni TLS si
salvano solo i pacchetti etichettati “application layer”. Infine, si ricostruiscono le coppie di
pacchetti request-reply.
3. Pair clustering
Per tenere in considerazione le possibili variazioni nella lunghezza dei pacchetti si applica
DBSCAN, un algoritmo di clustering non supervisionato per paragonare la somiglianza tra le
coppie di pacchetti. La distanza è massima se le due coppie hanno direzioni opposte, altrimenti
questa si semplifica ad una distanza euclidea tra la lunghezza dei pacchetti. L’algoritmo prende
come input due parametri: Ɛ e minPts. Il primo rappresenta la distanza massima tra i punti per
esser considerati appartenenti allo stesso cluster, mentre il secondo rappresenta il numero
minimo di punti per formare il cluster.
4. Signature creation
Si eliminano i cluster che hanno una frequenza non strettamente correlata con gli eventi
generati dello smartphone per eliminare i chatty devices, quei dispositivi che comunicano
continuamente o periodicamente anche in assenza di eventi scatenanti.
Le coppie di pacchetti che appartengono alla stessa connessione TCP vengono concatenate per
formare una sequenza di coppie di pacchetti aumentando le probabilità che la firma sia unica,
ma se non c’è uno schema fisso allora vengono eliminate le sequenze più brevi.
5. 4
5. Signature validation
La validazione della firma trovata viene effettuata utilizzando l’algoritmo di identificazione.
Concluso l’addestramento, il sistema è pronto per l’identificazione delle firme analizzando il traffico
di rete. PINGPONG esamina il flusso di pacchetti e per ognuno prova ad individuare la macchina a
stati corrispondente, la quale è stata creata per ogni sequenza di pacchetti che compone la firma.
4 Test pratici
Per valutare l’unicità sono stati utilizzati tre dataset: i primi due per valutare l’unicità tra il traffico
di altri dispositivi smart, il terzo tra il traffico presente in rete. Il primo dataset (UNSW Smart Home
Traffic Dataset) contiene le tracce di 26 dispositivi smart diversi da quelli già analizzati; il secondo
(YourThings SmartHome Traffic Dataset) contiene le tracce di 45 dispositivi di cui 3 sono in comune;
mentre il terzo (UNB Simulated Office-Space Traffic Dataset) contiene il traffico simulato di un ufficio
osservato con WAN sniffer.
L’unicità è stata valutata eseguendo l’identificazione dei dispositivi già analizzati e valutando i falsi
positivi. Con il WAN sniffer il numero di falsi positivi è 2 su 442.575.303 mentre è 11 su 442.575.303
con il WiFi sniffer per tutti i tre dataset. Il numero di falsi positivi leggermente superiore per il WiFi
sniffer è dovuto al metodo più rilassato, ma ci permette ugualmente di affermare l’unicità della
firma.
Per confermare le generalità della metodologia applicata in PINGPONG è stato adoperato il dataset
Mon(IoT)r, una raccolta pubblica che contiene le tracce di 55 dispositivi smart differenti. Di questi è
stato considerato solo un sottoinsieme a causa di alcune limitazioni e i 7 in comune con quelli già
analizzati sono stati adoperati per confrontare le firme. L’analisi del dataset Mon(IoT)r ha permesso
di estrarre firme di nuove tipologie di dispositivi, quali smart TV e frigoriferi e ha evidenziato che
esistono anche altre tipologie di firme.
È stato denotato che le diverse credenziali di accesso possono influire sulla lunghezza dei pacchetti;
per superare l’ostacolo, l’attaccante può utilizzare un metodo più rilassato che sia flessibile alle
variazioni. Sebbene questo non alteri molto le percentuali dei falsi positivi rende indistinguibili
quegli eventi che differiscono di un solo byte, come succede nella presa TP-link per gli eventi di ON-
OFF.
Inoltre, l’analisi del dataset Mon(IoT)r ha evidenziato che le firme con il tempo possono cambiare a
causa di variazioni nel protocollo in seguito ad aggiornamenti del firmware.
6. 5
5 Come difendersi
Per difendersi dagli attacchi passivi in questo articolo sono state approfondite le implementazioni
del packet padding, che consiste nell’aggiungere un numero variabile di bytes per confondere le
tecniche che si basano sull’analisi della lunghezza dei pacchetti. Un pacchetto può esser gonfiato
fino a raggiungere un numero fisso di bytes, MTU (Maximum Transmission Unit) oppure con un
numero casuale di bytes.
Un’opzione consiste nel creare un tunnel VPN tra il dispositivo smart e lo smartphone che aggiunge
ai pacchetti “falsi” bytes all’ingresso del tunnel per poi toglierli all’uscita: può essere implementato
direttamente su ogni dispositivo oppure sulle “middlebox”, cioè i router di casa. La protezione nel
primo caso sarebbe sia rispetto ai WAN sniffer sia ai WiFi sniffer, mentre nel secondo caso solo
rispetto ai WAN sniffer. L’installazione del VPN su ogni dispositivo può risultare difficile per la
limitatezza delle risorse computazionali e per la compatibilità software, per questo è preferibile
l’installazione del VPN sulle “middlebox”.
Un’altra opzione è implementare il packet padding all’application layer, il quale garantisce
protezione su ogni collegamento, quindi sia dai WAN sia dai WiFi sniffer; inoltre non necessita di
configurazione da parte dell’utente, ad esempio per configurare il VPN sul router domestico. Può
essere implementato via software, ma è necessaria un’implementazione separata per ogni
protocollo proprietario. Una soluzione migliore sarebbe quella di implementare un padding tra il
livello di rete e quello dell’applicazione, che preserverebbe i benefici sopra citati ma ridurrebbe il
carico di lavoro dello sviluppatore nel gestire il riempimento. Viene proposto di usare il padding già
disponibile nel TLS.
Queste implementazioni sono state sperimentate empiricamente sul dispositivo TP-Link plug,
dimostrando che il riempimento basato su VPN rende difficile l’individuazione degli eventi, mentre
il riempimento con TLS non è efficace siccome in TLSv1.2 sono individuabili i pacchetti contenenti
l’application layer.
In conclusione, si raccomanda l’utilizzo di padding basato su VPN, poiché quello basato su TLS non
è sufficiente. La direzione per ulteriori ricerche future potrebbe essere integrare nella firma
informazioni sul volume dei pacchetti e implementare un apprendimento più autonomo basato sul
riconoscimento dei comportamenti simili.
Riferimenti bibliografici
Rahmadi Trimananda, Janus Varmarken, Athina Markopoulou, Brian Demsky; “Packet-Level
Signatures for Smart Home Devices” in Network and Distributed Systems Security (NDSS)
Symposium 2020