Un ataque de reproducción (también conocido como ataque de reproducción ) es una forma de ataque de red en el que la transmisión de datos válidos se repite o se retrasa de forma maliciosa o fraudulenta. Esto lo lleva a cabo el originador o un adversario que intercepta los datos y los retransmite, posiblemente como parte de un ataque de suplantación de identidad mediante sustitución de paquetes IP . Esta es una de las versiones de nivel inferior de un ataque de intermediario . Los ataques de repetición suelen ser de naturaleza pasiva.
Otra forma de describir un ataque de este tipo es: "un ataque a un protocolo de seguridad que utiliza una repetición de mensajes de un contexto diferente en el contexto previsto (o original y esperado), engañando así a los participantes honestos para que piensen que han completado con éxito el protocolo se ejecuta ". [1]
Cómo funciona un ataque de repetición
Suponga que Alice quiere demostrarle su identidad a Bob. Bob solicita su contraseña como prueba de identidad, que Alice debidamente proporciona (posiblemente después de alguna transformación como hash (o incluso salada ) de la contraseña); mientras tanto, Eve escucha a escondidas la conversación y mantiene la contraseña (o el hash). Una vez finalizado el intercambio, Eve (actuando como Alice) se conecta con Bob; cuando se le pide una prueba de identidad, Eve envía la contraseña de Alice (o hash) leída de la última sesión que Bob acepta, lo que le otorga acceso a Eve. [1]
Prevención y contramedidas
Contramedida general para todos los ataques de repetición
Los ataques de repetición se pueden prevenir etiquetando cada componente cifrado con un ID de sesión y un número de componente. [1] Esta combinación de soluciones no utiliza nada que sea interdependiente entre sí. Debido al hecho de que no hay interdependencia, hay menos vulnerabilidades. Esto funciona porque se crea un ID de sesión aleatorio único para cada ejecución del programa; por lo tanto, una ejecución anterior se vuelve más difícil de replicar. En este caso, un atacante no podría realizar la repetición porque en una nueva ejecución el ID de sesión habría cambiado. [1]
Más sobre identificadores de sesión
Los ID de sesión, también conocidos como tokens de sesión, son un mecanismo que se puede utilizar para ayudar a evitar ataques de repetición. La forma de generar un ID de sesión funciona de la siguiente manera.
- Bob envía un token único a Alice, que Alice usa para transformar la contraseña y enviar el resultado a Bob. Por ejemplo, usaría el token para calcular una función hash del token de sesión y agregarla a la contraseña que se usará.
- Por su parte, Bob realiza el mismo cálculo con el token de sesión.
- Si y solo si los valores de Alice y Bob coinciden, el inicio de sesión es exitoso.
- Ahora suponga que Eve, un atacante, ha capturado este valor e intenta usarlo en otra sesión. Bob enviaría un token de sesión diferente, y cuando Eve responda con su valor capturado, será diferente del cálculo de Bob, por lo que sabrá que no es Alice.
Los tokens de sesión deben elegirse mediante un proceso aleatorio (por lo general, se utilizan procesos pseudoaleatorios ). De lo contrario, Eve podría hacerse pasar por Bob, presentar alguna ficha de futuro predicha y convencer a Alice de que use esa ficha en su transformación. Eve puede luego reproducir su respuesta en un momento posterior (cuando Bob presente realmente el token predicho anteriormente), y Bob aceptará la autenticación .
Contraseñas de un solo uso
Las contraseñas de un solo uso son similares a los tokens de sesión en que la contraseña caduca después de que se ha utilizado o después de un período de tiempo muy corto. Se pueden utilizar para autenticar transacciones individuales además de sesiones. Estos también se pueden utilizar durante el proceso de autenticación para ayudar a establecer la confianza entre las dos partes que se comunican entre sí.
Nonces y MAC
Bob también puede enviar nonces, pero luego debe incluir un código de autenticación de mensaje (MAC), que Alice debe verificar.
Marcas de tiempo
La marca de tiempo es otra forma de prevenir un ataque de repetición. [2] La sincronización debe lograrse mediante un protocolo seguro. Por ejemplo, Bob transmite periódicamente la hora en su reloj junto con un MAC. Cuando Alice quiere enviarle un mensaje a Bob, incluye su mejor estimación de la hora de su reloj en su mensaje, que también está autenticado. Bob solo acepta mensajes para los que la marca de tiempo se encuentra dentro de una tolerancia razonable. Las marcas de tiempo también se implementan durante la autenticación mutua , cuando tanto Bob como Alice se autentican entre sí con ID de sesión únicos, para evitar los ataques de repetición. [3] Las ventajas de este esquema son que Bob no necesita generar números (pseudo) aleatorios y que Alice no necesita pedirle a Bob un número aleatorio. En redes que son unidireccionales o casi unidireccionales, puede ser una ventaja. La compensación es que los ataques de repetición, si se realizan con la suficiente rapidez, es decir, dentro de ese límite "razonable", podrían tener éxito.
Contramedidas en escenarios específicos
Prevención del protocolo Kerberos
El protocolo de autenticación Kerberos incluye algunas contramedidas. En el caso clásico de un ataque de repetición, un adversario captura un mensaje y luego lo reproduce en una fecha posterior para producir un efecto. Por ejemplo, si un esquema bancario fuera vulnerable a este ataque, un mensaje que resulte en la transferencia de fondos podría repetirse una y otra vez para transferir más fondos de los que se pretendía originalmente. Sin embargo, el protocolo Kerberos, implementado en Microsoft Windows Active Directory, incluye el uso de un esquema que involucra marcas de tiempo para limitar severamente la efectividad de los ataques de reproducción. Los mensajes que superan el "tiempo de vida (TTL)" se consideran antiguos y se descartan. [4]
Se han propuesto mejoras, incluido el uso de un esquema de triple contraseña. Estas tres contraseñas se utilizan con el servidor de autenticación, el servidor de concesión de tickets y TGS. Estos servidores utilizan las contraseñas para cifrar mensajes con claves secretas entre los diferentes servidores. El cifrado proporcionado por estas tres claves ayuda a prevenir ataques de reproducción. [5]
Enrutamiento seguro en redes ad hoc
Las redes inalámbricas ad hoc también son susceptibles a ataques de repetición. En este caso, el sistema de autenticación puede mejorarse y fortalecerse ampliando el protocolo AODV . Este método para mejorar la seguridad de las redes Ad Hoc aumenta la seguridad de la red con una pequeña cantidad de gastos generales. [6] Si hubiera una sobrecarga extensa , la red correría el riesgo de volverse más lenta y su rendimiento disminuiría. Al mantener una sobrecarga relativamente baja, la red puede mantener un mejor rendimiento y al mismo tiempo mejorar la seguridad.
Protocolo de autenticación por desafío mutuo
La autenticación y el inicio de sesión por parte de los clientes que utilizan el Protocolo punto a punto (PPP) son susceptibles de reproducir ataques cuando se utiliza el Protocolo de autenticación de contraseña (PAP) para validar su identidad, ya que el cliente de autenticación envía su nombre de usuario y contraseña en " texto normal ". y el servidor de autenticación envía entonces su acuse de recibo en respuesta a esto; Por lo tanto, un cliente que intercepta es libre de leer los datos transmitidos y suplantar a cada uno de los clientes y servidores al otro, además de poder almacenar las credenciales del cliente para su posterior suplantación en el servidor. El Protocolo de autenticación por desafío mutuo (CHAP) protege contra este tipo de ataque de repetición durante la fase de autenticación mediante el uso de un mensaje de "desafío" del autenticador en el que el cliente responde con un valor calculado por hash basado en un secreto compartido (por ejemplo, la contraseña del cliente ), que el autenticador compara con su propio cálculo del desafío y el secreto compartido para autenticar al cliente. Al confiar en un secreto compartido que no se ha transmitido en sí mismo, así como en otras características como la repetición de desafíos controlada por el autenticador y el cambio de identificadores y valores de desafío, CHAP proporciona una protección limitada contra los ataques de repetición. [7]
Ejemplos del mundo real de susceptibilidad a ataques de repetición
Hay varios ejemplos del mundo real de cómo se han utilizado los ataques de reproducción y cómo se detectaron y solucionaron los problemas para evitar más ataques.
Sistema de entrada remota sin llave para vehículos
Muchos vehículos en la carretera utilizan un sistema remoto sin llave , o llavero, para comodidad del usuario. Los sistemas modernos están reforzados contra los ataques de repetición simples, pero son vulnerables a los ataques de repetición almacenados en búfer. Este ataque se realiza colocando un dispositivo que puede recibir y transmitir ondas de radio dentro del alcance del vehículo objetivo. El transmisor intentará bloquear cualquier señal de desbloqueo de vehículo de RF mientras la recibe y la coloca en un búfer para su uso posterior. Tras nuevos intentos de desbloquear el vehículo, el transmisor bloqueará la nueva señal, la almacenará en búfer y reproducirá una antigua, creando un búfer rodante que está un paso por delante del vehículo. Más adelante, el atacante puede usar este código almacenado en búfer para desbloquear el vehículo. [8] [9]
Verificación del hablante dependiente del texto
Varios dispositivos utilizan el reconocimiento de hablante para verificar la identidad de un hablante. En los sistemas que dependen del texto, un atacante puede grabar el discurso del individuo objetivo que fue verificado correctamente por el sistema, luego reproducir la grabación nuevamente para ser verificada por el sistema. Se ideó una contramedida utilizando mapas de bits espectrales del habla almacenada de usuarios verificados. El discurso reproducido tiene un patrón diferente en este escenario y luego será rechazado por el sistema. [10]
Ver también
- Ataque de denegación de servicio
- Autenticación de acceso implícito
- Ataque de intermediario
- Ataque previo al juego
- Ataque de relevo
- Reproducción de sesión
- Escuchas telefónicas
Referencias
- ^ a b c d Malladi, Sreekanth. "Sobre la prevención de ataques de repetición en protocolos de seguridad" (PDF) . oai.dtic.mil .
- ^ Ferrara, Pietro; Mandal, Amit Kr; Cortesi, Agostino; Spoto, Fausto (24 de noviembre de 2020). "Análisis estático para descubrir vulnerabilidades de IoT" . Revista internacional de herramientas de software para la transferencia de tecnología . 23 (1): 71–88. doi : 10.1007 / s10009-020-00592-x . ISSN 1433-2779 .
- ^ Dewanta, Favian y Masahiro Mambo. 2019. "Un esquema de autenticación mutua para la transferencia segura del servicio de computación de niebla en un entorno de red vehicular". IEEE Access 7: 103095–114.
- ^ Olsen, Geir (1 de febrero de 2012). "Autenticación Kerberos 101: comprensión de los fundamentos del protocolo de seguridad Kerberos" . Revista Redmond . Consultado el 13 de junio de 2017 .
- ^ Dua, Gagan (2013). "Reproducción de prevención de ataques en el protocolo de autenticación Kerberos mediante contraseña triple". Revista internacional de redes informáticas y comunicaciones . 5 (2): 59–70. arXiv : 1304,3550 . doi : 10.5121 / ijcnc.2013.5205 . S2CID 9715110 .
- ^ Zhen, Jane (2003). "Prevención de ataques de repetición para enrutamiento seguro en redes Ad Hoc". Redes Ad-Hoc, móviles e inalámbricas . Apuntes de conferencias en informática. 2865 . págs. 140-150. doi : 10.1007 / 978-3-540-39611-6_13 . ISBN 978-3-540-20260-8.
- ^ Simpson, William Allen. "RFC 1994 - Protocolo de autenticación por desafío mutuo de PPP (CHAP)" . tools.ietf.org . Consultado el 12 de septiembre de 2018 .
- ^ Beek, S. van de; Leferink, F. (1 de agosto de 2016). "Vulnerabilidad de los sistemas de entrada sin llave a distancia frente a interferencias electromagnéticas pulsadas y posibles mejoras". Transacciones IEEE sobre compatibilidad electromagnética . 58 (4): 1259-1265. doi : 10.1109 / TEMC.2016.2570303 . S2CID 39429975 .
- ^ Francillon, Aurelien. "Ataques a los sistemas de arranque y entrada pasiva sin llave en automóviles modernos" (PDF) . eprint.iacr.org/ . Consultado el 8 de diciembre de 2016 .
- ^ Wu, Z .; Gao, S .; Cling, ES; Li, H. (1 de diciembre de 2014). Conferencia y Cumbre Anual de la Asociación de Procesamiento de Señales e Información (APSIPA), 2014 Asia-Pacífico . págs. 1-5. doi : 10.1109 / APSIPA.2014.7041636 . ISBN 978-6-1636-1823-8. S2CID 10057260 .