Side channels are potent tools for extracting and inferring sensitive data through interfaces not explicitly designed for this purpose. They threaten many systems, from mobile phones, to computers and the cloud. Given their flexible and indirect nature, dealing with them is not often easy. Research has been directed toward understanding components on different scales, from the CPU and its caches down to microarchitectural components. This thesis studies instead another less thought-about area, NVMe-based solid state storage. Thanks to their performance advantage over SATA interfaces and hard disk drives, they have rapidly become prevalent both in customer and enterprise environments. With our experimentation framework, we test different scenarios and access patterns in the SSD. By measuring the timing of IO requests, we characterize their behavior and show that these attacks can be mounted on these storage devices. We show that there is a source of contention inside the SSD, and it is rooted in the architecture of these devices and how they operate. We develop a side channel capable of monitoring the drive’s activity, and we conduct tests both in an unprivileged and virtualized scenario. The side channel can be used to fingerprint individual applications being run from the SSD, even across virtual machines. We distinguish between instances of Chrome and Firefox browsers with 100 % accuracy when executed on the same native environment and with 80.59 % accuracy across virtual machines. Afterward, we demonstrate a covert channel that runs across virtualized environments, showing that it can allow communications between hosts with access to the same SSD. The transfer rate of the channel reaches up to 1 kB/s in a native environment and up to 100 B/s going across virtual machines.

I side channel sono potenti strumenti per estrarre e inferire dati sensibili attraverso interfacce non progettate esplicitamente per questo scopo. Minacciano molti sistemi, da smartphone a personal computer e anche ambienti cloud. Data la loro natura flessibile e indiretta, non è semplice o possibile rimuoverli del tutto. La ricerca corrente è indirizzata verso la comprensione di componenti su diversa scala, dalla CPU e le sue cache fino a componenti microarchitetturali. Questa tesi studia invece un’altra area meno considerata, lo storage a stato solido connesso tramite l’interfaccia NVMe. Grazie al loro vantaggio in termini di prestazioni rispetto alle interfacce SATA e ai tradizionali dischi rigidi, sono diventati prevalenti sia in ambienti commerciali che di uso personale. Tramite il nostro framework di sperimentazione, testiamo diversi scenari e modelli di accesso alle SSD. Misurando i tempi di risposta alle richieste di IO, ne caratterizziamo il comportamento e dimostriamo che questi attacchi possono essere attuati anche su SSD. Dimostriamo che esiste una contesa di risorse all’interno delle SSD, radicata nella loro architettura e nel loro funzionamento. Sviluppiamo un side channel in grado di monitorare l’attività sullo storage, conducendo test in scenari virtualizzati e senza particolari permessi. Il side channel può essere utilizzato per profilare le singole applicazioni eseguite sull’SSD, anche tramite macchine virtuali. Distinguiamo istanze del browser Chrome e Firefox con un’accuracy del 100 % in ambienti locali e con un’accuracy dell’80.59 % attraverso macchine virtuali. In seguito, dimostriamo un covert channel usando gli stessi principi che funziona in ambienti virtualizzati, permettendo comunicazioni tra host che hanno accesso allo stesso SSD. Il transfer rate del canale raggiunge 1 kB/s in ambiente locale e fino a 100 B/s attraverso macchine virtuali.

Characterization of SSD covert channels and application fingerprinting

La Manna, Giuseppe
2022/2023

Abstract

Side channels are potent tools for extracting and inferring sensitive data through interfaces not explicitly designed for this purpose. They threaten many systems, from mobile phones, to computers and the cloud. Given their flexible and indirect nature, dealing with them is not often easy. Research has been directed toward understanding components on different scales, from the CPU and its caches down to microarchitectural components. This thesis studies instead another less thought-about area, NVMe-based solid state storage. Thanks to their performance advantage over SATA interfaces and hard disk drives, they have rapidly become prevalent both in customer and enterprise environments. With our experimentation framework, we test different scenarios and access patterns in the SSD. By measuring the timing of IO requests, we characterize their behavior and show that these attacks can be mounted on these storage devices. We show that there is a source of contention inside the SSD, and it is rooted in the architecture of these devices and how they operate. We develop a side channel capable of monitoring the drive’s activity, and we conduct tests both in an unprivileged and virtualized scenario. The side channel can be used to fingerprint individual applications being run from the SSD, even across virtual machines. We distinguish between instances of Chrome and Firefox browsers with 100 % accuracy when executed on the same native environment and with 80.59 % accuracy across virtual machines. Afterward, we demonstrate a covert channel that runs across virtualized environments, showing that it can allow communications between hosts with access to the same SSD. The transfer rate of the channel reaches up to 1 kB/s in a native environment and up to 100 B/s going across virtual machines.
GRUSS, DANIEL
ING - Scuola di Ingegneria Industriale e dell'Informazione
19-dic-2023
2022/2023
I side channel sono potenti strumenti per estrarre e inferire dati sensibili attraverso interfacce non progettate esplicitamente per questo scopo. Minacciano molti sistemi, da smartphone a personal computer e anche ambienti cloud. Data la loro natura flessibile e indiretta, non è semplice o possibile rimuoverli del tutto. La ricerca corrente è indirizzata verso la comprensione di componenti su diversa scala, dalla CPU e le sue cache fino a componenti microarchitetturali. Questa tesi studia invece un’altra area meno considerata, lo storage a stato solido connesso tramite l’interfaccia NVMe. Grazie al loro vantaggio in termini di prestazioni rispetto alle interfacce SATA e ai tradizionali dischi rigidi, sono diventati prevalenti sia in ambienti commerciali che di uso personale. Tramite il nostro framework di sperimentazione, testiamo diversi scenari e modelli di accesso alle SSD. Misurando i tempi di risposta alle richieste di IO, ne caratterizziamo il comportamento e dimostriamo che questi attacchi possono essere attuati anche su SSD. Dimostriamo che esiste una contesa di risorse all’interno delle SSD, radicata nella loro architettura e nel loro funzionamento. Sviluppiamo un side channel in grado di monitorare l’attività sullo storage, conducendo test in scenari virtualizzati e senza particolari permessi. Il side channel può essere utilizzato per profilare le singole applicazioni eseguite sull’SSD, anche tramite macchine virtuali. Distinguiamo istanze del browser Chrome e Firefox con un’accuracy del 100 % in ambienti locali e con un’accuracy dell’80.59 % attraverso macchine virtuali. In seguito, dimostriamo un covert channel usando gli stessi principi che funziona in ambienti virtualizzati, permettendo comunicazioni tra host che hanno accesso allo stesso SSD. Il transfer rate del canale raggiunge 1 kB/s in ambiente locale e fino a 100 B/s attraverso macchine virtuali.
File allegati
File Dimensione Formato  
2023_12_LaManna_02.pdf

solo utenti autorizzati a partire dal 22/11/2024

Descrizione: Executive Summary
Dimensione 1.2 MB
Formato Adobe PDF
1.2 MB Adobe PDF   Visualizza/Apri
2023_12_LaManna_01.pdf

solo utenti autorizzati a partire dal 22/11/2024

Descrizione: Thesis
Dimensione 8.32 MB
Formato Adobe PDF
8.32 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/214349