Alcuni ricercatori hanno sfruttato il multihreading dei processori Intel per violare la sicurezza di un server OpenSSL
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.
Se questo articolo ti è piaciuto e vuoi rimanere sempre informato con le notizie di
ImpresaCity.it iscriviti alla nostra
Newsletter gratuita.