Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Crittografia e sicurezza

Rafforzare la sicurezza in modalità di gestione del sistema

Nuovi metodi migliorano la protezione per SMM contro vulnerabilità e attacchi.

― 6 leggere min


Sicurezza nella ModalitàSicurezza nella Modalitàdi Gestione del Sistemavulnerabilità potenziali.SmmPack rinforza SMM contro attacchi e
Indice

La modalità di gestione del sistema (SMM) è una modalità speciale e super privilegiata che si trova nei processori x86 e x86-64. Viene utilizzata principalmente per compiti a basso livello come la gestione dell'alimentazione e il controllo dell'hardware. SMM funziona con un tipo di firmware chiamato Unified Extensible Firmware Interface (UEFI). Questo firmware è essenziale durante l'avvio di un computer. Sfortunatamente, SMM ha le sue debolezze. Gli attaccanti possono sfruttare queste debolezze per interferire con il firmware UEFI, ignorando le misure di sicurezza impostate dai sistemi operativi.

Quando vengono scoperte vulnerabilità in SMM, vengono segnalate come Vulnerabilità e Esposizioni Comuni (CVE). Tuttavia, attualmente non ci sono sistemi di sicurezza efficaci per impedire agli attaccanti di analizzare queste vulnerabilità. Questo è un problema significativo perché, senza una protezione adeguata, gli hacker possono facilmente manipolare SMM e accedere ad aree sensibili di un sistema.

La necessità di una sicurezza potenziata in SMM

Per aumentare la difficoltà di analisi di queste vulnerabilità, sono necessarie nuove soluzioni di sicurezza. Una di queste soluzioni è SmmPack, che fornisce offuscamento per i moduli SMM. L'idea principale dietro SmmPack è quella di crittografare i moduli SMM utilizzando una chiave memorizzata in modo sicuro all'interno di un Trusted Platform Module (TPM). Questa crittografia rende molto più difficile per gli attaccanti accedere e analizzare i moduli SMM.

Testando l'efficacia di SmmPack, è stato scoperto che limita i metodi che gli attaccanti usano tipicamente per acquisire questi moduli. Importante, SmmPack non influisce sulle prestazioni dei moduli SMM originali, assicurando che i sistemi mantengano la loro efficienza.

Panoramica di UEFI e SMM

UEFI è un insieme standardizzato di specifiche che definisce come il firmware di un computer interagisce con il suo sistema operativo. Un BIOS compatibile con UEFI è costituito da vari moduli memorizzati in un chip di memoria flash. Il processo di avvio è diviso in diverse fasi, con le più importanti che sono Sicurezza (SEC), Pre-EFI Inizializzazione (PEI), Ambiente di Esecuzione del Driver (DXE), Selezione del Dispositivo di Avvio (BDS) e Runtime (RT).

Durante la fase DXE, SMM viene impostato e i moduli SMM vengono caricati ed eseguiti. Questi moduli lavorano in un'area sicura di memoria chiamata System Management RAM (SMRAM), che è accessibile solo durante SMM. Questa misura di sicurezza garantisce che i moduli SMM non possano essere facilmente letti o modificati.

Come gli attaccanti sfruttano SMM

Quando gli attaccanti ottengono accesso a SMM, possono apportare modifiche non autorizzate al BIOS e inserire malware. Questo consente loro di ignorare vari meccanismi di sicurezza, dandogli il pieno controllo sul sistema. Le vulnerabilità nei moduli SMM possono includere errori di implementazione, come l'accesso alla memoria al di fuori della SMRAM designata.

Attualmente, caratteristiche di sicurezza come il secure boot non impediscono questi tipi di attacchi. Questa mancanza di difesa rende essenziale implementare nuovi metodi che possano proteggere efficacemente i moduli SMM da potenziali minacce.

Introduzione di SmmPack

SmmPack è un framework progettato per aumentare il costo e la complessità dell'analisi delle vulnerabilità per i moduli SMM. Applicando la crittografia, SmmPack impedisce agli attaccanti di accedere o analizzare facilmente i moduli SMM. La chiave per la crittografia è memorizzata all'interno del TPM, che è un elemento hardware sicuro progettato per proteggere le chiavi crittografiche.

Una delle caratteristiche chiave di SmmPack è che limita l'accesso a questa chiave. Gli attaccanti non possono estrarre la chiave dal TPM anche se riescono a ottenere accesso fisico all'hardware. Inoltre, eventuali modifiche che potrebbero consentire loro di bypassare questa sicurezza cambieranno il Registro di Configurazione della Piattaforma (PCR) del TPM, impedendo così il recupero della chiave.

La struttura di SmmPack

SmmPack funziona impacchettando il modulo SMM attraverso la crittografia e aggiungendo uno stub di decrittazione alla fine. Quando il modulo SMM impacchettato viene eseguito, prima esegue lo stub di decrittazione, che chiama una funzione per decrittografare il modulo utilizzando la chiave memorizzata nel TPM.

Per rendere questo processo fluido, il modulo SmmPack deve essere caricato presto durante la fase DXE. Poi, quando i moduli SMM vengono eseguiti, rimangono decrittografati in SMRAM per tutta la durata del loro runtime.

Passaggi per l'implementazione di SmmPack

Implementare SmmPack richiede diversi passaggi:

  1. Generazione della chiave: Il primo passo è definire una chiave unica per l'implementazione del BIOS.
  2. Imballaggio dei moduli SMM: Ogni modulo SMM deve essere crittografato e deve essere aggiunto lo stub di decrittazione.
  3. Calcolo del valore PCR: Il valore PCR deve essere determinato durante l'esecuzione.
  4. Chiusura della chiave: Infine, la chiave viene sigillata all'interno del TPM per prevenire accessi non autorizzati.

Seguendo questi passaggi, i moduli SMM possono essere protetti efficacemente dall'analisi non autorizzata.

Valutazione dei modelli di minaccia

SmmPack è progettato per contrastare diverse classi di attaccanti in base ai loro livelli di accesso:

  • Classe 1: Gli attaccanti hanno accesso solo ai file di aggiornamento del BIOS. Possono scaricare questi file, ma i contenuti saranno crittografati e non facilmente analizzabili.
  • Classe 2: Gli attaccanti possono eseguire software arbitrario sul sistema operativo che controllano. Potrebbero tentare di dumpare il BIOS per accedere ai moduli SMM. Tuttavia, poiché i moduli sono crittografati, non potranno analizzarli facilmente.
  • Classe 3: Gli attaccanti più sofisticati hanno accesso diretto all'hardware. Potrebbero cercare di usare tecniche come attacchi a freddo per accedere ai moduli decrittografati. Anche se possibile, questi attacchi sono molto difficili e costosi a causa dell'esistenza di meccanismi di sicurezza aggiuntivi.

Valutazione delle prestazioni di SmmPack

Quando si implementa SmmPack, è importante analizzare il suo impatto sulle prestazioni del sistema. L'aumento del tempo di avvio e delle dimensioni del BIOS è minimo. Ad esempio, i test hanno mostrato che il tempo di avvio aggiuntivo era di circa 0,36 secondi, rappresentando solo circa il 2,77% del tempo di avvio totale nell'ambiente sperimentale.

Inoltre, l'overhead di dimensione dovuto a SmmPack è stato notato come trascurabile, rappresentando solo una piccola frazione dei dati totali nel sistema. Questo impatto minimo sulle prestazioni dimostra che SmmPack è realistico e pratico da adottare.

Gestione e adozione di SmmPack

Per implementare con successo SmmPack, è necessario completare alcune attività di gestione prima e dopo la spedizione del BIOS. Queste attività includono la determinazione della chiave di crittografia, l'imballaggio dei moduli SMM, la sigillatura della chiave nel TPM e l'esecuzione di aggiornamenti regolari del BIOS.

L'imballaggio dei moduli SMM utilizzando SmmPack può essere integrato nelle procedure di aggiornamento del BIOS esistenti. Questo garantisce che il processo non sia eccessivamente complicato e possa essere facilmente scalato su più dispositivi.

Affrontare il codice condiviso

Un'altra considerazione nell'implementare SmmPack è la questione del codice condiviso tra diversi fornitori. Anche se un'azienda adotta SmmPack, le vulnerabilità nel codice condiviso di altre aziende possono essere ancora sfruttate. Pertanto, sono necessari continui miglioramenti e aggiornamenti ai moduli SMM per mantenere la sicurezza.

Conclusione

SmmPack rappresenta un significativo avanzamento nella sicurezza dei moduli SMM aumentando la difficoltà e i costi per gli attaccanti che cercano di analizzare le vulnerabilità. Questo approccio non solo migliora la sicurezza del firmware, ma offre anche una soluzione pratica ed efficiente per i produttori. Con il suo impatto minimo sulle prestazioni del sistema e metodi di implementazione realistici, SmmPack è destinato a svolgere un ruolo essenziale nella protezione dei moduli SMM in futuro.

Fonte originale

Titolo: SmmPack: Obfuscation for SMM Modules with TPM Sealed Key

Estratto: System Management Mode (SMM) is the highest-privileged operating mode of x86 and x86-64 processors. Through SMM exploitation, attackers can tamper with the Unified Extensible Firmware Interface (UEFI) firmware, disabling the security mechanisms implemented by the operating system and hypervisor. Vulnerabilities enabling SMM code execution are often reported as Common Vulnerabilities and Exposures (CVEs); however, no security mechanisms currently exist to prevent attackers from analyzing those vulnerabilities. To increase the cost of vulnerability analysis of SMM modules, we introduced SmmPack. The core concept of SmmPack involves encrypting an SMM module with the key securely stored in a Trusted Platform Module (TPM). We assessed the effectiveness of SmmPack in preventing attackers from obtaining and analyzing SMM modules using various acquisition methods. Our results show that SmmPack significantly increases the cost by narrowing down the means of module acquisition. Furthermore, we demonstrated that SmmPack operates without compromising the performance of the original SMM modules. We also clarified the management and adoption methods of SmmPack, as well as the procedure for applying BIOS updates, and demonstrated that the implementation of SmmPack is realistic.

Autori: Kazuki Matsuo, Satoshi Tanda, Kuniyasu Suzaki, Yuhei Kawakoya, Tatsuya Mori

Ultimo aggiornamento: 2024-05-08 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2405.04355

Fonte PDF: https://arxiv.org/pdf/2405.04355

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Articoli simili