top of page

Día del programador: claves para sumar seguridad al desarrollo de software

Cómo implementar prácticas de DevSecOps para integrar la seguridad desde el comienzo del desarrollo de aplicaciones.



DevOps (sigla en inglés que combina las palabras desarrollo y operaciones) ha revolucionado la forma en que se crea e implementa el software al introducir un entorno más colaborativo para el desarrollo y cerrar la brecha entre los desarrolladores y las operaciones. Al mismo tiempo, garantiza la flexibilidad para satisfacer las demandas de cualquier consumidor o mercado. Para aprovechar al máximo todos los beneficios, es muy importante implementar un ciclo de vida DevOps de forma adecuada.


Pero es usual que la seguridad quede relegada a un segundo plano, incluso cuando eso significa exponer el código y la empresa a los riesgos de una costosa violación de datos. En esa línea, el proveedor de ciberseguridad Check Point Software, indicó que las organizaciones experimentaron un aumento de ciberataques de un 59% en el segundo trimestre del 2022, con respecto al mismo periodo del 2021.


Por ello, incorporar seguridad a través del proceso de desarrollo conducirá a una mejor situación tanto para el producto final como para el equipo de trabajo. DevSecOps es un enfoque o filosofía de programación en el que la seguridad se integra desde el comienzo y a lo largo de todo el proceso DevOps, y se convierte en una responsabilidad compartida por todos los equipos involucrados en el proyecto.



La empresa comparte tres puntos claves sobre la seguridad del código:


1. Datos confidenciales “hardcodeados” Es común que el desarrollador almacene temporalmente contraseñas, tokens y claves de autenticación directamente en el código donde se usan dichas credenciales, ya que simplifica este proceso. En contraste, del punto de vista de seguridad, posiblemente sea una de las peores prácticas, ya que plantea un riesgo de exponer datos confidenciales. El problema reside en que pueden olvidar que almacenaron temporalmente esas contraseñas en el código y al momento de compartirlo o sufrir un ataque, esa información confidencial queda expuesta. Por estos motivos, esta práctica no es recomendada.


2. Pipeline inseguro En ingeniería de software, CI/CD o CICD se refiere a las prácticas combinadas de integración continua y entrega continua (también conocida como despliegue continuo), la cual se implementa con una o más herramientas. Un proceso (o pipeline) de CI/CD inseguro puede provocar la filtración de secretos o que varios procesos los pongan en riesgo, como la no supervisión de máquinas virtuales donde se ejecutan las herramientas de CI/CD. Asegurar el pipeline requiere mantener secretos con una exposición muy limitada. Se deben integrar herramientas o servicios en línea en el proceso de CI/CD para proporcionar una capa adicional de protección. También se deben emplear herramientas y servicios en línea para proteger el proceso de creación y ayudar a almacenar secretos como datos cifrados, utilizando el descifrado "justo a tiempo" para limitar la exposición durante el almacenamiento y el transporte. Esta capa de seguridad adicional es aún más importante cuando se protegen materiales sensibles, como los certificados de firma de código.


3. Software sin parches Hoy, Git es el sistema de control de versiones moderno más utilizado del mundo. Git se usa a menudo en combinación con otras herramientas o servicios para automatizar, asegurar y proporcionar análisis en todo el proceso de CI/CD. En estos días, los ciberdelincuentes no se limitan a piratear directamente un objetivo. A menudo es más fácil e incluso más lucrativo realizar un ataque a la cadena de suministro en herramientas o servicios para comprometer múltiples entidades que los emplean. Para limitar la exposición a los ataques a la cadena de suministro, es de vital importancia aplicar parches de seguridad a la cadena de herramientas tan pronto como se publiquen. También se debe limitar el acceso al servicio en línea al mínimo requerido para operaciones confiables y, por supuesto, realizar copias de seguridad periódicas.


“Implementar prácticas de DevSecOps integrará la seguridad de forma continua y por ende reducirá los riesgos” explica Alejandro Botter, gerente de ingeniería de Check Point para el sur de Latinoamérica. “El objetivo al final del camino es la securización del código desde una fase temprana del ciclo de vida de DevOps y no solo al final de forma reactiva” concluye Botter.


Opmerkingen


bottom of page