Método para eliminar archivos de forma segura de una unidad de estado sólido

6

He pensado en un método para borrar de forma segura archivos individuales en una unidad de estado sólido. Este método solo funcionará si la unidad está cifrada, y funcionará incluso si alguien rompe la clave de cifrado de su unidad. Básicamente hay dos pasos:

  1. Eliminar el archivo de la manera normal.
  2. Cambie su clave de cifrado y vuelva a cifrar su unidad.

De esta manera, incluso si su clave actual está comprometida, por ejemplo. a través de un ataque de arranque en frío, el atacante no podrá acceder a los archivos que ha eliminado con este método. Por supuesto, ya que tiene que volver a cifrar todo su disco, lo que lleva mucho tiempo, este método no es útil para los archivos que cifrará y descifrará con frecuencia. Pero si desea tener una capa adicional de seguridad alrededor de un conjunto de archivos a los que solo tiene acceso de vez en cuando, este método podría ser una opción viable.

Entonces, ¿qué te parece? ¿Es este un buen método? ¿O existen mejores métodos de eliminación segura de un solo archivo para unidades de estado sólido?

    
pregunta Zen Hacker 11.01.2016 - 16:43
fuente

1 respuesta

2

No es necesariamente una idea segura. Las unidades de estado sólido tienen lo que se denomina espacio de provisión excesiva, que es una pequeña cantidad de espacio al que solo se puede acceder con el firmware del disco duro (FTL o Flash Translation Layer), y se usa para nivelar el desgaste. Esto significa que, incluso cuando su unidad de disco duro muestra un uso del 100%, todavía hay una cantidad que no se utiliza. Los sectores específicos que no se utilizan son elegidos aleatoriamente por la FTL. Desafortunadamente, esto también significa que su clave maestra almacenada en el encabezado de encriptación (por ejemplo, su encabezado de LUKS o TrueCrypt) puede no ser borrada, incluso después de que haya vuelto a cifrar toda la unidad. Como resultado, tendrías que limpiar el disco muchas veces una y otra vez, e incluso así, la posibilidad de que se borre cualquier sector no está garantizada, es solo una probabilidad cada vez mayor.

Las unidades de estado sólido son conocidas por ocultar el control del sistema operativo. Es posible que pueda obtener un nuevo SSD de canal abierto, que es un tipo de SSD sin un FTL (o con uno extremadamente limitado) que difiere cosas como la nivelación de desgaste al núcleo. Es posible que pueda decirle al SSD que borre todos los sectores, y en realidad obedecerá.

Muchos SSD modernos son compatibles con SED, que es un cifrado de hardware utilizado con el fin de poder borrar rápidamente la unidad. Cuando emite el comando de borrado de seguridad ATA, en lugar de borrar lentamente todo el disco, estos discos SED simplemente borran la clave de cifrado (que se almacena en un área especial del disco que no está sujeta a nivelación de desgaste), lo que genera todos los datos en el disco. inútil). Obviamente, la clave no proporciona seguridad de datos en reposo, ya que solo se utiliza para borrar datos más rápidamente de lo que podría haber hecho de otra manera. Puede usar la herramienta hdparm para verificar si su SSD es compatible con SED. Ejecute "hdparm -I / dev / sdX | grep 'min for'", donde X es la etiqueta del SSD. Si la cantidad de minutos es muy pequeña para cualquiera de las opciones que muestra (generalmente 2, creo), entonces su unidad admite SED.

Si su unidad no es compatible con SED, y no tiene una unidad de disco duro en la que pueda almacenar una clave que pueda borrar directamente cuando desee borrar el SSD, podría intentar implementar una especie de deficiente SED del hombre de una manera pirateada usando NVRAM. En la mayoría de las placas base, su CMOS RAM (también llamada NVRAM) es una pequeña cantidad de memoria no volátil, o algunas veces EEPROM, que contiene información de configuración del BIOS. Se puede exportar a / dev / nvram cuando se carga el módulo nvram. Por lo general, tiene un tamaño de 144 bytes (si es exactamente ese tamaño, significa que es NVRAM. Si es más grande, significa que probablemente sea EEPROM), pero la mayoría no está en uso. Si puede identificar las partes no utilizadas, lo que es posible con algunas herramientas, o si comprende el formato, puede escribir directamente en / dev / nvram. Debido a que esta área está respaldada por la batería por la batería CMOS (esa pequeña batería de botón en su placa base que también alimenta el RTC), persiste durante los reinicios. Pero como no es flash, se puede borrar de forma instantánea y segura. Puede almacenar fácilmente una clave de 128 o 256 bits allí, que podría agregarse a su propia clave de cifrado para cifrar su partición SSD principal. Si alguna vez necesita borrarlo por completo, solo puede borrar la clave en / dev / nvram, y esto hará que los datos en el SSD sean inaccesibles.

La moraleja de la historia es: FTL es una perra. No confíes en los SSD, te ocultan cosas.

    
respondido por el forest 05.04.2016 - 02:56
fuente

Lea otras preguntas en las etiquetas