¿Cómo borrar de forma segura una unidad SSD?

36

Soy bastante nuevo en la tecnología SSD, así que no sé cómo se compara con los discos duros cuando se trata de borrar el disco de forma segura. ¿Es suficiente ejecutar Disk Utility y borrar el disco con la opción "sobrescribir con ceros", o está diseñado para discos duros? ¿Hay otras acciones que deberían tomarse?

Sin embargo, no estoy buscando seguridad de grado NSA, solo el tipo de borrado que harías si regresas o vendes la Mac.

Rinzwind
fuente
¿Necesita borrar los datos, o necesita persuadir a otras personas de que los datos han sido borrados? Si solo necesita convencerse de que los datos se han ido, debe probar el comando ATA Secure Erase. Si necesita convencer a otras personas, es posible que deba usar un servicio de destrucción de discos.
DanBeale
En seguridad de TI: ¿es suficiente borrar una unidad flash solo una vez? (26 de julio de 2011)
Graham Perrin

Respuestas:

45

Depende de tu nivel de paranoia. Debido a la forma en que los SSD manejan la escritura de datos, hacer un cero una vez en un SSD no es tan bueno como hacerlo en un disco duro.

Cuando escribe una página de datos en particular en un HD, los nuevos datos simplemente se escriben sobre los datos antiguos, reemplazándolos. Escriba ceros en todo el disco y todos los datos antiguos desaparecerán. Los SSD, por otro lado, no pueden simplemente sobrescribir páginas individuales. Para reemplazar los datos en una página, primero se deben borrar los datos antiguos y los SSD no pueden borrar páginas individuales; tienen que borrar bloques enteros que constan de muchas páginas.

Entonces, ¿qué sucede cuando se pide un SSD para sobrescribir, por ejemplo, la página # 5, es que las hojas SSD los datos en la página nº 5 solos, pero lo marca como no válido, asigna otra página actualmente en blanco (por ejemplo, # 2305), escribe los nuevos datos a la página # 2305, y hace una nota que la próxima vez el sistema operativo solicita la página # 5 que debe recibir # 2305 en su lugar. Los 5 datos de la página original # sienta allí hasta algún tiempo después, cuando la unidad necesita más espacio, se mueve a cualquiera de las páginas restantes válidos fuera del bloque, y lo borra. SSD no tienen capacidad de memoria más física que se exponen a la computadora, para que puedan hacer malabares bloques como esto durante un tiempo antes de tener que borrar nada (y cuando hacen algo realmente borrado, no hay una buena manera de predecir qué bloques de restos de datos se ser elegido para borrado). Ver esta opinión AnandTech para el camino más detalles (advertencia: es bastante largo, y la materia relevante es de alrededor de propagación).

Resultado neto: si se escribe ceros más de la unidad "todo", no se ha hecho sobrescritos todos los datos antiguos. Usted ha actualizado la tabla de traducción del controlador por lo que nunca volverá cualquiera de los viejos datos al sistema operativo (esas páginas son válidos). Sin embargo, si el hardcore suficiente de alguien para el controlador de derivación, se podría conseguir un poco de la espalda de datos.

Sobrescribiendo el doble probablemente va a funcionar, pero depende de la estrategia de asignación del controlador. Sobrescribiendo dos veces con datos aleatorios ( diskutil randomDisk 2 /dev/diskN) es un poco más probable que el trabajo, pero todavía no está garantizada. Ambos también tienen algunos malos efectos secundarios: se utiliza parte de la vida útil de la unidad, y también aumentar la fragmentación lógica en el SSD, disminuyendo su rendimiento de escritura.

Tenga en cuenta que las versiones recientes de la utilidad de disco gráfica de OS X desactivar las opciones de borrado seguro de los SSD (por las razones expuestas anteriormente), pero la versión de línea de comandos todavía les permite. Por cierto, también he visto varias recomendaciones a los SSD borrar de forma segura mediante la conversión a formato cifrado, pero esto es (si acaso) un poco menos seguro que la sobreescritura con datos aleatorios.

La mejor manera de borrar de forma segura un SSD es invocar la función de borrado de seguridad integrada del controlador. Esto debería (si los diseñadores del controlador hicieron su trabajo) realmente borrar todos los bloques, y también tener el efecto secundario de restablecer el mapa de páginas lógico, esencialmente desfragmentarlo y restaurar su rendimiento original. Desafortunadamente, la mayoría de las utilidades que he visto para hacer esto (por ejemplo , HDDErase de CMRR ) se ejecutan bajo DOS, que no arranca en una Mac. Encontré una publicación sobre macrumores con instrucciones (bastante complejas) para hacer un borrado seguro de un CD de arranque GParted. También podría ser posible usar Parted Magic desde una unidad flash de arranque , pero no lo he intentado.

Los investigadores del Laboratorio de sistemas no volátiles de la UCSD han probado varias formas de desinfectar los SSD "borrando" el disco, luego desarmándolo para evitar el controlador y comprobando los datos remanentes ( resumen , documento completo ). Sus resultados coinciden principalmente con lo que dije anteriormente (y también muestran que el comando incorporado de borrado seguro no siempre se implementa correctamente):

Nuestros resultados llevan a tres conclusiones: Primero, los comandos integrados son efectivos, pero los fabricantes a veces los implementan incorrectamente. En segundo lugar, sobrescribir dos veces el espacio de direcciones visible completo de un SSD suele ser, pero no siempre, suficiente para desinfectar la unidad. En tercer lugar, ninguna de las técnicas existentes orientadas al disco duro para la desinfección de archivos individuales es efectiva en los SSD.

Gordon Davisson
fuente
1
Gracias por la extensa respuesta. No es un problema para mí ejecutar un comando de Terminal como usted sugiere. Pero para referencia futura: ¿qué pueden hacer los usuarios habituales que no se sienten tan cómodos con Terminal? ¿Simplemente use la opción de 7 pasos de Disk Utility?
Rinzwind
44
No sé si realmente puedo "recomendar" alguna de las opciones en este momento, todas apestan. Cualquiera de las opciones de sobrescritura consumirá el límite de escritura de por vida de la unidad y tenderá a aumentar la fragmentación y disminuir el rendimiento. Lo mejor sería que Apple agregue ATA-secure-erase (es decir, la opción basada en el controlador) como una opción en Disk Utility, pero quién sabe cuándo / si eso sucederá.
Gordon Davisson
2
@ Gordon - ¡Esa fue una respuesta excelente e informativa! +1
Dolan Antenucci
Hola @ Gordonordvisson. Curioso si algo ha cambiado desde que escribió esta respuesta (ha habido algunas actualizaciones del sistema operativo desde entonces).
samthebrand
@SamtheBrand: No ha cambiado mucho. Agregué una nota de que la Utilidad de Discos (versión GUI) ahora no permite el borrado seguro en las SSD (porque realmente no funciona), arreglé el enlace a HDDErase y agregué una nota de que Parted Magic podría funcionar (aunque no lo he probado) )
Gordon Davisson
8

Abra una terminal y escriba el siguiente comando:

df -k

Tenga en cuenta la primera columna correspondiente a la partición de la SSD que desea borrar de forma irreversible. Digamos que lo es /dev/disk1s2.

Escriba el siguiente comando:

dd if=/dev/zero of=/dev/rdisk1s2 bs=100k

donde /dev/rdisk1s2está el dispositivo sin procesar asociado con su partición en SSD. Este comando escribirá completamente esta partición desde el primer bloque disponible hasta el último. Este comando durará mucho (~ 1/2 h por 100 Gbytes) sin una buena barra de progreso.

Una vez que este comando le devuelve el aviso de su shell, el disco se ha borrado de forma completa e irreversible. Comience Disk Utilityy verifique esta partición. Le dirá que está dañado más allá de cualquier forma de reparación. Y es correcto.

Simplemente formatee esta partición como desee.

Esto es lo que está sucediendo a nivel de bloques físicos:película de dd y DU borrando un SSD

dan
fuente
1
Esto es equivalente a la opción de Disk Utility para sobrescribir con ceros, y no será completamente seguro en SSD por la misma razón. Vea mi respuesta para la explicación detallada.
Gordon Davisson
→ Gordon: leí tu respuesta, y creo que la entendí, y la voté por su calidad. Mi respuesta es usar el dispositivo de disco sin formato y no el bloque uno (como Utilidad de disco). Esto tiene que verificarse en SSD (con herramientas confiables), pero hasta donde yo sé en HD estándar antiguo usando cachés, la interfaz de disco sin formato era la forma fácil de evitar este caché. Un dispositivo SSD es simplemente un disco HD donde la memoria caché es la capacidad total, y el disco físico se elimina.
dan
El uso del dispositivo sin formato (/ dev / rdisk *) omite las memorias caché del sistema operativo, pero no omite la capa de traducción flash (que es la fuente del problema que describí). De hecho, no hay forma de evitarlo desde el sistema operativo: el controlador del dispositivo simplemente nunca expone la verdadera memoria flash sin procesar al bus (SATA o lo que sea), y dado que el sistema operativo solo puede interactuar con la unidad a través del bus, no hay manera de obtener acceso lo suficientemente crudo para hacer una sobrescritura segura.
Gordon Davisson
El primer paso ddes aquí no solo para omitir un cierto nivel de caché (no tenemos ninguna forma de conocer su capacidad), sino también agotarlos parcialmente (este es el estado de la figura 3). El segundo pase realmente tendrá que encontrar nuevos bloques y borrarlos de forma segura.
dan
Todavía no es suficiente, por dos razones: primero, cuando Disk Utility formatea el disco, solo sobrescribe un poco (la tabla de partición, los encabezados de volumen, etc.), y no hay garantía de que sea suficiente para agotar la capacidad adicional. En segundo lugar, no hay ninguna garantía de que el DU adicional de escritura llegue a bloques físicos diferentes de lo que dd borró anteriormente; dependiendo de la estrategia de asignación del controlador, es completamente posible que solo esté borrando los mismos bloques físicos una y otra vez. Es por eso que dije que incluso sobrescribir todo el espacio dos veces podría no ser suficiente.
Gordon Davisson
7

El botón "Opciones de seguridad ..." en la Utilidad de Discos está actualmente en gris para las SSD. De acuerdo con http://support.apple.com/kb/HT3680 , borrar un SSD normalmente podría ser lo suficientemente seguro:

Nota: con OS X Lion y una unidad SSD, Secure Erase y Erasing Free Space no están disponibles en Disk Utility. Estas opciones no son necesarias para una unidad SSD porque un borrado estándar dificulta la recuperación de datos de una SSD. Para mayor seguridad, considere activar el cifrado de FileVault 2 cuando comience a usar la unidad SSD.

Todavía es posible ejecutar algo como diskutil secureErase freespace 4 disk0s2desde Terminal en la partición de recuperación.

Sin embargo, simplemente encender FileVault 2 antes de borrar la unidad es probablemente una mejor opción. Según esta respuesta , realizar un borrado remoto también borra la clave de cifrado si FileVault 2 está habilitado:

Sí, cuando limpia la computadora de forma remota, hace una limpieza segura. Apple incluso te advierte que podría tomar hasta un día. Sin embargo, si su unidad fue encriptada con FileVault 2, entonces no es necesario borrar el disco. Es suficiente borrar de forma segura las claves de cifrado almacenadas en el disco, así que eso es lo que hacen. Es muy rápido y tan seguro como el sistema de cifrado subyacente, que por ahora es muy seguro.

http://training.apple.com/pdf/wp_osx_security.pdf :

FileVault 2 proporciona a los departamentos de TI la capacidad de borrar la clave de cifrado de una Mac determinada en cualquier momento para garantizar que no se pueda acceder a los datos cifrados ni mediante el inicio de sesión del usuario ni con las herramientas de recuperación de datos. Este proceso se conoce como borrado remoto.

Lri
fuente
55
Activar el cifrado (es decir, FileVault) antes de almacenar datos confidenciales es una excelente opción, pero se me ocurre que el proceso utilizado para "borrar" la clave de cifrado puede no ser completamente seguro por la misma razón que un borrado seguro estándar no lo es: - la clave de cifrado anterior todavía se almacenará en la memoria flash, solo en una página asignada. Entonces, alguien que pueda pasar por alto el controlador aún podría obtener la tecla "borrada" ...
Gordon Davisson
@GordonDavisson, pero si luego habilita el cifrado nuevamente al formatear la unidad, la clave de cifrado anterior debe sobrescribirse, por lo tanto, ¿no se puede acceder de forma segura a los datos antiguos?
supersize
@supersize La antigua clave de cifrado puede sobrescribirse, pero depende exactamente de qué páginas físicas se borren durante el reformateo, y eso es algo que controla el firmware de la unidad, no el sistema operativo.
Gordon Davisson