开放式网络威胁情报平台-OpenCTI

一、介绍

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

数据的结构化使用基于STIX2标准的知识模式来执行。它被设计成一个现代的web应用程序,包括一个GraphQL API和一个面向UX的前端。此外,OpenCTI还可以与其他工具和应用程序集成,如MISP、hive、MITRE ATT&CK等。
image.png

二、目标

目标是创建一个综合工具,允许用户利用技术信息(如TTP和可观察信息)和非技术信息(如建议的归属、受害者等),同时将每一条信息与其主要来源(报告、MISP事件等)相链接,并具有每一条信息之间的链接等功能,首先上次看到的日期、置信度等。该工具能够使用MITRE ATT&CK框架(通过专用连接器)帮助构建数据。用户还可以选择实现自己的数据集。

一旦OpenCTI内的分析人员对数据进行了资本化和处理,就可以从现有的关系中推断出新的关系,以便于理解和表示这些信息。这允许用户从原始数据中提取和利用有意义的知识。

OpenCTI不仅允许导入,还允许导出不同格式的数据(CSV、STIX2包等)。目前正在开发连接器,以加速工具与其他平台之间的交互。

OpenCTI是由法国国家网络安全局(ANSSI)、CERT-EU和Luatix非盈利组织合作开发的产品。

三、应用程序的体系结构

OpenCTI平台依赖于几个外部数据库和服务来工作。
image.png

3.1GraphQL API

API是OpenCTI平台的中心部分,允许客户端(包括前端)与数据库和代理进行交互。在NodeJS中构建,它实现了GraphQL查询语言。由于API目前还没有完整的文档,您可以通过GraphQL游乐场探索可用的方法和参数。在演示实例中提供了一个示例。

3.2写作工人

这些worker是独立的Python进程,它们仅使用RabbitMQ代理的消息来执行异步写查询。您可以启动任意数量的工作人员来提高编写性能。

3.3连接器

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

EXTERNAL_IMPORT,从远程数据源获取数据,将其转换为STIX2并将其插入OpenCTI平台。MITRE, MISP, CVE, AlienVault, FireEye

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

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

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

四、特点

4.1知识图

整个平台依赖于知识超图,允许使用超实体和超关系,包括嵌套关系。

4.2统一一致的数据模型

从操作层面到战略层面,所有信息都通过基于STIX2标准的unifed一致的数据模型进行链接。

4.3按设计提供数据来源

实体之间的每个关系都具有基于时间和基于空间的属性,并且必须由具有特定置信度的报告来确定来源。

4.4探索和相关性

整个数据集可以通过分析和相关引擎进行探索,包括许多可视化插件、MapReduce和Pregel计算。

4.5自动推理

数据库引擎通过演绎推理来执行逻辑推理,以便实时地派生出隐含的事实和关联。

4.6数据访问管理

作者:Threathunter
链接:https://www.jianshu.com/p/e427a4ddec8a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。