Métodos para modelar ataques basados ​​en escenarios de casos de uso / Sudo Null IT News

¡Hola! Mi nombre es Daniil Neiman, trabajo en Positive Technologies en el desarrollo de iniciativas comunitarias de seguridad de la información, donde participo activamente en el soporte y desarrollo de proyectos y comunidades de código abierto.

Uno de nuestros objetivos es promover el intercambio de conocimientos entre los profesionales de la seguridad de la información. Para lograr esto, estamos explorando varios métodos para estandarizar la experiencia para que la experiencia y las mejores prácticas estén disponibles para todos los profesionales en un formato uniforme, contribuyendo al desarrollo general de la seguridad de la información.

En una época en la que constantemente surgen nuevos y cada vez más complejos ciberataques, es difícil para los especialistas analizar e identificar rápidamente los patrones complejos de acciones cibercriminales que conducen a un ciberataque exitoso. Los sistemas bien diseñados que describen todas las acciones posibles de un atacante se denominan métodos de modelado de ataques y puede resolver este problema.

Métodos de modelado de ataques. Las técnicas de modelado de ataques, o AMT, se utilizan para modelar y visualizar la secuencia de eventos que conducen a un ciberataque exitoso. Puede encontrar una descripción más detallada de los métodos de modelado de ataques. en el artículo original. En mi artículo comenzaré con una breve descripción de los métodos descritos en el artículo original.

AMT se puede dividir convencionalmente en tres categorías:

  • métodos basados ​​en diagramas de casos de uso;

  • métodos temporales (énfasis en el orden cronológico y secuencia de eventos en un ciberataque);

  • Métodos basados ​​en gráficos.

En este artículo, veremos la primera de tres categorías: métodos basados ​​en diagramas de casos de uso. Los métodos de esta categoría se basan en el lenguaje UML, por lo que antes de pasar a ellos definiremos el lenguaje UML y los propios diagramas de casos de uso.

UML (Lenguaje de modelado unificado en inglés – lenguaje de modelado unificado) es un lenguaje creado en 1995 con el propósito de modelar gráficamente procesos de desarrollo de software, procesos comerciales, etc. A principios de la década de 2000, comenzó a estudiarse activamente como una posible forma de modelar las amenazas cibernéticas. .

Diagrama de escenario usar – un diagrama que forma parte del lenguaje UML y refleja las relaciones entre actores y casos de usoDónde:

  • actor — un conjunto de roles de usuario que interactúan con alguna entidad (sistema, subsistema, clase). Indicado en el diagrama por la figura de un hombre;

  • caso de uso — acciones realizadas por el sistema que conducen a resultados observados por los actores. Indicado en el diagrama por un rectángulo rojo con una inscripción. La etiqueta puede ser un nombre o una descripción de lo que hace el sistema.

Las principales conexiones entre actores y escenarios son:

  • incluye — una flecha punteada con la inscripción “incluir”, que resalta los escenarios individuales que forman parte de otro escenario (en el siguiente ejemplo, una persona puede utilizar servicios para ver el clima, cambiar moneda, buscar en un mapa, etc.);

  • permite — una flecha de puntos con la inscripción “ampliar”, que indica posibles acciones posteriores del usuario (en el ejemplo, la acción adicional de una persona después del registro puede ser la autorización).

Diagrama de escenario de ejemplo de refinamiento que muestra la interacción del usuario con la plataforma y sus diversos servicios.

Diagrama de escenario de ejemplo que muestra cómo los usuarios interactúan con la plataforma y sus diversos servicios.

Una vez aclaradas las definiciones, ahora podemos ver métodos específicos basados ​​en estos diagramas.

Casos de mal uso

El término “caso de uso indebido” es una inversión semántica del término “caso de uso” e implica identificar algo que no debería haber sucedido (es decir, estamos hablando de un escenario negativo). El método fue propuesto por primera vez. allá por el año 2000 como una posible forma de involucrar a los accionistas en el proceso de garantizar la seguridad de la infraestructura.

Se crea un diagrama de escenarios de uso indebido junto con un diagrama de casos de uso correspondiente. En este caso, el modelo utiliza los siguientes elementos adicionales:

  • agresor (mal usuario);

  • acción negativa que un atacante puede realizar (caso de mal uso);

  • una relación que muestra qué acción legítima del usuario (caso de uso) puede afectar la acción del atacante (caso de uso indebido) (amenaza);

  • qué acción del usuario (caso de uso) puede detener o prevenir la acción del atacante (caso de uso indebido) (mitiga).

Fuente de finalización: https://daneshyari.com/article/preview/550938.pdf

Veamos un ejemplo.

Diagrama que muestra un escenario de ataque en una estación de trabajo.

Diagrama que muestra un escenario de ataque en una estación de trabajo.

Este diagrama muestra un escenario de ataque que comienza cuando el atacante envía un correo electrónico de phishing a la víctima, luego obtiene acceso a la estación de trabajo a través de un archivo adjunto malicioso y aumenta aún más los privilegios.

Los siguientes son dos procedimientos de ataque destinados a obtener acceso a las credenciales de administrador, a saber:

  1. Vuelque el hash NT o el ticket Kerberos utilizando la utilidad mimikatz.

  2. Recuperar credenciales almacenadas en caché del registro de Windows (en el diagrama “Recuperar secretos LSA del registro”).

Las posibles acciones de un usuario legítimo se representan en blanco y las acciones de un atacante en rojo. Las conexiones entre ellos muestran cómo un atacante puede lograr sus objetivos y cómo un defensor puede evitar un ataque exitoso.

Por ejemplo, puede modificar la configuración de la Política de grupo para:

  1. Deshabilite el inicio de sesión automático en Windows para que la información de autenticación no se almacene en el registro.

  2. Deshabilite el almacenamiento local de hashes NT y limite el uso del protocolo NTLM para la autenticación.

El método de modelado considerado tiene las siguientes ventajas:

  1. Le permite centrarse en la seguridad desde el principio del proceso de diseño de la infraestructura.

  2. Le permite resaltar la superficie de ataque de nivel superior.

  3. Mejora la comunicación entre usuarios especialistas y usuarios habituales por su sencillez.

Pero también tiene importantes desventajas:

  1. Falta de especificidad en la descripción de las acciones del atacante.

  2. Falta de condiciones necesarias para que un atacante actúe.

Mapas de casos de mal uso

En 2010, se propuso una extensión del método de escenarios de uso indebido llamado “mapas de escenarios de uso indebido”, ampliando la descripción del ataque agregando varios tipos nuevos de relaciones para separar elementos de infraestructura. Esto permitió describir las acciones del atacante con más detalle.

Símbolos en mapas de escenarios de uso indebido

Símbolos en mapas de escenarios de uso indebido

Además, los autores crearon un editor especial para crear diagramas, pero, desafortunadamente, debido a la antigüedad de la publicación, no fue posible implementarlo. Por lo tanto, sólo queda considerar el ejemplo propuesto de modelar un ataque real a un banco, descrito en el séptimo capítulo del libro “El arte de la intrusión”.

Diagrama que muestra los primeros cinco pasos para atacar un banco.

Diagrama que muestra los primeros cinco pasos para atacar un banco.

En este caso se describen cinco etapas de un ataque a la infraestructura de un banco:

  1. El atacante encontró varias direcciones IP bancarias en Internet.

  2. Luego escaneó las direcciones IP del banco y encontró un servidor que ejecutaba Citrix MetaFrame (software de acceso remoto).

  3. A continuación, escaneó los ordenadores conectados a Internet, buscando un puerto de acceso remoto abierto a Citrix Terminal Services (puerto 1494), a través del cual se produce la conexión remota.

  4. Dado que, de forma predeterminada, una conexión remota no requiere una contraseña, al encontrar dichas computadoras, el atacante logró acceder a ellas y buscó en el sistema la palabra “contraseña”, tratando así de obtener acceso a otras partes de la infraestructura. Desde una de estas estaciones de trabajo, el atacante logró acceder al enrutador perimetral, que tenía una contraseña predeterminada. En él, el atacante añadió una regla que permitía conexiones entrantes al puerto 1723 (VPN), lo que le permitía conectarse a la red plana interna del banco.

  5. Además, mientras exploraba la red, el atacante encontró un servidor con documentación sobre análisis de seguridad. Estos documentos enumeraban todas las vulnerabilidades de la infraestructura y sus servicios, lo que permitió controlar todos los sistemas críticos del banco.

Ventajas de este método frente a casos de mal uso:

  1. Una descripción más detallada de las acciones del atacante.

  2. Separación de diferentes componentes de infraestructura.

Entre las desventajas se encuentran:

  1. Hay una gran cantidad de conexiones que son similares en apariencia, lo que dificulta la comprensión del diagrama.

  2. El método omite posibles acciones del usuario para prevenir el ataque.

  3. En un diagrama sólo se puede representar una variación de un ataque.

Casos de uso de seguridad

Este método tiene varias variaciones: la primera fue propuesta en 2003segundo en 2012pero la idea principal es la misma: complementar el modelo “Escenario de uso indebido” agregando funciones y condiciones dinámicas, según cuáles se puedan ejecutar. Esto nos permitirá describir medidas para mejorar el nivel de seguridad de la infraestructura. Consideremos una variación más nueva, ya que, al igual que los métodos anteriores, implica el uso de diagramas UML.

Complementemos el diagrama del ejemplo discutido anteriormente con secretos mimikatz y LSA agregando restricciones a las acciones del usuario.

Diagrama de caso de uso seguro para el ejemplo de escenario de ataque a estación de trabajo discutido anteriormente

Diagrama de caso de uso seguro para el ejemplo de escenario de ataque a estación de trabajo discutido anteriormente

Puede imponer restricciones a la autenticación, por ejemplo, mediante una verificación 2FA exitosa y también establecer países aceptables desde donde se realiza la conexión.

Si crea una sesión de dominio, puede establecer restricciones en la cantidad de sesiones simultáneas y una condición para pasar la autenticación de dos factores.

Ventajas del método frente a escenarios de mal uso:

  1. Destacando restricciones a las acciones como medidas de protección adicionales.

Defectos:

  1. Lo mismo que los escenarios de mal uso.

Diagramas de secuencia de mal uso

Este método apareció en 2010 como una alternativa a los mapas de casos de mal uso. Este método define dos entidades adicionales: el elemento de infraestructura y el atacante. La interacción entre los participantes de la actividad se representa en forma de otra estructura UML: un diagrama de secuencia, que para un determinado conjunto de objetos en un solo eje de tiempo muestra el ciclo de vida del objeto y la interacción de las partes dentro del escenario. Este método identifica las siguientes entidades y relaciones.

Refinamiento

Designaciones de elementos en CORAS

Intentemos adaptar el ejemplo de volcar secretos LSA y volcar datos de autenticación usando mimikatz usando este método.

Diagrama de secuencia de uso indebido con escenario de ataque a estación de trabajo

Diagrama de secuencia de uso indebido con escenario de ataque a estación de trabajo

Vemos que podemos identificar entidades específicas:

  • una estación de trabajo a la que un atacante obtiene acceso a través de un archivo adjunto malicioso;

  • el proceso LSASS, que almacena datos de autenticación del administrador;

  • Sesión de administrador de dominio creada por un atacante.

Sin embargo, este tipo de diagrama no nos permite indicar qué acciones se requieren para un ataque, ya que podemos obtener las credenciales de usuario de diferentes formas.

Ventajas del enfoque:

  1. Conveniente representación visual de las acciones secuenciales del atacante a lo largo del tiempo.

  2. Destacar elementos concretos, no sólo acciones abstractas.

Desventajas del enfoque:

  1. En un diagrama sólo se puede representar una variación de un ataque.

  2. A medida que aumenta el número de elementos, resulta difícil mantener el diagrama legible y comprensible, lo que dificulta el análisis de las actividades.

SISTEMA

Desarrollado en 2002, el proyecto CORAS fue concebido como un marco para un análisis de riesgos visual y eficaz. El método en sí también está inspirado en UML, pero enfatiza sus propios elementos y relaciones. Este método incluye conceptualmente ocho pasos formales.

El objetivo principal del proyecto es compilar un diagrama usando un editor especial a partir de ciertos elementos (ver la figura a continuación) y las conexiones entre estos elementos.

Posibles conexiones entre elementos:

Se supone que el atacante está intentando acceder a determinados activos de la infraestructura, logrando la implementación de escenarios no deseados.

Consideremos un ejemplo que ya nos resulta familiar, presentado en el siguiente diagrama.

Diagrama CORAS con escenario de ataque a estación de trabajo

Diagrama CORAS con escenario de ataque a estación de trabajo

En CORAS, el diagrama se dibuja de derecha a izquierda. Primero se identifican los activos, luego las acciones que pueden afectarlos, las vulnerabilidades en forma de bloqueos que implementan el escenario de amenaza y finalmente se identifica al atacante.

En este caso, definimos el activo en forma de integridad del dominio y además indicamos que puede perder integridad si el administrador del dominio se ve comprometido con éxito. A continuación, determinaremos qué credenciales conducirán a su compromiso, a saber, hash NT, DCC2 y ticket Kerberos. A continuación, describiremos los escenarios para obtenerlos: usando mimikatz u obteniendo secretos LSA. Al final, destacamos a nuestro atacante.

Las ventajas de este método:

  1. Cómodo análisis de alto nivel de riesgos potenciales y métodos de compromiso.

  2. Capacidad para definir requisitos previos para escenarios en forma de vulnerabilidades.

  3. La capacidad de agregar y expandir varias rutas de compromiso mediante la definición de nuevas vulnerabilidades, escenarios y conexiones. En este caso, los activos generalmente permanecen sin cambios.

Menos:

  1. No hay una definición de qué conexiones se requieren.


Así, hemos cubierto todos los métodos basados ​​en diagramas de escenarios. En resumen, comenzaron a surgir y ganar popularidad a principios de la década de 2000 como una extensión del diagrama de escenarios UML para analizar posibles amenazas cibernéticas. Luego se introdujeron varias variaciones, ya sea complementando los métodos ya desarrollados o reinterpretándolos utilizando otros diagramas UML.

Al mismo tiempo, el interés en UML ha disminuido desde 2004, principalmente debido a su redundancia y complejidad de uso. Además, los métodos para describir las amenazas en sí, basados ​​en diagramas de escenarios, no han encontrado un uso generalizado ni interés de investigación adicional entre los expertos.

Pero esto no significa que se haya detenido el desarrollo activo de métodos de modelado de ataques. La investigación de estas técnicas de modelado de ataques fue importante porque proporcionaron una base teórica valiosa para comprender los escenarios de ataque, lo que a su vez contribuyó a la creación y el desarrollo de técnicas de modelado de ciberataques más efectivas.

En el próximo artículo, analizaré métodos de modelado de ataques temporales, como el popular Cyber ​​​​Kill Chain, Diamond Model y Riskit. Desempeñan un papel importante en el análisis moderno y la prevención de ciberataques.

Si estás interesado en el tema de trabajar con el conocimiento y elaborar diversos modelos de información o tienes dudas sobre este artículo, deja comentarios.

Daniil Neiman

Especialista en el desarrollo de comunidades de seguridad de la información, Positive Technologies

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *