¿Puede la autenticación X.509 estar sujeta a ataques de fuerza bruta?

0

Estoy trabajando en una aplicación (utilizando Spring Security) que tiene dos posibles mecanismos de autenticación de usuarios:

  • o bien el certificado X.509 (utilizando SSL mutuo apretón de manos)
  • o usuario + contraseña

Para usuario + contraseña, agregué un mecanismo de prevención de fuerza bruta basado en el bloqueo de IP ( tutorial de POC simple ), cuando hay muchos intentos de inicio de sesión de usuario + contraseña fallidos consecutivos desde la misma dirección IP (la aplicación es interna, por lo que no debe exponerse a los proxies ISP que ocultan usuarios).

¿Pero es posible realizar (de alguna manera) ataques de fuerza bruta con certificados X.509?

EDITAR: estoy comprobando si los certificados son emitidos por una CA aprobada (utilizando un almacén de confianza JKS).

    
pregunta Andrei Epure 01.06.2017 - 16:52
fuente

3 respuestas

2

El X509 simplemente autentica la identidad que el usuario dice ser, así que en teoría sí. Pero un atacante no va a hacer fuerza bruta adivinando las claves correctas para un certificado X509 porque hay muchas claves posibles.

    
respondido por el ISMSDEV 01.06.2017 - 17:03
fuente
2

Los certificados incorporan una clave pública asimétrica para algún esquema criptográfico (por ejemplo, RSA).

Si tuviera que intentar forzar la autenticación de certificados de fuerza bruta, tendría que poner su mano en el certificado público (fácil), luego derivar la clave privada de la clave pública.

De hecho, esto resolvería el problema de romper el esquema criptográfico subyacente, para el cual actualmente no tenemos un método eficiente para hacerlo. La fuerza bruta no es un ataque realista en este caso.

El ataque realista en el certificado del cliente sería adquirir la clave privada de la computadora cliente y adquirir la contraseña que la protege (si hay una). Esto se puede hacer por medios convencionales, como el uso de troyanos, técnicas de ingeniería social, etc. El método de contraseña ya es vulnerable al mismo ataque de todos modos.

    
respondido por el M'vy 01.06.2017 - 17:07
fuente
1

Dado que ha expresado que el certificado por sí solo es un identificador suficiente, asumiré que está preguntando "dado que alguien ha visto pasar un certificado por el cable, ¿pueden forzar la entrada bruta como ese usuario?" ¿luego?". (Vs "¿alguien puede tener la cuenta de X al usar todos los certificados extraídos de algunas computadoras?", Que es un "sí" fácil)

La respuesta es: por supuesto. Pero cualquiera que intente hacerlo es tonto.

Dado un certificado, lo que intenta hacer Brute Forcer es determinar la clave privada que va con la clave pública incrustada en el certificado. Hacer un ataque de fuerza bruta TLS sería equivalente a "intentar 000000 ... 00000, 0000 ... 000001, 000000 ... 000002", que se reduce a la falsificación de firmas. Pero, dado que el atacante solo podría computar las operaciones de signo + verificación, pueden realizar un ataque fuera de línea; por lo tanto, para cuando hablen con su servicio, ya deberían haber determinado que tienen la respuesta correcta (ya que solo van a ejecutar la misma fórmula que usted, modulo, independientemente de los derechos de acceso que verifique en función de las propiedades del certificado). / p>

También podrían comenzar a interrumpir los certificados autofirmados (o certificados firmados por terceros) en su servicio para ver si ha realizado un modelo de autenticación demasiado simplista (como leer un valor fuera del tema sin hacer el anclaje de CA) ); pero eso no es realmente "fuerza bruta" tanto como "romper tu modelo de autenticación".

    
respondido por el bartonjs 01.06.2017 - 17:18
fuente

Lea otras preguntas en las etiquetas