OAuth y OpenID vulnerables a “Timing Attack”


oauth_and_openid_vulnerable[1]

Los sistemas de autenticación utilizadas por grandes sitios web tales como Twitter entre muchos, podrían estar expuestas a una vulnerabilidad descubierta poniéndolos en riesgo, ya que investigadores han descubierto una falla sencilla que podría corromper un gran número de librerías de software open-source dejando a disposición de hackers los detalles y contraseñas de los usuarios.

La falla fue mencionada por ComputerWorld, que reportó que de las investigaciones de Nate Lawson y Taylor Nelson se podría usar una técnica muy conocida pero complicada denominada “timing attack” (ataque basado en precisión del tiempo) para recolectar contraseñas de sistemas que utilicen estándares tales como OAuth y OpenID.

Robert McMillan explicó cómo Lawson y Nelson podrían satisfactoriamente emplear esta técnica tan bien, que posiblemente no podría hacerse mejor.

El ataque es calificado de difícil porque requiere de medidas precisas. Se logra romper usando los tokens de autenticación al medir el tiempo que toma para una computadora el verificar una firma digital. En algunos sistemas, el servidor verificará la firma encriptada en un token enviado por el usuario para corroborar que se ha loggeado en el sistema. Éste devolverá un mensaje de error tan pronto dé con un carácter malo. Esto significa que una computadora devuelve un error para un token completamente erróneo, un poquito más rápido que otro que contenga el primer carácter correcto.

Al enviar firmas una y otra vez, probando los distintos caracteres y midiendo el tiempo que toma responder a la computadora, los hackers pueden finalmente dar con la firma correcta.

El ataque permite a cualquiera enmascararse como usuario legítimo del sitio sin la necesidad de realizar el login.

Se asumió que debido a que internet haría casi imposible obtener datos precisos, un ataque de este tipo no sería exitoso debido a que el tráfico en la red ocasionaría demoras en tiempos de respuesta de tal manera que siempre fluctuaría. Lawson y Nelson demostraron que esas teorías estaban equivocadas para ello probaron ataques utilizando internet, redes locales e inclusive entornos de cloud computing logrando romper contraseñas en cada uno de esos medios, mediante un filtro que evite mezclar esos ruidos y fluctuaciones de velocidad.

Entonces, ¿qué significa esto para nosotros? Felizmente no es necesario alarmarse tanto.

Lawson y Nelson se han contactado con los desarrolladores involucrados y han sugerido una simple corrección al problema. Para reducir la probabilidad de este ataque, sugieren que los sistemas de autenticación deban retornar una respuesta de contraseña en un cierto tiempo especificado, lo que significa que el ataque basado en tiempo no pueda aprovecharse en un tiempo de respuesta más largo.

La corrección podría ser implementada en solamente 6 líneas de código, de acuerdo a los investigadores.

 

via TheNextWeb