Estrategia de seguridad en el desarrollo

La seguridad en el desarrollo es un área técnica amplia, con varios elementos distintivos. Este hecho se refleja en los procedimientos recomendados.

La seguridad en el desarrollo requiere proteger la aplicación o el propio código, así como las infraestructuras, plataformas o dispositivos subyacentes.

Diagrama que muestra las oportunidades de los atacantes, incluidos los ataques a la infraestructura de TI.

Prácticas de seguridad integradas

La protección del código requiere prácticas de seguridad integradas en el proceso de desarrollo. Este enfoque reduce los riesgos de seguridad, tanto en el diseño como en la implementación del código que se está desarrollando.

El desarrollo puede darse de muchas formas, entre las que se incluyen las siguientes:

  • Código de aplicación para ejecutarse en un servidor como aplicación o como API.
  • Publicación de una API.
  • Scripting.
  • Automatización, como estos ejemplos:
    • Implementación de la infraestructura, por ejemplo, con la automatización de una implementación de Terraform.
    • Configuración de la infraestructura, como el uso de una plantilla de Azure Resource Manager o Bicep para implementar un grupo de seguridad de red de Azure y crear reglas de grupo de seguridad.
    • Tareas operativas, como el uso de Azure Functions para ejecutar tareas programadas mediante la ejecución de código en intervalos de tiempo predefinidos.
  • Código que se va a implementar en el firmware.
  • Aplicaciones móviles, una agregación de código de nivel de aplicación con servicios de plataforma, implementados como sistema.
  • Sistemas completos, que incluyen componentes de infraestructura, sistemas operativos, servicios PaaS y código, que se ensamblan en un plano técnico ejecutable implementado en Azure, en forma de Infraestructura como código (IaC).

Además de la amplitud de lo que se puede considerar como desarrollo, los avances en procesos y tecnologías han permitido acelerar el tiempo de producción. Por ejemplo, ahora las canalizaciones de integración continua y desarrollo continuo (CI/CD), así como las operaciones de DevOps y DevSecOps, son más rápidas.

Estos avances requieren que las organizaciones den un pequeño paso atrás y hagan sus evaluaciones. Deben determinar qué procesos y tecnologías proporcionan la agilidad y la velocidad de desarrollo adecuadas para satisfacer las demandas empresariales de forma segura y conforme.

Desde el principio, una buena estrategia de desarrollo debe tener en cuenta las necesidades empresariales y de seguridad, así como el ecosistema de desarrolladores de la organización. El objetivo es tener la seguridad integrada en los procesos de desarrollo. El equipo de seguridad debe ser una ayuda, más que un bloqueo o un obstáculo, para llegar a producción.

Otro factor para una estrategia correcta de seguridad en el desarrollo es satisfacer a los desarrolladores en su mismo puesto, e intentar que los cambios, si los hay, sean pequeños y sin discrepancias, en la medida de lo posible. Los pasos pequeños y la automatización son las mejores opciones. Muestre al personal de desarrollo cómo la seguridad incorporada en los procesos de desarrollo puede aligerar y eliminar las discrepancias en su labor.

Pasos siguientes