Ataque de Bruteforce sin conexión contra una PC con Windows bloqueada por bit

11

Actualmente estoy evaluando la seguridad de Bitlocker desde la perspectiva de un ataque sin conexión contra una contraseña almacenada (utilizada para proteger la clave de cifrado completo del disco). Supongo que la contraseña utilizada para descifrar / determinar la clave FDE debe almacenarse de alguna manera en el disco, de lo contrario sería imposible determinar si la clave FDE es correcta o no.

Mi pregunta es, si, por ejemplo, una computadora portátil fue robada y estaba utilizando Bitlocker para asegurar la contraseña utilizada para desbloquear el volumen del sistema operativo, ¿qué tan resistente sería a un ataque sin conexión con el fin de recuperar la contraseña? ? ¿Qué técnicas / algoritmos utiliza para protegerse contra un ataque como este?

Tenga en cuenta que estoy menos interesado en la recuperación de los datos en el disco o la clave FDE. Estoy totalmente interesado en esto en función de la resistencia de la contraseña del usuario a un ataque fuera de línea contra un atacante experto en posesión de una computadora portátil robada.

    
pregunta MattCotterellNZ 05.10.2015 - 03:43
fuente

3 respuestas

6

El ataque que describe es un problema fundamental para todos los tipos de encriptación: si desea usar una contraseña como (la fuente de) la clave de encriptación, la contraseña debe tener tanta entropía como la fuerza de encriptación deseada; de lo contrario, vulnerable a la fuerza bruta fuera de línea.

Entonces, sí, si Bitlocker solo usó la contraseña que ingresó como (fuente de) la clave, sería vulnerable a este ataque.

Bitlocker proporciona múltiples mecanismos de autenticación, que abordan este problema de diferentes maneras.

  • El mecanismo recomendado (AFAIK) es utilizar el Trusted Platform Module (TPM) de la computadora. Con la autenticación TPM (llamada Modo de operación transparente con Bitlocker), el chip TPM almacena la clave de Bitlocker. El TPM está diseñado específicamente para liberar solo esa clave si se proporciona cierta contraseña / PIN, y para limitar el número de intentos de autenticación. Por lo tanto, una contraseña / PIN similarmente débil es suficiente, porque la contraseña no se puede atacar fuera de línea, ya que se almacena en el TPM.
  • Otra solución es usar Modo de llave USB . En ese modo, la clave se almacena en una llave USB (opcionalmente protegida por una contraseña), o se usa un dispositivo USB especial que realiza una autenticación segura (similar a un chip TPM). Nuevamente, un ataque fuera de línea no es posible, porque la clave está almacenada en el dispositivo USB. Sin embargo, si el dispositivo USB es solo un dispositivo de almacenamiento simple, es posible un ataque fuera de línea (por lo tanto, debe almacenarse de forma muy segura).

El modo de llave USB y el TPM se pueden combinar para una seguridad aún mejor.

Tenga en cuenta que es posible usar Bitlocker sin un chip TPM (aunque, aparentemente, esto no es recomendado por Microsoft). Si lo haces, entonces eres vulnerable a los ataques de forzados de contraseña, por lo que necesitas una contraseña con suficiente entropía, es decir, al menos 128 bits, mejor 168 bits.

Para una discusión extensa de las opciones de diseño, las compensaciones de seguridad y la tecnología de Bitlocker, vea el documento AES-CBC + Elephant diffuser, Un algoritmo de cifrado de disco para Windows Vista por Niels Ferguson, disponible en enlace .

    
respondido por el sleske 05.10.2015 - 08:58
fuente
5

BitLocker encripta la unidad usando una "clave maestra de volumen", que nunca se coloca directamente en un almacenamiento persistente en cualquier lugar. Uno o más "protectores clave" están presentes en los metadatos del volumen, cada uno de los cuales proporciona una manera de obtener el VMK. Para los protectores basados en PIN / contraseña, la contraseña se pasa a través de una función de derivación de clave muy lenta (algo como bcrypt, pero en realidad no estoy seguro de qué función o cuáles son los parámetros exactos). Es probable que los parámetros varíen según el hardware, pero toma más de medio segundo en mi máquina de trabajo.

Creo que esta clave derivada se compara con un hash almacenado y, si coincide, se utiliza para descifrar el VMK (es decir, el protector de PIN / Contraseña contiene una versión del VMK, encriptada con la clave que escupe el KDF). y un hash de la clave derivada, que se utiliza para verificar la corrección de la clave derivada).

Para intentar forzar la contraseña de forma bruta, deberá averiguar el algoritmo y sus parámetros (sal, factor de trabajo, etc.). A menos que tenga recursos informáticos importantes disponibles, la búsqueda de fuerza bruta tardará mucho tiempo en encontrar algo debido al lento KDF.

La implementación de BL más públicamente utilizable mediante código que conozco es la dislocker git repo , dislocker siendo una implementación de código abierto (parcial) de BitLocker (escrito como un controlador FUSE). No tengo conocimiento de ninguna herramienta de forzamiento de datos brutos ya preparada para BitLocker, pero probablemente podría crear una encima del código de dislocker . ¡Sin embargo, probablemente tomará un tiempo correr!

    
respondido por el CBHacking 05.10.2015 - 04:38
fuente
2

Las herramientas de cifrado de disco completo dependen de AES, que aún hoy se considera segura. Por lo tanto, la mayoría de los ataques se enfocan en el sistema operativo en lugar del mecanismo de encriptación que usan tales herramientas.

Los ataques que puede enfrentar en caso de robo de su máquina dependen de varios factores. En primer lugar, en cómo lo configuraste. Las configuraciones que requieren autenticación antes de iniciar el sistema operativo impiden que un pirata informático ataque de inmediato al sistema operativo. Primero que todo, configure Bitlocker con la opción de autenticación previa al arranque.

Antes de cifrar los discos, asegúrese de que su equipo esté seguro de la presencia de rootkits y bootkits que pueden tener los mismos privilegios que su sistema operativo e incluso pueden comprometer su clave de cifrado de volumen completo, ya que está cifrada por la clave maestra de volumen. almacenado en el volumen cifrado. Tenga en cuenta que UEFI está destinado a proteger su sistema de nuevo contra la presencia de rootkits y bootkits, sin embargo, no es infalible.

Otra cosa a considerar es el ataque de inicio de sesión de fuerza bruta que se puede realizar incluso contra el autenticador previo al arranque que mencionamos anteriormente.

También un atacante puede usar Thunderbolt para conectar otro dispositivo a su computadora portátil. Debido a que los puertos DMA (acceso directo a la memoria) no proporcionan autenticación o control de acceso para proteger los contenidos de la memoria de la computadora a la que el dispositivo tiene acceso de lectura solamente, puede imaginar un ataque basado en estos hechos (llamado ataques DMA ). Tenga en cuenta que, en caso de que esté ejecutando Windows 8, es posible que sepa que los dispositivos certificados para Windows 8 InstantGo no tienen puertos DMA, lo que elimina el riesgo de ataques DMA

Entonces, junto con la configuración de la autenticación previa al inicio, también puede usar un dispositivo USB (como una unidad flash) para almacenar la clave de inicio de BitLocker y usarla para autenticar junto con su PIN / contraseña: esta es otra capa de seguridad en la cual, incluso si su PIN / contraseña es forzada a la fuerza bruta, la clave de inicio de Bitlocker sigue siendo segura (suponga que su computadora portátil y dispositivo USB no pueden ser robados por el mismo atacante)

    
respondido por el user45139 05.10.2015 - 05:40
fuente

Lea otras preguntas en las etiquetas