Situación inicial:
Un servicio web RESTful defiende contra los ataques de CSRF usando el enfoque de doble envío de cookies. Esto significa que el token de autenticación se envía dos veces y se verifica en el lado del servicio.
Problema / Amenaza a la seguridad:
El elemento WebView de las plataformas Android e iOS permite crear un navegador web malicioso que revela y modifica las cookies de sesión. webView.loadUrl("javascript:document.cookie=’’;");
. Si el atacante ya ha averiguado, cómo es la doble cookie enviada, (en este caso es el AuthenticationToken) es capaz de crear un RESTBrowser malicioso. Por lo tanto, agrega el ya conocido CSRFToken al modelo de objeto de documento y así elude la contramedida CSRF. ¿Es eso cierto hasta ahora?
Posibles prevenciones:
Hasta ahora no tengo ni idea de cómo puedo evitar que un atacante cree y publique una aplicación móvil tan maligna, así como evitar que se acceda al servicio a través de aplicaciones móviles malignas. Sé de la existencia de la User-Agent
y que el servicio puede utilizar esta información para rechazar solicitudes de otros que no sean navegadores específicos. Pero estoy seguro de que también este encabezado puede ser manipulado dentro de la WebView.
¿Cuáles son las contramedidas eficaces contra el CSRF en el contexto de las aplicaciones móviles maliciosas?