| 8 min de lectura
Contenido
DevSecOps es una cultura que resulta de ampliar la responsabilidad de la seguridad a las funciones organizativas, especialmente el desarrollo y las operaciones. Como un modelo en ciberseguridad, este considera a personas, políticas, procesos y tecnologías. En este artículo del blog, hablaremos de las personas que lideran la implementación de la cultura y la mentalidad de DevSecOps: los ingenieros DevSecOps.
¿Qué es un ingeniero DevSecOps?
Los ingenieros DevSecOps son los profesionales responsables de unir el desarrollo, la seguridad y las operaciones para mejorar la postura de seguridad de la organización. Ellos monitorean y automatizan los procesos de seguridad y verifican los sistemas, lo cual lleva a la protección de los datos y la infraestructura de la tecnología de la información (TI). Al igual que las personas que desempeñan otras funciones de seguridad de TI, un ingeniero de DevSecOps tiene conocimientos de software de ciberseguridad y de las buenas prácticas de DevSecOps. Estas últimas incluyen permitir la colaboración y realizar evaluaciones de riesgos y modelado de amenazas.
Este especialista en DevSecOps promueve la concientización sobre la ciberseguridad y capacita al resto del equipo para generar el máximo beneficio en el menor tiempo posible. En el proceso, se plantean las siguientes preguntas:
-
¿Cómo puedo garantizar que los desarrolladores desplieguen el sistema en producción sin que tengan que esperar a alguien?
-
¿Cómo puedo garantizar que cada salida a producción no tenga errores que ya hemos encontrado en el pasado (es decir, mejora continua)?
-
¿Qué arquitectura de una solución es la más sencilla, de modo que los desarrolladores puedan entenderla y ampliarla fácilmente?
La idea de tener ingenieros DevSecOps es ayudar a formar a cada desarrollador para que sea a su vez un desarrollador de seguridad. Es decir, en lugar de tener roles superespecializados (p. ej., desarrolladores de back-end, de front-end, de infraestructura), los desarrolladores tienen uno único y con todas las capacidades. Así aprenden a programar un poco de todo (front-end, back-end, infraestructura, CI/CD, etc.) y trabajan a lo largo de todo el proyecto, desde el diseño hasta las pruebas y el despliegue a producción.
¿Cuáles son las habilidades de un ingeniero DevSecOps?
El trabajo en equipo y las habilidades de comunicación son, sin duda, algo de lo que no pueden prescindir los ingenieros de DevSecOps. De hecho, para integrar la seguridad en DevOps (es decir, promover un proceso de desarrollo seguro), deben trabajar con los demás de forma eficiente. Además, deben ser capaces de transmitir con claridad sus conocimientos sobre las amenazas tanto a sus compañeros como a sus empleadores. Esto significa que a menudo tienen que expresar las ideas de una manera más sencilla y conseguir que se entiendan.
Estos expertos están familiarizados con la arquitectura de las aplicaciones. Por lo tanto, están calificados para comunicarse con el equipo si encuentran vulnerabilidades en el diseño e instruirlos en cómo solucionarlas. De este modo, facultan a todos los desarrolladores para ser desarrolladores de seguridad.
No debería sorprendernos que los ingenieros DevSecOps a menudo tengan un gran dominio de la programación. Deben poder sentarse con los ingenieros de DevOps (desarrolladores de programas) para elaborar la solución a una vulnerabilidad reportada en el sistema de la organización. Algunos de los lenguajes que conocen los ingenieros DevSecOps son Bash, Java, JavaScript, Perl, PHP, Python y Ruby.
Suelen tener experiencia con herramientas de CI/CD. Entre ellas se incluyen Chef, CircleCI, GitLab CI/CD, Jenkins, Puppet y Spinnaker. Otras herramientas para desarrolladores que suelen conocer son Kubernetes, Docker y Amazon Web Services (AWS).
Como ya dijimos aquí y, en mayor profundidad, aquí, las verificaciones de seguridad automatizadas, dentro de la lógica general de automatización de procesos, forman parte de las buenas prácticas de DevSecOps. Entonces, los ingenieros de DevSecOps a menudo tienen una buena comprensión de las herramientas de pruebas de seguridad de aplicaciones automatizadas utilizadas junto con las pruebas de seguridad manuales. Por ejemplo, las pruebas de seguridad de aplicaciones estáticas (SAST) y las pruebas de seguridad de aplicaciones dinámicas (DAST) pueden ser realizadas de forma tanto automática como manual. El experto debe saber elegir y desplegar adecuadamente estas pruebas.
Cuando utilizas estas pruebas a lo largo de todo el ciclo de vida de desarrollo de software (SDLC), pasan a formar parte de tus herramientas DevSecOps, por así decirlo. Ten en cuenta, sin embargo, que en Fluid Attacks sabemos que las herramientas automatizadas generan reportes con altas tasas de falsos positivos y falsos negativos. Por lo tanto, aunque fomentamos que los equipos automaticen las herramientas y los procesos, consideramos que el mayor valor reside en las pruebas de seguridad manuales y que la realización de pruebas de penetración continuas es una de las buenas prácticas de DevSecOps. Por consiguiente, no basta con realizar solo pruebas de penetración periódicas, aplicadas solo de forma ocasional. Cuando las pruebas se realizan de forma continua, se mantiene eficazmente una cultura de remediación.
Por último, un ingeniero DevSecOps debe saber cómo conducir evaluaciones de riesgos. Debe tener procesos rigurosos para evaluar la seguridad del sistema de la organización y analizar su exposición al riesgo en auditorías de seguridad continuas, no solo periódicas. Para hacerlo con éxito, debe estar al día en cuanto a cultura y principios de DevOps, amenazas a la ciberseguridad, software y buenas prácticas.
Responsabilidades de los ingenieros DevSecOps en las organizaciones
Las habilidades enumeradas anteriormente pueden darte una idea clara de lo que se les pide hacer a los ingenieros DevSecOps. Utilizan su experiencia para evaluar la seguridad de los sistemas de su organización y se aseguran de hacerlo todo el tiempo. Cuando encuentran una vulnerabilidad durante el desarrollo, trabajan con otros para solucionarla tan pronto como sea posible. En este aspecto, tienen que ser capaces de presentar estos problemas de seguridad y sus soluciones a un público variado. Pero también se espera que anticipen las amenazas y añadan defensas para prevenirlas. De este modo, mantienen a salvo los activos digitales de la organización.
Se ha dicho que los ingenieros DevSecOps a menudo tienen que trabajar en colaboración con colegas escépticos o desinformados sobre su rol. Esto puede deberse a que estos últimos se sienten desafiados por la transición de la organización de DevOps a DevSecOps. Los equipos pueden sentirse desanimados con la idea de que la seguridad puede ser un obstáculo para la integración y el despliegue rápido. Los ingenieros de DevSecOps son entonces necesarios para enseñar, apoyándose en sus conocimientos, la forma en que las buenas prácticas, como la revisión del código, la auditoría de las dependencias del código y romper el build, mejoran los resultados en general y ayudan a cumplir las normas de seguridad. Las mejores empresas que han implementado DevSecOps son capaces de integrar la seguridad en sus procesos de desarrollo y operaciones sin sacrificar la velocidad.
Roles DevSecOps e ingenieros DevSecOps
Dentro de las organizaciones, es posible tener diferentes roles de trabajo de DevSecOps. Uno de ellos está diseñado para personas con experiencia en la automatización de despliegues de infraestructuras (p. ej., ingenieros de la nube). Estas personas hacen posible que los desarrolladores se concentren en construir el producto con un conocimiento bastante básico de la infraestructura que lo soporta.
Existe otro rol para las personas con experiencia en el diseño y la implementación de herramientas de pruebas de seguridad y su integración en pipelines (p. ej., ingenieros de CI/CD). Entregan el armazón de CI/CD a los desarrolladores para que puedan programar todas las verificaciones que consideren necesarias.
Y otro rol es el de las personas que trabajan junto con el equipo de desarrollo para examinar, clasificar y cerrar las vulnerabilidades (p. ej., campeones de seguridad). Por lo dicho hasta ahora, se puede afirmar que la función de un ingeniero DevSecOps engloba los tres roles.
Cómo convertirse en ingeniero DevSecOps
Si deseas convertirte en un ingeniero de DevSecOps o simplemente quieres saber qué credenciales debes buscar en el currículum de alguien, algunos sitios web reportan los títulos que suelen tener los ingenieros de DevSecOps. Entre ellos se incluyen campos relacionados con la tecnología como la informática o la ingeniería de sistemas. Sin embargo, también se menciona como opción un grado universitario en matemáticas.
Algunas de las competencias mencionadas pueden ser adquiridas mediante autoaprendizaje. Este es el caso del dominio de lenguajes de programación o herramientas de desarrollo. Otras, como las que implican necesariamente colaboración, pueden cultivarse en un empleo formal o a través de unas prácticas o pasantías. De hecho, se ha aconsejado que los aspirantes a ingenieros de DevSecOps trabajen primero en un puesto de TI no relacionado con DevOps antes de trabajar en DevOps y posteriormente en DevSecOps. También se aconseja matricularse en cursos que enseñen los principios de DevOps y cómo crear aplicaciones de forma segura. Por ejemplo, los futuros ingenieros de DevSecOps se beneficiarían mucho de hacer cursos de escritura de código seguro.
Otro paso para estar en forma para el papel de ingeniero DevSecOps es obtener certificaciones. Daremos una lista de certificaciones en un momento. Un futuro ingeniero DevSecOps debería pensar primero en formarse y adquirir conocimientos. Estos son algunos de los cursos de certificación de seguridad aconsejados: DevSecOps Certified Professional (DSOCP), Certified Cyber Security Expert (CCSE), Certified Information Security Manager (CISM), Certified Information Systems Auditor (CISA) y Cisco Certified Network Associate (CCNA).
Certificaciones recomendadas para ingenieros DevSecOps
Las certificaciones te ayudan a distinguirte del resto de candidatos cuando solicitas un trabajo. Pero también pueden obtenerse por amor al desafío. Sin duda, ponen a prueba la paciencia y la resistencia de un candidato.
Para demostrar que eres adecuado para el puesto de ingeniero DevSecOps, es aconsejable obtener la certificación del Instituto DevOps con certificaciones como DevOps Foundation, DevSecOps Engineering (DSOE) y DevOps Leader. También se recomienda la certificación Certified DevSecOps Professional de Practical DevSecOps. Igual se aconseja obtener certificaciones prácticas emitidas por Cisco, CompTIA y Microsoft, así como la titulación Certified Ethical Hacker (CEH). Otras certificaciones relacionadas son Certified Secure Software Lifecycle Professional, GIAC (Global Information Assurance Certification) Mobile Device Security Analyst e ISO 27001.
Cómo ayuda Hacking Continuo a los ingenieros DevSecOps
Como ya se ha mencionado, la seguridad se ha considerado un obstáculo para el desarrollo. Tradicionalmente, los equipos de seguridad auditaban las aplicaciones y decidían si pasaban a producción. Hacking Continuo, nuestra solución que realiza pruebas de seguridad a lo largo de todo el SDLC, se diseñó teniendo en cuenta dos principios:
-
El lanzamiento a producción no debería verse interrumpido por cualquier proceso manual en curso: los desarrolladores no deberían tener que esperar a alguien para poder desplegar el sistema en producción.
-
Los desarrolladores deben ir primero, construyendo funcionalidades en las aplicaciones, y el equipo de seguridad (es decir, los hackers) debe ir luego, haciendo pruebas y reportando.
De esta forma, los ingenieros de DevSecOps y los desarrolladores de seguridad pueden gestionar la seguridad de las aplicaciones de forma continua (en DevOps todo debe ser continuo, todo lo que sea en fases grandes es muy lento cuando se pasa a producción unas 70 veces al día) sin detener el proceso de creación de valor.
¿Quieres saber más sobre DevSecOps?
En Fluid Attacks, ayudamos a las empresas a integrar la seguridad en DevOps desde el principio del ciclo de vida de desarrollo de software. Nuestra solución DevSecOps se nutre de nuestro método más confiable: hacking ético. Este método comprende el uso manual de diferentes herramientas (p. ej., SAST, DAST, SCA) y nos permite detectar las vulnerabilidades más complejas y críticas. Además, nuestra solución ofrece un agente DevSecOps automatizado, cuya funcionalidad es romper el build. Esta es una medida de seguridad que puede configurarse en un ambiente de CI/CD para evitar que cualquier autor de software despliegue en producción un sistema con vulnerabilidades abiertas. Como resultado, las empresas pueden alcanzar altas tasas de remediación y mejorar la seguridad de cada commit. ¿Deseas saber más sobre nuestra solución DevSecOps? Contáctanos. Estaremos encantados de responder a todas tus preguntas sobre DevSecOps. Además, asegúrate de consultar nuestro taller de DevSecOps.
Contenido
Comparte
Blog posts recomendados
Quizá te interesen los siguientes posts similares.
Protegiendo tus TPV de las ciberamenazas
Los siete ciberataques más exitosos contra esta industria
Retos, amenazas y buenas prácticas para los comerciantes
Sé más seguro aumentando la confianza en tu software
En qué consiste y cómo mejora tu postura de seguridad
Ataques complejos basados en la web y medidas proactivas
La importancia de las API seguras en este mundo dominado por apps