El 13 de septiembre se conmemora el Día Internacional del Programador, en el que se celebra el trabajo de los programadores informáticos del mundo. El festejo se lleva a cabo el día 256 de cada año; una elección deliberada basada en las complejidades matemáticas del código binario.
Todos los que utilizan software e Internet se benefician del trabajo de los programadores de computadoras. Casi todas las empresas dependen de la infraestructura y los servicios de TI creados (y a veces mantenidos) por dichos profesionales. Los programadores de computadoras están a la vanguardia de la innovación, y su trabajo está remodelando continuamente nuestros enfoques de negocios. Además, los efectos de la programación hacen que los lugares de trabajo y los recursos sean más accesibles, equitativos y diversos.
Según la Cámara de la Industria Argentina del Software de Argentina (CESSI) la industria superó los 130 mil empleados en 2021, aumentando su nómina en un 13 por ciento con respecto a 2020 y se proyecta que habrán unos 500.000 programadores para el 2030.
DevOps (sigla en inglés que combina las palabras desarrollo y operaciones) ha revolucionado la forma en que se desarrolla 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.
Usualmente ocurre que la ciberseguridad 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 líder de ciberseguridad a nivel mundial Check Point Software Technologies Ltd., 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, prácticas como DevSecOps (sigla en inglés que combina las palabras desarrollo, seguridad y operaciones), tienen como objetivo integrar la seguridad de forma continua en el ciclo de vida de DevOps. 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.
Alejandro Botter, gerente de Ingeniería de Check Point, para el sur de Latinoamérica, explica: ‘Es sumamente importante que las empresas, hasta las más pequeñas, tengan claro el impacto en el negocio que puede tener el abuso de un código inseguro o la utilización de la información confidencial que puede contener. Implementar prácticas de DevSecOps integrará la seguridad de forma continua y por ende reducirá los riesgos’.
Completa Botter: ‘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’.
Para ello, Check Point Software comparte tres puntos claves sobre la seguridad del código:
- 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 y Check Point a través de Spectral brinda una herramienta para poder visualizar este tipo de situaciones antes de que sea tarde.
- Pipeline inseguro: En ingeniería de software, CI/CD o CICD generalmente 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 extremadamente sensibles, como los certificados de firma de código.
- Software sin parches: Hoy en día, 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.