PortSmash, una nuova vulnerabilità legata al multihreading

Alcuni ricercatori hanno sfruttato il multihreading dei processori Intel per violare la sicurezza di un server OpenSSL

Autore: Redazione ImpresaCity

Alcuni ricercatori dell'università finlandese di Tampere hanno scoperto una nuova vulnerabilità legata alle funzioni di Hyper-Threading dei processori Intel. Battezzata PortSmash, la vulnerabilità è simile concettualmente ad altre già note come TLBleed: sfrutta il fatto che quando due processi condividono lo stesso core fisico di un processore, c'è teoricamente sempre la possibilità che uno possa carpire informazioni dall'altro osservandone il comportamento.

Ciò che cambia da una vulnerabilità all'altra è il modo in cui il processo malevolo riesce a capire cosa stia facendo quello con cui condivide un core. TLBleed ad esempio analizza come gli indirizzi della memoria virtuale vista da un processo si mappano su quelli della memoria RAM fisica del computer su cui opera. PortSmash analizza invece la cosiddetta port contention, cioè - in estrema sintesi - il modo in cui le operazioni eseguite da un processore vengono accodate verso le sue unità di calcolo.

Come TLBleed, anche la nuova vulnerabilità PortSmash è stata dimostrata sviluppando codice software che, eseguito da un core logico in Hyper-Threading, è in grado di identificare le chiavi di cifratura create da un altro processo eseguito dal secondo core logico dello stesso core fisico. Nei test dei ricercatori finlandesi si è violato in questo modo un server TLS eseguito da processori Intel di generazione Skylake e Kaby Lake.


PortSmash non dovrebbe però essere limitata ai processori Intel. Hyper-Threading è la versione Intel delle funzioni di Simultaneous Multithreading (SMT) che sono implementate in una vasta gamma di CPU. È quindi immaginabile che la port contention si possa sfruttare anche in altri processori, come quelli di AMD. Semplicemente questa possibilità non è stata verificata dai ricercatori.

Le vulnerabilità come PortSmash e TLBLeed - che non sfruttano "falle" software ma analizzano il comportamento del processore o di altri componenti hardware, come le memorie cache - rientrano nel crescente gruppo delle vulnerabilità cosiddette side-channel. Sono particolarmente insidiose non solo perché non sono rilevabili con i classici tool di cyber security, ma soprattutto perché non è sempre chiaro da che punto di vista approcciarle. Per certi versi non sono nemmeno vulnerabilità in senso proprio, perché il funzionamento di alcune funzioni dei processori non si può considerare una falla: è quello che è da sempre e molto spesso non può essere diverso.

Il Simultaneous Multithreading ha dimostrato di poter essere sfruttato in più di un modo ed è al centro dell'attenzione da diverso tempo. Questo però non porterà a un cambiamento nei modi in cui è implementato in hardware. Lo si può semmai disabilitare negli ambienti in cui il rischio di attacchi come PortSmash è giudicato eccessivo, accettando un degrado delle prestazioni del processore in nome di una maggiore sicurezza.

Parallelamente, chi sviluppa software deve tenere conto del pericolo degli attacchi side-channel e fare in modo che il proprio codice ne sia (ragionevolmente) immune. PortSmash, ad esempio, non è efficace su versioni di OpenSSL più recenti di quella testata dai ricercatori universitari.

Visualizza la versione completa sul sito

Informativa
Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento ed utili alle finalità illustrate nella cookie policy. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, consulta la cookie policy. Chiudendo questo banner, acconsenti all’uso dei cookie.