Hoy en día hay muchas organizaciones públicas y privadas que sufren con más frecuencia ataques cibernéticos, causando incidentesde seguridad en los activos de esas organizaciones. Compartir esa información es primordial para poder evitar que las organizaciones sean víctimas de incidentes en el futuro. Justo, por este hecho nacieron los estándares STIX y TAXII.

Con este artículo comenzamos a escribir una serie de posts dónde hablaremos del intercambio de información sobre ciberamenazas. En esta primera parte nos centramos en el estándar más utilizado en la actualidad para obtener, relacionar y compartir distintas clases de objetos relacionados con las ciberamenazas.

En la segunda parte veremos distintos casos de uso donde será mostrada la comunicación y relación entre los diferentes objetos STIX a través de una serie de ejemplos prácticos. Finalmente en la tercera parte hablaremos sobre un caso real de compartición de información de ciberamenazas con STIX sobre la amenaza Emotet y apoyándose con los casos de uso empleados en la segunda parte.

Introducción

En líneas generales, la forma habitual que utiliza la gente para intercambiar una información sobre una ataque concreto es casi siempre a través de un texto ya sea en un documento ofimático o un correo electrónico, utilizando canales de difusión como grupos de WhatsApp, Telegram, blogs o redes sociales para compartir esa información. Por tanto, esa información suele ser intercambiada sin más contexto y no va a ser muy útil.

Uno de los elementos que contiene la información mencionada son los indicadores de compromiso (IOCs). Entre dichos indicadores podemos encontramos con una amplia variedad de estos, como por ejemplo direcciones IP, hashes y dominios que estén relacionados con un incidente en concreto. En muchos casos dichos indicadores son compartidos de una forma no estructurada, es decir, que no se indica en qué momento y con qué fase del incidente está relacionado cada uno de ellos. Al final tenemos muchas IPs, dominios y hashes sin ningún tipo de contexto que nos dificultan tener una visión clara de lo que ha sucedido. Esto implica en muchas ocasiones tomar decisiones incorrectas a la hora de procesar y mitigar esos IOCs dentro de la organización. 

También es de primordial necesidad compartir esa información en un formato donde se pueda ver y determinar fácilmente la amenaza, es decir, determinar cuáles son las Tácticas, Técnicas y los Procedimientos (TTPs) que han utilizado los ciberdelincuentes para llevar a cabo la intrusión dentro de la organización. Por ejemplo, “el compromiso inicial se ha producido mediante un ataque de fuerza bruta contra el servidor RDP de la organización. Es un indicador de compromiso muy interesante porque revela una capacidad del atacante.”

Además, también resulta relevante tener la capacidad de poder procesar esa información de forma automática dentro de los sistemas de protección de la organización, que permitirá poder tomar acciones ante dicho incidente y los incidentes futuros similares que puedan tener lugar.

Para dicha caracterización y agilizar el intercambio de información, es decir, los TTPs, IOCs, etc., existen actualmente varios estándares, entre ellos el estándar STIX para describir la amenaza y TAXII como protocolo de intercambio de la amenaza.

STIX

STIX (Structured Threat Information Expression) es un lenguaje estandarizado para describir e intercambiar inteligencia sobre amenazas cibernéticas. Además, está diseñado para ser compartido a través de varios protocolos de intercambios de amenazas entre ellos TAXII y las plataformas de gestión de amenazas. Un ejemplo seria MISP o Yeti. 

STIX está estructurado de tal manera que los usuarios pueden describir las amenazas según las motivaciones, habilidades y capacidades de los ciberdelincuentes. El desarrollo del estándar STIX ha sido dirigido por MITRE, en conjunto con el Department of Homeland Security, el National Cyber Security Communications, Integration Center y el US-CERT de Estados Unidos.

STIX utiliza un formato estándar específico de serialización para compartir la información de ciberamenazas. En su versión 1 utiliza el formato XML6 y, en su versión actual, que es la versión 2.1, utiliza JSON7 como implementación principal de serialización. 

STIX es open source, es decir, está publicado bajo una licencia de código abierto. Está diseñado para ser compartido a través de varios protocolos de intercambios de amenazas, entre ellos TAXII que habláremos más adelante, y las plataformas de gestión de amenazas como MISP. Además, tiene extensiones para incluir otros estándares como MAEC, CAPEC, OVAL, IODEF, VERIS, TLP, OpenIOC o reglas de Snort y YARA. Uno de los valores añadidos de STIX es que nos permite hacer una representación visual para lograr una alta legibilidad y una fácil comprensión para los analistas de ciberseguridad.

Ejemplo de representación gráfica en STIX 2.1 de una ciberamenza.

Objetos STIX

Para describir una ciberamenaza y poder representarla mediante grafos son utilizados diferentes tipos de objetos STIX.

  • 18 STIX Domain Object (SDO). A continuación puede verse un resumen de cada uno de ellos:
  • 2 STIX Relationship Objects (SROs) que permiten relacionar los diferentes SDOs entre sí dando una visión más completa sobre una amenaza.

La versión 2.1 de dicho estándar define actualmente los siguientes objetos tanto SDO como SRO que presentamos a continuación:

STIX Domain Object (SDOs)

Proporciona un contexto adicional y/o para proporciona un análisis adicional no contenido en los objetos STIX.

Comportamiento de adversarios que describen un conjunto de actividades maliciosas o ataques dirigidos a un conjunto de objetivos durante un periodo de tiempo determinado.

Describe la infraestructura (sistema, servicio de software y cualquier recurso físico o virtual) que se ha utilizado para llevar acabo la intrusión. Por ejemplo, servidores C&C utilizados como parte de un ataque.

Colecciones de inteligencia sobre amenazas centradas en uno o más temas, como la descripción de un actor de amenaza, un malware o una técnica de ataque, incluyendo el contexto y los detalles relacionados

Indica las identidades (individuo, organización o grupos).

Contiene un patrón que sirve para detectar actividades maliciosas.

Determina la acción tomada para prevenir un ataque o para responder a un ataque que está en progreso.

Conjunto de conductas de adversarios y recursos con propiedades comunes relacionadas a un único actor.

Los metadatos y resultados de un determinado análisis estático o dinámico realizado sobre una instancia o familia de malware.

Identifica las vulnerabilidades explotadas de los ciberdelincuentes durante el proceso del ataque.

Una evaluación de la corrección de la información de un objeto STIX producido por una entidad diferente.

Tipo de TTP que describe como los actores intentan comprometer los objetivos.

Sirve para describir las herramientas que pueden ser utilizadas por los actores de amenazas para realizar ataques.

Agrupa y caracteriza una investigación en curso sobre un evento o incidente de seguridad.

Un tipo de TTP que representa un código malicioso utilizado en una amenaza.

Individuos, grupos u organizaciones que operan detrás de una amenaza.

Señala los datos observados durante el proceso del ataque.

Hace referencia a una ubicación geográfica.

STIX Relationship Objects (SROs)

Señala cómo los SDOs se relacionan entre sí.

Informa sobre la creencia de haber visto un elemento CTI

TAXII

Trusted Automated Exchange of Intelligence Information es un protocolo utilizado en la capa de aplicación que permite el intercambio de información sobre ciberamenazas de forma segura utilizando HTTPS en sus comunicaciones de una forma sencilla y totalmente escalable. Es ampliamente conocido mediante las siglas TAXII, el cual, fue diseñado para apoyar el intercambio de información usando STIX, pero también puede adaptarse a otros tipos de formatos y estándares de compartición, como por ejemplo OpenIOC y CybOx.

El funcionamiento del protocolo TAXII se define de la siguiente manera:

  • Utilización de una API REST para interactuar con los servicios Collection y Channel usando para ello una arquitectura cliente/servidor.
  • Cuenta con los dos siguientes servicios:
    • Collection: Es una interfaz donde los clientes y servidores TAXII intercambian información sobre amenazas en un modelo de solicitud/respuesta.
    • Channel: Es una interfaz donde los clientes TAXII intercambian información con otros clientes TAXII en un modelo de publicación-suscripción.
Ejemplo de funcionamiento del estándar de intercambio de información sobre ciberamenazas TAXII

En la imagen inferior podéis observar cual sería la representación gráfica del funcionamiento del protocolo a través de un ejemplo de compartición del servidor TAXII de ISAC (Information Sharing and Analysis Centers) utilizando un modelo de publicación y suscripción del propio estándar.

A la izquierda tenemos a los analistas “Analyst UI” que mandan y reciben información sobre ciberamenazas mediante el servidor TAXII-ISAC. Este hace una serie de operaciones como la autenticación y la autorización, entre otras. Posteriormente, efectúa un control de políticas para redireccionar la información a los miembros autorizados que recibirán la misma.

Los miembros (Cliente-TAXII) pueden ser configurados de diferentes maneras. Por ejemplo, el miembro 1 está configurado en modo “only subscribed”, es decir, solo recibe información en el canal que este suscrito. En cambio, el miembro 2 está suscrito a 3 canales donde puede recibir, enviar o enriquecer la información hacia el servidor TAXII-ISAC, que a su vez lo redirecciona a los clientes TAXII “Analyst UI” suscritos a esos canales. 

Si deseas conocer con mayor detalle dicho proceso podeis descubrirlo a través del siguiente enlace: TAXII 2.0 Architecture.

Ejemplo de funcionamiento del estándar de intercambio de información sobre ciberamenazas TAXII

Conclusión

STIX es un estándar que nos permita definir y caracterizar no solo los indicadores de compromiso clásicos (IPs, URLs, Dominios, Hashes) sino también los pasos más elevados de un proceso de intrusión. Es decir, las capacidades de los atacantes, como se comportan, cuáles son sus patrones de comportamiento, las técnicas que utilizan y las herramientas que emplean, etc. Otra de las ventajas del presente estándar es la representación de las amenazas mediante grafos.

Para compartir los informes mediante STIX necesitamos un protocolo de intercambio de información, para ello utilizamos el estándar TAXII que nos permitirá compartir dicha información de forma segura y normalizada. Además, el propio estándar TAXII está diseñado específicamente para compartir información codificada en STIX, siendo adaptable a otros protocolos para difundir e intercambiar conocimiento sobre amenazas. 

En el siguiente artículo veremos que estructura tiene un fichero STIX y diferentes ejemplos de casos de uso jugando con distintos SDOs y SROs.

Referencias

https://oasis-open.github.io/cti-documentation/stix/intro

https://oasis-open.github.io/cti-documentation/taxii/intro.html

https://www.eclecticiq.com/open-source/opentaxii

https://www.incibe-cert.es/blog/unidos-las-ciberamenazas-information-sharing

Autor del artículo

 

0 comments

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>