Modelado de Amenazas en el Desarrollo De Software: Un Arte Perdido

Código: 20240326-WSPUB02

Palabras claves: Modelado de amenazas, Ciclo de vida del desarrollo de software (SDLC), Seguridad de la información, Frameworks de modelado de amenazas, Gestión de riesgos, Desarrollo de software seguro, Procesos de seguridad, Metodologías de seguridad, Attack Tree (árbol de ataque), MITRE ATT&CK

Resumen ejecutivo: El modelado de amenazas es un enfoque avanzado de las ciberamenazas que permite a las organizaciones planificar posibles escenarios de amenazas. Es una forma sistemática en la que los profesionales de la seguridad evalúan el riesgo y las consecuencias de una amenaza. El modelado de amenazas es una representación del sistema y un catálogo completo de amenazas, riesgos y vulnerabilidades potenciales. Pone a prueba sistemas y marcos estáticos para identificar debilidades y deficiencias antes de que un actor de amenaza pueda explotarlas.

Palabras claves: Modelado de amenazas, Ciclo de vida del desarrollo de software (SDLC), Seguridad de la información, Frameworks de modelado de amenazas, Gestión de riesgos, Desarrollo de software seguro, Procesos de seguridad, Metodologías de seguridad, Attack Tree (árbol de ataque), MITRE ATT&CK


Modelado de Amenazas en el Desarrollo De Software: Un Arte Perdido


El Ciclo de Vida del Desarrollo de Software (SDLC) es, de hecho, un proceso largo y complejo con muchos pasos que proporcionan artefactos y resultados que son consumidos en la siguiente etapa del propio ciclo, generando un constante "proceso que se alimenta a sí mismo".


Esto puede ser auto-sostenible si se hace correctamente, sin embargo hay elementos que deben incluirse en este ciclo de vida que son "clave" para permitir un ecosistema más "seguro" y "fiable". Ahí es donde entra en juego el Modelado de amenazas.


Hay un viejo refrán que dice que más vale prevenir que curar, esa es la idea que subyace a el Modelado de amenazas. 


Las ciberdefensas pasivas y reactivas llevan mucho tiempo luchando por mantenerse a la altura de la evolución del mercado de la ciberdelincuencia. Sin embargo, últimamente han empezado a bordear el límite de la obsolescencia. En ninguna parte esto es más cierto que en ciberseguridad, ya que el hecho de "añadir procesos y verificaciones" o más "cajas brillantes y más fresco", no evita que la gente y principalmente organizaciones y empresas sean TODAVÍA hackeadas. ¿Por qué?. Porque estamos tratando de resolver (en el mejor de los casos, en otros simplemente "añadiendo vendas" a las heridas) varios componentes con "software" o elementos externos que, en la mayoría de los casos pueden realmente resolver el problema o al menos mitigarlo; pero el inconveniente de esto es que, la "solución" también añade más "superficie de ataque" a una superficie real que estamos tratando de gestionar.


¿Qué es el Modelado de amenazas?


Como señala la Universidad Carnegie Mellon, a alto nivel, toda metodología de modelado de amenazas consiste en lo siguiente: 



El modelado de amenazas es precisamente lo que parece. Es un enfoque avanzado y estructurado de las ciber amenazas que permite a una organización planificar posibles escenarios de amenazas. Un enfoque de modelado de amenazas pone a prueba los sistemas y marcos estáticos de su empresa, lo que le permite identificar debilidades y deficiencias antes de que un actor de amenazas pueda explotarlas. 


A un alto nivel, el modelado de amenazas es una forma sistemática en que los profesionales de la seguridad evalúan el riesgo y las consecuencias potenciales de las amenazas a la seguridad de los sistemas y el software. Aunque el modelado de amenazas suele realizarse durante la fase de desarrollo del software, también puede llevarse a cabo de forma pro-activa en una variedad de activos tecnológicos de la empresa para supervisar el riesgo en curso.


Tradicionalmente, el modelado de amenazas tiene sus raíces en el ciclo de vida del desarrollo de software, identificando decisiones de diseño o prácticas de desarrollo que podrían dar lugar a riesgos a largo plazo. En un contexto moderno, sin embargo, su papel va mucho más allá. Como parte de una estrategia completa de gestión de riesgos, el modelado de amenazas evalúa cada sistema individual, identificando y priorizando cada amenaza individual antes de que pueda causar daños a la organización. 


Si parece que el modelado de amenazas tiene mucho en común con la evaluación del impacto en la empresa, no es por casualidad. De hecho, esta última utiliza modelos de amenazas como parte de su proceso de análisis. Es natural que haya un gran solapamiento entre ambos.


¿Por qué es importante este "modelado de amenazas"?


Cuando forma parte de la cultura de seguridad de una organización, el modelado de amenazas puede ayudar a los equipos de seguridad a garantizar que se aplican las protecciones necesarias y que son capaces de hacer frente a las amenazas cambiantes en toda su plataforma. Si no se realiza una revisión sistemática del software y los sistemas, las amenazas nuevas o imprevistas pueden quedar expuestas y sin defensa, dejando a las organizaciones vulnerables a ciberataques o filtraciones de datos. 


Los marcos de modelado de amenazas también le ayudan a contextualizar los riesgos identificados definiendo cómo podría explotarse cada uno de ellos. Pueden ofrecerle la oportunidad de documentar preventivamente tácticas de mitigación en caso de que un sistema sea blanco de un ataque. Por último, pueden utilizarse para orientar la inversión en TI e informar sobre el despliegue de nuevos controles de ciberseguridad. 


El modelado de amenazas también puede ayudar a los profesionales de la seguridad a evaluar la seguridad del software recién desarrollado o adquirido, proporcionando un método para comprender completamente cómo las nuevas aplicaciones y herramientas pueden ser vulnerables, cómo se pueden mitigar estos riesgos y qué impactos potenciales pueden tener si no se abordan.


También el modelado de amenazas (MdA o Threat Modelling) puede ayudar en lo siguientes ámbitos :



¿Cuántos marcos de trabajo existen?


Según este artículo del Carnegie Mellon  existen al menos 12 marcos de modelado de amenazas diferentes que podemos utilizar. Los más conocidos son STRIDE, PASTA, VAST, Trike, CVSS (en conjunción con OWASP Top 10 y RRM), Attack Trees, Security Cards, y hTMM. El marco que debe utilizar la organización puede ser uno de éstos u otro completamente diferente de los mencionados por Carnegie Mellon.


Sin embargo, debemos tener en cuenta algunas cosas para poder elegir correctamente:


Si no se sabe cómo empezar, puede utilizar un diagrama/dibujo y algunas notas, o puede utilizar el "Marco de 4 preguntas de Shostack para el modelado de amenazas" , que consiste en las 4 preguntas siguientes:



Hay varias maneras de hacer este proceso, que en su esencia tiene la idea de "desplazar hacia la izquierda" el proceso de seguridad, básicamente participando en las fases iniciales del Ciclo de Vida del Software (Software Development Lifecycle - SDLC) desde un "enfoque y mentalidad de seguridad".


Aunque la elección depende mucho del contexto actual y del tipo de organizacion, es fundamental reconocer el valor significativo que ofrece un cuestionario sólido sobre modelado de amenazas, incluso para aquellos que dudan o no están dispuestos a participar en el proceso completo de este mismo. Sirve como herramienta vital no sólo en casos de auténtica incertidumbre ("no lo sabemos"), sino también para quienes posponen estratégicamente la práctica ("queremos hacerlo"). Aunque esto último puede ser una medida temporal, es importante no restar importancia a los beneficios a largo plazo que el modelado de amenazas aporta al futuro desarrollo, integración y mantenimiento de sistemas actuales o nuevos. De hecho, su poder y utilidad no deberían descartarse fácilmente, independientemente de las inclinaciones actuales de “entregar mas y rapido” a “entregar algo mejor”.


Tags



GLOSARIO


REFERENCIAS

https://www.centraleyes.com/why-is-threat-modeling-so-important

https://resources.infosecinstitute.com/topics/management-compliance-auditing/6-benefits-of-cyber-threat-modeling/

https://github.com/adamshostack/4QuestionFrame

https://insights.sei.cmu.edu/blog/threat-modeling-12-available-methods/





Autor(es)

Luis Alberto Araneda Villegas

BIO

Oracle Cloud Infraestructure Senior Tech Architect y Cloud Professional.

Poseedor de un diploma avanzado en TI con mención en seguridad en redes, así como diversos cursos en Informática Forense, Seguridad de la Información, Ciberseguridad, GRC y otros.

Apasionado de la tecnología, ha trabajado desde soporte técnico, pasando por DBA, Junior Net Admin, Junior SysAdmin hasta arquitectura de sistemas y Soluciones Cloud.

Fanatico y evangelizador de la seguridad en ambientes Cloud, asi como un avido lector de todo lo relacionado al ML y la ciencia de datos.