¿Los ataques de tiempo de comparación de cadenas son prácticos en las redes públicas?

3

Los relacionados are-there- cualquier tipo de prueba de concepto de cadena de comparación de ataques de tiempo

Estaba pensando en hacer algo de cifrado y hash en PHP y encontré esta nota

  

Por favor tenga cuidado al comparar hashes. En ciertos casos, la información se puede filtrar mediante un ataque de tiempo. Aprovecha la comparación del operador == hasta que encuentra una diferencia en las dos cadenas.

Me parece que, en la mayoría de los casos, la diferencia en la comparación de dos cadenas solo será unos pocos ciclos de reloj. Dada la sobrecarga en HTTP, PHP y los cambios en la latencia de la red, habrá una gran variación en el tiempo necesario para procesar una solicitud. No veo que se use tal ataque en la Internet pública.

¿Se ha demostrado tal ataque en una situación del mundo real?

No estoy diciendo que no debas protegerte contra esto por si acaso, solo me pregunto qué tan grande es el riesgo en realidad.

    
pregunta Jeremy French 11.05.2015 - 10:28
fuente

2 respuestas

4

Con suficientes solicitudes, es posible realizar un análisis estadístico de los resultados. Consulta la publicación del blog de ircmaxell :

  

Se ha demostrado que puede detectar de forma remota las diferencias en el tiempo hasta aproximadamente 15 nanosegundos utilizando un tamaño de muestra de aproximadamente 49,000

El análisis de una gran cantidad de solicitudes solucionará cualquier problema de latencia de la red o de la aplicación.

    
respondido por el SilverlightFox 12.05.2015 - 10:15
fuente
1

El problema es que la sobrecarga generalmente promedia. Entonces, si marca una cadena un millón de veces y otra cadena otro millón de veces, aún podrá detectar diferencias en la comparación. Cuanto mayor sea la cantidad de intentos posibles, mayor será la posibilidad de que se puedan detectar incluso cambios mínimos. A veces tiene sentido limitar la cantidad de intentos, por ejemplo, introduciendo un retardo de tiempo, si una latencia mayor no es un problema.

    
respondido por el Maarten Bodewes 12.05.2015 - 10:35
fuente

Lea otras preguntas en las etiquetas