Dipende dal tuo livello di paranoia. A causa del modo in cui gli SSD gestiscono i dati di scrittura, fare uno zero, una volta su un SSD, non è buono come farlo su un disco rigido.
Quando scrivi una particolare pagina di dati su un HD, i nuovi dati vengono semplicemente scritti sui vecchi dati, sostituendoli. Scrivi zero su tutto il disco e tutti i vecchi dati saranno spariti. Gli SSD, d'altra parte, non possono semplicemente sovrascrivere le singole pagine. Per sostituire i dati su una pagina, i vecchi dati devono prima essere cancellati e gli SSD non possono cancellare singole pagine; devono cancellare interi blocchi costituiti da molte pagine.
Quindi, cosa succede quando chiedi a un SSD di sovrascrivere, ad esempio, la pagina n. 5, è che l'SSD lascia da solo i dati nella pagina n. 5, ma lo contrassegna come non valido, alloca un'altra pagina attualmente vuota (ad esempio, # 2305 ), scrive i nuovi dati alla pagina n. 2305 e prende nota che la volta successiva che il sistema operativo richiede la pagina n. 5, dovrebbe invece ottenere il n. 2305. I dati della pagina 5 originale si trovano lì fino a poco più tardi, quando l'unità ha bisogno di più spazio, sposta qualsiasi pagina valida rimanente dal blocco e la cancella. Gli SSD hanno una capacità di memoria fisica maggiore di quella che espongono al computer, quindi possono manipolare blocchi come questo per un po 'di tempo prima di dover cancellare qualsiasi cosa (e quando effettivamente cancellano qualcosa, non c'è un buon modo per prevedere quali blocchi di dati rimasti essere scelto per la cancellazione). Vedi questa recensione di AnandTech per maggiori dettagli (attenzione: è piuttosto lunga, e il materiale pertinente è diffuso).
Risultato netto: se si scrivono zeri sull'unità "intero", in realtà non si sono sovrascritti tutti i vecchi dati. hai aggiornato la tabella di traduzione del controller in modo che non restituisca mai alcuno dei vecchi dati al sistema operativo (tali pagine non sono tutte valide). Ma se qualcuno è abbastanza duro da ignorare il controller, potrebbe recuperare alcuni dei tuoi dati.
La sovrascrittura due volte probabilmente funzionerà, ma dipende dalla strategia di allocazione del controllore. Sovrascrivere due volte con dati casuali ( diskutil randomDisk 2 /dev/diskN
) è un po 'più probabile che funzioni, ma non è ancora garantito. Entrambi hanno anche alcuni effetti collaterali negativi: utilizzano parte del tempo di vita dell'unità e aumentano anche la frammentazione logica sull'unità SSD, diminuendo le prestazioni di scrittura.
Si noti che le recenti versioni dell'utility grafico di OS X disabilitano le opzioni di cancellazione sicura su SSD (per i motivi discussi sopra), ma la versione da riga di comando consente ancora loro. A proposito, ho anche visto diverse raccomandazioni per cancellare in modo sicuro gli SSD convertendoli in formato crittografato, ma questo è (se possibile) leggermente meno sicuro rispetto alla sovrascrittura con dati casuali.
Il modo migliore per proteggere un SSD è invocare la funzione di cancellazione sicura integrata del controller. Questo dovrebbe (se i progettisti del controller hanno fatto il loro lavoro) cancellare veramente tutti i blocchi, e avere anche l'effetto collaterale di reimpostare la mappa logica della pagina, essenzialmente deframmentandola e ripristinandone le prestazioni originali. Sfortunatamente, la maggior parte delle utilità che ho visto per questo (es. HDDErase di CMRR ) funzionano sotto DOS, che non si avvia su un Mac. Ho trovato un post su macrumors con istruzioni (piuttosto complesse) per fare una cancellazione sicura da un avvio GParted CD. Potrebbe anche essere possibile utilizzare Parted Magic da un unità flash avviabile , ma Non ho provato questo.
I ricercatori del Non-Volatile Systems Lab di UCSD hanno testato vari modi di disinfettare gli SSD "cancellando" l'unità, quindi disassemblandola per bypassare il controller e controllando i dati residui (summary , full paper ). I loro risultati sono per lo più d'accordo con quanto ho detto sopra (e mostrano anche che il comando di cancellazione sicura integrato non è sempre implementato correttamente):
Our results lead to three conclusions:
First, built-in commands are effective, but manufacturers
sometimes implement them incorrectly. Second,
overwriting the entire visible address space of an SSD
twice is usually, but not always, sufficient to sanitize the
drive. Third, none of the existing hard drive-oriented
techniques for individual file sanitization are effective on
SSDs.