El modelado de amenazas es un proceso mediante el cual las amenazas potenciales, como las vulnerabilidades estructurales o la ausencia de salvaguardas adecuadas, pueden identificarse, enumerarse y priorizarse las mitigaciones. El propósito del modelado de amenazas es proporcionar a los defensores un análisis sistemático de qué controles o defensas deben incluirse, dada la naturaleza del sistema, el perfil del atacante probable, los vectores de ataque más probables y los activos más deseados por un atacante. El modelado de amenazas responde preguntas como "¿Dónde soy más vulnerable a un ataque?" , "¿Cuáles son las amenazas más relevantes?" y "¿Qué debo hacer para protegerme contra estas amenazas?" .
Conceptualmente, la mayoría de las personas incorporan alguna forma de modelado de amenazas en su vida diaria y ni siquiera se dan cuenta. Los viajeros utilizan el modelado de amenazas para considerar qué podría salir mal durante el viaje matutino al trabajo y tomar medidas preventivas para evitar posibles accidentes. Los niños participan en el modelado de amenazas cuando determinan el mejor camino hacia un objetivo previsto mientras evitan al matón del patio de recreo. En un sentido más formal, el modelado de amenazas se ha utilizado para priorizar los preparativos defensivos militares desde la antigüedad.
Evolución del modelado de amenazas basado en TI
Poco después de que la informática compartida hiciera su debut a principios de la década de 1960, las personas comenzaron a buscar formas de explotar las vulnerabilidades de seguridad para beneficio personal. [1] Como resultado, los ingenieros e informáticos pronto comenzaron a desarrollar conceptos de modelado de amenazas para sistemas de tecnología de la información.
Las primeras metodologías de modelado de amenazas basadas en TI se basaron en el concepto de patrones arquitectónicos [2] presentado por primera vez por Christopher Alexander en 1977. En 1988, Robert Barnard desarrolló y aplicó con éxito el primer perfil para un atacante de sistemas de TI.
En 1994, Edward Amoroso presentó el concepto de un "árbol de amenazas" en su libro, "Fundamentos de la tecnología de seguridad informática". [3] ”El concepto de árbol de amenazas se basó en diagramas de árbol de decisiones. Los árboles de amenazas representan gráficamente cómo se puede explotar una amenaza potencial para un sistema de TI.
Independientemente, la NSA y la DARPA realizaron un trabajo similar en una representación gráfica estructurada de cómo se podrían ejecutar ataques específicos contra sistemas de TI. La representación resultante se denominó " árboles de ataque ". En 1998 Bruce Schneier publicó su análisis de los riesgos cibernéticos utilizando árboles de ataque en su artículo titulado “Toward a Secure System Engineering Methodology”. [4] ”El documento demostró ser una contribución fundamental en la evolución del modelado de amenazas para sistemas de TI. En el análisis de Schneier, el objetivo del atacante se representa como un "nodo raíz", y los medios potenciales para alcanzar el objetivo se representan como "nodos hoja". Utilizar el árbol de ataque de esta manera permitió a los profesionales de la ciberseguridad considerar sistemáticamente múltiples vectores de ataque contra cualquier objetivo definido.
En 1999, los profesionales de ciberseguridad de Microsoft Loren Kohnfelder y Praerit Garg desarrollaron un modelo para considerar los ataques relevantes para el entorno de desarrollo de Microsoft Windows. ( STRIDE [5] es un acróstico para suplantación de identidad, manipulación de datos, repudio, divulgación de información, denegación de servicio, elevación de privilegios) El mnemónico resultante ayuda a los profesionales de seguridad a determinar sistemáticamente cómo un atacante potencial podría utilizar cualquier amenaza incluida en STRIDE.
En 2003, se introdujo el método OCTAVE [6] (Evaluación de amenazas, activos y vulnerabilidades operacionalmente críticas), una metodología de modelado de amenazas centrada en las operaciones, con un enfoque en la gestión de riesgos organizacionales.
En 2004, Frank Swiderski y Window Snyder escribieron "Threat Modeling", de Microsoft Press. En él desarrollaron el concepto de utilizar modelos de amenazas para crear aplicaciones seguras.
En 2014 Ryan Stillions expresó la idea de que las ciberamenazas deberían expresarse con diferentes niveles semánticos y propuso el modelo DML (Detection Maturity Level). [7] Un ataque es una instanciación de un escenario de amenaza que es causado por un atacante específico con un objetivo específico en mente y una estrategia para alcanzar ese objetivo. El objetivo y la estrategia representan los niveles semánticos más altos del modelo DML. A esto le sigue el TTP (Tácticas, Técnicas y Procedimientos) que representan niveles semánticos intermedios. Los niveles semánticos más bajos del modelo DML son las herramientas utilizadas por el atacante, el host y los artefactos de red observados, como paquetes y cargas útiles, y finalmente indicadores atómicos como las direcciones IP en el nivel semántico más bajo. Las herramientas actuales de SIEM (Gestión de eventos e información de seguridad) normalmente solo proporcionan indicadores en los niveles semánticos más bajos. Por lo tanto, existe la necesidad de desarrollar herramientas SIEM que puedan proporcionar indicadores de amenazas a niveles semánticos más altos. [8]
Metodologías de modelado de amenazas para fines de TI
Conceptualmente, una práctica de modelado de amenazas fluye de una metodología. Existen numerosas metodologías de modelado de amenazas disponibles para su implementación. Por lo general, el modelado de amenazas se ha implementado utilizando uno de cuatro enfoques de forma independiente, centrada en activos, centrada en atacantes y centrada en software. Según el volumen de contenido en línea publicado, las metodologías que se analizan a continuación son las más conocidas.
Metodología STRIDE
El enfoque STRIDE para el modelado de amenazas se introdujo en 1999 en Microsoft, proporcionando un mnemónico para que los desarrolladores encuentren "amenazas a nuestros productos". [9] STRIDE, Patterns and Practices y Asset / entry point se encuentran entre los enfoques de modelado de amenazas desarrollados y publicados por Microsoft. Las referencias a "la" metodología de Microsoft comúnmente significan STRIDE y Diagramas de flujo de datos.
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. [10] Proporciona un proceso de siete pasos para alinear los objetivos comerciales y los requisitos técnicos, teniendo en cuenta los problemas de cumplimiento y el análisis comercial. La intención del método es proporcionar un proceso dinámico de identificación, enumeración y calificación de amenazas. Una vez que se completa el modelo de amenazas, los expertos en la materia de seguridad desarrollan un análisis detallado de las amenazas identificadas. Por último, se pueden enumerar los controles de seguridad adecuados. Esta metodología está destinada a proporcionar una vista centrada en el atacante de la aplicación y la infraestructura desde la cual los defensores pueden desarrollar una estrategia de mitigación centrada en los activos.
Triciclo
El enfoque de la metodología Trike [11] es utilizar modelos de amenazas como herramienta de gestión de riesgos. Dentro de este marco, los modelos de amenazas se utilizan para satisfacer el proceso de auditoría de seguridad. Los modelos de amenazas se basan en un "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 enumeran las amenazas y se les asignan valores de riesgo. El modelo de amenazas completo se utiliza para construir un modelo de riesgo basado en activos, roles, acciones y exposición de riesgo calculada.
MAL
El Meta Attack Language (MAL) [12] se emplea para crear lenguajes específicos de dominio (modelado) (DSL). Dicho DSL, diseñado con MAL, se utiliza para el modelado de amenazas y las simulaciones de ataques del dominio elegido. Los DSL están disponibles, por ejemplo, para entornos de nube, sistemas empresariales, TI y OT de dominio de energía, vehículos, etc. y pueden construirse para cualquier dominio. MAL está disponible como código abierto en GitHub. [13]
Un DSL basado en MAL disponible es coreLang. [14] Este DSL se puede usar tal cual o como una base sobre la cual otros DSL más concretos pueden heredar y construir, para que los nuevos desarrolladores no tengan que inventar la rueda cada vez. coreLang contiene activos como Red, Aplicación, Vulnerabilidad, Explotación, Usuario y Datos. El DSL está disponible como código abierto en GitHub. [15]
Otro DSL basado en MAL disponible es powerLang. [16] powerLang se utiliza para modelar la infraestructura de TI y OT en el dominio de la energía. Está compuesto por otros tres DSL existentes; coreLang (para TI), sclLang (lenguaje de configuración de subestaciones) e icsLang (sistemas de control industrial). Este DSL también está disponible como código abierto en GitHub. [17]
vehicleLang es un DSL basado en MAL para modelar la infraestructura de TI de vehículos (automóviles, autobuses, etc.). Con vehicleLang DSL puede modelar unidades de control electrónico (ECU), redes de área de controlador (bus CAN) y otros componentes específicos del vehículo. Y luego ejecute simulaciones de ataque en este modelo para evaluar si su vehículo es ciberseguro, también conocido como resistente a los piratas informáticos. [18]
Procesos de modelado de amenazas de TI generalmente aceptados
Todos los procesos de modelado de amenazas relacionados con TI comienzan con la creación de una representación visual de la aplicación y / o infraestructura que se analiza. La aplicación / infraestructura se descompone en varios elementos para ayudar en el análisis. Una vez completada, la representación visual se utiliza para identificar y enumerar las amenazas potenciales. Un análisis más detallado del modelo con respecto a los riesgos asociados con las amenazas identificadas, la priorización de las amenazas y la enumeración de los controles de mitigación apropiados depende de la base metodológica para el proceso del modelo de amenazas que se utiliza. La identificación y enumeración de las amenazas (o de los objetivos de mitigación) puede realizarse de forma centrada en el ataque o centrada en los activos . El primero se centra en los tipos de posibles ataques que deben mitigarse, mientras que el segundo se centra en los activos que deben protegerse.
Representaciones visuales basadas en diagramas de flujo de datos.
La metodología de Microsoft, PASTA y Trike desarrollan cada uno 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 una herramienta para que los ingenieros de sistemas comunicaran, en un alto nivel, cómo una aplicación hacía que los datos fluyeran, fueran almacenados y manipulados por la infraestructura sobre la que se ejecuta la aplicación. Tradicionalmente, los DFD utilizan solo cuatro símbolos únicos: flujos de datos, almacenes de datos, procesos e interactuadores. A principios de la década de 2000, se agregó un símbolo adicional, límites de confianza, para permitir que los DFD se utilicen para el modelado de amenazas.
Una vez que el sistema de infraestructura de aplicaciones se descompone en sus cinco elementos, los expertos en seguridad consideran cada punto de entrada de amenaza identificado frente a todas las categorías de amenazas conocidas. Una vez que se identifican las amenazas potenciales, se pueden enumerar los controles de seguridad de mitigación o se pueden realizar análisis adicionales.
Creación de modelos de amenazas basados en datos disponibles
La mayoría de los métodos y procesos de modelado de amenazas se basan en la entrada manual. En los últimos años, ha habido un cambio hacia un modelado de amenazas más automatizado. Utilizando fuentes de datos disponibles, como escáneres de red e inventarios de activos, los modelos de amenazas se completan automáticamente. [19] El objetivo es reducir el esfuerzo humano que a menudo consume mucho tiempo y es propenso a errores.
Otros campos de aplicación
El modelado de amenazas se está aplicando no solo a las tecnologías de la información, sino también a otras áreas como los vehículos, [20] [21] la construcción y la automatización del hogar . [22] En este contexto, se modelan las amenazas a la seguridad y la privacidad como información sobre los perfiles de movimiento de los habitantes, los horarios de trabajo y las situaciones de salud, así como los ataques físicos o basados en la red. Este último podría hacer uso de cada vez más características de edificios inteligentes disponibles, es decir, sensores (por ejemplo, para espiar al habitante) y actuadores (por ejemplo, para abrir puertas). [22]
Revisión sistemática de la literatura
En 2019, se realizó una revisión sistemática de la literatura sobre el modelado de amenazas. La atención se centró en la investigación más que en las aplicaciones. La SLR descubrió que los métodos de modelado de amenazas pueden ser manuales o automáticos (o una combinación), estos pueden ser formales o gráficos (o una combinación). La mayoría de los artículos de investigación presentan métodos nuevos o mejorados para el modelado de amenazas, pero también hay mucho trabajo aplicando un modelo de amenazas en un dominio determinado. Un denominador común que puede orientar la investigación futura es que muchos métodos propuestos no se prueban ni validan adecuadamente (todavía). [23]
Referencias
- ^ McMillan, Robert (2012). "¿La primera contraseña de computadora del mundo? También era inútil" . Negocio cableado.
- ^ Shostack, Adam (2014). "Modelado de amenazas: diseño para la seguridad" . John Wiley & Sons Inc: Indianápolis.
- ^ Amoroso, Edward G (1994). "Fundamentos de la tecnología de seguridad informática" . AT&T Bell Labs. Prentice-Hall: río Upper Saddle.
- ^ Schneier, Bruce; et al. (1998). "Hacia una metodología de ingeniería de sistemas seguros" (PDF) . Agencia de Seguridad Nacional: Washington.
- ^ "El modo de amenaza STRIDE" . Microsoft. 2016.
- ^ Alberts, Christopher (2003). "Introducción al enfoque OCTAVE®" (PDF) . Instituto de Ingeniería de Software, Carnegie Mellon: Pittsburg.
- ^ Stillions, Ryan (2014). "El modelo DML" . Blog de seguridad de Ryan Stillions . Ryan Stillions.
- ^ Bromander, Siri (2016). "Modelado semántico de ciberamenazas" (PDF) . Tecnología Semántica para Inteligencia, Defensa y Seguridad (STIDS 2016).
- ^ Kohnfelder, Loren; Garg, Praerit. "Amenazas a nuestros productos" . Microsoft . Consultado el 20 de septiembre de 2016 .
- ^ Ucedavélez, Tony y Marco M. Morana (2015). "Modelización de amenazas centradas en el riesgo: proceso de simulación de ataques y análisis de amenazas" . John Wiley e hijos: Hobekin.
- ^ Eddington, Michael, Brenda Larcom y Eleanor Saitta (2005). "Documento de Metodología Trike v1" . Octotrike.org .
- ^ Johnson, Pontus; Lagerström, Robert; Ekstedt, Mathias (agosto de 2018). "Un metalenguaje para modelado de amenazas y simulaciones de ataques" . Proc. de la XIII Conferencia Internacional sobre Disponibilidad, Fiabilidad y Seguridad (ARES). doi : 10.1145 / 3230833.3232799 . Consultado el 15 de abril de 2021 . Cite journal requiere
|journal=
( ayuda ) - ^ https://mal-lang.org
- ^ Katsikeas, Sotirios; Hacks, Simon; Johnson, Pontus; Ekstedt, Mathias; Lagerström, Robert; Jacobsson, Joar; Wällstedt, Max; Eliasson, Per (noviembre de 2020). "Un lenguaje de simulación de ataques para el dominio de TI" . Proc. de Modelos Gráficos para la Seguridad (GraMSec). doi : 10.1007 / 978-3-030-62230-5_4 . Consultado el 20 de abril de 2021 . Cite journal requiere
|journal=
( ayuda ) - ^ https://github.com/mal-lang/coreLang
- ^ Hacks; Katsikeas; Abadejo; Lagerström; Ekstedt (noviembre de 2020). "powerLang: un lenguaje de simulación de ataque probabilístico para el dominio del poder" . Energy Informatics 3, 30. doi : 10.1186 / s42162-020-00134-4 . Consultado el 18 de mayo de 2021 . Cite journal requiere
|journal=
( ayuda ) - ^ https://github.com/simonhacks/powerLang/
- ^ Katsikeas; Johnson; Hacks; Lagerström (2019). "Modelado probabilístico y simulación de ciberataques vehiculares: una aplicación del lenguaje Meta Attack" . Actas de la 5ª Conferencia Internacional sobre Seguridad y Privacidad de los Sistemas de Información - ICISSP. doi : 10.5220 / 0007247901750182 . Consultado el 16 de junio de 2021 . Cite journal requiere
|journal=
( ayuda ) - ^ Välja; Heiding; Franke; Lagerström (octubre de 2020). "Automatización del modelado de amenazas utilizando un marco de ontología: Validado con datos de infraestructuras críticas" . Ciberseguridad 3 (19). doi : 10.1186 / s42400-020-00060-8 . Consultado el 10 de mayo de 2021 . Cite journal requiere
|journal=
( ayuda ) - ^ http://publications.lib.chalmers.se/records/fulltext/252083/local_252083.pdf
- ^ Hamad, Mohammad; Prevelakis, Vassilis; Nolte, Marcus (noviembre de 2016). "Hacia un modelado integral de amenazas para vehículos" (PDF) . Publicaciones Instituto de Ingeniería Informática y de Redes. doi : 10.24355 / dbbs.084-201806251532-0 . Consultado el 11 de marzo de 2019 . Cite journal requiere
|journal=
( ayuda ) - ^ a b Meyer, D .; Haase, J .; Eckert, M .; Klauer, B. (1 de julio de 2016). "Un modelo de amenaza para la domótica y la construcción". 2016 IEEE 14th International Conference on Industrial Informatics (INDIN) : 860–866. doi : 10.1109 / INDIN.2016.7819280 . ISBN 978-1-5090-2870-2.
- ^ Xiong, Wenjun; Lagerström, Robert (julio de 2019). "Modelado de amenazas: una revisión sistemática de la literatura" . Computadoras y seguridad vol 84. doi : 10.1016 / j.cose.2019.03.010 . Consultado el 25 de mayo de 2021 . Cite journal requiere
|journal=
( ayuda )