imagen de ideas pensamientos compartidos
Ciberseguridad,  CTI - Cyber threat intelligence

STIX y TAXII compartir amenazas

STIX y TAXII presentan una opción de formato estándar para compartir amenazas. Estas dos siglas son respectivamente un formato y una plataforma para especificar y compartir amenazas e incidentes de seguridad informática. Las siglas de STIX, Structured Threat Information eXpression hacen referencia a expresar información o inteligencia de amenazas de forma estructurada.

Inteligencia de amenazas o CTI es el tratamiento de información sobre cualquier acto malicioso que pueda llegar a dañar una organización objetivo. Este interesante proceso que siempre toma el ciclo tradicional de inteligencia como base, tiene en consecuencia la creación y compartición de estas amenazas como una tarea básica.

Dentro de este contexto la industria tiene como asignatura pendiente normalizar y estandarizar esta información. Como ejemplo simple para ilustrar esto podemos usar la perdida de un ordenador portátil de la compañía. Cuando este incidente de seguridad se notifique, el personal de ciberseguridad de la empresa podría identificar y describir el incidente de la siguiente manera usando STIX:

<stix:Incident id="example:incident-c503b53a-16dd-498a-b0be-f1c45317adba" xsi:type='incident:IncidentType' timestamp="2019-01-01T01:00:00.000000Z">
    <incident:Title>Perdida del equipo portatil CO0123</incident:Title>
    <incident:Affected_Assets>
        <incident:Affected_Asset>
            <incident:Type count_affected="1">Equipo portatil</incident:Type>
            <incident:Description>Activo CO0123 de sede Madrid 4ª planta</incident:Description>
            <incident:Business_Function_Or_Role>Equipo portatil de desarrollador participando en proyecto "contoso web api 2.0"</incident:Business_Function_Or_Role>
            <incident:Ownership_Class xsi:type="stixVocabs:OwnershipClassVocab-1.0">Activo interno</incident:Ownership_Class>
            <incident:Management_Class xsi:type="stixVocabs:ManagementClassVocab-1.0">Gestión interna</incident:Management_Class>
            <incident:Location_Class xsi:type="stixVocabs:LocationClassVocab-1.0">Ubicación interna</incident:Location_Class>
            <incident:Nature_Of_Security_Effect>
                <incident:Property_Affected>
                    <incident:Property xsi:type="stixVocabs:LossPropertyVocab-1.0">Confidencialidad de proyecto "contoso web api 2.0"</incident:Property>
                        <incident:Description_Of_Effect>Disco duro sin cifrar con multitud de datos técnicos proyecto y descripción funcional de este</incident:Description_Of_Effect>
                        <incident:Non_Public_Data_Compromised data_encrypted="false">Sí</incident:Non_Public_Data_Compromised>
                </incident:Property_Affected>
            </incident:Nature_Of_Security_Effect>
        </incident:Affected_Asset>
    </incident:Affected_Assets>
</stix:Incident>

De igual manera que puedes describir un incidente de seguridad puedes describir vulnerabilidades, IoCs como malware, IPs, URLs y correos maliciosos, agentes de amenaza, victimas, eventos, campañas de ataques, etc…

Una organización puede usar STIX para describir y almacenar su inteligencia de amenazas, de forma que la tenga organizada y ágil para su propio uso. Aunque el verdadero potencial de este formato es usarlo en compartir inteligencia de amenazas entre organizaciones para prevenir y responder mejor ante amenazas.

Detalle técnico sobre STIX

STIX es un lenguaje estructurado open source. Este describe un formato de serialización para compartir inteligencia de amenazas. En su actual versión 2, usa JavaScript Object Notation (JSON) como implementación principal de serialización.

diagrama de entidades STIX y relaciones habituales entre ellas

En su web exponen ejemplos de 26 tipos diferentes de entidad o STIX SDOs y SROs. Disponen de un XML de ejemplo y un pequeño código python de creación/impresión de todos estos tipos de objeto.

TAXII, la infraestructura de STIX

TAXII (Trusted Automated Exchange of Intelligence Information) es un protocolo de capa de aplicación especializado en compartir inteligencia de amenazas y especialmente enfocado para compartir objetos STIX.

diagrama de infraestructura de servidores taxii

Basan su diseño en almacenamiento de inteligencia de amenazas STIX en «colecciones» y la compartición de estas mediante subscripciones a publicadores o «canales«. De esta manera en la práctica podemos crear servidores y clientes TAXII. Al igual que STIX tienen proyectos de ejemplo de implementación con python.

Conclusiones y diferencias con otros formatos como MISP

STIX/TAXII nacieron como una gran idea y un posible avance como definición de un único estándar de compartición de CTI al igual que muchos otros. Sin embargo actualmente es un formato más en un conjunto ridículamente diverso de opciones donde la mayoría tienen licencias comerciales o limitantes: STIX-Shifter, OpenIOC, ThreatQ, Open Threat Exchange OTX, Collective Intelligence Framework CIF, Collaborative Research Into Threats, MANTIS Cyber Intelligence Management Framework, etc…

chiste futurama, no estoy seguro de si compartimos conocimientos o simplemente hablamos

Aunque puedes puede apostar por STIX y usarlo, no parece muy maduro en su implementación. Sin embargo el formato/plataforma MISP, que usa GPLv3, parece adelantarle en desarrollo e implantación.

El formato y plataforma de compartición de inteligencia de amenazas MISP (Malware Information Sharing Platform) parece que está teniendo más éxito que STIX. Probablemente prevalezca en el tiempo. MISP tiene mas madurez en su implementación y está siendo usado ya por importantes organizaciones como el FIRST.

Desde mi punto de vista el verdadero avance pasará por simplificar en un único formato libre e independiente de la plataforma que quieras usar. El tiempo dirá.

Aunque este articulo es sobre inteligencia de amenazas, pos si te interesa aquí te dejo un enlace al motivo principal del blog: Desarrollo seguro y análisis estático de código.

Referencias y recursos para profundizar más en el tema

Deja una respuesta

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

error: