Demasiadas organizaciones ejecutan aplicaciones web y móviles que son vulnerables a ataques dirigidos. Es posible que utilicen bibliotecas y componentes de software sin parches, que accedan a información de identificación personal (PII) sin cifrar o que simplemente se hayan desarrollado de una manera en que la seguridad no se incluyó en el proceso de desarrollo de software.
Según Bola Rotibi, director de investigación de CCS Insight, la razón por la que las aplicaciones web son a menudo vulnerables se debe a la forma en que operan los equipos de desarrollo. “Hay demasiadas vulnerabilidades de seguridad básicas porque los equipos de desarrollo y, seamos justos, sus auditores de seguridad, se dejan abiertos de par en par”, dice.
Por ejemplo, no cubrir las pistas de las ubicaciones de carpetas comunes donde se guarda información confidencial es como dejar la puerta abierta a los piratas informáticos. “Las desconexiones en la postura de seguridad entre diferentes equipos presentan brechas que pueden explotarse. Para demasiadas organizaciones, todavía hay muy poco intercambio de políticas de seguridad o la lista de verificación de vulnerabilidades comunes en las que los equipos son detectados regularmente ”, dice Rotibi.
Necesidad de la velocidad
Si la última encuesta de GitLab a 4.500 desarrolladores de software es algo que se puede seguir, las pruebas son la razón principal de los retrasos en el lanzamiento de un nuevo código. Pero las pruebas exhaustivas son esenciales si las organizaciones quieren minimizar el riesgo de liberar código inseguro que podría ser explotado por un actor malintencionado.
Como anécdota, los desarrolladores que participaron en la encuesta sintieron que debían “cambiar a la izquierda” en términos de su postura de seguridad. En otras palabras, los desarrolladores están comenzando a reconocer la necesidad de ser más conocedores de la seguridad y aplicar las mejores prácticas de seguridad a su codificación.
Las pruebas de vulnerabilidades en el código deben integrarse en todas las fases del proceso de desarrollo de software. Algunos expertos recomiendan enviar el código para pruebas externas antes de lanzar una nueva funcionalidad.
“Si no lo haces [carry out] pruebas de penetración externas, se dirige al desastre ”, advierte Roy Castleman, director gerente de EC-MSP, una empresa de soporte de TI con sede en Londres para pequeñas y medianas empresas (PYME).
Alentar a los desarrolladores a dedicar más tiempo a pensar en la seguridad del software que escriben no puede suceder de forma aislada, especialmente si las demandas de la empresa exigen una alta cadencia en los lanzamientos de nuevas funciones digitales. Pero las actitudes están cambiando.
Prioridades comerciales
“Como dueños de negocios, sabemos muy poco sobre el funcionamiento interno de nuestros sistemas. Es importante confiar en su equipo y, en este caso, es más importante verificar. Es posible que su equipo sea excelente comercializador y diseñador, pero la seguridad es un juego de pelota completamente diferente. Incluso cuando tiene un equipo de seguridad trabajando para usted, es fundamental que las cosas se verifiquen dos veces ”, dice Castleman.
Un estudio del analista Forrester revela que, si bien las fallas de seguridad de las aplicaciones son prolíficas, la administración al menos está reconociendo el problema. Las organizaciones han comenzado a darse cuenta de que la solución no se encuentra solo en los equipos de seguridad, sino también en los desarrolladores, señalan los autores de Forrester’s Estado de la seguridad de las aplicaciones, 2021 informe.
La investigación de Forrester muestra que para el 28% de los responsables de la toma de decisiones en materia de seguridad, mejorar la seguridad de las aplicaciones es una de las principales prioridades tácticas de seguridad de TI en el próximo año, siendo esta la iniciativa más citada. Según el estudio, el 21% de los responsables de la toma de decisiones en materia de seguridad planean priorizar la construcción de la seguridad en los procesos de desarrollo.
Forrester dice que las herramientas de seguridad de aplicaciones bien implementadas pueden reducir la brecha entre los desarrolladores y los profesionales de la seguridad. Esto permite a los desarrolladores abordar sin problemas los problemas de seguridad sin dejar sus propios canales de desarrollo. Un ejemplo de un proceso de desarrollo e implementación de software con seguridad incorporada se está utilizando en Domino’s Pizza para mantener la alta calidad del código y garantizar que la seguridad de TI no obstaculice el ritmo del desarrollo de software.
Un canal para el desarrollo, la implementación y las operaciones de software seguros
Domino’s Pizza adopta un enfoque híbrido para el desarrollo de software, lo que significa que la seguridad de las aplicaciones une el código desarrollado internamente y el software desarrollado externamente.
En declaraciones a Computer Weekly antes del evento virtual Infosecurity Europe de este año, Lee Whatford, director de seguridad de la información (CISO) de Domino’s Pizza, describió el proceso DevSecOps de la empresa, que depende de un modelo de seguridad que proporciona supervisión y visibilidad en todo el desarrollo y la implementación del software. pipeline, con cualquier problema resuelto durante la prueba del producto.
“Tenemos desarrolladores de plataforma internos y un tercero que se encarga del desarrollo de aplicaciones”, dice, y agrega que, ya sea que el código se desarrolle internamente o por la empresa de desarrollo de software externa, los desarrolladores internos están autorizados a garantizar que el código producido sea seguro.
La empresa ha desarrollado un modelo de seguridad que ofrece supervisión y visibilidad. El modelo cubre los contenedores y la infraestructura de seguridad e incorpora gobernanza, habilidades y visibilidad. Al proporcionar un nivel de visibilidad, Whatford dice que los desarrolladores pueden mejorar su conocimiento y conciencia de la seguridad, lo que les permite codificar de forma más segura.
Al discutir el desafío de incorporar una mentalidad de seguridad en el proceso de desarrollo de software, dice: “En el proceso de desarrollo de software, el paso más importante es trabajar lo más cerca posible del proceso de desarrollo de software. Los desarrolladores tienen que ser ágiles para el negocio, por lo que tenemos que trabajar al ritmo y, sin embargo, mantener controles y equilibrios sobre cómo ejecutan la infraestructura e implementan el código “.
Whatford dice que estos controles y contrapesos garantizan que los desarrolladores no publiquen código accidentalmente en el lugar equivocado. El modelo de seguridad proporciona efectivamente un campo de juego en el que desarrollar e implementar código de forma segura, sin infringir el proceso ágil de desarrollo e implementación de software.
La automatización se utiliza ampliamente en la fase de desarrollo de software para probar las vulnerabilidades de las aplicaciones y rechazar automáticamente el código que no cumple con ciertos criterios de prueba. Estos análisis automáticos evalúan los riesgos de seguridad. Por ejemplo, el código que se está probando puede tener un nivel medio de riesgo de vulnerabilidad. Para Whatford, este rechazo automatizado ayuda a reforzar el mensaje de capacitación en seguridad. “Significa que el código del desarrollador no puede atravesar la tubería de desarrollo de software y el entorno de producción”, dice.
En el lado de la infraestructura de TI, la publicación de código se automatiza a través de otra canalización. Esto asegura que los equipos de infraestructura y desarrollo de aplicaciones puedan trabajar de manera eficaz junto con los equipos de operaciones de TI. Domino’s Pizza exige dicha segregación de funciones en términos de controles de seguridad para cumplir con el estándar de pago con tarjeta PCI DSS.
Whatford dice que Domino’s Pizza está en proceso de madurar su modelo de seguridad, agregando procesos más detallados. El objetivo es tener un conjunto de reglas desde una perspectiva de operaciones que refuerce un enfoque seguro por diseño.
“Si tenemos visibilidad de lo que está sucediendo y tenemos una línea de base de lo que es bueno, podemos detectar rápidamente anomalías y configuraciones incorrectas”, dice, y agrega que esto permitirá a Domino’s Pizza priorizar problemas y solucionar riesgos de seguridad graves rápidamente. “Cuando hay un millón de cosas por hacer, se trata de gobernanza y gestión de riesgos empresariales. Necesitamos priorizar las correcciones ”, agrega Whatford.
Domino’s Pizza ha comenzado a implementar soluciones automáticas de problemas de configuración de TI, basándose en una línea de base mínima de configuraciones de alta prioridad.
Cambiando actitudes
Por su propia naturaleza, al codificar manualmente aplicaciones, existe una mayor probabilidad de que el programador introduzca nuevas vulnerabilidades. Pero si la encuesta de GitLab puede considerarse una prueba de fuego de las actitudes de los desarrolladores, los desarrolladores de software están comenzando a asumir más responsabilidad por la seguridad.
Bola Rotibi, CCS Insight
Para los desarrolladores con los que habló GitLab, los métodos comunes utilizados para mejorar la seguridad del código incluyen revisiones de código, análisis de código estático y monitoreo de aplicaciones en vivo, junto con escaneos de seguridad de bibliotecas y contenedores de código abierto, y análisis de riesgos en la fase de diseño del proyecto.
Para Whatford de Domino’s Pizza, la codificación segura comienza con un modelo de seguridad, que los desarrolladores pueden usar junto con las pruebas automatizadas, para asegurarse de que escriben un código limpio y seguro y comprendan por qué el conjunto de pruebas rechaza el software que envían. Este es un proceso de aprendizaje: a medida que desarrollan aplicaciones más seguras, es menos probable que las herramientas rechacen su código.
Es esta idea de esforzarse por reducir los errores de codificación lo que los desarrolladores de software deben tener en cuenta. Rotibi de CCS Insight dice: “Para todos aquellos que se preocupan por satisfacer las expectativas de los clientes, ya sea que estén dentro o fuera de la organización, una de sus principales prioridades debe ser reducir el riesgo en las aplicaciones web que desarrolle”.