stringtranslate.com

Ataque de repetición

Un ataque de repetición (también conocido como ataque de repetición o ataque de reproducción ) es una forma de ataque de red [1] en el que la transmisión de datos válidos se repite o retrasa de forma maliciosa o fraudulenta. [1] 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 por 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 el original y esperado), engañando así a los participantes honestos para que piensen que han completado con éxito la ejecución del protocolo". [2]

Ejemplo

Ilustración de un ataque de repetición. Alice (A) envía su contraseña cifrada a Bob (B). Eve (E) detecta el hash y lo reproduce.

Supongamos que Alice quiere demostrar su identidad a Bob. Bob le pide su contraseña como prueba de identidad, que Alice le proporciona diligentemente (posiblemente después de alguna transformación como la conversión en hash o incluso la conversión en sal de la contraseña); mientras tanto, Eve está escuchando a escondidas la conversación y conserva la contraseña (o el hash). Una vez finalizado el intercambio, Eve (que actúa como Alice) se conecta con Bob; cuando se le pide una prueba de identidad, Eve envía la contraseña (o el hash) de Alice leída de la última sesión, que Bob acepta, concediendo así a Eve el acceso. [2]

Prevención y contramedidas

Los ataques de repetición se pueden prevenir etiquetando cada componente cifrado con un identificador de sesión y un número de componente. [2] Esta combinación de soluciones no utiliza nada que sea interdependiente entre sí. Debido a que no hay interdependencia, hay menos vulnerabilidades. Esto funciona porque se crea un identificador de sesión único y aleatorio 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 identificador de sesión habría cambiado. [2]

Los identificadores 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 identificador de sesión funciona de la siguiente manera.

  1. Bob envía un token de un solo uso a Alice, que Alice utiliza para transformar la contraseña y enviar el resultado a Bob. Por ejemplo, ella utilizaría el token para calcular una función hash del token de sesión y anexarlo a la contraseña que se utilizará.
  2. Por su parte, Bob realiza el mismo cálculo con el token de sesión.
  3. Si y solo si los valores de Alice y Bob coinciden, el inicio de sesión es exitoso.
  4. Ahora supongamos que un atacante, Eve, 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 el 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 (normalmente se utilizan procesos pseudoaleatorios ). De lo contrario, Eve podría hacerse pasar por Bob, presentando algún token futuro previsto y convencer a Alice de que utilice ese token en su transformación. Eve puede entonces reproducir su respuesta en un momento posterior (cuando Bob presente realmente el token previsto anteriormente) y Bob aceptará la autenticación .

Las contraseñas de un solo uso son similares a los tokens de sesión en el sentido de que la contraseña caduca después de su uso o después de un período de tiempo muy breve. Se pueden utilizar para autenticar transacciones individuales además de sesiones. 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í.

Bob también puede enviar nonces , pero debe incluir un código de autenticación de mensaje (MAC), que Alice debe verificar.

El sellado de tiempo es otra forma de prevenir un ataque de repetición. [3] La sincronización debe lograrse utilizando un protocolo seguro. Por ejemplo, Bob transmite periódicamente la hora en su reloj junto con una MAC. Cuando Alice quiere enviarle un mensaje a Bob, incluye su mejor estimación de la hora en su reloj en su mensaje, que también está autenticado. Bob solo acepta mensajes para los cuales la marca de tiempo está dentro de una tolerancia razonable. Las marcas de tiempo también se implementan durante la autenticación mutua , cuando Bob y Alice se autentican entre sí con identificadores de sesión únicos, para evitar los ataques de repetición. [4] 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 desventaja es que los ataques de repetición, si se realizan lo suficientemente rápido, es decir, dentro de ese límite "razonable", podrían tener éxito.

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 sistema bancario fuera vulnerable a este ataque, un mensaje que dé como resultado la transferencia de fondos podría reproducirse una y otra vez para transferir más fondos de los previstos originalmente. Sin embargo, el protocolo Kerberos, tal como se implementa en Microsoft Windows Active Directory, incluye el uso de un sistema que implica marcas de tiempo para limitar severamente la efectividad de los ataques de repetición. Los mensajes que han superado el "tiempo de vida (TTL)" se consideran antiguos y se descartan. [5]

Se han propuesto mejoras, incluido el uso de un esquema de contraseña triple. Estas tres contraseñas se utilizan con el servidor de autenticación, el servidor de concesión de tickets y el TGS. Estos servidores utilizan las contraseñas para cifrar mensajes con claves secretas entre los diferentes servidores. El cifrado que proporcionan estas tres claves ayuda a prevenir ataques de repetición. [6]

Enrutamiento seguro en redes ad hoc

Las redes ad hoc inalámbricas también son susceptibles a ataques de repetición. En este caso, el sistema de autenticación se puede mejorar y fortalecer ampliando el protocolo AODV . Este método de mejora de la seguridad de las redes ad hoc aumenta la seguridad de la red con una pequeña cantidad de sobrecarga. [7] Si hubiera una sobrecarga importante , 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 de los clientes que utilizan el protocolo punto a punto (PPP) son susceptibles de ataques de repetición cuando se utiliza el protocolo de autenticación de contraseña (PAP) para validar su identidad, ya que el cliente que realiza la autenticación envía su nombre de usuario y contraseña en " texto normal ", y el servidor que realiza la autenticación envía su acuse de recibo en respuesta a esto; por lo tanto, un cliente que intercepta es libre de leer los datos transmitidos y suplantar tanto al cliente como al servidor ante el otro, así como de poder almacenar las credenciales del cliente para suplantarlas posteriormente ante el servidor. El protocolo de autenticación de desafío-apretón de manos (CHAP) protege contra este tipo de ataque de repetición durante la fase de autenticación utilizando en su lugar un mensaje de "desafío" del autenticador al que el cliente responde con un valor calculado mediante 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 depender de un secreto compartido que no ha sido transmitido, así como de otras características como la repetición de desafíos controlada por el autenticador y el cambio de valores de identificador y desafío, CHAP proporciona una protección limitada contra ataques de repetición. [8]

Ejemplos del mundo real de susceptibilidad a ataques de repetición

Hay varios ejemplos reales de cómo se han utilizado ataques de repetición y cómo se detectaron y solucionaron los problemas para evitar futuros 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 la comodidad del usuario. Los sistemas modernos están reforzados contra ataques de repetición simples, pero son vulnerables a ataques de repetición con 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 del vehículo por radiofrecuencia mientras la recibe y la coloca en un búfer para su uso posterior. En los próximos intentos de desbloquear el vehículo, el transmisor bloqueará la nueva señal, la almacenará en un búfer y reproducirá una antigua, creando un búfer continuo que está un paso por delante del vehículo. En un momento posterior, el atacante puede usar este código almacenado en búfer para desbloquear el vehículo. [9] [10]

Verificación del hablante en función del texto

Varios dispositivos utilizan el reconocimiento de habla para verificar la identidad de un hablante. En sistemas que dependen del texto, un atacante puede grabar el habla del individuo objetivo que fue verificada correctamente por el sistema y luego reproducir la grabación nuevamente para que el sistema la verifique. Se ideó una contramedida utilizando mapas de bits espectrales del habla almacenada de usuarios verificados. El habla reproducida tiene un patrón diferente en este escenario y luego será rechazada por el sistema. [11]

Ataques de repetición en dispositivos IoT

En el ámbito de los entornos domésticos inteligentes, los dispositivos de Internet de las cosas (IoT) son cada vez más vulnerables a los ataques de repetición, en los que un adversario intercepta y reproduce señales de comunicación legítimas entre un dispositivo de IoT y su aplicación complementaria. Estos ataques pueden comprometer una amplia gama de dispositivos, incluidos enchufes inteligentes, cámaras de seguridad e incluso electrodomésticos. Un estudio reciente [12] demostró que una parte sustancial de los dispositivos IoT de consumo son propensos a ataques de repetición. Los investigadores descubrieron que el 75% de los dispositivos probados que admiten conectividad local eran vulnerables a tales ataques. Estas vulnerabilidades permiten a los atacantes imitar comandos legítimos, lo que potencialmente permite acciones no autorizadas, como encender una tetera inteligente, desbloquear puertas o manipular sistemas de seguridad. Estas infracciones plantean importantes riesgos de seguridad y privacidad, ya que los actores maliciosos pueden obtener el control de sistemas domésticos críticos. Los ataques de repetición explotan la falta de medidas de seguridad sólidas en muchos dispositivos IoT. Estos ataques generalmente implican espiar el tráfico de la red, capturar paquetes de comunicación legítimos y luego reproducirlos en el dispositivo de destino. Este método es particularmente eficaz contra dispositivos que no emplean protocolos de cifrado o autenticación sofisticados.

En la cultura popular

En el cuento popular Alí Babá y los cuarenta ladrones , el capitán de los ladrones utilizó la frase de contraseña «Ábrete, Sésamo» para abrir la puerta del depósito de su botín. Alí Babá escuchó esto y luego reutilizó la frase de contraseña para acceder y recoger la mayor cantidad de botín que pudiera llevar. [13]

Véase también

Referencias

  1. ^ ab El Abbadi, Reda; Jamouli, Hicham (25 de enero de 2021). Moreno-Valenzuela, Javier (ed.). "Control difuso Takagi-Sugeno para un sistema en red no lineal expuesto a un ataque de repetición". Problemas matemáticos en ingeniería . 2021 : 1–13. doi : 10.1155/2021/6618105 . ISSN  1563-5147.
  2. ^ abcd Malladi, Sreekanth. "Sobre la prevención de ataques de repetición en los protocolos de seguridad" (PDF) . oai.dtic.mil . Archivado (PDF) del original el 20 de enero de 2022.
  3. ^ 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 sobre herramientas de software para transferencia de tecnología . 23 (1): 71–88. doi : 10.1007/s10009-020-00592-x . hdl : 10278/3734701 . ISSN  1433-2779.
  4. ^ Dewanta, Favian y Masahiro Mambo. 2019. “Un esquema de autenticación mutua para la transferencia segura de servicios de computación en la niebla en un entorno de red vehicular”. IEEE Access 7:103095–114.
  5. ^ Olsen, Geir (1 de febrero de 2012). "Autenticación Kerberos 101: comprensión de los aspectos esenciales del protocolo de seguridad Kerberos". Redmond Magazine . Consultado el 13 de junio de 2017 .
  6. ^ Dua, Gagan (2013). "Prevención de ataques de repetición en el protocolo de autenticación Kerberos utilizando triple contraseña". Revista internacional de redes informáticas y comunicaciones . 5 (2): 59–70. arXiv : 1304.3550 . doi :10.5121/ijcnc.2013.5205. S2CID  9715110.
  7. ^ 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 clase en informática. Vol. 2865. págs. 140-150. doi :10.1007/978-3-540-39611-6_13. ISBN 978-3-540-20260-8.
  8. ^ Simpson, William Allen (1996). «RFC 1994 – Protocolo de autenticación por desafío mutuo (CHAP) PPP». tools.ietf.org . doi :10.17487/RFC1994 . Consultado el 12 de septiembre de 2018 .
  9. ^ Beek, S. van de; Leferink, F. (1 de agosto de 2016). "Vulnerabilidad de los sistemas de entrada remota sin llave frente a interferencias electromagnéticas pulsadas y posibles mejoras". IEEE Transactions on Electromagnetic Compatibility . 58 (4): 1259–1265. doi :10.1109/TEMC.2016.2570303. S2CID  39429975.
  10. ^ Francillon, Aurelien. "Ataques a los sistemas pasivos de entrada y arranque sin llave en los coches modernos" (PDF) . eprint.iacr.org/ . Consultado el 8 de diciembre de 2016 .
  11. ^ Wu, Z.; Gao, S.; Cling, ES; Li, H. (1 de diciembre de 2014). Asociación de Procesamiento de Señales e Información Cumbre y Conferencia Anual (APSIPA), 2014 Asia-Pacífico . págs. 1–5. doi :10.1109/APSIPA.2014.7041636. ISBN 978-6-1636-1823-8.S2CID10057260  .​
  12. ^ Lazzaro, Sara; De Angelis, Vincenzo; Mandalari, Anna Maria; Buccafurri, Francesco (2024). "¿Es su tetera más inteligente que un hacker? Una herramienta escalable para evaluar las vulnerabilidades de ataques de repetición en dispositivos IoT de consumo". Conferencia internacional IEEE 2024 sobre computación generalizada y comunicaciones (PerCom) . págs. 114–124. arXiv : 2401.12184 . doi :10.1109/PerCom59722.2024.10494466.{{cite conference}}: CS1 maint: varios nombres: lista de autores ( enlace )
  13. ^ Alí Babá y los cuarenta ladrones (texto electrónico en Bartleby.com)