Robo de tokens de OAuth2 de dispositivos IoT

3

A medida que profundizo en diferentes formas de autenticación y persistencia de sesión, comencé a cuestionar cómo se almacenan los tokens y el riesgo de que un token se vea comprometido. El escenario que tengo en mente es el siguiente:

Un usuario ha sincronizado su teléfono inteligente con una cuenta de redes sociales, y se otorgó un token OAuth2. Este token tiene un tiempo de caducidad de tres días a partir de ahora. El usuario ha dejado su teléfono desbloqueado, o usted ha podido comprometerse brevemente y obtener acceso a cualquier cosa almacenada en el dispositivo (piense en el nuevo exploit de mensajes de medios de Android). En este momento, rápidamente tomas el token OAuth2 y sales. Toma este token OAuth2 y lo usa desde su propio dispositivo. Ahora, para los próximos tres días, tiene autorización para la cuenta de las víctimas.

Mi pregunta: ¿Es factible la última parte? Si puede localizar un token OAuth2, ¿se puede usar desde otro dispositivo para otorgar la autorización? ¿Cuáles son las medidas preventivas para esto (aparte de cifrar tokens OAuth)?

    
pregunta acelives 29.07.2015 - 19:52
fuente

2 respuestas

2

Sí, robar un token de OAuth almacenado en un dispositivo y usarlo para realizar solicitudes, ya que el usuario definitivamente funcionará. Los tokens de acceso OAuth son análogos a una cookie de sesión tradicional utilizada en una aplicación web. Podría ser útil si está familiarizado con las vulnerabilidades de las secuencias de comandos en sitios cruzados de la bandera de solo-http, donde un atacante explotaría una vulnerabilidad de secuencias de comandos en un sitio en una aplicación web para robar las cookies de sesión de las víctimas del DOM y luego usarlas para enmascararse como el usuario. La mayoría de los ataques contra OAuth2 utilizan una ruta más directa para explotar una vulnerabilidad en el flujo de OAuth2 de los proveedores que engaña al usuario para que envíe su token de OAuth directamente al atacante. Egor Homakov y un puñado de otras personas han hecho un gran trabajo explotando al popular proveedor OAuth2. Algunos ejemplos: La vulnerabilidad más común de OAuth2 y Como hackeamos Facebook con OAuth2 y Chrome bugs .

    
respondido por el Justin Moore 29.07.2015 - 21:59
fuente
1

De enlace :

  

El tipo de concesión implícita no incluye la autenticación del cliente y se basa en la presencia del propietario del recurso y en el registro del URI de redirección. Debido a que el token de acceso está codificado en el URI de redirección, puede estar expuesto al propietario del recurso y otras aplicaciones que residen en el mismo dispositivo.

Con frecuencia, depende de la implementación del lado del servidor y de cómo se administra. Ver también:
OAuth Open Redirector Attack

    
respondido por el Ed Daniel 29.07.2015 - 20:43
fuente

Lea otras preguntas en las etiquetas