Las amenazas a la seguridad cibernética son abundantes y están en constante cambio. Es por eso que el modelado de amenazas, el diagrama de diversas amenazas e impactos, es una práctica crítica y necesaria para prepararse para cualquier amenaza que se presente.
El modelado de amenazas, como el análisis FODA, ayuda a las empresas a construir un esquema de defensa contra amenazas completo y en continua evolución. Cuando se planifican e implementan correctamente, los modelos de amenazas de ciberseguridad garantizarán que cada rincón y grieta de tus redes y aplicaciones permanezca protegido ahora y a medida que surjan nuevas amenazas.
Te explicamos aquí qué es el modelado de amenazas y los métodos de modelado de amenazas existentes.
Indice
¿Qué es una amenaza?
Una amenaza se refiere a cualquier método que las partes no aprobadas pueden utilizar para obtener acceso a información, redes y aplicaciones sensibles. Algunas de estas amenazas pueden tomar la forma de virus informáticos, botnets, ataques a aplicaciones y estafas de phishing, entre otros.
Estas son algunas amenazas comunes que las empresas deben planificar mediante el uso de técnicas de modelado de amenazas:
Malware
El malware, abreviatura de software malicioso, es una categoría de amenazas de ciberseguridad que incluye amenazas como virus informáticos, spyware y adware. Es una de las amenazas más comunes para atacar tanto a empresas como a personas.
Las empresas pueden utilizar el modelado de amenazas para asegurarse de que sus firewalls estén adecuadamente preparados, que se minimicen las vulnerabilidades de día cero y que se documenten nuevas vulnerabilidades o firmas de malware. Una planificación adecuada, junto con un antivirus y otro software de seguridad, garantizará que las redes no se vean comprometidas por el malware.
Ataques DDoS
Los ataques DDoS (denegación de servicio distribuida) son un método para bombardear sitios web y aplicaciones web con enormes solicitudes de tráfico que sobrecargan los servidores en los que están alojados. Estos ataques son impulsados por miles de bots y son indistinguibles de los usuarios legítimos que intentan acceder al sitio.
Las empresas pueden modelar sus planes de defensa y respuesta para evitar que esto suceda. Las empresas pueden utilizar software de protección DDoS, software de equilibrio de carga y software de monitoreo de red para mejorar su capacidad de detectar ataques DDoS de forma temprana, equilibrar las cargas de trabajo correctamente y restringir el acceso al tráfico de visitantes malintencionados.
Phishing
El phishing es un método para obtener información del usuario a través de comunicaciones fraudulentas dirigidas directamente a las personas. A menudo se logra a través de correos electrónicos disfrazados como provenientes de una fuente legítima, pero devuelve la información del objetivo a la fuente real del pirata informático.
El phishing puede permitir a los piratas informáticos obtener acceso a información confidencial o aplicaciones privilegiadas. Las empresas pueden prevenir este tipo de delito cibernético mediante el uso de software de seguridad de correo electrónico para el filtrado y la identificación, junto con la formación de conciencia de seguridad para garantizar que los empleados puedan identificar comunicaciones fraudulentas.
¿Qué es el modelado de amenazas?
El modelado de amenazas es una forma de planificar y optimizar las operaciones de seguridad de la red. Los equipos de seguridad establecen sus objetivos, identifican vulnerabilidades y esbozan planes de defensa para prevenir y remediar las amenazas de ciberseguridad.
Estos son algunos componentes del modelado de amenazas que se pueden utilizar para mejorar las operaciones de seguridad y la eficacia:
Diseño seguro
El diseño seguro es necesario durante el desarrollo de la aplicación para garantizar la identificación y prevención de vulnerabilidades. El análisis de código y las pruebas de seguridad durante todas las etapas del desarrollo pueden ayudar a garantizar que se minimicen los errores, fallos y otras vulnerabilidades.
Las empresas pueden analizar su código en busca de fallos conocidos durante el desarrollo o dinámicamente a medida que se ejecuta una aplicación, y realizar pruebas de penetración después del desarrollo. Los datos resultantes se utilizan para planificar la mitigación de ataques futuros y para implementar actualizaciones relacionadas con nuevas amenazas.
Inteligencia de amenazas
Es importante mantener una base de datos actualizada de amenazas y vulnerabilidades para garantizar que las aplicaciones, los puntos finales y las redes estén preparados para defenderse de las amenazas emergentes. Estas bases de datos pueden consistir en información pública, residir en software de inteligencia de amenazas patentado o estar creadas internamente.
Identificación de activos
Es importante mantener los activos de software y de TI debidamente documentados en todo momento. Sin el seguimiento y la documentación adecuados, estos activos pueden tener fallos conocidos que no se identifican. Los nuevos activos, incluso los activos de terceros potencialmente peligrosos, pueden estar accediendo a las redes sin el conocimiento de los equipos de seguridad.
Capacidades de mitigación
Las capacidades de mitigación se refieren a la capacidad de un equipo de seguridad para detectar y resolver ataques a medida que surgen. Esto puede significar la identificación de tráfico malicioso y la eliminación de malware, o simplemente podría referirse a ponerte en contacto con tu proveedor de servicios de seguridad administrados. De cualquier manera, la mitigación es esencial para una planificación eficaz, de modo que los equipos sean conscientes de su capacidad para combatir las amenazas con sus recursos existentes.
Evaluación de riesgos
Una vez que se determina que el código de la aplicación es seguro y los puntos finales se implementan correctamente, las empresas pueden evaluar el riesgo general de sus diversos componentes de TI. Los componentes pueden puntuarse y clasificarse o simplemente identificarse como «en riesgo». De cualquier manera, serán identificados y asegurados en orden de importancia.
Mapeo y modelado
Estos métodos se combinan para crear flujos de trabajo visuales y planes de operaciones de seguridad con el objetivo de resolver problemas existentes y planificar amenazas futuras. Este tipo de modelado de amenazas se basa en un enfoque de múltiples ángulos y requiere que las amenazas se planifiquen desde todos los ángulos potenciales.
Los modelos de amenazas a los que les falta un componente de las medidas de planificación adecuadas pueden dejar los activos susceptibles a ataques. La implementación adecuada conducirá a una mitigación de amenazas más rápida en escenarios del mundo real y simplificará los procesos operativos asociados con la detección, mitigación y análisis.
¿Cómo funciona el modelado de amenazas?
El modelado de amenazas funciona identificando los tipos de agentes de amenazas que causan daño a una aplicación o sistema informático. Adopta la perspectiva de los piratas informáticos malintencionados para ver cuánto daño pueden hacer.
Al realizar el modelado de amenazas, las organizaciones realizan un análisis exhaustivo de la arquitectura del software, el contexto empresarial y otros artefactos (por ejemplo, especificaciones funcionales, documentación del usuario). Este proceso permite una comprensión más profunda y el descubrimiento de aspectos importantes del sistema.
Por lo general, las organizaciones realizan el modelado de amenazas durante la etapa de diseño (pero puede ocurrir en otras etapas) de una nueva aplicación para ayudar a los desarrolladores a encontrar vulnerabilidades y tomar conciencia de las implicaciones de seguridad de sus decisiones de diseño, código y configuración. Generalmente, los desarrolladores realizan el modelado de amenazas en cuatro pasos:
- Diagrama. ¿Qué estamos construyendo?
- Identifica las amenazas. ¿Qué puede salir mal?
- Mitigar ¿Qué estamos haciendo para defendernos de las amenazas?
- Validar ¿Hemos actuado en cada uno de los pasos anteriores?
Ventajas
Cuando se realiza correctamente, el modelado de amenazas puede proporcionar una línea de visión clara en un proyecto de software, lo que ayuda a justificar los esfuerzos de seguridad. El proceso de modelado de amenazas ayuda a una organización a documentar las amenazas de seguridad conocidas para una aplicación y a tomar decisiones racionales sobre cómo abordarlas. De lo contrario, los responsables de la toma de decisiones podrían actuar precipitadamente sobre la base de escasa o nula evidencia de apoyo.
En general, un modelo de amenazas bien documentado proporciona garantías que son útiles para explicar y defender la postura de seguridad de una aplicación o sistema informático. Y cuando la organización de desarrollo se toma en serio la seguridad, el modelado de amenazas es la forma más eficaz de hacer lo siguiente:
- Detectar problemas en las primeras etapas del ciclo de vida del desarrollo de software, incluso antes de que comience la codificación.
- Detectar fallos de diseño que los métodos de prueba tradicionales y las revisiones de código pueden pasar por alto.
- Evalúar nuevas formas de ataque que de otro modo no considerarías.
- Maximizar los presupuestos de pruebas ayudando a orientar las pruebas y la revisión del código.
- Identificar los requisitos de seguridad.
- Reparar los problemas antes del lanzamiento del software y evitar la costosa recodificación posterior a la implementación.
- Pensar en las amenazas más allá de los ataques estándar a los problemas de seguridad exclusivos de tu aplicación.
- Mantener los marcos por delante de los atacantes internos y externos relevantes para sus aplicaciones.
- Resaltar los activos, los agentes de amenazas y los controles para deducir los componentes a los que se dirigirán los atacantes.
- Modelar la ubicación de los agentes de amenazas, las motivaciones, las habilidades y las capacidades para ubicar a los atacantes potenciales en relación con la arquitectura del sistema.
Conceptos erróneos
Como proceso de seguridad, el modelado de amenazas está sujeto a varios conceptos erróneos. Algunas personas creen que el modelado de amenazas es solo una actividad de la etapa de diseño, algunas lo ven como un ejercicio opcional que las pruebas de penetración o la revisión del código pueden sustituir, y algunas piensan que el proceso es simplemente demasiado complicado.
Lo siguiente debería ayudar a disipar algunos de estos conceptos erróneos:
- Las pruebas de penetración y las revisiones de código no pueden sustituir el modelado de amenazas. Las pruebas de penetración y la revisión de código seguro son dos actividades efectivas para encontrar errores en el código. Sin embargo, las evaluaciones de seguridad (por ejemplo, el modelado de amenazas) son mejores para descubrir fallos de diseño.
- Hay una buena razón para realizar un modelo de amenazas después de la implementación. La comprensión de los problemas en la implementación actual influye en la estrategia futura de la arquitectura de seguridad, y la supervisión de las debilidades permite una reparación más rápida y eficaz. Sin comprender las amenazas potenciales a las que se enfrenta una aplicación, no puedes asegurarte de abordar todos los riesgos.
- El modelado de amenazas no es tan complicado. Muchos desarrolladores se sienten intimidados por la idea del modelado de amenazas. A primera vista, puede parecer abrumador. Sin embargo, si divides las tareas en pasos viables, realizar un modelo de amenazas en una aplicación web simple, o incluso en una arquitectura compleja, se vuelve sistemático. La clave es comenzar con las mejores prácticas básicas.
Mejores prácticas de modelado de amenazas
La mejor aplicación del modelado de amenazas está promoviendo la comprensión de la seguridad en todo el equipo. Es el primer paso para hacer que la seguridad sea responsabilidad de todos. Conceptualmente, el modelado de amenazas es un proceso simple.
Por lo tanto, considera estas cinco mejores prácticas básicas al crear o actualizar un modelo de amenazas:
- Define el alcance y la profundidad del análisis. Determina el alcance con las partes interesadas, luego analiza la profundidad del análisis para los equipos de desarrollo individuales para que puedan modelar las amenazas del software.
- Obtén una comprensión visual de lo que estás modelando. Crea un diagrama de los principales componentes del sistema (por ejemplo, servidor de aplicaciones, almacén de datos, cliente pesado , base de datos) y las interacciones entre esos componentes.
- Modela las posibilidades de ataque. Identifica los activos de software, los controles de seguridad y los agentes de amenazas y haz un diagrama de sus ubicaciones para crear un modelo de seguridad del sistema. Una vez que hayas modelado el sistema, puedes identificar qué podría salir mal (es decir, las amenazas) utilizando métodos como STRIDE.
- Identificar amenazas. Para producir una lista de posibles ataques, haz preguntas como las siguientes:
- ¿Existen caminos en los que un agente de amenazas pueda llegar a un activo sin pasar por un control?
- ¿Podría un agente de amenazas vencer este control de seguridad?
- ¿Qué debe hacer un agente de amenaza para derrotar este control?
- Crea una matriz de trazabilidad de controles de seguridad débiles o faltantes. Considera los agentes de amenaza y sigue sus rutas de control. Si llegas al activo de software sin pasar por un control de seguridad, es un ataque potencial. Si pasas por un control, considera si detendría a un agente de amenaza o si el agente tendría métodos para evitarlo.
Métodos
Las amenazas mencionadas anteriormente se pueden prevenir utilizando una serie de tácticas de modelado de amenazas diferentes. La siguiente sección describe algunas de las formas más comunes en que las empresas planifican y ponen en funcionamiento sus modelos de amenazas:
STRIDE
STRIDE ( Spoofing, Manipulación, Repudio, Divulgación de información, Denegación de servicio, Elevación de privilegios) es un modelo de amenaza temprano desarrollado por los empleados de Microsoft a fines de la década de 1990. Todavía se utiliza como modelo de proceso para los equipos de ciberseguridad.
El modelo responde a la pregunta: «¿Qué puede salir mal en este sistema en el que estamos trabajando?» Se puede utilizar como un método para recordar tipos de amenazas y como una forma de emparejar amenazas con objetivos.
PASTA
PASTA (Proceso de simulación de ataques y análisis de amenazas) es un proceso de modelado de siete pasos que se utiliza para definir objetivos, requisitos y procedimientos para las operaciones de seguridad. Los siete pasos son:
- Definir objetivos
- Definir alcance
- Descompensación de la aplicación
- Análisis de amenazas
- Detección de vulnerabilidades
- Enumeración de ataques
- Análisis de riesgo
El método ayuda a los profesionales de la seguridad a crear procesos flexibles de identificación, enumeración y puntuación de amenazas. PASTA proporciona una estructura de análisis centrada en el atacante para ayudar a los usuarios a crear una estrategia de respuesta centrada en los activos.
VAST
VAST (modelado visual, ágil y simple de amenazas) es un proceso de modelado maleable y escalable para la planificación de la seguridad a lo largo del ciclo de vida del desarrollo de software. Se basa en tres pilares: automatización, integración y colaboración.
El modelo se centra en los resultados procesables y las necesidades únicas de los desarrolladores, el personal de seguridad y los ejecutivos.
VAST se puede utilizar para el modelado de amenazas operacionales y de aplicaciones y usa diagramas de flujo de trabajo para ilustrar amenazas, activos, vulnerabilidades y herramientas de corrección de una manera comprensible. También está diseñado para reflejar los procesos operativos existentes de los equipos de desarrollo de software ágiles.
Trike
Trike se centra en el uso de modelos de amenazas como herramienta de gestión de riesgos. Los modelos de amenazas, basados en modelos de requisitos, establecen 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 en el que se identifican las amenazas y se les dan valores de riesgo. El modelo de amenazas completo se utiliza luego para construir un modelo de riesgo, teniendo en cuenta las acciones, los activos, los roles y la exposición al riesgo calculada.
DREAD
Propuesto para el modelado de amenazas, pero Microsoft lo abandonó en 2008 debido a calificaciones inconsistentes. Es esencialmente una forma de clasificar y evaluar los riesgos de seguridad en cinco categorías:
- Potencial de daño: clasifica el alcance del daño resultante de una debilidad explotada.
- Reproducibilidad: clasifica la facilidad de reproducción de un ataque.
- Explotabilidad: asigna una calificación numérica al esfuerzo necesario para lanzar el ataque.
- Usuarios afectados: un valor que representa cuántos usuarios se ven afectados si un exploit se vuelve ampliamente disponible.
- Capacidad de detección: mide qué tan fácil es descubrir la amenaza.
Árbol de ataque
El árbol es un diagrama conceptual que muestra cómo un activo u objetivo podría ser atacado, que consiste en un nodo raíz, con hojas y nodos secundarios agregados. Los nodos secundarios son condiciones que deben cumplirse para que el nodo principal directo sea verdadero. Cada nodo se satisface solo con sus nodos secundarios directos. También tiene las opciones «Y» y «O», que representan los pasos alternativos que se toman para lograr estos objetivos.
Sistema de puntuación de vulnerabilidad común (CVSS)
Este método proporciona una forma de capturar las características principales de una vulnerabilidad y asignar una puntuación numérica (que va de 0 a 10, siendo 10 el peor) que muestra su gravedad. Luego, la puntuación se traduce en una representación cualitativa (por ejemplo, baja, media, alta y crítica). Esta representación ayuda a las organizaciones a evaluar y priorizar eficazmente sus procesos únicos de gestión de vulnerabilidades.
T-MAP
T-MAP es un enfoque comúnmente utilizado en los sistemas comerciales listos para usar para calcular los pesos de las rutas de ataque. El modelo incorpora diagramas de clases UML, incluida la clase de acceso, la vulnerabilidad, los activos objetivo y el valor afectado.
OCTAVE
El proceso de evaluación de vulnerabilidades, activos y amenazas operacionalmente críticas (OCTAVE) es un método de planificación y evaluación estratégica basado en riesgos. OCTAVE se enfoca en evaluar los riesgos organizacionales únicamente y no aborda los riesgos tecnológicos. OCTAVE tiene tres fases:
- Creación de perfiles de amenazas basados en activos. (Evaluación organizacional)
- Identificación de vulnerabilidades de infraestructura. (Evaluación de la infraestructura de información)
- Desarrollar y planificar una estrategia de seguridad. (Evaluación de riesgos para los activos críticos de la empresa y toma de decisiones).
Método cuantitativo de modelado de amenazas
Este método híbrido combina árboles de ataque, STRIDE y métodos CVSS. Aborda varios problemas urgentes con el modelado de amenazas para sistemas ciber físicos que contienen interdependencias complejas en sus componentes.
El primer paso es construir árboles de ataque de componentes para las categorías STRIDE. Estos árboles ilustran las dependencias en las categorías de ataque y los atributos de los componentes de bajo nivel. Luego se aplica el método CVSS, calculando las puntuaciones para todos los componentes del árbol.
No existe una fórmula mágica para la planificación de operaciones de seguridad, y los diferentes métodos de modelado pueden adaptarse mejor a algunas empresas que a otras. Es importante comprender sus procesos de desarrollo, gestión de TI y operaciones de seguridad existentes antes de decidirse por un formato de modelado.
Estos modelos también se pueden utilizar en conjunto para ilustrar o complementar el software de seguridad.