Riesgos de transformación digital en código front-end



Por qué hacer que cada desarrollador entrance-conclude sea un experto en DevSecOps conducirá a un enfoque más holístico de la seguridad de aplicaciones nativas y net.

Un área importante, a menudo pasada por alto, para capacitar a los desarrolladores con herramientas y capacidades de seguridad es el código front-conclusion. El código front-conclude es principalmente JavaScript y HTML. Es el más cercano al usuario y se ejecuta en su navegador o dentro de sus aplicaciones móviles híbridas. Las empresas cambian constantemente su código front-end porque los sitios web y las aplicaciones requieren actualizaciones frecuentes. También hay un gran volumen de vulnerabilidades y problemas de seguridad reportados en el código front-stop, en parte porque es más fácil acceder e intentar penetrar el código entrance-stop.

La transformación electronic está estrechamente vinculada al entrance-conclusion, la cara accesible de todas las empresas en la period moderna. Las encuestas de desarrolladores demuestran una gran popularidad de los lenguajes de codificación front-close. En el Encuesta de desarrolladores de StackOverflow 2019, El 69.7% de los encuestados desarrolladores profesionales mencionaron JavaScript como su lenguaje de programación más utilizado. Justo detrás en segundo lugar estaba HTML / CSS con 63.1%. De acuerdo con el archivo HTTP, la cantidad de kilobytes de JavaScript solicitados por página cargada ha aumentado en la última década en un 408% para dispositivos de escritorio y 689% para dispositivos móviles. Esto demuestra claramente la creciente dependencia de las aplicaciones website en JavaScript.

Cada vez más, el código entrance-conclusion se basa en componentes de código de terceros proporcionados por proveedores y proyectos de código abierto. Este código no se encuentra en la aplicación. Por el contrario, el navegador lo busca y carga dinámicamente. El uso de código de terceros tiene sentido de muchas maneras. Permite a los desarrolladores aprovechar el código existente que es útil, ahorrándoles tiempo de desarrollo.

Desafortunadamente, algunos de los ataques de ciberseguridad más graves tienen como objetivo el código front-end. Los ataques de Magecart, por ejemplo, se ejecutan cuando piratas informáticos maliciosos inyectan código de front-close no autorizado en una aplicación o modifican el código de front-end de la aplicación. Este código modificado inyectado, llamado skimmer, recopila la información financiera de los usuarios cuando intentan realizar una compra. Los atacantes de Magecart abusan de las vulnerabilidades en los proveedores de terceros utilizados por la aplicación o el código de origen escrito por sus propios desarrolladores que permiten modificaciones de código y la inserción de skimmers. Estos ataques a menudo inyectan modificaciones de código menores, lo que hace que sea difícil detectarlas con revisiones de código básicas.

Cómo DevSecOps puede proteger el código entrance-stop
Comprender la intención del código que no controla y no puede ver es un desafío. Este es el problema principal de controlar las bibliotecas de terceros por riesgos de seguridad. Para abordar esto, debe adaptar un enfoque doble. Debe habilitar la detección temprana de riesgos y vulnerabilidades durante el tiempo de integración, pero también debe mantener la crimson de seguridad de un motor de detección de tiempo de ejecución que monitorea los scripts en vivo mientras se ejecutan en los navegadores de los usuarios reales y detecta cambios no autorizados.

Para permitir que los desarrolladores prueben estas bibliotecas mucho antes, necesitamos agregar herramientas a las canalizaciones de CI / CD que pueden mirar dentro del código de la biblioteca y validar que el código no ha sido alterado para transportar cargas maliciosas como Magecart. Al mismo tiempo, necesitamos ejecutar pruebas de usuario y pruebas de cliente de las aplicaciones a medida que se crean. Las pruebas más detalladas de cómo deberían comportarse las aplicaciones en el navegador antes en el proceso permitirán a los desarrolladores establecer una línea de base de «comportamientos de aplicaciones conocidos y aceptables».

Esta línea de foundation se puede comparar con el comportamiento del código y las aplicaciones en la producción. De hecho, los equipos de seguridad pueden ejecutar sistemas automatizados que realizan un análisis profundo de miles de factores que identifican desviaciones de comportamiento de la línea de base. Las desviaciones pueden ser causadas por nuevas bibliotecas o códigos que no se agregaron a través del CI / CD estándar y el proceso de revisión de código automatizado o cambios de comportamiento por parte de terceros proveedores y bibliotecas. El proveedor puede planificar cambios en el código de terceros debido a actualizaciones y mejoras. Sin embargo, estos cambios pueden haber ocurrido o, en otros casos, pueden deberse a que un atacante logró inyectar código malicioso.

Por último, las desviaciones de la línea de base pueden resultar de cambios en su propio código que fueron modificados sin autorización por piratas informáticos, empleados descontentos o empleados bien intencionados que intentan arreglar algo y eluden el código y los procesos de seguridad para acelerar su trabajo.

Este tipo de prueba de línea de base identificaría los ataques de Magecart muy rápidamente y antes de que causen un daño significativo. Sin embargo, las pruebas solo funcionarán bien si los desarrolladores hacen que el comportamiento de la aplicación de grabación antes del despliegue sea una parte typical de su práctica laboral. Esa es realmente la clave: asegurarse de que la seguridad front-conclusion de los desarrolladores no sea tediosa y agregue un trabajo mínimo.

Cómo podría funcionar esto en la práctica
¿Las buenas noticias? Agregar controles de seguridad y validaciones a las herramientas y plataformas de canalización de CI / CD es sencillo, más como agregar un nuevo tipo de garantía de calidad al conjunto de pruebas existente. Hacer esto no saca a los desarrolladores de sus flujos de trabajo existentes, por lo que tiene poco impacto en su productividad. Tampoco requiere horas adicionales ni trabajadores en el equipo de seguridad de la información.

Así es como puede fluir el proceso.

  1. Un desarrollador comprueba su último código en su sistema de handle de versiones (como GitHub). Antes de que el nuevo código se integre en la rama principal del código de la aplicación, el nuevo código se construirá y probará automáticamente con un conjunto de controles de seguridad.
  2. Si se detecta una falla de seguridad en el código o en cualquiera de las bibliotecas o módulos de terceros que está usando el código, entonces el sistema de management de versiones marca automáticamente las líneas específicas de código en cuestión y genera un ticket para el desarrollador que solicita calidad adicional garantía junto con los pasos de remediación sugeridos.
  3. El desarrollador ve el ticket en su cola de tickets regular y hace las correcciones.
  4. El código se ejecuta nuevamente a través de las suites de prueba. Se fusionará en la rama principal del código si todas las pruebas pasan y luego se implementarán en producción.
  5. La aplicación actualizada se ejecuta en un entorno de ensayo para el análisis a fin de crear una línea de base de comportamientos aceptados que pueden verificarse de manera automatizada frente a comportamientos reales en vivo.

Hacer que cada desarrollador entrance-conclude sea un experto en DevSecOps crea un enfoque mucho más holístico para la aplicación website y la seguridad de la aplicación nativa. Este enfoque es más proactivo y preventivo, y mucho menos costoso y requiere mucho tiempo a largo plazo. Adoptar un enfoque DevSecOps es solo una parte de una transición amplia e inescapable para todos los desarrolladores para asumir una mayor responsabilidad por la seguridad de las aplicaciones y crear un mundo donde la seguridad comience con el código.

Contenido relacionado:

Ido Safruti es cofundador y director de tecnología de PerimeterX, proveedor de soluciones de seguridad de aplicaciones que mantienen a las empresas seguras en el mundo digital, detectando riesgos para las aplicaciones world wide web y móviles y administrándolas de forma proactiva. Anteriormente, Ido dirigió un grupo de productos en Akamai centrado … Ver biografía completa

Lectura recomendada:

Más concepts





Enlace a la noticia authentic