stringtranslate.com

Sistema de archivos cifrados

El sistema de cifrado de archivos ( EFS ) de Microsoft Windows es una característica introducida en la versión 3.0 de NTFS [1] que proporciona cifrado a nivel de sistema de archivos . La tecnología permite cifrar archivos de forma transparente para proteger los datos confidenciales de los atacantes con acceso físico al equipo.

EFS está disponible en todas las versiones de Windows, excepto las versiones para el hogar (consulte los sistemas operativos compatibles a continuación) , a partir de Windows 2000. [2] De manera predeterminada, no se cifran archivos, pero los usuarios pueden habilitar el cifrado por archivo, directorio o unidad. Algunas configuraciones de EFS también se pueden exigir a través de la Política de grupo en entornos de dominio de Windows . [3]

Existen implementaciones de sistemas de archivos criptográficos para otros sistemas operativos, pero Microsoft EFS no es compatible con ninguno de ellos. [4] Véase también la lista de sistemas de archivos criptográficos .

Ideas básicas

Cuando un sistema operativo se ejecuta en un sistema sin cifrado de archivos, el acceso a los archivos normalmente pasa por la autenticación de usuarios controlada por el sistema operativo y las listas de control de acceso . Sin embargo, si un atacante obtiene acceso físico al equipo, esta barrera se puede sortear fácilmente. Una forma, por ejemplo, sería quitar el disco y colocarlo en otro equipo con un sistema operativo instalado que pueda leer el sistema de archivos; otra sería simplemente reiniciar el equipo desde un CD de arranque que contenga un sistema operativo adecuado para acceder al sistema de archivos local.

La solución más aceptada para esto es almacenar los archivos cifrados en el medio físico (discos, memorias USB, cintas, CD, etc.).

En la familia de sistemas operativos Microsoft Windows, EFS permite esta medida, aunque sólo en unidades NTFS, y lo hace utilizando una combinación de criptografía de clave pública y criptografía de clave simétrica para que descifrar los archivos sea extremadamente difícil sin la clave correcta.

Sin embargo, las claves criptográficas de EFS están protegidas en la práctica por la contraseña de la cuenta de usuario y, por lo tanto, son susceptibles a la mayoría de los ataques de contraseñas. En otras palabras, el cifrado de un archivo es tan seguro como la contraseña para desbloquear la clave de descifrado.

Operación

Funcionamiento del sistema de cifrado de archivos

EFS funciona cifrando un archivo con una clave simétrica masiva , también conocida como clave de cifrado de archivos o FEK. Utiliza un algoritmo de cifrado simétrico porque lleva menos tiempo cifrar y descifrar grandes cantidades de datos que si se utiliza un cifrado de clave asimétrica . El algoritmo de cifrado simétrico utilizado variará según la versión y la configuración del sistema operativo; consulte Algoritmos utilizados por la versión de Windows a continuación. La FEK (la clave simétrica que se utiliza para cifrar el archivo) se cifra luego con una clave pública que está asociada con el usuario que cifró el archivo, y esta FEK cifrada se almacena en el flujo de datos alternativo $EFS del archivo cifrado. [5] Para descifrar el archivo, el controlador del componente EFS utiliza la clave privada que coincide con el certificado digital EFS (utilizado para cifrar el archivo) para descifrar la clave simétrica que se almacena en el flujo $EFS. Luego, el controlador del componente EFS utiliza la clave simétrica para descifrar el archivo. Debido a que las operaciones de cifrado y descifrado se realizan en una capa debajo de NTFS, son transparentes para el usuario y todas sus aplicaciones.

Las carpetas cuyo contenido se va a cifrar mediante el sistema de archivos se marcan con un atributo de cifrado. El controlador del componente EFS trata este atributo de cifrado de forma análoga a la herencia de permisos de archivo en NTFS: si una carpeta está marcada para cifrado, de forma predeterminada, todos los archivos y subcarpetas que se creen en ella también se cifran. Cuando los archivos cifrados se mueven dentro de un volumen NTFS, los archivos permanecen cifrados. Sin embargo, existen varias ocasiones en las que el archivo se puede descifrar sin que el usuario se lo pida explícitamente a Windows.

Los archivos y carpetas se descifran antes de ser copiados a un volumen formateado con otro sistema de archivos, como FAT32 . Por último, cuando los archivos cifrados se copian a través de la red mediante el protocolo SMB/CIFS, los archivos se descifran antes de ser enviados a través de la red.

La forma más importante de evitar el descifrado durante la copia es utilizar aplicaciones de copia de seguridad que conozcan las API "Raw". Las aplicaciones de copia de seguridad que han implementado estas API Raw simplemente copiarán el flujo de archivos cifrados y el flujo de datos alternativo $EFS como un solo archivo. En otras palabras, los archivos se "copian" (por ejemplo, en el archivo de copia de seguridad) en formato cifrado y no se descifran durante la copia de seguridad.

A partir de Windows Vista , la clave privada de un usuario se puede almacenar en una tarjeta inteligente ; las claves del Agente de recuperación de datos (DRA) también se pueden almacenar en una tarjeta inteligente. [6]

Seguridad

Vulnerabilidades

Existían dos vulnerabilidades de seguridad importantes en Windows 2000 EFS, que han sido blanco de diversos ataques desde entonces.

En Windows 2000, el administrador local es el agente de recuperación de datos predeterminado, capaz de descifrar todos los archivos cifrados con EFS por cualquier usuario local. EFS en Windows 2000 no puede funcionar sin un agente de recuperación, por lo que siempre hay alguien que puede descifrar los archivos cifrados de los usuarios. Cualquier computadora con Windows 2000 que no esté unida a un dominio será susceptible de descifrado EFS no autorizado por cualquier persona que pueda hacerse cargo de la cuenta de administrador local, lo cual es trivial dadas las muchas herramientas disponibles gratuitamente en Internet. [7]

En Windows XP y versiones posteriores, no existe un agente de recuperación de datos local predeterminado ni es necesario tener uno. Si se configura SYSKEY en modo 2 o 3 (la clave del sistema se introduce durante el arranque o se almacena en un disquete), se mitigará el riesgo de descifrado no autorizado a través de la cuenta de administrador local. Esto se debe a que los hashes de contraseña del usuario local, almacenados en el archivo SAM , están cifrados con la clave del sistema, y ​​el valor de la clave del sistema no está disponible para un atacante sin conexión que no posea la frase de contraseña o el disquete de la clave del sistema.

Acceder a la clave privada mediante restablecimiento de contraseña

En Windows 2000, la clave privada RSA del usuario no sólo se almacena de forma verdaderamente cifrada, sino que también existe una copia de seguridad de la clave privada RSA del usuario que está protegida de forma más débil. Si un atacante obtiene acceso físico a la computadora con Windows 2000 y restablece la contraseña de una cuenta de usuario local, [7] el atacante puede iniciar sesión como ese usuario (o agente de recuperación) y obtener acceso a la clave privada RSA que puede descifrar todos los archivos. Esto se debe a que la copia de seguridad de la clave privada RSA del usuario está cifrada con un secreto LSA, al que puede acceder cualquier atacante que pueda elevar su inicio de sesión a LocalSystem (de nuevo, algo trivial dadas las numerosas herramientas que hay en Internet).

En Windows XP y posteriores, la clave privada RSA del usuario se respalda mediante una clave pública sin conexión cuya clave privada correspondiente se almacena en uno de dos lugares: el disco de restablecimiento de contraseña (si Windows XP no es miembro de un dominio) o en Active Directory (si Windows XP es miembro de un dominio). Esto significa que un atacante que pueda autenticarse en Windows XP como LocalSystem aún no tiene acceso a una clave de descifrado almacenada en el disco duro del equipo.

En Windows 2000, XP o posterior, la clave privada RSA del usuario se cifra utilizando un hash del hash de la contraseña NTLM del usuario más el nombre de usuario; el uso de un hash con sal hace que sea extremadamente difícil revertir el proceso y recuperar la clave privada sin conocer la frase de contraseña del usuario. Además, nuevamente, configurar Syskey en modo 2 o 3 (Syskey ingresada durante el arranque o almacenada en un disquete) mitigará este ataque, ya que el hash de la contraseña del usuario local se almacenará cifrado en el archivo SAM.

Otros temas

Una vez que un usuario inicia sesión con éxito, el acceso a sus propios datos cifrados de EFS no requiere autenticación adicional, el descifrado se realiza de forma transparente. Por lo tanto, cualquier violación de la contraseña del usuario conduce automáticamente al acceso a esos datos. Windows puede almacenar versiones de frases de contraseña de cuentas de usuario con cifrado reversible, aunque este ya no es el comportamiento predeterminado; también se puede configurar para almacenar (y lo hará de forma predeterminada en la versión original de Windows XP y anteriores) hashes de Lan Manager de las frases de contraseña de la cuenta de usuario local, que se pueden atacar y romper fácilmente. También almacena frases de contraseña de cuenta de usuario local como hashes NTLM , que se pueden atacar con bastante facilidad utilizando " tablas arco iris " si las contraseñas son débiles (Windows Vista y versiones posteriores no permiten contraseñas débiles de forma predeterminada). Para mitigar la amenaza de ataques triviales de fuerza bruta en frases de contraseña locales, las versiones anteriores de Windows deben configurarse (utilizando la parte Configuración de seguridad de la Política de grupo) para nunca almacenar hashes LM y, por supuesto, para no habilitar el inicio de sesión automático (que almacena frases de contraseña de texto sin formato en el registro ). Además, el uso de frases de contraseña de cuenta de usuario local de más de 14 caracteres evita que Windows almacene un hash LM en el SAM y tiene el beneficio adicional de dificultar los ataques de fuerza bruta contra el hash NTLM.

Al cifrar archivos con EFS (al convertir archivos de texto simple en archivos cifrados), los archivos de texto simple no se borran, sino que simplemente se eliminan (es decir, los bloques de datos marcados como "no en uso" en el sistema de archivos). Esto significa que, a menos que, por ejemplo, estén almacenados en un SSD con soporte TRIM , se pueden recuperar fácilmente a menos que se sobrescriban. Para mitigar por completo los ataques técnicos conocidos y no desafiantes contra EFS, el cifrado se debe configurar a nivel de carpeta (de modo que todos los archivos temporales, como las copias de seguridad de documentos de Word que se crean en estos directorios, también se cifren). Al cifrar archivos individuales, se deben copiar a una carpeta cifrada o cifrar "en el lugar", seguido de un borrado seguro del volumen del disco. Se puede utilizar la utilidad Windows Cipher (con la opción /W) para borrar el espacio libre, incluido el que aún contiene archivos de texto simple eliminados; también pueden funcionar varias utilidades de terceros. [8]

Cualquier persona que pueda obtener acceso de administrador puede sobrescribir, anular o cambiar la configuración del agente de recuperación de datos. Este es un problema muy grave, ya que un atacante puede, por ejemplo, piratear la cuenta del administrador (utilizando herramientas de terceros), configurar el certificado DRA que desee como agente de recuperación de datos y esperar. A esto a veces se lo denomina ataque en dos etapas, que es un escenario significativamente diferente al riesgo debido a una PC perdida o robada, pero que resalta el riesgo debido a personas malintencionadas.

Cuando el usuario cifra los archivos después de la primera etapa de un ataque de este tipo, las FEK se cifran automáticamente con la clave pública del DRA designado. El atacante solo necesita acceder al equipo una vez más como administrador para obtener acceso completo a todos los archivos cifrados posteriormente con EFS. Incluso el uso del modo Syskey 2 o 3 no protege contra este ataque, porque el atacante podría hacer una copia de seguridad de los archivos cifrados fuera de línea, restaurarlos en otro lugar y usar la clave privada del DRA para descifrarlos. Si un infiltrado malintencionado puede obtener acceso físico al equipo, todas las funciones de seguridad se deben considerar irrelevantes, porque también podría instalar rootkits , software o incluso keyloggers de hardware , etc. en el equipo, lo que es potencialmente mucho más interesante y efectivo que sobrescribir la política del DRA.

Recuperación

Los archivos cifrados con EFS solo se pueden descifrar utilizando la clave privada RSA que coincida con la clave pública utilizada anteriormente. La copia almacenada de la clave privada del usuario está protegida en última instancia por la contraseña de inicio de sesión del usuario. No es posible acceder a archivos cifrados desde fuera de Windows con otros sistemas operativos ( Linux , por ejemplo), sobre todo porque actualmente no existe ningún controlador de componentes EFS de terceros. Además, el uso de herramientas especiales para restablecer la contraseña de inicio de sesión del usuario hará que sea imposible descifrar la clave privada del usuario y, por lo tanto, inútil para obtener acceso a los archivos cifrados del usuario. La importancia de esto a veces se pierde para los usuarios, lo que da como resultado la pérdida de datos si un usuario olvida su contraseña o no realiza una copia de seguridad de la clave de cifrado. Esto llevó a acuñar el término "papelera de reciclaje retrasada" para describir la aparente inevitabilidad de la pérdida de datos si un usuario inexperto cifra sus archivos.

Si EFS está configurado para utilizar claves emitidas por una infraestructura de clave pública y la PKI está configurada para habilitar el archivado y recuperación de claves, los archivos cifrados se pueden recuperar recuperando primero la clave privada.

Llaves

Sistemas operativos compatibles

Ventanas

Otros sistemas operativos

Ningún otro sistema operativo o sistema de archivos tiene soporte nativo para EFS.

Nuevas funciones disponibles según la versión de Windows

Windows XP
Windows XP SP1
Windows XP SP2 + KB912761
Servidor Windows 2003
Windows Vista [10] y Windows Server 2008 [11] [12]
Servidor Windows 2008 [12]
Windows 7 y Windows Server 2008 R2 [15]
Windows 10 versión 1607 y Windows Server 2016

Algoritmos utilizados por la versión de Windows

Windows EFS admite una variedad de algoritmos de cifrado simétrico, según la versión de Windows que se utilice cuando se cifran los archivos:

Véase también

Referencias

  1. ^ "Cifrado de archivos (Windows)". Microsoft . Consultado el 11 de enero de 2010 .
  2. ^ EFS está disponible en Windows 2000 Server y Workstation, en Windows XP Professional, en Windows Server 2003 y 2008, y en Windows Vista y Windows 7 Business, Enterprise y Ultimate. EFS no
    está disponible en Windows XP Home Edition, ni en las ediciones Starter, Basic y Home Premium de Windows Vista y Windows 7. No se pudo implementar en la serie de sistemas operativos Windows 9x, ya que no soportaban de forma nativa NTFS, que es la base de EFS.
  3. ^ "Sistema de archivos cifrados". Microsoft. 1 de mayo de 2008. Consultado el 24 de agosto de 2011 .
  4. ^ "Sistemas de archivos criptográficos, primera parte: diseño e implementación". Security Focus . Consultado el 11 de enero de 2010 .
  5. ^ "Sistema de archivos cifrados".
  6. ^ Chris Corio (mayo de 2006). "First Look: New Security Features in Windows Vista" (Primer vistazo: nuevas características de seguridad en Windows Vista). TechNet Magazine . Microsoft. Archivado desde el original el 10 de noviembre de 2006. Consultado el 6 de noviembre de 2006 .
  7. ^ ab ntpasswd, disponible desde 1997 Archivado el 12 de febrero de 2016 en Wayback Machine .
  8. ^ "El sistema de cifrado de archivos". technet.microsoft.com .
  9. ^ "Windows - Sitio oficial de Microsoft Windows 10 Home & Pro OS, laptops, PCs, tablets y más". www.microsoft.com . Archivado desde el original el 2007-02-03 . Consultado el 2008-01-20 .
  10. ^ Kim Mikkelsen (5 de septiembre de 2006). "Windows Vista Session 31: Rights Management Services and Encrypting File System" (PDF) . presentación . Microsoft . Consultado el 2 de octubre de 2007 .[ enlace muerto ]
  11. ^ "Sistema de archivos cifrados". Documentación . Microsoft. 2007-04-30. Archivado desde el original el 2014-01-20 . Consultado el 2007-11-06 .
  12. ^ ab "Cambios en la funcionalidad de Windows Server 2003 con SP1 a Windows Server 2008: sistema de cifrado de archivos". documentación . Microsoft. 2007-09-01. Archivado desde el original el 2008-03-25 . Consultado el 2007-11-06 .
  13. ^ Scott Field (junio de 2006). "Mejoras de seguridad de Microsoft Windows Vista" (DOC) . Documento técnico . Microsoft . Consultado el 14 de junio de 2007 .
  14. ^ Microsoft Corporation (30 de noviembre de 2006). "Protocolo de comunicación de datos". patente . Microsoft . Consultado el 14 de junio de 2007 .
  15. ^ "Cambios en EFS". Microsoft TechNet . Consultado el 2 de mayo de 2009 .
  16. ^ "[MS-FSCC]: Apéndice B: Comportamiento del producto". Microsoft. 15 de septiembre de 2017. Consultado el 2 de octubre de 2017. Se agregó compatibilidad con FAT y EXFAT en el sistema operativo Windows 10 v1607 y Windows Server 2016 y posteriores.
  17. ^ Muller, Randy (mayo de 2006). "Cómo funciona la TI: cifrado del sistema de archivos". TechNet Magazine . Microsoft . Consultado el 22 de mayo de 2009 .

Lectura adicional