El Día del Programador celebra a una figura fundamental en la era de la digitalización. Sus retos hoy son distintos a los de comienzos de siglo.
Cuando el milenio era bebé, los programadores eran casi que de talla única, relativamente pocos y muy demandados.
Aunque pareciera haber pasado mucho tiempo y hay muchísimos más que en aquel entonces, con especialidades cada vez mas sofisticadas lo cierto es que ningún número parece satisfacer la demanda. Quizás nunca sean suficientes.
Lo cierto es que, para celebrar su rol en el cambio de nuestra forma de vida, el 13 de septiembre se conmemora el Día Internacional del Programador.
La fecha no es del todo arbitraria: se lleva a cabo el día 256 de cada año.
¿Por qué? Es una elección deliberada basada en las complejidades matemáticas del código binario. Oh, sí.
Su rol en el mundo moderno no puede ser suficientemente valorado:
- Casi todas las empresas del mundobdependen de la infraestructura y los servicios de TI creados y, no pocas veces mantenidos por estos profesionales
- Su trabajo remodela continuamente nuestros enfoques de negocios
- Los efectos de la programación hacen que los lugares de trabajo y los recursos sean más accesibles, equitativos y diversos
Evolución en el tiempo
Lo que es indiscutible es que el 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.
Esto ha permitido cerrar la brecha entre el programador y/o los desarrolladores con respecto a las operaciones.
El fortalecimiento de esta área también ha permitido garantizar la flexibilidad para satisfacer las demandas de cualquier consumidor o mercado.
No obstante, como en cualquier otra historia, no todo Programador esta al servicio del buscador en estar a través de la tecnología. Algunos disfrutan creando problemas que otros no pueden superar y, durante la pandemia, no pocos se iniciaron en el código delictivo (malware) para ganarse la vida.
De hecho, el proveedor de ciberseguridad Check Point Software Technologies ha señalado 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, Check Point recoimiends prácticas como DevSecOps, las cuales tienen como objetivo:
- Integrar la seguridad de forma continua en el ciclo de vida de DevOps
- Esto mejora la oroteccion tanto para el producto final como para el equipo de trabajo
Las tres claves para el Programador de CPR
Tanta para Check Point Software como para su unidad de investigación de amenazas, Check Point Research (CPR) estos tres puntos resulta claves para 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, el 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.
2.- 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 deben emplearse 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.
3.- 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 debe limitarse el acceso al servicio en línea al mínimo requerido para operaciones confiables y, por supuesto, realizar copias de seguridad periódicas.