Due ricercatori, già noti per i loro studi sul kernel del principali sistemi operativi, Omri Misgav e Udi Yavo di enSilo, hanno scoperto una nuova metodologia d’attacco che è stata battezzata Turning Tables e che può essere utilizzata per superare le protezioni imposte a basso livello.
La tabella delle pagine (TP) è una struttura comune a tutti i sistemi operativi che viene utilizzata per conservare la corrispondenza tra pagine virtuali e pagine fisiche per un processo.
Con il termine “memoria virtuale” si fa riferimento all’utilizzo della memoria principale come cache della memoria secondaria (i.e. disco). La CPU fa riferimento a un indirizzo virtuale che viene poi tradotto in un indirizzo fisico al fine di accedere al contenuto della memoria principale. I blocchi di memoria virtuale hanno una dimensione fissa e sono chiamati “pagine”.
Dal momento che il sistema operativo è il responsabile dell’allocazione della memoria fisica e dell’aggiornamento delle TP, Misgav e Yavo si sono concentrati sullo studio del comportamento del kernel di Windows giungendo a una scoperta particolarmente interessante.
I due ricercatori hanno accertato che usando la tecnica Turning Tables è di fatto possibile superare le protezioni a livello kernel, in Windows, per eseguire codice arbitrario capace di alterare la corretta esecuzione degli altri processi in memoria.
Alcune pagine di memoria possono essere disponibili per più processi oltre che per il sistema operativo: si parla di “pagine condivise” o shared pages.
Le pagine condivise sono usate ad esempio per consentire ai processi di comunicare tra di loro (basti pensare alla ben nota funzionalità “copia e incolla” che fa sì che un programma possa ricevere il testo copiato da un altro programma).
In ogni caso, molto spesso è utile o necessario mantenere in memoria una sola copia di pagine che sono condivise da più processi: in questi frangenti si ricorre appunto alle pagine condivise.
Misgav e Yavo hanno scoperto che proprio concentrando l’attacco sul contenuto delle pagine condivise è possibile raggiungere risultati davvero incredibili: un processo malevolo può ad esempio acquisire privilegi più elevati e far propri addirittura i diritti SYSTEM, quelli più ampi in assoluto.
Il duo di enSilo ha verificato che la tecnica Turning Tables può essere sfruttata per alterare il comportamento delle applicazioni che funzionano all’interno di sandbox, ossia di ambienti di norma del tutto isolati dal resto del sistema.
Al momento Misgav e Yavo hanno focalizzato la loro attenzione su Windows ma secondo quanto dichiarato, poiché i principi di funzionamento dell’attacco hanno validità generale, anche Linux e macOS potrebbero essere ugualmente vulnerabili.
Secondo i ricercatori, ciò che lascia di stucco nel caso di Windows, è che l’utilizzo di Turning Tables permetterebbe di superare tutte le difese che Microsoft ha nel corso degli anni implementato a livello kernel.
Per approfondire è possibile visionare il video che ripubblichiamo di seguito tenendo presente che la descrizione dell’attacco Turning Tables comincia al minutaggio 8:57:26.
A settembre scorso i due ricercatori avevano individuato una lacuna di Windows che permette di nascondere codice malevolo alle attività di scansione esercitate dagli antimalware: Un bug in Windows permette di nascondere i malware agli antivirus.