Con el avance de la tecnología, cada día es más fácil para el pirata informático obtener acceso a datos confidenciales, desactivar aplicaciones, etc. Por lo tanto, la seguridad de las aplicaciones se ha convertido en una preocupación importante. Un método utilizado para implementar la seguridad de las aplicaciones en el proceso de diseño es a través del MODELADO DE AMENAZA.
Las amenazas pueden ser cualquier cosa que pueda aprovechar una vulnerabilidad para violar la seguridad y alterar, borrar o dañar negativamente objetos u objetos de interés. El modelado de amenazas se puede realizar en cualquier etapa de desarrollo, pero si se realiza al principio, ayudará en la determinación temprana de las amenazas que se pueden tratar adecuadamente.
El propósito del modelado de amenazas es identificar, comunicar y comprender las amenazas y la mitigación a las partes interesadas de la organización lo antes posible. La documentación de este proceso proporciona a los analistas y defensores del sistema un análisis completo de los perfiles de los atacantes probables, los vectores de ataque más probables y los activos más deseados por el atacante.
El modelado de amenazas ayuda a lograr lo siguiente:
- Define la seguridad de la aplicación.
- Identifica e investiga posibles amenazas y vulnerabilidades.
- Resultados en la búsqueda de errores de arquitectura antes
El equipo de desarrollo podrá implementar la seguridad de las aplicaciones como parte del proceso de diseño y desarrollo mediante el uso de modelos de amenazas para identificar amenazas, riesgos y mitigación durante la fase de diseño. Hay varias metodologías de modelado de amenazas disponibles. Discutiremos 8 metodologías:
- STRIDE:
STRIDE es una metodología desarrollada por Microsoft para el modelado de amenazas. Proporciona un mnemotécnico para las amenazas de seguridad en seis categorías:- Suplantación de identidad: un adversario que se hace pasar por otro usuario, componente u otro sistema que tiene una identidad en el sistema que se está modelando.
- Manipulación: La modificación de datos dentro del sistema para lograr un objetivo malicioso.
- Repudio: La capacidad de un adversario de negar la realización de alguna actividad maliciosa en ausencia de pruebas suficientes.
- Divulgación de información: La exposición de datos protegidos a un usuario al que de otro modo no se le permite acceder a esos datos.
- Denegación de servicio: ocurre cuando un adversario utiliza medios ilegítimos para asumir un nivel de confianza del que tiene actualmente con privilegios diferentes.
- Elevación de privilegios: esta amenaza ocurre cuando un atacante viola con éxito los controles administrativos de un sistema y altera sus permisos y privilegios configurados. De esta manera, los atacantes pueden llegar desde sistemas de bajo nivel en la red hasta sistemas de mayor autoridad, que contienen información confidencial.
- DREAD:
DREAD se propuso para el modelado de amenazas, pero debido a calificaciones inconsistentes, Microsoft lo abandonó en 2008. Actualmente, OpenStack y muchas otras corporaciones lo utilizan. Proporciona un mnemotécnico para las amenazas de seguridad de calificación de riesgo utilizando cinco categorías. Las categorías son:- Potencial de daño: clasifica la extensión del daño que ocurriría si se explota una vulnerabilidad.
- Reproducibilidad: clasifica qué tan fácil es reproducir un ataque
- Explotabilidad: asigna un número al esfuerzo requerido para lanzar el ataque.
- Usuarios afectados: un valor que caracteriza cuántas personas se verán afectadas si un exploit se vuelve ampliamente disponible.
- Descubrimiento: Mide la probabilidad de qué tan fácil es descubrir la amenaza.
- PASTA:
el proceso de simulación de ataques y análisis de amenazas (PASTA) es una metodología de siete pasos centrada en el riesgo. El propósito es proporcionar un proceso dinámico de identificación, enumeración y puntuación de amenazas. Una vez finalizado el modelo de amenazas, los expertos en la materia de seguridad desarrollan un análisis detallado de las amenazas identificadas. Finalmente, se pueden enumerar los controles de seguridad apropiados. Esto ayuda a los desarrolladores a desarrollar una estrategia de mitigación centrada en los activos mediante el análisis de la vista centrada en el atacante de una aplicación.
- Trike:
la atención se centra en el uso de modelos de amenazas como herramienta de gestión de riesgos. Los modelos de amenazas se basan en el modelo de requisitos . El modelo de requisitos establece el nivel de riesgo “aceptable” definido por las partes interesadas asignado a cada clase de activo. El análisis del modelo de requisitos produce un modelo de amenazas a partir del cual se identifican las amenazas y se les asignan valores de riesgo. El modelo de amenazas completado se usa para construir un modelo de riesgo sobre la base de activos, roles, acciones y exposición al riesgo calculada.
- VAST:
VAST es un acrónimo de Visual, Agile, and Simple Threat modelling. La metodología proporciona resultados procesables para las necesidades únicas de varias partes interesadas, como arquitectos y desarrolladores de aplicaciones, personal de seguridad cibernética, etc. Proporciona un esquema único de visualización de aplicaciones e infraestructuras, de modo que la creación y el uso de modelos de amenazas no requieren experiencia específica en la materia de seguridad. .
- Árbol de
ataque: los árboles de ataque son el diagrama conceptual que muestra cómo se puede atacar un activo o un objetivo. Estos son diagramas de varios niveles que consisten en un Node raíz, hojas y Nodes secundarios. De abajo hacia arriba, los Nodes secundarios son condiciones que deben cumplirse para que el Node principal directo sea verdadero. Un ataque se considera completo cuando la raíz está satisfecha. Cada Node puede ser satisfecho solo por sus Nodes secundarios directos.Supongamos que hay 1 nieto debajo del Node raíz. En tal caso, se deben tomar varios pasos para llevar a cabo un ataque, ya que primero se deben cumplir las condiciones del nieto para que el Node principal directo sea verdadero y luego se debe cumplir la condición del Node principal directo para que el Node raíz sea verdadero. También tiene opciones AND y OR que representan alternativas y diferentes pasos para lograr ese objetivo.
- Sistema de puntuación de vulnerabilidad común (CVSS):
proporciona una forma de capturar las características principales de una vulnerabilidad y producir una puntuación numérica (que va de 0 a 10, siendo 10 la más grave) que representa su gravedad.Luego, la puntuación se puede traducir a una representación cualitativa (como baja, media, alta y crítica) para ayudar a las organizaciones a evaluar y priorizar adecuadamente sus procesos de gestión de vulnerabilidades.
- T-MAP:
T-MAP es un enfoque que se utiliza en los sistemas Commercial Off The Shelf (COTS) para calcular los pesos de las rutas de ataque. Este modelo se desarrolla utilizando diagramas de clases UML, diagramas de clases de acceso, diagramas de clases de vulnerabilidades, diagramas de clases de activos objetivo y diagramas de clases de valores afectados.
Actualmente, hay ocho herramientas disponibles para el modelado de amenazas:
- Herramienta de modelado de amenazas de Microsoft:
esta herramienta identifica amenazas según la clasificación del modelo de amenazas STRIDE y se basa en el Diagrama de flujo de datos (DFD), que se puede usar para descubrir amenazas asociadas con los activos de TI generales en una organización.
- MyAppSecurity:
ofrece la primera herramienta de modelado de amenazas disponible comercialmente: ThreatModeler. Utiliza un esquema de clasificación de amenazas VAST y se basa en el diagrama de flujo de procesos (PFD), que proporciona una vista detallada de los riesgos y lagunas vulnerables.
- IriuRisk:
ofrece tanto una comunidad como una versión comercial de la herramienta. Esta herramienta se usa principalmente para crear y mantener un modelo de amenaza en vivo a través de todo el SDLC. Se conecta con varias herramientas diferentes como OWASP ZAP, BDD-Security, etc. para facilitar la automatización e involucra cuestionarios totalmente personalizables y bibliotecas de patrones de riesgo.
- securiCAD –
Es una herramienta de modelado de amenazas y gestión de riesgos desarrollada por la empresa escandinava previsti. El riesgo se identifica y cuantifica mediante la realización de simulaciones de ataques automatizados a las arquitecturas de TI actuales y futuras y brinda soporte para la toma de decisiones en función de los hallazgos. securiCAD se ofrece tanto en ediciones comerciales como comunitarias.
- SD Elements de Security Compass:
es una plataforma de administración de requisitos de seguridad de software que incluye capacidades de modelado de amenazas automatizadas. Se realiza un breve cuestionario sobre los detalles técnicos y los controladores de cumplimiento de la aplicación para generar un conjunto de amenazas. Las contramedidas se incluyen en forma de tareas procesables para los desarrolladores.
- Modelado de árboles de ataque:
se utilizan herramientas comerciales como SecurITree, AttackTree+ y herramientas de código abierto como ADTool, Ent, SeaMonster para modelar árboles de ataque.
- CVSS 3.0:
CVSS se encuentra actualmente en la versión 3.0. Se utiliza para el modelo CVSS. Además de esto, la puntuación CVV de vulnerabilidades identificadas para diferentes hardware y software se puede analizar en línea, ya que ayuda a identificar amenazas potenciales que pueden dañar el sistema.
- Tiramisú:
esta herramienta se utiliza para el enfoque T-MAP. Se utiliza para calcular una lista de todas las rutas de ataque y generar amenazas generales en términos del peso total de las rutas de ataque.
Cómo crear un modelo de amenazas:
todos los procesos de modelado de amenazas comienzan con la creación de una representación visual de la aplicación o el sistema que se analiza. Hay dos formas de crear una representación visual:
- Representación visual mediante el diagrama de flujo de datos:
Microsoft Methodology, PASTA y Trike desarrollan una representación visual de la infraestructura de la aplicación utilizando diagramas de flujo de datos (DFD). Los DFD se desarrollaron en la década de 1970 como herramientas para que los ingenieros de sistemas proporcionen una visualización de alto nivel de cómo funciona una aplicación dentro de un sistema para mover, almacenar y manipular datos. Los profesionales de seguridad agregaron el concepto de límites de confianza a principios de la década de 2000 en un intento de hacerlos aplicables para el modelado de amenazas.Los DFD se utilizan para identificar categorías amplias, generalmente utilizando el esquema de clasificación de amenazas STRIDE. La lista de amenazas identificadas a través de dichos métodos es limitada y, por lo tanto, es un mal punto de partida para el modelado. El enfoque basado en DFD utiliza tres pasos principales:
- Ver el sistema como un adversario
- Caracterizar el sistema
- Determinar las amenazas
- DFD no representa con precisión el diseño y el flujo de la aplicación.
- Analizan cómo fluyen los datos en lugar de cómo interactúan los usuarios con el sistema.
- El modelado de amenazas basado en DFD no tiene un enfoque estándar debido a que diferentes personas crean modelos de amenazas con diferentes resultados para el mismo escenario o problema.
- Representación visual mediante el diagrama de flujo de procesos:
para hacer frente a las limitaciones del modelado de amenazas basado en DFD, los diagramas de flujo de procesos se introdujeron en 2011 como una herramienta para permitir que los equipos de desarrollo de software ágiles crearan modelos de amenazas basados en el proceso de diseño de la aplicación. Estos fueron diseñados específicamente para ilustrar cómo piensa el atacante.El atacante no analiza el flujo de datos. Más bien, intentan descubrir cómo pueden moverse a través de una aplicación que no era compatible con el modelo de amenazas basado en DFD.
Su análisis pone énfasis en cómo abusar de los casos de uso ordinarios para acceder a activos u otros objetivos específicos.
La metodología VAST utiliza PFD para la representación visual de una aplicación.Los modelos de amenazas basados en PFD ven las aplicaciones desde la perspectiva de las interacciones del usuario. Los siguientes son los pasos para el modelado de amenazas basado en PFD:
- Diseño de casos de uso de la aplicación
- Se definen los protocolos de comunicación por los cuales los individuos se mueven entre los casos de uso
- Incluyendo los diversos controles técnicos, como formularios, cookies, etc.
- Los modelos de amenazas basados en PFD son fáciles de entender y no requieren ninguna experiencia en seguridad.
- Creación de un mapa de procesos, que muestra cómo se mueven las personas a través de una aplicación. Por lo tanto, es fácil entender la aplicación desde el punto de vista del atacante.
Publicación traducida automáticamente
Artículo escrito por rashi_garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA