Comentario: También debe prestar atención a los problemas de seguridad en HTML5
Los expertos en seguridad de la aplicación dicen que HTML5 presenta nuevos desafíos de seguridad para los desarrolladores.La guerra de palabras entre Apple y Adobe trae muchas especulaciones sobre el destino de HTML 5. Aunque la implementación de HTML 5 todavía tiene un largo camino por recorrer, una cosa es segura que los desarrolladores que usan HTML 5 necesitarán implementar nuevas características de seguridad para el ciclo de vida del desarrollo de seguridad de aplicaciones para hacer frente a los desafíos de seguridad presentados por HTML 5.
Entonces, ¿qué impacto tendrá HTML5 en la superficie de ataque que necesitamos cubrir? Este artículo discutirá varios temas de seguridad importantes sobre HTML 5.
Almacenamiento del cliente
Las versiones anteriores de HTML solo permitieron a los sitios web almacenar cookies como información local, que son relativamente pequeñas y solo adecuadas para almacenar información simple de archivo o como identificadores para datos almacenados en otros lugares (como ID de sesión), dijo Dan Cornell, director de la División de Investigación de Seguridad del Grupo Denim del Grupo. Sin embargo, HTML5 LocalStorage permite que el navegador almacene una gran cantidad de bases de datos localmente, lo que permite utilizar nuevos tipos de aplicaciones.
El riesgo de que los datos confidenciales se puedan almacenar en la estación de trabajo del usuario local, y los atacantes que acceden o comprometen físicamente la estación de trabajo pueden obtener fácilmente datos confidenciales, lo que Cornell dijo que es aún más peligroso para los usuarios que usan computadoras compartidas.
Por definición, realmente puede almacenar información sobre el sistema de clientes, dijo Josh Abraham, un investigador de seguridad en Rapid7. Luego, tiene la capacidad potencial de usar un ataque de inyección SQL basado en el cliente, o tal vez una de la base de datos de su cliente es maliciosa, y cuando se sincroniza con el sistema de producción, puede haber problemas de sincronización o los posibles datos maliciosos del cliente se insertarán en el sistema de producción.
Para resolver este problema, los desarrolladores deben poder verificar si los datos son maliciosos, lo que en realidad es un problema muy complicado.
No todos están de acuerdo con la importancia de este tema. El director de tecnología de Veracode, Chris Wysopal, dijo que, por ejemplo, siempre ha habido muchas formas de almacenar clientes de datos utilizando complementos o extensiones de navegador.
Existen muchos métodos conocidos para manipular las propiedades HTML5 SessionStorage actualmente implementadas, pero este problema solo se resolverá cuando se finalice el estándar, dijo Wysopal.
Comunicación de dominio cruzado
Otras versiones de HTML pueden permitir directamente a JavaScript emitir solicitudes XML HTTP para volver al servidor original, mientras que HTML5 relaja este límite, y las solicitudes HTTP XML se pueden enviar a cualquier servidor que permita dichas solicitudes. Por supuesto, si el servidor no está confiable, esto también puede traer serios problemas de seguridad.
Por ejemplo, puedo crear un mashup (combinación, fusionar más de dos aplicaciones web utilizando bases de datos públicas o privadas para formar una aplicación integrada) para extraer los puntajes de coincidencias de sitios web de terceros a través de JSON (notación de objeto JavaScript). Cornell dijo que este sitio web puede enviar datos maliciosos a la aplicación que se ejecuta en el navegador de mi usuario. Aunque HTML5 permite el establecimiento de nuevos tipos de aplicaciones, si los desarrolladores no entienden la importancia de seguridad de las aplicaciones que han creado cuando comienzan a usar estas funciones, traerá grandes riesgos de seguridad a los usuarios.
Para los desarrolladores que confían en PostMessage () para escribir aplicaciones, deben verificar cuidadosamente para asegurarse de que la información sea de su propio sitio web, de lo contrario el código malicioso de otros sitios web podría crear información maliciosa, agregó Wysopal. Esta característica en sí no es segura, y los desarrolladores han comenzado a usar diferentes características de DOM (Modelo de objetos de documento)/navegador para emular la comunicación de dominio cruzado.
Otro problema relacionado es que la Alianza World Wide Web actualmente proporciona una forma de usar de manera similar a los mecanismos de origen cruzado para evitar las políticas homólogas para el diseño de recursos intersoriginales.
IE Las implementaciones tienen diferentes características de seguridad que Firefox, Chrome y Safari, y señala que los desarrolladores deben asegurarse de que creen listas de control de acceso demasiado sueltas con los peligros de estar demasiado sueltos, especialmente porque algún código de referencia es actualmente muy inseguro.
Seguridad de iframe
Desde un punto de vista de seguridad, HTML5 también tiene buenas características, como las propiedades de Sandbox que planean admitir iFrames.
Esta propiedad permitirá a los desarrolladores elegir cómo se interpretan los datos, dijo Wysopal, desafortunadamente, como la mayoría de HTML, es probable que el diseño sea mal entendido por los desarrolladores y es probable que los desarrolladores sean deshabilitados porque es inconveniente de usar. Si se maneja correctamente, esta característica ayudará a defenderse contra anuncios de terceros maliciosos o evitar que se reproduce contenido no confiable.