Mitigar la deuda técnica con seguridad impulsada por los desarrolladores

Publicado el 15 de febrero de 2023
por Taylor Broadfoot
ESTUDIO DE CASO

Mitigar la deuda técnica con seguridad impulsada por los desarrolladores

Publicado el 15 de febrero de 2023
por Taylor Broadfoot
Ver recurso
Ver recurso
Imagen abstracta en negro y rojo con el texto "mitigating technical debt with developer-driven security" sobre ella.
Imagen abstracta en negro y rojo con el texto "mitigating technical debt with developer-driven security" sobre ella.

Hablemos de la deuda 

Casi todo el mundo sabe ya que la ciberdelincuencia se ha convertido en un grave problema al que se enfrenta nuestra economía mundial. En 2022, el coste medio de una violación de datos en Estados Unidos ascendía a 9,44 millones de dólares, frente a los 9,05 millones del año anterior. Es importante no ignorar el coste del código inseguro y su deuda técnica acumulada. Según el informe 2022 Consortium for Information and Software Quality: The Cost of Poor Software Quality, se estima que el coste de la mala calidad del software en EE.UU. ha crecido hasta los 2,41 billones de dólares y la deuda técnica de software acumulada ha crecido hasta los 1,52 billones de dólares. 

Los crecientes costes de abordar el código inseguro y su deuda técnica se han convertido en el mayor obstáculo para realizar cualquier cambio en las bases de código existentes, dejándolas así vulnerables a la explotación y a las amenazas externas. El estado de la seguridad del software se enfrenta a una crisis existencial: sabemos que tenemos que mejorar nuestra postura de seguridad y abordar la deuda técnica acumulada, pero las barreras son enormes: 

  • Se calcula que en EE.UU. hay unos 300.000 puestos de trabajo vacantes para desarrolladores de software e informáticos, con una tasa de crecimiento prevista del 15%. 
  • Se prevé que en 2025 el 40% de los presupuestos de TI se destinarán simplemente a mantener la deuda tecnológica.
  • 1/3 de las horas semanales de los desarrolladores se dedican, por término medio, a hacer frente a la deuda tecnológica.

Las soluciones rápidas son arriesgadas y cuestan más a largo plazo 

¿Qué es la deuda técnica y por qué es tan importante? La deuda técnica se acumula cuando los responsables de la toma de decisiones optan por una solución a corto plazo para un problema de desarrollo de software, en lugar de una solución más exhaustiva y a largo plazo. Esto conlleva un importante coste oculto que las organizaciones deben pagar más adelante. Al igual que una tarjeta de crédito al límite, la deuda técnica tiene dos componentes principales:

  • Principal : se refiere al coste total de refactorizar o arreglar el software para que alcance un nivel deseado de mantenibilidad y seguridad.
  • Interés: el esfuerzo adicional que los desarrolladores dedican a realizar esos cambios para abordar únicamente la deuda técnica, y no nuevas funcionalidades. Cada minuto invertido en código que no es del todo correcto añade interés a la deuda.
Cómo crece el impacto de la deuda técnica con el tiempo

Se puede llegar a un estado de "quiebra técnica" cuando el coste de las nuevas funciones, la corrección de errores y el mantenimiento supera el presupuesto del proyecto, lo que hunde considerablemente el valor de la aplicación informática. 

Sin embargo, una cierta acumulación de deudas, como en la vida, es normal y, en la mayoría de los casos, algo esperado. 

Lo ideal sería que todos los desarrolladores de software redujeran al máximo los errores antes de enviar el código. Sin embargo, se enfrentan a una difícil disyuntiva: para ser competitiva, una organización puede querer entregar funciones o productos a los clientes rápidamente a un coste mínimo. Como resultado, la calidad de la aplicación se resiente porque los KPI de los desarrolladores se basan en la rapidez de la entrega y en el coste inicial de construirla. Lo que no se tiene en cuenta son las deficiencias acumuladas y las vulnerabilidades potenciales del código. Esto lo deja listo para errores o vulnerabilidades de seguridad más adelante o, peor aún, para ser explotado por malos actores. 

Pero ahí está el enigma: ¿hay alguna forma diferente de lanzar productos rápidamente sin acumular una enorme deuda técnica? 

El coste de encontrar y corregir deficiencias y vulnerabilidades es el mayor gasto del ciclo de vida de desarrollo de software. Cuanto antes se detecten los problemas en el ciclo de vida del desarrollo, más rentable será la entrega global. 

La deuda técnica puede convertirse en deuda de seguridad

Muchos desarrolladores intentan sortear este inconveniente recurriendo al código fuente abierto para avanzar con rapidez y, en el mejor de los casos, utilizar una solución ya probada. Sin embargo, depender en gran medida del software de código abierto a menudo presenta sus propios riesgos

  • El 82% de los componentes de código abierto no estaban actualizados (es decir, no tenían parches o no estaban bien soportados). 
  • El 75% de las bases de código contenían vulnerabilidades (frente al 60% en 2018), y el 49% vulnerabilidades de alto riesgo 
  • Se identificó una media de 82 vulnerabilidades por código base. 

Esto hace proliferar un subconjunto de la deuda técnica: la deuda de seguridad. La deuda de seguridad es la acumulación de vulnerabilidades en una aplicación informática que hace más difícil o incluso imposible proteger los datos y sistemas de un ataque.

Uno de los ejemplos más notorios es el de Equifax, el gigante de la información crediticia que sufrió una brecha en 2017 porque no había parcheado una vulnerabilidad conocida en Apache Struts, un popular marco de aplicaciones web de código abierto. El parche estaba disponible desde hacía meses, pero la brecha puso en peligro datos personales cruciales de más de 147 millones de personas.

Por tanto, hay que prestar más atención a las prácticas de codificación segura, ya que muchas aplicaciones han alcanzado una masa crítica no sólo en su deuda técnica, sino en la densidad de debilidades y vulnerabilidades de seguridad de la propia aplicación.

Esto puede dar lugar a enormes pérdidas, que pueden ser tangibles o intangibles: 

Daños a la reputación: La pérdida de confianza de los clientes puede tener un impacto extremadamente negativo en el futuro. Esto puede incluir daños a la marca, pérdida de ventas y costosos problemas legales como resultado de una infracción. 

Impacto normativo y de cumplimiento: Si un fallo de seguridad puede hacer que una empresa incumpla un plazo y/o sus obligaciones contractuales. El incumplimiento de un acuerdo de nivel de servicio puede acarrear a una empresa problemas con las autoridades reguladoras, con multas significativas. 

Costes de reparación: Tras una avería o interrupción, suele ser necesario realizar trabajos adicionales para compensar la pérdida de productividad.

Prevención de la deuda técnica y de seguridad en el SDLC

Muchas organizaciones ya están cambiando su presupuesto para crear una postura de seguridad más fuerte. El año pasado, Google se comprometió a destinar 10.000 millones de dólares en 5 años a financiar un programa para reforzar la ciberseguridad. La administración Biden también solicitó 2.100 millones de dólares en el presupuesto discrecional de 2022 para la Agencia de Ciberseguridad y Seguridad de las Infraestructuras (CISA). 

Proporcionar más recursos y formación para ayudar a reforzar el crecimiento profesional y los conocimientos de sus desarrolladores puede ser el primer paso para establecer normas de calidad para todo el código enviado a producción. 

El coste de encontrar y corregir una vulnerabilidad o un defecto aumenta exponencialmente cuanto más tarde se encuentre y se aborde en el ciclo de desarrollo del software. Y como hemos visto, con tanto tiempo dedicado a abordar la deuda técnica y de seguridad, las organizaciones están creando sus propias pérdidas al renunciar a la innovación y al tiempo dedicado a nuevas características o productos. 

En 2022, la mayoría de los equipos de desarrolladores afirmaron que DevOps o DevSecOps era su metodología preferida, y no es de extrañar por qué. DevSecOps integra la seguridad en cada etapa del ciclo de vida de desarrollo de software para ofrecer aplicaciones mejores y más seguras. Los equipos de seguridad y desarrollo siguen trabajando en silos y teniendo tensiones, pero está claro que esto tiene que cambiar para ayudar a las empresas a tener éxito. DevOps forma parte del modo en que las organizaciones intentan derribar barreras y remodelar la cultura. El objetivo fundamental de DevSecOps es aumentar la colaboración entre AppSec/Seguridad con los desarrolladores desde el principio del ciclo de vida de desarrollo del software.

Fuente: Consorcio para la Calidad de la Información y el Software: The Cost of Poor Software Quality in the US 2022 informe 

Implantar una nueva forma de pensar sobre la deuda técnica y la seguridad no tiene por qué ser una hazaña monumental. Establecer una mentalidad proactiva a través de la formación es fundamental cuando se trata de mejorar la concienciación y las habilidades en materia de seguridad de la comunidad de desarrolladores de una organización. Una sólida formación en codificación segura para desarrolladores que garantice un aprendizaje continuo, interactivo, pertinente y contextual es una necesidad. Un enfoque verdaderamente holístico debe tener en cuenta lo que se necesita para fomentar una auténtica cultura de seguridad dirigida por los desarrolladores. Puede que sea necesario cambiar el enfoque de las formas típicas de gestionar y crear equipos de desarrolladores.

Crear un cambio de cultura no es fácil, pero Secure Code Warrior le ayuda a identificar a sus campeones en seguridad y a dotar a los desarrolladores y a las organizaciones de las habilidades adecuadas para afrontar los retos de seguridad actuales, en constante cambio. 

Lanzar un programa de código seguro atractivo y escalable es una inversión que merece la pena por el enfoque preventivo a largo plazo de la seguridad, en lugar de la forma reactiva del pasado. En última instancia, esto ayuda a mitigar los costosos riesgos de una brecha, educar a los desarrolladores sobre cómo encontrar y corregir vulnerabilidades rápidamente y facilitar una forma más ágil de centrarse en el desarrollo de productos y acelerar el tiempo de comercialización.

Ver recurso
Ver recurso

¿Quiere saber más?

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ón
Autor

Taylor Broadfoot

Taylor Broadfoot-Nymark es Directora de Marketing de Producto en Secure Code Warrior. Ha escrito varios artículos sobre ciberseguridad y aprendizaje ágil, y también dirige lanzamientos de productos, estrategia GTM y defensa del cliente.

¿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

Mitigar la deuda técnica con seguridad impulsada por los desarrolladores

Publicado el 15 de febrero de 2023
Por Taylor Broadfoot

Hablemos de la deuda 

Casi todo el mundo sabe ya que la ciberdelincuencia se ha convertido en un grave problema al que se enfrenta nuestra economía mundial. En 2022, el coste medio de una violación de datos en Estados Unidos ascendía a 9,44 millones de dólares, frente a los 9,05 millones del año anterior. Es importante no ignorar el coste del código inseguro y su deuda técnica acumulada. Según el informe 2022 Consortium for Information and Software Quality: The Cost of Poor Software Quality, se estima que el coste de la mala calidad del software en EE.UU. ha crecido hasta los 2,41 billones de dólares y la deuda técnica de software acumulada ha crecido hasta los 1,52 billones de dólares. 

Los crecientes costes de abordar el código inseguro y su deuda técnica se han convertido en el mayor obstáculo para realizar cualquier cambio en las bases de código existentes, dejándolas así vulnerables a la explotación y a las amenazas externas. El estado de la seguridad del software se enfrenta a una crisis existencial: sabemos que tenemos que mejorar nuestra postura de seguridad y abordar la deuda técnica acumulada, pero las barreras son enormes: 

  • Se calcula que en EE.UU. hay unos 300.000 puestos de trabajo vacantes para desarrolladores de software e informáticos, con una tasa de crecimiento prevista del 15%. 
  • Se prevé que en 2025 el 40% de los presupuestos de TI se destinarán simplemente a mantener la deuda tecnológica.
  • 1/3 de las horas semanales de los desarrolladores se dedican, por término medio, a hacer frente a la deuda tecnológica.

Las soluciones rápidas son arriesgadas y cuestan más a largo plazo 

¿Qué es la deuda técnica y por qué es tan importante? La deuda técnica se acumula cuando los responsables de la toma de decisiones optan por una solución a corto plazo para un problema de desarrollo de software, en lugar de una solución más exhaustiva y a largo plazo. Esto conlleva un importante coste oculto que las organizaciones deben pagar más adelante. Al igual que una tarjeta de crédito al límite, la deuda técnica tiene dos componentes principales:

  • Principal : se refiere al coste total de refactorizar o arreglar el software para que alcance un nivel deseado de mantenibilidad y seguridad.
  • Interés: el esfuerzo adicional que los desarrolladores dedican a realizar esos cambios para abordar únicamente la deuda técnica, y no nuevas funcionalidades. Cada minuto invertido en código que no es del todo correcto añade interés a la deuda.
Cómo crece el impacto de la deuda técnica con el tiempo

Se puede llegar a un estado de "quiebra técnica" cuando el coste de las nuevas funciones, la corrección de errores y el mantenimiento supera el presupuesto del proyecto, lo que hunde considerablemente el valor de la aplicación informática. 

Sin embargo, una cierta acumulación de deudas, como en la vida, es normal y, en la mayoría de los casos, algo esperado. 

Lo ideal sería que todos los desarrolladores de software redujeran al máximo los errores antes de enviar el código. Sin embargo, se enfrentan a una difícil disyuntiva: para ser competitiva, una organización puede querer entregar funciones o productos a los clientes rápidamente a un coste mínimo. Como resultado, la calidad de la aplicación se resiente porque los KPI de los desarrolladores se basan en la rapidez de la entrega y en el coste inicial de construirla. Lo que no se tiene en cuenta son las deficiencias acumuladas y las vulnerabilidades potenciales del código. Esto lo deja listo para errores o vulnerabilidades de seguridad más adelante o, peor aún, para ser explotado por malos actores. 

Pero ahí está el enigma: ¿hay alguna forma diferente de lanzar productos rápidamente sin acumular una enorme deuda técnica? 

El coste de encontrar y corregir deficiencias y vulnerabilidades es el mayor gasto del ciclo de vida de desarrollo de software. Cuanto antes se detecten los problemas en el ciclo de vida del desarrollo, más rentable será la entrega global. 

La deuda técnica puede convertirse en deuda de seguridad

Muchos desarrolladores intentan sortear este inconveniente recurriendo al código fuente abierto para avanzar con rapidez y, en el mejor de los casos, utilizar una solución ya probada. Sin embargo, depender en gran medida del software de código abierto a menudo presenta sus propios riesgos

  • El 82% de los componentes de código abierto no estaban actualizados (es decir, no tenían parches o no estaban bien soportados). 
  • El 75% de las bases de código contenían vulnerabilidades (frente al 60% en 2018), y el 49% vulnerabilidades de alto riesgo 
  • Se identificó una media de 82 vulnerabilidades por código base. 

Esto hace proliferar un subconjunto de la deuda técnica: la deuda de seguridad. La deuda de seguridad es la acumulación de vulnerabilidades en una aplicación informática que hace más difícil o incluso imposible proteger los datos y sistemas de un ataque.

Uno de los ejemplos más notorios es el de Equifax, el gigante de la información crediticia que sufrió una brecha en 2017 porque no había parcheado una vulnerabilidad conocida en Apache Struts, un popular marco de aplicaciones web de código abierto. El parche estaba disponible desde hacía meses, pero la brecha puso en peligro datos personales cruciales de más de 147 millones de personas.

Por tanto, hay que prestar más atención a las prácticas de codificación segura, ya que muchas aplicaciones han alcanzado una masa crítica no sólo en su deuda técnica, sino en la densidad de debilidades y vulnerabilidades de seguridad de la propia aplicación.

Esto puede dar lugar a enormes pérdidas, que pueden ser tangibles o intangibles: 

Daños a la reputación: La pérdida de confianza de los clientes puede tener un impacto extremadamente negativo en el futuro. Esto puede incluir daños a la marca, pérdida de ventas y costosos problemas legales como resultado de una infracción. 

Impacto normativo y de cumplimiento: Si un fallo de seguridad puede hacer que una empresa incumpla un plazo y/o sus obligaciones contractuales. El incumplimiento de un acuerdo de nivel de servicio puede acarrear a una empresa problemas con las autoridades reguladoras, con multas significativas. 

Costes de reparación: Tras una avería o interrupción, suele ser necesario realizar trabajos adicionales para compensar la pérdida de productividad.

Prevención de la deuda técnica y de seguridad en el SDLC

Muchas organizaciones ya están cambiando su presupuesto para crear una postura de seguridad más fuerte. El año pasado, Google se comprometió a destinar 10.000 millones de dólares en 5 años a financiar un programa para reforzar la ciberseguridad. La administración Biden también solicitó 2.100 millones de dólares en el presupuesto discrecional de 2022 para la Agencia de Ciberseguridad y Seguridad de las Infraestructuras (CISA). 

Proporcionar más recursos y formación para ayudar a reforzar el crecimiento profesional y los conocimientos de sus desarrolladores puede ser el primer paso para establecer normas de calidad para todo el código enviado a producción. 

El coste de encontrar y corregir una vulnerabilidad o un defecto aumenta exponencialmente cuanto más tarde se encuentre y se aborde en el ciclo de desarrollo del software. Y como hemos visto, con tanto tiempo dedicado a abordar la deuda técnica y de seguridad, las organizaciones están creando sus propias pérdidas al renunciar a la innovación y al tiempo dedicado a nuevas características o productos. 

En 2022, la mayoría de los equipos de desarrolladores afirmaron que DevOps o DevSecOps era su metodología preferida, y no es de extrañar por qué. DevSecOps integra la seguridad en cada etapa del ciclo de vida de desarrollo de software para ofrecer aplicaciones mejores y más seguras. Los equipos de seguridad y desarrollo siguen trabajando en silos y teniendo tensiones, pero está claro que esto tiene que cambiar para ayudar a las empresas a tener éxito. DevOps forma parte del modo en que las organizaciones intentan derribar barreras y remodelar la cultura. El objetivo fundamental de DevSecOps es aumentar la colaboración entre AppSec/Seguridad con los desarrolladores desde el principio del ciclo de vida de desarrollo del software.

Fuente: Consorcio para la Calidad de la Información y el Software: The Cost of Poor Software Quality in the US 2022 informe 

Implantar una nueva forma de pensar sobre la deuda técnica y la seguridad no tiene por qué ser una hazaña monumental. Establecer una mentalidad proactiva a través de la formación es fundamental cuando se trata de mejorar la concienciación y las habilidades en materia de seguridad de la comunidad de desarrolladores de una organización. Una sólida formación en codificación segura para desarrolladores que garantice un aprendizaje continuo, interactivo, pertinente y contextual es una necesidad. Un enfoque verdaderamente holístico debe tener en cuenta lo que se necesita para fomentar una auténtica cultura de seguridad dirigida por los desarrolladores. Puede que sea necesario cambiar el enfoque de las formas típicas de gestionar y crear equipos de desarrolladores.

Crear un cambio de cultura no es fácil, pero Secure Code Warrior le ayuda a identificar a sus campeones en seguridad y a dotar a los desarrolladores y a las organizaciones de las habilidades adecuadas para afrontar los retos de seguridad actuales, en constante cambio. 

Lanzar un programa de código seguro atractivo y escalable es una inversión que merece la pena por el enfoque preventivo a largo plazo de la seguridad, en lugar de la forma reactiva del pasado. En última instancia, esto ayuda a mitigar los costosos riesgos de una brecha, educar a los desarrolladores sobre cómo encontrar y corregir vulnerabilidades rápidamente y facilitar una forma más ágil de centrarse en el desarrollo de productos y acelerar el tiempo de comercialización.

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.