Dmitry Nikolaev - stock.adobe.co
¿Qué desafíos de ciberseguridad enfrentan los programadores?
En el marco del Día Internacional del Programador, Check Point Software habla sobre los riesgos que deben sortear los profesionales que construyen el mundo digital y comparte tres consejos para asegurar el código.
El 13 de septiembre se conmemora el Día Internacional del Programador, fecha que celebra el trabajo de los programadores informáticos en todo el mundo. El festejo se lleva a cabo el día 256 de cada año, por lo que en años bisiestos esta fecha puede cambiar, pero la elección se realizó de forma deliberada con base en las complejidades matemáticas del código binario.
Actualmente, el trabajo de los programadores es la base del mundo digital. No podríamos imaginar un mundo conectado, en el que millones de personas utilizan dispositivos electrónicos y aplicaciones para realizar compras, transacciones bancarias, informarse, entretenerse, educarse o hasta trabajar, de no ser por los miles de millones de líneas de código que soportan este ambiente digital.
“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”, dicen desde Check Point Software.
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% con respecto a 2020; para 2030, la CESSI proyecta que habrá unos 500.000 programadores.
La seguridad detrás de las aplicaciones
En el complejo entramado de la programación, es muy difícil evitar que queden brechas abiertas en el código, abriendo paso a la explotación de vulnerabilidades. Para no crear programas muy pesados o poco amigables con los usuarios, muchas veces, los desarrolladores sacrifican la seguridad en pro de la experiencia de los usuarios. “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”, advierte Check Point Software.
El proveedor de soluciones de seguridad detalla que las organizaciones experimentaron un aumento de ciberataques de un 59% en el segundo trimestre del 2022, con respecto al mismo periodo del 2021. El aumento de los ataques muestra la relevancia de incluir lo que se llama seguridad nativa, o seguridad desde el código, para evitar que las brechas de seguridad sean aprovechadas por los atacantes.
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 (desarrollo y operaciones). “DevOps 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”, dice un comunicado de Check Point Software.
“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. Para aprovechar al máximo todos los beneficios, es muy importante implementar un ciclo de vida DevOps de forma adecuada”, 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.
Consejos de Check Point Software para asegurar el 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. 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.