Incentivar a los desarrolladores es la clave para mejorar las prácticas de seguridad

Publicado el 19 de octubre de 2021
por Pieter Danhieux
ESTUDIO DE CASO

Incentivar a los desarrolladores es la clave para mejorar las prácticas de seguridad

Publicado el 19 de octubre de 2021
por Pieter Danhieux
Ver recurso
Ver recurso

El panorama de las ciberamenazas es cada vez más complejo. Los atacantes exploran constantemente las redes en busca de aplicaciones, programas e instancias en la nube vulnerables, y el último sabor del mes son las API, ampliamente consideradas como una victoria fácil gracias a sus controles de seguridad a menudo laxos. Son tan persistentes que a veces las nuevas aplicaciones pueden verse comprometidas y explotadas a las pocas horas de su despliegue. El informe Verizon 2021 Data Breach Investigations Report deja muy claro que las amenazas que se ciernen sobre las empresas y organizaciones son hoy más peligrosas que en cualquier otro momento de la historia.

Cada vez está más claro que la única manera de fortificar realmente el software que se crea es asegurarse de que está construido sobre un código seguro. En otras palabras, la mejor manera de detener la invasión de los actores de la amenaza es negarles un punto de apoyo en sus aplicaciones en primer lugar. Una vez que se empieza a librar esa guerra, la mayoría de las ventajas se inclinan hacia los atacantes.

Esta situación dio lugar primero al desarrollo ágil y a DevOps, y más tarde a todo el movimiento DevSecOps, en el que la seguridad es una responsabilidad compartida por todos los implicados en el proceso de creación de software, desde el desarrollo hasta el despliegue. Pero la base de esa pirámide, y posiblemente la parte más importante, son los desarrolladores. Mientras que la mayoría de los desarrolladores quieren hacer su parte y escribir código seguro, muchas de las organizaciones para las que trabajan son menos partidarias de los cambios que requiere un cambio de prioridades tan importante.

Derrota por diseño

Durante muchos años, a los desarrolladores se les dijo que su función principal en sus organizaciones era construir y desplegar rápidamente aplicaciones en un entorno de ritmo rápido, donde el negocio nunca se detiene y los clientes nunca duermen. Cuanto más rápido pudieran codificar los desarrolladores y más funciones pudieran desplegar, más valiosos se consideraban en términos de sus evaluaciones de rendimiento.

La seguridad era una idea tardía, si es que se tenía en cuenta. En su lugar, se dejaba todo en manos de los equipos de seguridad de las aplicaciones (AppSec). Los equipos de AppSec no gustaban a la mayoría de los desarrolladores porque a menudo enviaban las aplicaciones terminadas de vuelta al desarrollo para aplicar parches de seguridad o reescribir el código para remediar las vulnerabilidades. Y cada hora que un desarrollador pasaba trabajando en una aplicación que ya estaba "terminada" era una hora que no estaba creando nuevas aplicaciones y funciones, lo que disminuía su rendimiento (y su valor, a los ojos de una empresa especialmente punitiva).

Y entonces el entorno de las amenazas cambió la importancia y la prioridad de la seguridad para la mayoría de las empresas. Según el reciente informe Cost of a Data Breach Report de IBM y el Ponemon Institute, la violación media de la ciberseguridad cuesta ahora unos 3,8 millones de dólares por incidente, aunque esto no es el límite superior. Sólo una empresa incurrió en pérdidas de 1.300 millones de dólares tras una brecha en su red. Las empresas de hoy quieren la seguridad que ofrece DevSecOps, pero, lamentablemente, han tardado en recompensar a los desarrolladores que responden a esa llamada.

Decir simplemente a los equipos de desarrollo que tengan en cuenta la seguridad no funcionará, sobre todo si se les sigue incentivando basándose únicamente en la velocidad. De hecho, dentro de este sistema, los desarrolladores que se toman el tiempo para aprender sobre seguridad y asegurar su código podrían estar perdiendo las mejores evaluaciones de rendimiento y las lucrativas bonificaciones que sus colegas menos conscientes de la seguridad siguen ganando. Es casi como si las empresas estuvieran manipulando involuntariamente el sistema para sus propios fallos de seguridad, y esto se debe a su percepción del equipo de desarrollo. Si no los ven como la primera línea de seguridad, entonces es muy poco probable que un plan viable para utilizar su fuerza de trabajo llegue a buen puerto.

Y esto ni siquiera tiene en cuenta la falta de formación. Algunos desarrolladores muy cualificados tienen décadas de experiencia en la codificación, pero muy poca cuando se trata de seguridad... después de todo, nunca se les exigió. A menos que una empresa ofrezca un buen programa de formación a sus programadores cualificados, difícilmente puede esperar que sus desarrolladores adquieran repentinamente nuevas habilidades y las pongan en práctica de una manera significativa que reduzca activamente las vulnerabilidades.

Premiar a los desarrolladores por sus buenas prácticas de seguridad

La buena noticia es que la inmensa mayoría de los desarrolladores hacen su trabajo porque lo encuentran desafiante y gratificante, y porque disfrutan del respeto que su posición conlleva. Michael Shpilt, programador profesional de toda la vida, escribió recientemente sobre todas las cosas que le motivan a él y a sus colegas programadores en su trabajo de desarrollo. Sí, incluye la compensación monetaria entre esos incentivos, pero está sorprendentemente lejos en la lista. En su lugar, prioriza la emoción de crear algo nuevo, el aprendizaje de nuevas habilidades y la satisfacción de saber que su trabajo va a ser utilizado directamente para ayudar a otros. También habla de querer sentirse valorado dentro de su empresa y su comunidad. En resumen, los desarrolladores son como mucha gente buena que se enorgullece de su trabajo.

Los desarrolladores como Shpilt y otros no quieren que los actores de las amenazas comprometan su código y lo utilicen para perjudicar a su empresa, o a los mismos usuarios a los que intentan ayudar. Pero, no pueden cambiar repentinamente sus prioridades a la seguridad sin apoyo. De lo contrario, es casi como si el sistema trabajara contra ellos.

Para ayudar a los equipos de desarrollo a mejorar su destreza en ciberseguridad, primero hay que enseñarles las habilidades necesarias. Utilizar el aprendizaje con andamiaje y herramientas como la formación Just-in-Time (JiT) puede hacer que este proceso sea mucho menos doloroso, y ayuda a aprovechar los conocimientos existentes en el contexto adecuado. 

El principio de JiT es que los desarrolladores reciban los conocimientos adecuados en el momento justo. Por ejemplo, si una herramienta de formación de desarrolladores de JiT detecta que un programador está creando un fragmento de código inseguro, o está introduciendo accidentalmente una vulnerabilidad en su aplicación, puede activar y mostrar al desarrollador cómo podría solucionar ese problema, y cómo escribir un código más seguro para realizar esa misma función en el futuro.

Con el compromiso de mejorar las competencias, hay que eliminar los antiguos métodos de evaluación de los desarrolladores basados únicamente en la velocidad. En su lugar, los programadores deben ser recompensados en función de su capacidad para crear código seguro, y los mejores desarrolladores deben convertirse en campeones de seguridad que ayuden al resto del equipo a mejorar sus habilidades. Y esos campeones deben ser recompensados tanto con el prestigio de la empresa como con una compensación económica. También es importante recordar que los desarrolladores no suelen tener una experiencia positiva con la seguridad, por lo que animarles con un aprendizaje positivo y divertido y con incentivos que respondan a sus intereses contribuirá en gran medida a garantizar tanto la retención de conocimientos como el deseo de seguir adquiriendo habilidades.

Las empresas pueden seguir incluyendo la velocidad de codificación como una parte de la evaluación de un desarrollador, pero con la expectativa de que el desarrollo de aplicaciones seguras puede llevar un poco más de tiempo, especialmente cuando los codificadores están aprendiendo esas nuevas habilidades.

Las DevSecOps pueden ser la última defensa contra las artes oscuras de un panorama de amenazas cada vez más peligroso. Eso sí, no olvides que los campeones de este nuevo mundo, los desarrolladores que crean constantemente nuevo código, deben ser respetados y compensados por su trabajo.


¿Quiere poner a prueba sus conocimientos de seguridad frente a otros desarrolladores de todo el mundo? Consulta la página web de Secure Code Warrior’s Devlympics 2021y podrás llevarte un gran premio en nuestra página web tournaments.

Ver recurso
Ver recurso

Autor

Pieter Danhieux

Pieter Danhieux es un experto en seguridad mundialmente reconocido, con más de 12 años de experiencia como consultor de seguridad y 8 años como instructor principal de SANS enseñando técnicas ofensivas sobre cómo atacar y evaluar organizaciones, sistemas y personas en busca de debilidades de seguridad. En 2016, fue reconocido como una de las personas más cool de la tecnología en Australia (Business Insider), galardonado como Profesional de Seguridad Cibernética del Año (AISA - Asociación Australiana de Seguridad de la Información) y tiene certificaciones GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

¿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

Incentivar a los desarrolladores es la clave para mejorar las prácticas de seguridad

Publicado el 19 de octubre de 2021
Por Pieter Danhieux

El panorama de las ciberamenazas es cada vez más complejo. Los atacantes exploran constantemente las redes en busca de aplicaciones, programas e instancias en la nube vulnerables, y el último sabor del mes son las API, ampliamente consideradas como una victoria fácil gracias a sus controles de seguridad a menudo laxos. Son tan persistentes que a veces las nuevas aplicaciones pueden verse comprometidas y explotadas a las pocas horas de su despliegue. El informe Verizon 2021 Data Breach Investigations Report deja muy claro que las amenazas que se ciernen sobre las empresas y organizaciones son hoy más peligrosas que en cualquier otro momento de la historia.

Cada vez está más claro que la única manera de fortificar realmente el software que se crea es asegurarse de que está construido sobre un código seguro. En otras palabras, la mejor manera de detener la invasión de los actores de la amenaza es negarles un punto de apoyo en sus aplicaciones en primer lugar. Una vez que se empieza a librar esa guerra, la mayoría de las ventajas se inclinan hacia los atacantes.

Esta situación dio lugar primero al desarrollo ágil y a DevOps, y más tarde a todo el movimiento DevSecOps, en el que la seguridad es una responsabilidad compartida por todos los implicados en el proceso de creación de software, desde el desarrollo hasta el despliegue. Pero la base de esa pirámide, y posiblemente la parte más importante, son los desarrolladores. Mientras que la mayoría de los desarrolladores quieren hacer su parte y escribir código seguro, muchas de las organizaciones para las que trabajan son menos partidarias de los cambios que requiere un cambio de prioridades tan importante.

Derrota por diseño

Durante muchos años, a los desarrolladores se les dijo que su función principal en sus organizaciones era construir y desplegar rápidamente aplicaciones en un entorno de ritmo rápido, donde el negocio nunca se detiene y los clientes nunca duermen. Cuanto más rápido pudieran codificar los desarrolladores y más funciones pudieran desplegar, más valiosos se consideraban en términos de sus evaluaciones de rendimiento.

La seguridad era una idea tardía, si es que se tenía en cuenta. En su lugar, se dejaba todo en manos de los equipos de seguridad de las aplicaciones (AppSec). Los equipos de AppSec no gustaban a la mayoría de los desarrolladores porque a menudo enviaban las aplicaciones terminadas de vuelta al desarrollo para aplicar parches de seguridad o reescribir el código para remediar las vulnerabilidades. Y cada hora que un desarrollador pasaba trabajando en una aplicación que ya estaba "terminada" era una hora que no estaba creando nuevas aplicaciones y funciones, lo que disminuía su rendimiento (y su valor, a los ojos de una empresa especialmente punitiva).

Y entonces el entorno de las amenazas cambió la importancia y la prioridad de la seguridad para la mayoría de las empresas. Según el reciente informe Cost of a Data Breach Report de IBM y el Ponemon Institute, la violación media de la ciberseguridad cuesta ahora unos 3,8 millones de dólares por incidente, aunque esto no es el límite superior. Sólo una empresa incurrió en pérdidas de 1.300 millones de dólares tras una brecha en su red. Las empresas de hoy quieren la seguridad que ofrece DevSecOps, pero, lamentablemente, han tardado en recompensar a los desarrolladores que responden a esa llamada.

Decir simplemente a los equipos de desarrollo que tengan en cuenta la seguridad no funcionará, sobre todo si se les sigue incentivando basándose únicamente en la velocidad. De hecho, dentro de este sistema, los desarrolladores que se toman el tiempo para aprender sobre seguridad y asegurar su código podrían estar perdiendo las mejores evaluaciones de rendimiento y las lucrativas bonificaciones que sus colegas menos conscientes de la seguridad siguen ganando. Es casi como si las empresas estuvieran manipulando involuntariamente el sistema para sus propios fallos de seguridad, y esto se debe a su percepción del equipo de desarrollo. Si no los ven como la primera línea de seguridad, entonces es muy poco probable que un plan viable para utilizar su fuerza de trabajo llegue a buen puerto.

Y esto ni siquiera tiene en cuenta la falta de formación. Algunos desarrolladores muy cualificados tienen décadas de experiencia en la codificación, pero muy poca cuando se trata de seguridad... después de todo, nunca se les exigió. A menos que una empresa ofrezca un buen programa de formación a sus programadores cualificados, difícilmente puede esperar que sus desarrolladores adquieran repentinamente nuevas habilidades y las pongan en práctica de una manera significativa que reduzca activamente las vulnerabilidades.

Premiar a los desarrolladores por sus buenas prácticas de seguridad

La buena noticia es que la inmensa mayoría de los desarrolladores hacen su trabajo porque lo encuentran desafiante y gratificante, y porque disfrutan del respeto que su posición conlleva. Michael Shpilt, programador profesional de toda la vida, escribió recientemente sobre todas las cosas que le motivan a él y a sus colegas programadores en su trabajo de desarrollo. Sí, incluye la compensación monetaria entre esos incentivos, pero está sorprendentemente lejos en la lista. En su lugar, prioriza la emoción de crear algo nuevo, el aprendizaje de nuevas habilidades y la satisfacción de saber que su trabajo va a ser utilizado directamente para ayudar a otros. También habla de querer sentirse valorado dentro de su empresa y su comunidad. En resumen, los desarrolladores son como mucha gente buena que se enorgullece de su trabajo.

Los desarrolladores como Shpilt y otros no quieren que los actores de las amenazas comprometan su código y lo utilicen para perjudicar a su empresa, o a los mismos usuarios a los que intentan ayudar. Pero, no pueden cambiar repentinamente sus prioridades a la seguridad sin apoyo. De lo contrario, es casi como si el sistema trabajara contra ellos.

Para ayudar a los equipos de desarrollo a mejorar su destreza en ciberseguridad, primero hay que enseñarles las habilidades necesarias. Utilizar el aprendizaje con andamiaje y herramientas como la formación Just-in-Time (JiT) puede hacer que este proceso sea mucho menos doloroso, y ayuda a aprovechar los conocimientos existentes en el contexto adecuado. 

El principio de JiT es que los desarrolladores reciban los conocimientos adecuados en el momento justo. Por ejemplo, si una herramienta de formación de desarrolladores de JiT detecta que un programador está creando un fragmento de código inseguro, o está introduciendo accidentalmente una vulnerabilidad en su aplicación, puede activar y mostrar al desarrollador cómo podría solucionar ese problema, y cómo escribir un código más seguro para realizar esa misma función en el futuro.

Con el compromiso de mejorar las competencias, hay que eliminar los antiguos métodos de evaluación de los desarrolladores basados únicamente en la velocidad. En su lugar, los programadores deben ser recompensados en función de su capacidad para crear código seguro, y los mejores desarrolladores deben convertirse en campeones de seguridad que ayuden al resto del equipo a mejorar sus habilidades. Y esos campeones deben ser recompensados tanto con el prestigio de la empresa como con una compensación económica. También es importante recordar que los desarrolladores no suelen tener una experiencia positiva con la seguridad, por lo que animarles con un aprendizaje positivo y divertido y con incentivos que respondan a sus intereses contribuirá en gran medida a garantizar tanto la retención de conocimientos como el deseo de seguir adquiriendo habilidades.

Las empresas pueden seguir incluyendo la velocidad de codificación como una parte de la evaluación de un desarrollador, pero con la expectativa de que el desarrollo de aplicaciones seguras puede llevar un poco más de tiempo, especialmente cuando los codificadores están aprendiendo esas nuevas habilidades.

Las DevSecOps pueden ser la última defensa contra las artes oscuras de un panorama de amenazas cada vez más peligroso. Eso sí, no olvides que los campeones de este nuevo mundo, los desarrolladores que crean constantemente nuevo código, deben ser respetados y compensados por su trabajo.


¿Quiere poner a prueba sus conocimientos de seguridad frente a otros desarrolladores de todo el mundo? Consulta la página web de Secure Code Warrior’s Devlympics 2021y podrás llevarte un gran premio en nuestra página web tournaments.

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.

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