Los frameworks de frontend como Vue son vulnerables a entradas no sanitizadas para ejecutar código malicioso. Los patrones que permiten esto se entienden en general, pero aún hay casos en los que tus aplicaciones podrían estar en riesgo. Aprende cómo puedes implementar seguridad de aplicaciones automatizada para mantener tus aplicaciones seguras.
Cómo los desarrolladores pueden utilizar pruebas automatizadas de seguridad de aplicaciones para proteger las aplicaciones Vue
Video Summary and Transcription
Hoy, te voy a contar cómo los desarrolladores pueden utilizar pruebas automatizadas de seguridad de aplicaciones para proteger sus aplicaciones Vue. Explicaré qué significa desplazar hacia la izquierda, mostraré un ejemplo de una vulnerabilidad de scripting entre sitios y proporcionaré las herramientas que necesitas para encontrar estas vulnerabilidades antes de la producción. Vamos a ver un ejemplo de nuestra aplicación Vue con scripting entre sitios. Tenemos FontTalk, un foro de mensajes donde los usuarios pueden discutir fuentes y dar estilo a sus publicaciones. Bob inicia sesión y ve una conversación sobre fuentes. Sin saber sobre el scripting entre sitios, su cuenta se ve comprometida. La etiqueta de imagen maliciosa envía su información confidencial al atacante. Para evitar esto, necesitamos hacer cambios en el código.
1. Introducción a las pruebas de seguridad de aplicaciones
Hoy, voy a contarles cómo los desarrolladores pueden utilizar pruebas automatizadas de seguridad de aplicaciones para proteger sus aplicaciones Vue. Explicaré qué significa moverse hacia la izquierda, mostraré un ejemplo de una vulnerabilidad de scripting entre sitios y proporcionaré las herramientas que necesitan para encontrar estas vulnerabilidades antes de la producción.
Hola a todos. Mi nombre es Nick Teets y soy un ingeniero front-end en StackHawk. Y hoy, voy a contarles cómo los desarrolladores pueden utilizar pruebas automatizadas de seguridad de aplicaciones para proteger sus aplicaciones Vue.
Un poco sobre mí, soy un ingeniero front-end, así que debo admitir que me emociono con las fuentes. También soy el coorganizador del meetup de Jamstack en Denver, donde hablamos de todo desde CMS sin cabeza hasta generación de sitios estáticos. Y cuando no estoy ocupado tocando música o emocionándome con Helvetica, soy músico aquí en Denver.
Hoy, les voy a contar qué significa moverse hacia la izquierda, les mostraré un ejemplo de una vulnerabilidad de scripting entre sitios en una aplicación Vue y luego les daré las herramientas que necesitan para encontrar este tipo de vulnerabilidades antes de llegar a producción.
Entonces, ¿qué significa moverse hacia la izquierda? En pocas palabras, estamos moviendo las herramientas del ciclo de vida del desarrollo de software hacia una etapa anterior del proceso. Ahora hay una variedad de herramientas de seguridad que puedes utilizar cuando estás trabajando en tu rama de desarrollo o tu rama de características que te ayudarán a encontrar vulnerabilidades de seguridad. Cosas como la detección de secretos o la idea de que deberíamos ofuscar las claves de API que utilizamos para comunicarnos con servicios de terceros. El análisis de composición de software, que consiste en analizar los módulos de código abierto que utilizas en tu aplicación y encontrar vulnerabilidades allí. Tenemos pruebas de seguridad de aplicaciones estáticas, que examinan el código real y los archivos de texto de tu repositorio para encontrar vulnerabilidades. Y por último, las pruebas de seguridad de aplicaciones dinámicas. Esto es en lo que StackHawk es realmente bueno, ya que tomamos una instancia en ejecución de tu aplicación, ya sea en el pipeline o en desarrollo local, y encontramos vulnerabilidades de la misma manera en que un actor malintencionado podría explotar tu aplicación.
2. Ejemplo de aplicación Vue con scripting entre sitios
Vamos a ver un ejemplo de nuestra aplicación Vue con scripting entre sitios. Tenemos FontTalk, un foro donde los usuarios pueden discutir sobre fuentes y dar estilo a sus publicaciones. Jane inicia la conversación con una etiqueta de negrita, pero también incluye una etiqueta de imagen oculta que envía información sensible a un servicio de terceros.
Así que vamos a ver nuestro ejemplo de nuestra aplicación Vue con scripting entre sitios. Aquí tenemos FontTalk. Este es un lugar donde los usuarios pueden iniciar sesión en un foro y hablar sobre fuentes. Y, por supuesto, les vamos a dar la capacidad de dar estilo al texto que publican en este foro. Así que Jane va a iniciar la conversación y decir: ¿a todos les gustan las fuentes? Vamos a envolver esto en una etiqueta de negrita para enfatizar que estamos aquí para hablar de fuentes, por supuesto. Y lo vamos a publicar. Y puedes ver que tenemos el texto en negrita ahí. El mensaje está disponible para que todos lo vean. Pero luego Jane va a seguir con otra publicación. Vamos a enfatizar lo hermoso aquí. Pero también vamos a incluir esta etiqueta de imagen. Vamos a ocultar esto del usuario. Y cuando esta etiqueta de imagen se cargue, vamos a enviar información sensible de la cuenta a un repositorio que hemos configurado en un servicio de terceros. Así que vamos a guardar esta nota. Y es posible que como usuario que no está muy familiarizado con la web, no te des cuenta de algo, pero si inspeccionas esta parte, puedes ver que aquí está nuestra etiqueta de imagen, que está oculta, y que está accediendo a nuestro
3. Cross-Site Scripting y Contramedidas
Bob inicia sesión y ve una conversación sobre fuentes. Sin saber sobre el scripting entre sitios, su cuenta se ve comprometida. La etiqueta de imagen maliciosa envía su información confidencial al atacante. Para prevenir esto, necesitamos hacer cambios en el código.