新版OPENCTI简介

重点:由图库改为ES进行存储

一、总览

OpenCTI是一个开源平台,允许组织管理他们的网络威胁情报知识和观察结果。它的创建是为了结构化、存储、组织和可视化关于网络威胁的技术和非技术信息。

数据使用基于[STIX2标准]的知识模式进行结构化(https://oasis-open.github.io/cti-documentation/)。它被设计成一个现代的web应用程序,包括一个GraphQL API和一个面向UX的前端。此外,OpenCTI还可以与其他工具和应用程序集成,如MISPTheHiveMITRE ATT&CK等。

#目标

目标是创建一个全面的工具允许用户集成技术信息(如ttp,可见)和非技术信息(如提出归因,受害者研究、行业活动和本地化),而把每一块信息的主要来源(报告、MISP事件等),并提供链接等特性之间的信息,第一个和最后一个看到日期,水平的信心和描述字段。该工具能够使用MITRE攻击与ck框架(通过专用连接器)来帮助构建数据结构。用户也可以选择实现自己的数据集。

一旦分析人员将数据集成到OpenCTI中,新的关系可能会从现有关系中推断出来,以促进对这些信息的理解和表示。这允许用户从原始数据中提取和利用有意义的知识。

OpenCTI不仅允许imports,而且还允许exports of data在不同的格式下(CSV, STIX2 bundles,等等)。Connectors目前正在开发中,以加速工具与其他平台之间的交互。

二、架构

OpenCTI平台依靠几个外部数据库和服务才能正常工作。

(1)GraphQL API

API是OpenCTI平台的核心部分,允许客户端(包括前端)与数据库和代理(消息传递系统)进行交互。它内置在NodeJS中,实现了GraphQL查询语言。由于API还没有完整的文档记录,您可以通过GraphQL平台探索可用的方法和参数。请参见OpenCTI演示实例

(2)写入worker

worker是独立的Python进程,使用来自RabbitMQ broker的消息来完成异步写查询。您可以启动尽可能多的workers来提高写性能。在某种程度上,写性能将受到数据库吞吐量(ElasticSearch)的限制,如果您在使用3或4个worker时没有达到预期的性能,那么启动更多worker将是无用的,您必须考虑增强数据库节点的硬件(或将您的设置扩展到集群)。

(3)连接器

连接器是软件(Python进程)的第三方部分,可以在平台上扮演四种不同的角色:

EXTERNAL_IMPORT:从远程数据源提取数据,将其转换为STIX2,并将其插入到OpenCTI平台上。MITRE, MISP, CVE, AlienVault, FireEye, etc.

INTERNAL_IMPORT_FILE:通过UI或API从OpenCTI上上传的文件中提取数据。提取指标从pdf, STIX2导入,等。

INTERNAL_ENRICHMENT:监听新的OpenCTI实体或用户请求,从远程数据源提取数据来充实。通过外部服务、实体更新等来丰富可观察对象。

INTERNAL_EXPORT_FILE:根据列出实体或一个实体及其关系,从OpenCTI数据生成导出。STIX2导出,PDF导出,CSV列表生成等。

STREAM:使用平台的数据流。History, Synchronizer, Tanium等。

三、OpenCTI生态系统

**https://www.notion.so/OpenCTI-Ecosystem-868329e9fb734fca89692b2ed6087e76
**

1、Python的OpenCTI客户端

pycti库旨在帮助OpenCTI用户和开发人员与OpenCTI平台GraphQL API进行交互。

Python库要求Python >= 3。

2、链接器

2.1数据导入

(1)OpenCTI AlienVault Connector

**https://github.com/OpenCTI-Platform/connectors/tree/master/alienvault
**

OpenCTI AlienVault连接器可用于从Alien Labs Open Threat Exchange (OTX)平台导入知识。连接器利用OTX DirectConnect API获取订阅脉冲的威胁数据。

注意:需要加入OTX威胁情报社区。

(2)OpenCTI网络威胁联盟连接器

https://github.com/OpenCTI-Platform/connectors/tree/master/cyber-threat-coalition

OpenCTI Cyber Threat Coalition connector导入由网络威胁联盟团队发布的指标。

网络威胁联盟是一个专家团队,在COVID-19危机期间收集和分享与大流行相关的网络威胁情报

技术信息

连接器从经过审查的黑名单(https://blacklist.cyberthreatcoalition.org/vetted/)导入指示器。

所有导入的指标将链接到一份名为“COVID-19网络威胁联盟(CTC)黑名单”的独特报告。

(3)OpenCTI CrowdStrike连接器

OpenCTI CrowdStrike连接器可用于从CrowdStrike Falcon平台导入知识。该连接器利用intel api获取CrowdStrike的情报信息,包括参与者、指标、报告和YARA规则的数据。

注:需要订阅CrowdStrike Falcon平台。订阅详细信息规定了连接器实际可用的数据。

(4)连接器:OpenCTI的CYBERCRIME-TRACKER.NET

连接器使用:http://cybercrime-tracker.net/rss.xml下的跟踪器的RSS feed

它将解析所有的条目并:

为每个条目生成一个指示符,指示相关的恶意软件。

将域、url、IP地址作为observable添加到OpenCTI中,并创建相应的关系。

(5)OpenCTI FireEye连接器

该连接器连接到FireEye Intel API V3,并从给定的日期收集所有数据。

(6)OpenCTI卡巴斯基连接器

OpenCTI卡巴斯基连接器可以用于从卡巴斯基威胁情报门户导入知识。连接器利用卡巴斯基威胁情报门户API检索情报发布在卡巴斯基威胁情报门户,这包括报告pdf, IoCs和YARA规则。

注意:使用卡巴斯基威胁情报门户服务需要许可证。

(7)OpenCTI的LastInfoSec连接器!

OpenCTI LastInfoSec连接器将使用/v2/stix21/getlasthour API。

这个LastInfosec的威胁feed包含stix2.1报告每小时更新url,哈希值,域指示器。

要求:如果你想使用LastInfoSec的智能,你需要一个API密钥。您可以通过contact@lastinfosec.com联系LastInfoSec团队

(8)OpenCTI Malpedia连接器

这个连接器从Malpedia 库导入知识。

连接器为以下OpenCTI可观察对象/指示器类型添加数据:

yara

file-sha256

连接器添加了以下实体:

Malware

Intrusion-Set

References

(9)OpenCTI MISP Connector

MISP connector是一个独立的Python进程,必须能够访问OpenCTI平台和RabbitMQ。RabbitMQ的凭据和连接参数由API直接提供,在平台设置中配置。