¿Cuál es la forma más simple y efectiva de prevenir los ataques de tiempo para los programadores que usan PHP?
Soy un estudiante de secundaria, soy nuevo en programación y he estado aprendiendo Seguridad desde hace unas semanas. Conozco los ataques de Inyección SQL basados en el Tiempo y los Ciegos, y sé cómo se realizan y cómo podemos prevenirlos. Pero, en esta página de documentos PHP explica que la comparación de contraseñas también es vulnerable a ataques de tiempo (cuando se usa '==' operador).
Consideré que cualquier cosa escrita en el backend del servidor con PHP está a salvo de Client Side Perspective pero aquí es el caso totalmente diferente. Los hackers pueden aprovechar los métodos indirectos y adivinar el backend e intentar explotarlo. Dado que no hay muchos tutoriales, cosas, información para leer acerca de cómo se pueden realizar ataques de tiempo contra el script PHP que realiza la comparación de 2 cadenas, quiero saber las cosas que se deben tener en cuenta para evitar este tipo de ataques.
Quiero que contestes estas preguntas.
- Si comparo los hashes con md5, ¿será aplicable? (perspectiva practica).
- Si es Sí, entonces ¿Hay otras cosas que podrían ser vulnerables aparte de la comparación de cadenas? (ejemplos por favor)
- ¿Qué es lo mejor que puedo hacer para evitarlo?
- ¿Son estos ataques comunes / sensibles?
- Un breve tutorial / script para demostrar cómo funcionan los ataques de sincronización.
Esta pregunta no pregunta qué son los ataques de tiempo, sino cómo se realizan y cómo se pueden prevenir. (solo para servidores en PHP)
gracias :)