Cómo convertirse en un ingeniero DevSecOps de primera clase
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.
El mundo está empezando a pasar de Waterfall, Agile y ahora DevOps, así que ¿cuál es la siguiente solución? Y como desarrollador, ¿cuál es tu papel para seguir el ritmo de estos cambios de enfoque?
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
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.
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.
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.
Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
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.
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.
Índice
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Evaluación comparativa de las competencias en materia de seguridad: optimización del diseño seguro en la empresa
El movimiento Secure-by-Design es el futuro del desarrollo de software seguro. Conozca los elementos clave que las empresas deben tener en cuenta cuando piensan en una iniciativa Secure-by-Design.
DigitalOcean reduce su deuda de seguridad con Secure Code Warrior
El uso por parte de DigitalOcean de la formación Secure Code Warrior ha reducido significativamente la deuda de seguridad, permitiendo a los equipos centrarse más en la innovación y la productividad. La mejora de la seguridad ha reforzado la calidad de sus productos y su ventaja competitiva. De cara al futuro, SCW Trust Score les ayudará a seguir mejorando las prácticas de seguridad y a continuar impulsando la innovación.
Recursos para empezar
La puntuación de confianza revela el valor de las iniciativas de mejora de la seguridad mediante el diseño
Nuestra investigación ha demostrado que la formación en código seguro funciona. Trust Score, que utiliza un algoritmo basado en más de 20 millones de puntos de datos de aprendizaje procedentes del trabajo de más de 250 000 alumnos en más de 600 organizaciones, revela su eficacia a la hora de reducir las vulnerabilidades y cómo hacer que la iniciativa sea aún más eficaz.
Seguridad reactiva frente a seguridad preventiva: Prevenir es mejor que curar
La idea de introducir la seguridad preventiva en el código y los sistemas heredados al mismo tiempo que en las aplicaciones más recientes puede parecer desalentadora, pero un planteamiento basado en el diseño seguro, aplicado mediante la mejora de las competencias de los desarrolladores, puede aplicar las mejores prácticas de seguridad a esos sistemas. Es la mejor oportunidad que tienen muchas organizaciones de mejorar su seguridad.
Ventajas de la evaluación comparativa de las competencias de seguridad de los desarrolladores
La creciente atención que se presta al código seguro y a los principios del diseño seguro exige que los desarrolladores reciban formación en ciberseguridad desde el principio del proceso de desarrollo de software, con herramientas como Secure Code Warrior's Trust Score, que ayudan a medir y mejorar sus progresos.
Impulsando iniciativas de seguridad por diseño para empresas con éxito significativo
Nuestro último documento de investigación, Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise, es el resultado de un análisis profundo de iniciativas reales de Secure-by-Design a nivel empresarial y de la derivación de enfoques de mejores prácticas basados en hallazgos basados en datos.