¿Hay autenticación multifactor para las máquinas?

11

La mayoría de lo que he visto en la autenticación mutiifactor (por ejemplo, wikipedia o here on se) parece centrado en el ser humano. Es decir, es un ser humano que interactúa con una máquina y los factores están asociados con la autenticación de la identidad del ser humano en la máquina. Los factores están relacionados con una persona:

  • algo que sabes (pin, contraseñas, etc.)
  • algo que tienes (tokens, teléfono celular, etc.)
  • algo que eres (reconocimiento de voz, huellas dactilares, etc.
  • en el lugar donde te encuentras (ubicación: estás donde deberías estar, o estás en un lugar 'fuera de lugar' o 'menos confiable')

Si todos estos, "usted" es una persona. La autenticación de un solo factor es generalmente 'algo que sabes' y se considera menos segura hoy en día debido a la prevalencia de registradores de teclas, malware, ataques de diccionario, así como todas las vulnerabilidades contra el servidor que posee la contraseña. Así que la comunidad de seguridad ha creado estos otros factores para reducir el riesgo.

¿Existen múltiples factores para la comunicación máquina a máquina? La mayoría de nuestras máquinas se comunican a través de ssh y son 'factor único' (algo que la máquina "sabe"). Debido a que es una máquina, se usan teclas 'fuertes' (es decir, largas). Debido a su longitud, son menos propensos a los ataques de diccionario. Sin embargo, sigue siendo un 'factor único': una vez que conoce la contraseña, el sistema puede verse comprometido.

Iptables y las reglas de firewall podrían considerarse un segundo factor similar a 'en cualquier lugar donde estés'. Las restricciones apropiadas podrían ayudar a limitar la superficie de ataque.

@ tom-leek señala la diferencia entre "la amenaza para una persona es la suplantación" y "la amenaza para una máquina es la subversión". Una vez que se subvierte una computadora, "lo que una computadora puede hacer, puede hacer". Estoy interesado en ondular más allá de esa computadora subvertida original. Incluso si destruyo la computadora subvertida (lo suficientemente fácil de hacer en una aplicación en la nube), el atacante aún conoce las claves ssh y puede usarlas desde otras máquinas (es decir, es una amenaza de suplantación de identidad). Creo que la forma estándar de mitigar esto sería repudiar esa clave pública ssh. Esto se agita en muchas otras máquinas y me preguntaba si había otros factores para ayudar con la amenaza de "suplantación".

¿Qué otros 'factores' hay en la autenticación de máquina a máquina?

    
pregunta Duncan 14.03.2013 - 21:52
fuente

6 respuestas

11

Al autenticar personas , el peligro principal es suplantación : alguien más se hace pasar por el usuario esperado. Dado que los humanos son biológicos y no digitales, debe haber algún vínculo entre los dos mundos: algo que vincule el concepto de identidad física con secuencias de bits en las que las computadoras pueden alimentarse.

Utilizamos la autenticación multifactor porque cada factor que podríamos imaginar es un poco débil. Las contraseñas se pueden adivinar (no pueden ser indiscutibles porque de lo contrario los usuarios no las recordarían) o se podrían agarrar (grabando con una cámara de video de ritmo rápido la escritura real del teclado, con un simple telescopio, esto se puede hacer desde varias millas de distancia !). La biometría requiere control visual (es decir, un guardia armado que verifica que lo que pasa en el lector de huellas dactilares es, de hecho, un dedo humano aún unido al resto del humano). Los dispositivos de hardware pueden ser robados ( especialmente los teléfonos inteligentes, el tipo de objeto más robado). Al acumular varios factores juntos, esperamos hacer frente a esa situación desagradable.

Con computadoras , la situación es completamente diferente. Cualquier computadora puede contener un token de autenticación extremadamente robusto, por ejemplo, una gran y gorda clave asimétrica . El principal peligro para las computadoras es subversión . De hecho, lo que puede hacer una computadora, puede hacerlo. Lo que significa que si se piratea un servidor dado, entonces todos los "factores de autenticación" que el servidor podría usar ahora son igualmente accesibles para el atacante. Por lo tanto, los escenarios que implican una falla de un factor de autenticación controlado por computadora, es decir, los escenarios en los que los factores de autenticación suplementarios se considerarían útiles, son precisamente el tipo de escenario en el que los factores de autenticación adicionales no agregan ningún beneficio.

Usted podría imaginar una configuración mixta de humano / máquina: la computadora contiene una clave privada, utilizada para autenticarse con otras computadoras, pero la clave se almacena encriptada con una contraseña que la computadora no conoce; debe escribirse en el momento del arranque (o posiblemente a intervalos regulares). Esto aportaría algo de seguridad adicional, al menos en algunos subcasos de subversión. Sin embargo, los servidores que no pueden reiniciarse de manera automatizada tienden a ser impopulares con los administradores de sistemas.

    
respondido por el Tom Leek 14.03.2013 - 22:28
fuente
3

La única forma de autenticar una máquina a través de 2FA puede ser mediante el uso de un dongle físico o HSM (módulo de seguridad de hardware) que se pueda usar para cifrar / firmar un mensaje. Esto es algo que no podría ser robado por un impostor a través del acceso lógico a la máquina, como podrían ser las claves secretas almacenadas en la propia máquina. El HSM tendría que ser robado para hacerse pasar por la máquina.

    
respondido por el Tracy Reed 15.03.2013 - 01:08
fuente
2

Has golpeado las dos formas más comunes de identificar una máquina: - donde es - como se identifica a si mismo

Dónde está, y cómo determinas eso, son una función de, bueno, dónde está. En una LAN local, muchos productos eligen usar la dirección MAC de capa 2 para identificar un sistema. Esto no es malo, pero la falsificación de MAC no es realmente tan difícil. Si su red puede hacer el cumplimiento de MAC en el conmutador, esta es una medida de seguridad bastante decente, pero solo como una capa de un enfoque de múltiples capas. Otra máquina en la LAN, si está comprometida, no podría falsificar la dirección MAC porque el conmutador rechazará la MAC en un puerto en el que no está permitido. Un inconveniente aquí es la carga administrativa de configurar y mantener este entorno.

En las capas 3 y 4 de la red, podemos implementar reglas tradicionales de firewall / filtrado de paquetes. Ya mencionaste esto y, si se hace bien, el esfuerzo agrega otra capa de seguridad. El filtrado de paquetes se puede realizar en la capa de host, conmutador o enrutador / firewall de la red, o en todas las 3. El beneficio de hacer más de uno es la detección de anomalías y correlación.

Las claves de un sistema utilizado para las comunicaciones e identificación cifradas, para evitar que una máquina subvertida se suplante, deberían almacenarse de forma segura, como se mencionó anteriormente.

Estas capas juntas son los métodos más típicos utilizados, y si se hacen correctamente (de manera integral) ofrecen una gran cantidad de seguridad. Pero, todavía no cierra los bucles.

Se pueden agregar dos cosas más.

Primero, perfil del dispositivo. Como se mencionó anteriormente, muchos registros pueden ayudar con la detección de anomalías. Todos estos datos que ingresan a los registros, si están correlacionados, pueden proporcionar una notificación; pero, solo si sabes lo que el anfitrión se supone que debe hacer en primer lugar. Si el Host-A tiene el propósito de conectarse con el Host-B a través de TCP / 22, este es un patrón de tráfico regular. Si, de repente, el Host-A está intentando conectarse con el Host-B, C y D a través de un rango de puertos, probablemente sea algo para ver.

Entonces, el comportamiento se convierte en un factor de identificación. (Esto es algo así como los sistemas de identidad que intentan coincidir con la forma que ingresa su contraseña, de modo que incluso si alguien más sabe cuál es su contraseña, la forma es ingresado sería diferente. Por ejemplo, la forma en que escribo "contraseña" en el teclado sería completamente diferente a un buscador de contraseñas de fuerza bruta que envía automáticamente la cadena.)

Admisión de red / Control de acceso (NAC) es otra forma de identificar una máquina. ¿Qué procesos se están ejecutando? ¿Qué software está instalado? Un agente tendría que recopilar esa información y proporcionarla a algún otro sistema que tomaría una decisión sobre si se debería permitir en la red. Una vez más, ahora estamos perfilando la máquina. Esto nos da otra visión de si la máquina es la máquina. Tripwire, la versión realmente antigua, y la nueva, también hacen algo como esto haciendo un hash de todos los archivos. Esto puede ser muy útil porque una máquina subvertida puede convertirse en el "chico malo". Ahora el 'malo' parece legítimo, pero puede tener instalado software malintencionado o archivos reemplazados.

Entonces, asegurarse de que una máquina sea realmente esa máquina que usted cree que necesita ser más que solo dos factores. Una máquina subvertida sigue siendo el sistema que pensabas que era, pero también podría ser más. Por lo tanto, un factor importante para asegurarse de que los sistemas son lo que usted cree que son los perfiles del propio sistema y lo que está haciendo en su red, o con los otros sistemas con los que interactúa.

    
respondido por el Jagger Bee 15.03.2013 - 16:35
fuente
2

Autorizar una máquina parece una decisión booleana, pero puedes diseñar aplicaciones distribuidas para que las máquinas sean mutuamente sospechosas.

Observe que robar un secreto solo hace que sea más fácil abusar de la autoridad si puede forjar un mensaje que describe la autoridad que desea ejercer, por lo que hacer que los mensajes sean más difíciles de falsificar puede actuar como un segundo factor.

En el modelo de solo autorización, una máquina recibe un mensaje

+----------------------------------+
|Header: secret-key                |
+----------------------------------+
|Body:                             |
|debit account for Alice Smith     |
|credit account for Craig McEvil   |
+----------------------------------+

con un secreto en el encabezado, o firmado con un secreto, y la máquina receptora actúa en todos los mensajes así firmados.

En lugar de confiar en cualquier mensaje que llegue con una sola clave, lo que permite que alguien que robe la clave para falsificar mensajes, puede hacer que los mensajes sean más difíciles de falsificar identificando principios que utilizan identificadores no adjetivos (también conocidos como PRNG criptográfico), su mensaje podría verse como

+----------------------------------+
|Header: secret-key                |
+----------------------------------+
|Body:                             |
|debit account for ASVX009I...     |
|credit account for OAbB73I9...    |
+----------------------------------+

por lo tanto, solo si un atacante puede obtener un identificador opaco e indiscutible puede vaciar una cuenta, lo que reduce el riesgo de falla sistemática.

Además, si necesita robar las claves de varias máquinas para obtener un identificador de cuenta y cargar en la cuenta, ha elevado la barra a un ataque y ampliado la ventana durante la cual se podría detectar su intrusión.

    
respondido por el Mike Samuel 15.03.2013 - 21:22
fuente
1

Sí. Por ejemplo, certificados combinados con secretos compartidos. Veo que esto se usa en soluciones de copia de seguridad propietarias, por ejemplo, se requiere que el certificado incluso se comunique con el subsistema de autenticación, luego se aplica una contraseña única al inicio de sesión (y se modifica al cerrar sesión).

Incluso si la máquina está duplicada, el certificado no lo llevará lejos (a menos que esté duplicando la máquina dentro de las 24 horas posteriores al último cambio de contraseña) ... e incluso entonces, la violación se detectará en la próxima ciclo de copia de seguridad.

Uno podría argumentar que esto no es una autenticación multifactorial, sino una seguridad en capas, pero creo que la diferencia es la semántica. Si no tiene el certificado, la contraseña es inútil. Si no tiene la contraseña, el certificado es inútil. Es dos factores en mis libros.

Además de eso, por supuesto, el cortafuegos está restringiendo la IP de origen, pero creo que podría ser un tramo ya que la información no está bien protegida.

    
respondido por el mgjk 15.03.2013 - 14:16
fuente
1

Las funciones físicas que no se pueden clonar proporcionan un fuerte factor "algo que eres" para las máquinas. Estas funciones pueden ser que se encuentran en su PC , pero también es posible diseñar un soporte para PUF, por ejemplo por utilizando un FPGA .

Para usar una PUF para autenticar una máquina, el verificador debe conocer un par de respuesta de desafío. Es posible usar esto para crear funciones de autenticación fuerte .

En este documento se ofrece una descripción general detallada de las PUF     

respondido por el Michael 15.03.2013 - 23:42
fuente

Lea otras preguntas en las etiquetas