Cómo convertirse en un ingeniero DevSecOps de primera clase

Publicado el 28 de febrero de 2020
por el doctor Matias Madou
ESTUDIO DE CASO

Cómo convertirse en un ingeniero DevSecOps de primera clase

Publicado el 28 de febrero de 2020
por el doctor Matias Madou
Ver recurso
Ver recurso

Al igual que la propia tecnología, las herramientas, las técnicas y los procesos óptimos de desarrollo de código evolucionan rápidamente. Los seres humanos tenemos una necesidad insaciable de más software, más características, más funcionalidad... y lo queremos más rápido que nunca, más cualitativo y, además, seguro. Hace sólo unos años, el desarrollo ágil era la próxima gran cosa que se utilizaba para dividir grandes trozos de trabajo en piezas más pequeñas, y ser capaz de adaptarse rápidamente a los rápidos ciclos de retroalimentación procedentes del cliente. Antes de eso, el método Waterfall era el rey de la colina.

Aunque muchas personas y organizaciones están pasando de Waterfall a Agile -y no todo el mundo está ahí todavía, seamos realistas- ya se están encontrando con un nuevo problema: los equipos de desarrollo y sus homólogos de operaciones siguen trabajando en silos. En este entorno, ¿cómo pueden los equipos pequeños que trabajan de forma ágil cumplir la promesa de un despliegue y una entrega más rápidos?

DevOps, un apelativo que es una combinación de desarrollo y operaciones, se creó para fusionar las funciones de los equipos de desarrolladores y de operaciones a la hora de crear nuevo software. En esencia, se trataba de ayudar a los desarrolladores a asumir la responsabilidad de poner las cosas en producción, en lugar de arrojarlas por encima de la valla al equipo de operaciones y convertirlas en su responsabilidad.

Ciertamente, pueden realizar envíos más rápidos -incluso un par de veces al día-, lo que parece jugar en el callejón de Agile. Sin embargo, DevOps sigue creando un gran equipo mixto de ingenieros y personal de operaciones, que puede no estar tan alineado con Agile en la realidad. En última instancia, es mejor pensar en DevOps como una evolución de Agile, ya que las metodologías son similares en muchos aspectos, y complementarias en su diferencia. DevOps promueve una integración y un despliegue continuos y automatizados, lo que es esencial para permitir lanzamientos frecuentes, pero no es suficiente a nivel de equipo, y aquí es donde entra Agile. Agile permite a los equipos, especialmente a los más pequeños, seguir el ritmo de estas rápidas publicaciones y de los cambiantes requisitos, sin dejar de lado las tareas y la colaboración. Ciertamente, parece ideal -y el proceso puede mantener a los equipos en el camino hacia el objetivo final-, pero no está exento de problemas.

El software creado con las mejores prácticas de DevOps sigue teniendo el potencial de tropezar en la primera pelea con el jefe: el equipo de seguridad. Cuando el código es examinado por los especialistas en seguridad de aplicaciones tradicionales/de cascada, ya sea con herramientas o con una compleja revisión manual, a menudo encuentran riesgos y vulnerabilidades inaceptables que deben ser corregidos a posteriori. El proceso de adaptación de las correcciones de seguridad en las aplicaciones terminadas no es rápido ni fácil... y es mucho más caro para la organización.

Entonces, si el mundo está avanzando más allá de Waterfall, Agile y ahora DevOps, ¿cuál es la solución? Y como desarrollador, ¿cuál es tu papel para seguir el ritmo de estos cambios de enfoque?

Las técnicas de desarrollo están en constante evolución, pero afortunadamente, esta no es un cambio tan grande. Las organizaciones sólo necesitan poner el "Sec" en "DevOps"... y así nació DevSecOps. Un objetivo principal de DevSecOps es romper las barreras y abrir la colaboración entre los equipos de desarrollo, operaciones y, por último, pero no menos importante, los equipos de seguridad. DevSecOps se ha convertido tanto en una táctica de ingeniería de software como en una cultura que aboga por la automatización y la supervisión de la seguridad en todo el ciclo de vida del desarrollo de software.

Esto puede parecer un proceso más a nivel de organización, quizás uno con "demasiados cocineros" cuando se trata de un desarrollador con una larga lista de funciones que construir. Sin embargo, la metodología DevSecOps abre una oportunidad para que los desarrolladores conscientes de la seguridad realmente brillen.

El brillante futuro de las DevSecOps

Entonces, ¿por qué querría un programador convertirse en ingeniero de DevSecOps? Tal vez tengas algo de experiencia en DevOps (o incluso en Agile) pero quieras dar el siguiente paso para convertirte en un experto en DevSecOps. En primer lugar, es bueno saber que es un movimiento muy inteligente, y no solo en la búsqueda de hacer que el mundo esté a salvo de costosos ciberataques. Los expertos afirman que la demanda de personal de ciberseguridad con talento se está disparando sin fin a la vista. Aquellos que dominen las DevSecOps pueden esperar una carrera larga y rentable.

La seguridad laboral de los ingenieros de DevSecOps está aún más asegurada, porque a diferencia de las tácticas tradicionales de ciberseguridad, como el escaneo de vulnerabilidades con una serie de herramientas basadas en software, DevSecOps requiere personas que sepan implementar la seguridad mientras codifican. Como señalan los analistas de Booz, Allen y Hamilton en su blog titulado 5 Myths of Adopting DevSecOps (5 mitos de la adopción de DevSecOps ), las organizaciones quieren e incluso necesitan DevSecOps, pero simplemente no pueden comprarlo. DevSecOps es una metodología que permite a los equipos multifuncionales integrar las tecnologías y colaborar durante todo el ciclo de vida del desarrollo de software, y que requiere personas cualificadas, gestión del cambio y un compromiso continuo de las múltiples partes interesadas.

Según Booz, Allen y Hamilton, las empresas pueden comprar aplicaciones y herramientas para ayudar con ciertos aspectos de DevSecOps, como el software de gestión de lanzamientos, "pero son realmente sus equipos de entrega los que lo hacen posible". Ellos son los que impulsan la mejora continua que ofrece DevSecOps y su cambio cultural y de paradigma.

Las organizaciones no pueden "comprar" un programa viable de DevSecOps; hay que construirlo y mantenerlo, utilizando una serie de herramientas, conocimientos internos y orientación que eleve la cultura de la seguridad, al tiempo que tenga sentido para el negocio. No es fácil, pero está lejos de ser imposible.

Cómo se puede patear el culo en el movimiento DevSecOps

Uno de los primeros pasos en el camino para convertirse en un ingeniero de DevSecOps es darse cuenta de que es tanto una cultura como un conjunto de técnicas. Requiere la voluntad de implementar la seguridad como parte de cada trozo de código que se crea, y el deseo de proteger proactivamente a su organización mediante la búsqueda activa de fallos de seguridad y vulnerabilidades mientras se codifica, corrigiéndolos mucho antes de que lleguen a la producción. La mayoría de los ingenieros de DevSecOps se toman su profesión y sus habilidades muy en serio. La organización profesional DevSecOps tiene incluso un manifiesto en el que se exponen sus creencias.

El manifiesto es un poco pesado, ya que los manifiestos rara vez son de lectura ligera. Pero en el centro hay algunas verdades que todos los grandes ingenieros de DevSecOps deberían aprender a adoptar, como:

  • Date cuenta de que el equipo de seguridad de las aplicaciones es tu aliado. En la mayoría de las organizaciones, los especialistas en seguridad de las aplicaciones están en desacuerdo con los desarrolladores, ya que siempre están devolviendo el código terminado para que se trabaje más en él. Los equipos de AppSec tampoco suelen tener mucho cariño a los desarrolladores, ya que pueden retrasar la puesta en producción del código terminado mediante la introducción de errores de seguridad comunes. Sin embargo, un ingeniero DevSecOps inteligente se dará cuenta de que los objetivos de los equipos de seguridad son, en última instancia, los mismos que los de los desarrolladores y codificadores. No es necesario que sean los mejores amigos, pero establecer una relación de trabajo tranquila y colaborativa es vital para el éxito.
  • Practique y perfeccione sus técnicas de codificación segura. Si puedes encontrar formas de que las aplicaciones sean vulnerables mientras se están construyendo, entonces cerrar esas lagunas puede detener a futuros hackers en su camino. Por supuesto, esto requiere tanto una comprensión de las vulnerabilidades como las herramientas para ayudar a solucionarlas. Las páginas del blogSecure Code Warrior pueden dar una idea de las vulnerabilidades más comunes y peligrosas que se pueden encontrar, así como consejos prácticos y desafíos para poner a prueba sus conocimientos. El aspecto más importante es mantener la seguridad en primer plano y dedicar tiempo a la formación de tamaño reducido que le ayude a ampliar sus conocimientos. Es habitual que las interacciones de un desarrollador con la seguridad sean bastante anodinas -incluso negativas-, pero la actualización de los conocimientos en materia de seguridad es un gran paso en la carrera, y no tiene por qué ser una tarea.
  • Recuerde: Las superestrellas de DevSecOps contribuyen a una cultura de seguridad positiva en su organización. En lugar de centrarse en los objetivos del pasado, como la entrega rápida de aplicaciones sin tener en cuenta sus problemas inherentes, es importante hacer que la búsqueda y la corrección de vulnerabilidades en el código en desarrollo sea una prioridad absoluta. La seguridad debe ser vista como un trabajo de todos, y todos deben compartir la adulación y las recompensas que vienen de desplegar aplicaciones efectivas y altamente seguras cada vez.

Puede ayudar a cultivar una increíble cultura de la seguridad en su organización defendiendo la codificación segura y las mejores prácticas de seguridad desde el principio, recomendando soluciones de formación y asegurándose de que ningún programador se quede atrás en el mundo de DevSecOps, en el que todo está en juego y en el que todo es rápido. El único código bueno es el código seguro, y los desarrolladores capacitados y conscientes de la seguridad son piezas vitales del rompecabezas. Las recompensas personales y profesionales merecen la pena, y con miles de millones de registros de datos personales comprometidos cada año (y en aumento), te necesitamos. Ocupa tu puesto en primera línea y ayuda a defenderte de los malos en nuestro mundo digital.

Matias Madou, Ph.D. es el CTO y cofundador de Secure Code Warrior. Es un experto en seguridad, desarrollador de larga data y adicto a Fortnite.

Ver recurso
Ver recurso

Autor

Doctor Matias Madou

Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.

Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.

¿Quieres más?

Sumérjase en nuestras últimas ideas sobre codificación segura en el blog.

Nuestra amplia biblioteca de recursos tiene como objetivo potenciar el enfoque humano de la mejora de la codificación segura.

Ver blog
¿Quieres más?

Obtenga las últimas investigaciones sobre la seguridad impulsada por los desarrolladores

Nuestra amplia biblioteca de recursos está repleta de recursos útiles, desde libros blancos hasta seminarios web, que le ayudarán a iniciarse en la codificación segura orientada a los desarrolladores. Explórela ahora.

Centro de recursos

Cómo convertirse en un ingeniero DevSecOps de primera clase

Publicado el 28 de febrero de 2020
Por el doctor Matias Madou

Al igual que la propia tecnología, las herramientas, las técnicas y los procesos óptimos de desarrollo de código evolucionan rápidamente. Los seres humanos tenemos una necesidad insaciable de más software, más características, más funcionalidad... y lo queremos más rápido que nunca, más cualitativo y, además, seguro. Hace sólo unos años, el desarrollo ágil era la próxima gran cosa que se utilizaba para dividir grandes trozos de trabajo en piezas más pequeñas, y ser capaz de adaptarse rápidamente a los rápidos ciclos de retroalimentación procedentes del cliente. Antes de eso, el método Waterfall era el rey de la colina.

Aunque muchas personas y organizaciones están pasando de Waterfall a Agile -y no todo el mundo está ahí todavía, seamos realistas- ya se están encontrando con un nuevo problema: los equipos de desarrollo y sus homólogos de operaciones siguen trabajando en silos. En este entorno, ¿cómo pueden los equipos pequeños que trabajan de forma ágil cumplir la promesa de un despliegue y una entrega más rápidos?

DevOps, un apelativo que es una combinación de desarrollo y operaciones, se creó para fusionar las funciones de los equipos de desarrolladores y de operaciones a la hora de crear nuevo software. En esencia, se trataba de ayudar a los desarrolladores a asumir la responsabilidad de poner las cosas en producción, en lugar de arrojarlas por encima de la valla al equipo de operaciones y convertirlas en su responsabilidad.

Ciertamente, pueden realizar envíos más rápidos -incluso un par de veces al día-, lo que parece jugar en el callejón de Agile. Sin embargo, DevOps sigue creando un gran equipo mixto de ingenieros y personal de operaciones, que puede no estar tan alineado con Agile en la realidad. En última instancia, es mejor pensar en DevOps como una evolución de Agile, ya que las metodologías son similares en muchos aspectos, y complementarias en su diferencia. DevOps promueve una integración y un despliegue continuos y automatizados, lo que es esencial para permitir lanzamientos frecuentes, pero no es suficiente a nivel de equipo, y aquí es donde entra Agile. Agile permite a los equipos, especialmente a los más pequeños, seguir el ritmo de estas rápidas publicaciones y de los cambiantes requisitos, sin dejar de lado las tareas y la colaboración. Ciertamente, parece ideal -y el proceso puede mantener a los equipos en el camino hacia el objetivo final-, pero no está exento de problemas.

El software creado con las mejores prácticas de DevOps sigue teniendo el potencial de tropezar en la primera pelea con el jefe: el equipo de seguridad. Cuando el código es examinado por los especialistas en seguridad de aplicaciones tradicionales/de cascada, ya sea con herramientas o con una compleja revisión manual, a menudo encuentran riesgos y vulnerabilidades inaceptables que deben ser corregidos a posteriori. El proceso de adaptación de las correcciones de seguridad en las aplicaciones terminadas no es rápido ni fácil... y es mucho más caro para la organización.

Entonces, si el mundo está avanzando más allá de Waterfall, Agile y ahora DevOps, ¿cuál es la solución? Y como desarrollador, ¿cuál es tu papel para seguir el ritmo de estos cambios de enfoque?

Las técnicas de desarrollo están en constante evolución, pero afortunadamente, esta no es un cambio tan grande. Las organizaciones sólo necesitan poner el "Sec" en "DevOps"... y así nació DevSecOps. Un objetivo principal de DevSecOps es romper las barreras y abrir la colaboración entre los equipos de desarrollo, operaciones y, por último, pero no menos importante, los equipos de seguridad. DevSecOps se ha convertido tanto en una táctica de ingeniería de software como en una cultura que aboga por la automatización y la supervisión de la seguridad en todo el ciclo de vida del desarrollo de software.

Esto puede parecer un proceso más a nivel de organización, quizás uno con "demasiados cocineros" cuando se trata de un desarrollador con una larga lista de funciones que construir. Sin embargo, la metodología DevSecOps abre una oportunidad para que los desarrolladores conscientes de la seguridad realmente brillen.

El brillante futuro de las DevSecOps

Entonces, ¿por qué querría un programador convertirse en ingeniero de DevSecOps? Tal vez tengas algo de experiencia en DevOps (o incluso en Agile) pero quieras dar el siguiente paso para convertirte en un experto en DevSecOps. En primer lugar, es bueno saber que es un movimiento muy inteligente, y no solo en la búsqueda de hacer que el mundo esté a salvo de costosos ciberataques. Los expertos afirman que la demanda de personal de ciberseguridad con talento se está disparando sin fin a la vista. Aquellos que dominen las DevSecOps pueden esperar una carrera larga y rentable.

La seguridad laboral de los ingenieros de DevSecOps está aún más asegurada, porque a diferencia de las tácticas tradicionales de ciberseguridad, como el escaneo de vulnerabilidades con una serie de herramientas basadas en software, DevSecOps requiere personas que sepan implementar la seguridad mientras codifican. Como señalan los analistas de Booz, Allen y Hamilton en su blog titulado 5 Myths of Adopting DevSecOps (5 mitos de la adopción de DevSecOps ), las organizaciones quieren e incluso necesitan DevSecOps, pero simplemente no pueden comprarlo. DevSecOps es una metodología que permite a los equipos multifuncionales integrar las tecnologías y colaborar durante todo el ciclo de vida del desarrollo de software, y que requiere personas cualificadas, gestión del cambio y un compromiso continuo de las múltiples partes interesadas.

Según Booz, Allen y Hamilton, las empresas pueden comprar aplicaciones y herramientas para ayudar con ciertos aspectos de DevSecOps, como el software de gestión de lanzamientos, "pero son realmente sus equipos de entrega los que lo hacen posible". Ellos son los que impulsan la mejora continua que ofrece DevSecOps y su cambio cultural y de paradigma.

Las organizaciones no pueden "comprar" un programa viable de DevSecOps; hay que construirlo y mantenerlo, utilizando una serie de herramientas, conocimientos internos y orientación que eleve la cultura de la seguridad, al tiempo que tenga sentido para el negocio. No es fácil, pero está lejos de ser imposible.

Cómo se puede patear el culo en el movimiento DevSecOps

Uno de los primeros pasos en el camino para convertirse en un ingeniero de DevSecOps es darse cuenta de que es tanto una cultura como un conjunto de técnicas. Requiere la voluntad de implementar la seguridad como parte de cada trozo de código que se crea, y el deseo de proteger proactivamente a su organización mediante la búsqueda activa de fallos de seguridad y vulnerabilidades mientras se codifica, corrigiéndolos mucho antes de que lleguen a la producción. La mayoría de los ingenieros de DevSecOps se toman su profesión y sus habilidades muy en serio. La organización profesional DevSecOps tiene incluso un manifiesto en el que se exponen sus creencias.

El manifiesto es un poco pesado, ya que los manifiestos rara vez son de lectura ligera. Pero en el centro hay algunas verdades que todos los grandes ingenieros de DevSecOps deberían aprender a adoptar, como:

  • Date cuenta de que el equipo de seguridad de las aplicaciones es tu aliado. En la mayoría de las organizaciones, los especialistas en seguridad de las aplicaciones están en desacuerdo con los desarrolladores, ya que siempre están devolviendo el código terminado para que se trabaje más en él. Los equipos de AppSec tampoco suelen tener mucho cariño a los desarrolladores, ya que pueden retrasar la puesta en producción del código terminado mediante la introducción de errores de seguridad comunes. Sin embargo, un ingeniero DevSecOps inteligente se dará cuenta de que los objetivos de los equipos de seguridad son, en última instancia, los mismos que los de los desarrolladores y codificadores. No es necesario que sean los mejores amigos, pero establecer una relación de trabajo tranquila y colaborativa es vital para el éxito.
  • Practique y perfeccione sus técnicas de codificación segura. Si puedes encontrar formas de que las aplicaciones sean vulnerables mientras se están construyendo, entonces cerrar esas lagunas puede detener a futuros hackers en su camino. Por supuesto, esto requiere tanto una comprensión de las vulnerabilidades como las herramientas para ayudar a solucionarlas. Las páginas del blogSecure Code Warrior pueden dar una idea de las vulnerabilidades más comunes y peligrosas que se pueden encontrar, así como consejos prácticos y desafíos para poner a prueba sus conocimientos. El aspecto más importante es mantener la seguridad en primer plano y dedicar tiempo a la formación de tamaño reducido que le ayude a ampliar sus conocimientos. Es habitual que las interacciones de un desarrollador con la seguridad sean bastante anodinas -incluso negativas-, pero la actualización de los conocimientos en materia de seguridad es un gran paso en la carrera, y no tiene por qué ser una tarea.
  • Recuerde: Las superestrellas de DevSecOps contribuyen a una cultura de seguridad positiva en su organización. En lugar de centrarse en los objetivos del pasado, como la entrega rápida de aplicaciones sin tener en cuenta sus problemas inherentes, es importante hacer que la búsqueda y la corrección de vulnerabilidades en el código en desarrollo sea una prioridad absoluta. La seguridad debe ser vista como un trabajo de todos, y todos deben compartir la adulación y las recompensas que vienen de desplegar aplicaciones efectivas y altamente seguras cada vez.

Puede ayudar a cultivar una increíble cultura de la seguridad en su organización defendiendo la codificación segura y las mejores prácticas de seguridad desde el principio, recomendando soluciones de formación y asegurándose de que ningún programador se quede atrás en el mundo de DevSecOps, en el que todo está en juego y en el que todo es rápido. El único código bueno es el código seguro, y los desarrolladores capacitados y conscientes de la seguridad son piezas vitales del rompecabezas. Las recompensas personales y profesionales merecen la pena, y con miles de millones de registros de datos personales comprometidos cada año (y en aumento), te necesitamos. Ocupa tu puesto en primera línea y ayuda a defenderte de los malos en nuestro mundo digital.

Matias Madou, Ph.D. es el CTO y cofundador de Secure Code Warrior. Es un experto en seguridad, desarrollador de larga data y adicto a Fortnite.

Nos gustaría contar con su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Siempre trataremos sus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
Para enviar el formulario, habilite las cookies "Analytics". Siéntase libre de desactivarlas de nuevo una vez que haya terminado.