Negli hard disk meccanici sovrascrivere più volte bastava. Con gli SSD/NVMe no: tra NAND, wear leveling e aree nascoste, i dati restano. Ecco come funziona davvero la memoria flash e come eseguire una bonifica sicura.
La memoria NAND organizza i dati in pagine e blocchi. Una pagina già scritta non può essere sovrascritta direttamente: occorre prima cancellare l’intero blocco. Per questo il controller scrive su celle libere, marca come obsolete le pagine vecchie e rimanda la cancellazione fisica alla garbage collection.
Conseguenza pratica
Quando elimini o formatti, rimuovi solo i riferimenti logici. I dati fisici restano fino a quando quel blocco non viene effettivamente ripulito o riutilizzato.
Wear leveling: perché possono restare copie
Per distribuire l’usura, il controller sposta ciclicamente i dati (wear leveling). Anche se “sovrascrivi” un file, il nuovo contenuto può finire altrove, lasciando tracce residue in aree non più mappate.
TRIM aiuta la velocità, non la privacy
TRIM indica al firmware quali blocchi non sono più in uso, ma non esegue una cancellazione sicura. È un hint, non una bonifica.
Aree nascoste e settori rimappati
Negli SSD esistono aree invisibili al sistema operativo (overprovisioning, settori rimappati, cache, spazi firmware). Qui possono persistere frammenti sensibili anche dopo formattazioni.
Rischi reali
Recupero dati da drive smaltiti o rivenduti;
Tracce di database/email in aree non mappate;
Impatti legali/compliance (GDPR, data breach).
Quando preoccuparsi
Server, PC condivisi, ambienti aziendali;
Dispositivi in dismissione o RMA;
Dati personali o segreti industriali.
Come cancellare davvero: Secure Erase & Sanitize
La soluzione corretta è usare le funzioni di secure erase del firmware dell’unità (o sanitize su NVMe), che riportano le celle allo stato di fabbrica o distruggono la chiave di cifratura interna.
sudo apt install -y hdparm nvme-cliSSD SATA (hdparm)
Sostituisci /dev/sdX con il tuo disco (es. /dev/sda).
# Verifica supporto:
sudo hdparm -I /dev/sdX | grep -i erase
# Imposta password temporanea richiesta da ATA Security:
sudo hdparm --user-master u --security-set-pass p /dev/sdX
# Secure Erase (irrecuperabile):
sudo hdparm --user-master u --security-erase p /dev/sdX
# (Opzionale) Enhanced Secure Erase, se supportato:
sudo hdparm --user-master u --security-erase-enhanced p /dev/sdX
systemctl suspend), poi riprova. Alcuni BIOS/UEFI “congelano” i comandi ATA Security all’avvio.SSD NVMe (nvme-cli)
Individua l’unità (es. /dev/nvme0n1):
# Elenco dispositivi NVMe:
sudo nvme list
# Secure Erase (format):
sudo nvme format /dev/nvme0n1 --ses=1
# Crypto Erase (distrugge la chiave interna, se supportato):
sudo nvme format /dev/nvme0n1 --ses=2
# Sanitize (più completo, più lento; include blocchi rimappati):
sudo nvme sanitize /dev/nvme0n1 --sanact=1
Verifiche post-erase
# NVMe: stato dopo la formattazione
sudo nvme list
# SATA: informazioni di sicurezza/frozen
sudo hdparm -I /dev/sdX | grep -iE 'Security|frozen'
Extra: script Bash sicuro e interattivo
Per semplificare, puoi usare uno script che rileva tipo di disco, smonta partizioni, evita il disco di sistema e chiede conferme esplicite.
Quando serve la distruzione fisica
Se l’unità è guasta o il firmware non risponde, l’ultima risorsa è la distruzione fisica del chip NAND (triturazione/perforazione). Da usare solo per dati altamente sensibili o vincoli di compliance.
Cancellare non basta: serve capire come vivono i dati “sotto il cofano”. Solo così puoi proteggere davvero la tua privacy.
Gli SSD e gli NVMe offrono velocità impressionante, ma la loro architettura rende ingannevole il concetto di “cancellazione”. Le funzioni Secure Erase e Sanitize sono gli unici metodi affidabili per una bonifica reale. Implementale nel tuo flusso di dismissione dispositivi e riduci il rischio di data leakage.