¿Cómo borrar de forma segura una unidad SATA arbitraria, utilizando el firmware de la unidad para hacerlo?

2

El problema con el uso de la Utilidad de Disco o dd if=/dev/zero para borrar un disco es que:

  1. Aplica el desgaste innecesario a las unidades SSD.

  2. Envía la capacidad de la unidad a cero a través de la interfaz de la unidad. Si está en una Mac más antigua que tiene un puerto USB 2 de bajo rendimiento, tomará mucho más tiempo del necesario. También le cobrará a su CPU y subsistema USB el envío de todos esos ceros.

  3. La eliminación segura basada en firmware puede ser mucho más rápida que enviar ceros a la unidad, incluso en unidades de plato giratorio. Para unidades con soporte de cifrado, será casi instantáneo, ya que todo lo que debe hacer es sobrescribir las claves de cifrado y los datos se vuelven inútiles. En esas unidades, y en las unidades de estado sólido, un borrado seguro debería tomar de 1 a 4 minutos (!).

Todas las unidades modernas son compatibles con los comandos ATA Secure Erase . Estos comandos hacen que el firmware del disco realice el borrado de los datos.

En Linux, la utilidad hdparm expone esta funcionalidad al usuario; consulte hdparm --security-help para obtener más información.

Desafortunadamente, no hay hdparm para OS X, ya que OS X no proporciona ninguna manera para que el usuario envíe comandos SATA arbitrarios a la unidad :(

¿Hay una solución fácil?

    
pregunta Kuba Ober 12.01.2015 - 22:08

1 respuesta

1

Hay tres maneras de lidiar con esto:

  1. OS X proporciona un buen acceso de usuario a cualquier dispositivo USB, por lo que si uno desea combinar hdparm con un controlador de almacenamiento USB, sería posible usar hdparm en dispositivos conectados por USB para realizar un borrado seguro.

  2. Alternativamente, puedes escribir un controlador de kernel para exponer esta funcionalidad al país de usuarios.

  3. Finalmente, puede usar una máquina virtual que ejecute linux, ya que tanto VMware Fusion como VirtualBox exponen los dispositivos USB al huésped. Aquí detallaré esta última solución.

Los pasos son:

  1. Compre un alojamiento de disco duro USB 2 o USB 3. He verificado que el dock NexStar NST-D306S3 funciona muy bien.

  2. Conéctelo a un puerto USB 2. Nunca lo conseguí trabajando con puertos USB 3, debido a errores en el kernel de Linux.

  3. Configure una nueva máquina virtual y adjunte la imagen de systemrescuecd a la unidad de CD virtual. La máquina virtual no necesita un disco duro y solo necesita 256 MB de RAM.

  4. Inicia la máquina virtual. Adjunte la unidad a la máquina virtual.

  5. Asegúrese de que solo un dispositivo USB esté conectado a la máquina virtual. Este dispositivo de almacenamiento estará disponible como /dev/sda .

  6. Emita los siguientes comandos en la consola de sysrescuecd:

    hdparm --user-master u --security-set-pass NULL /dev/sda
    hdparm --user-master u --security-erase NULL /dev/sda
    

    Eso es todo. Su unidad se borrará por completo con su propio firmware, sin utilizar una cantidad apreciable de ancho de banda USB, CPU ni resistencia de escritura de la unidad (para SSD). Esto funciona perfectamente incluso en la primera Mac Intel, y no ralentizará la máquina. Puede usar VMware Fusion o VirtualBox, ambos funcionan igual de bien para este propósito.

respondido por el Kuba Ober 12.01.2015 - 22:08

Lea otras preguntas en las etiquetas