你的网络威胁情报知识在一个神奇的盒子里

来源:https://medium.com/luatix/your-cyber-threat-intelligence-knowledge-in-a-magic-box-af2cbf7dd4be

是时候忘记存储、组织和分享关于网络威胁、破坏指标和现场观察的旧方法了。作为一个非营利性组织和网络安全专业人士,在核心开发团队8个月的巨大集体工作之后,我们很自豪地终于公布了OpenCTI version 4。演示实例也已经迁移。

一、为什么这个版本是一个重大突破

当我们在一年多前发布OpenCTI的第一个版本时,我们确信CTI社区缺乏有效的工具来组织网络威胁的技术知识,以及ttp、受害者学、上下文数据等。一年过去了,事实证明这是正确的,但我们也从社区中学到了很多关于CTI/SOC/ dir团队的需求和期望。

决定打破兼容性并重写模式是一个困难的决定(从版本3到版本4的数据必须通过专门的脚本迁移),特别是因为目前只有很少的资源可以在核心平台上工作。但为了实现我们的目标,解决用户目前面临的挑战,这绝对是一条正确的道路(在可预见的未来,这种情况不会再次发生)。

在OpenCTI version 4中,我们已经解决了很多问题:

(1)数据模式/模型的可理解性和易用性(包括迁移到STIX 2.1和更好的兼容性)。

(2)为工件/技术元素表示的STIX网络可观察对象的完全建模。

(3)可扩展性到数十亿的实体和关系。

(4)摄入过程和连接器消耗的性能。

(5)多个OpenCTI平台之间的实时同步,使知识共享更容易。

(6)通过正确管理STIX id(和自动合并/重复数据删除)来实现唯一性/副本的唯一管理。

(7)摄取过程监控,以更好地了解平台上正在发生什么。

(8)更多的连接器,用于知识导入或数据消费。

二、主要增强功能(及其他)

OpenCTI version 4源代码是一个完全重写的应用程序(超过70%的源代码已经更改,无论是在API、前端还是Python库中)。

我们的堆栈也发生了变化。我们决定暂时改用Elasticsearch作为我们的主存储,而不是Grakn,但我们仍然承诺并相信Grakn是OpenCTI路线图中的长期存储引擎。对于这个新版本,我们需要Grakn 2.0所带来的成熟和性能,但在开发过程中,我们发现最好暂时切换到Elasticsearch。我们仍在与Grakn密切合作,我们的团队也高度团结。

与STIX 2.1无缝集成的新数据模式

为了能够正常工作,我们为OpenCTI数据设计了一个新的模式,尽可能接近STIX 2.1标准。只有少数属性/实体有所不同。真正的目标是存储“纯”STIX 2.1,并在所有偏差前加上“x_opencti_”。

stix2.1 范式总览


Opencti实体范式


opencti关系范式

全面管理STIX网络观察对象

OpenCTI第4版的另一个主要变化是对STIX Cyber Observable的完全建模,包含STIX 2.1标准提出的所有属性。

这种模型化允许我们更好地管理它们的唯一性,我们成功地管理完全处理所有具有不同散列的文件实体,当类似的文件被丰富或修改时,可以自动合并在一起(属性、关系、散列等)。


三、接入过程的可伸缩性和性能

在以前的平台版本中,我们的用户面临的最大挑战是摄取过程的性能,特别是在启动许多不同的导入连接器时。

我们修改了摄入过程的几乎所有部分,首先是管理STIX bundle(现在有一个完整的递归方法来分割和预订bundle),然后重写PyCTI库本身,以避免在创建之前进行无用的检查,最后是在单个事务中处理API端创建(所有潜在的标记定义、外部引用等)。

从全局堆栈中移除Grakn极大地提高了性能。为了对OpenCTI平台进行基准测试,我们每天晚上都运行一个完整的OpenCTI堆栈,以在我们的性能测试环境(只有1个worker)中针对OpenCTI平台的最新构建获取相同的数据集。


事件流和同步

OpenCTI是一个知识平台,这意味着存储的数据会因为连接器或手动操作而定期更改。我们决定在Redis中实现一个“STIX 2.1”事件流,以供一种新型的连接器使用。现在有多个新的连接器正在使用Redis流来消费事件并做一些事情:

历史连接器,它写入实体和关系的日志。

同步器连接器,它使用远程OpenCTI流与本地OpenCTI实例进行同步。

Tanium连接器,同步指标和观察到Tanium威胁响应检测引擎。

还有很多(SIEM同步、SOAR集成、警报等)……OpenCTI是第一个提供此类实时事件提要的技巧,它提供了一个现代的服务器发送事件(SSE)实现。

管理重复的实体和自动合并

我们面临的主要挑战之一是,随着知识来源数量的增加,能够保持一致的数据。我们决定彻底重新思考STIX id的管理,使用基于透明规则的可预测id。这让我们能够删除所有在创建实体、更新现有实体等之前试图避免重复的无用代码。

当根据我们定义的规则(STIX 2.1标准仅为STIX Cyber Observable提供规则,而不是所有可能的实体类型)创建并显示已经存在的实体或关系时,根据配置,数据会自动更新或合并,以保持一个真正有用的、面向上下文的和一致的知识库。


接入过程监控

我们必须解决的另一个非常重要的挑战是接入过程。我们实现了以下改变:

显著提高了接入性能。

支持多工人,没有任何错误或竞争条件。

监视来自连接器或手动导入的导入/接入作业。

您现在可以遵循每个连接器的接入过程,对于启动的不同工作:

以下是在整个基础架构中监视连接器作业的工作流程,首先是一个划分为多个作业的“工作”,然后报告每个作业的状态和潜在错误:


监控由接入连接器触发的摄入过程

OpenCTI version 4只是第一个全功能开源威胁情报平台的开始。我们的下一个优先事项是:

(1)适当地集成OpenCTI与SOC和SIEM基础设施;

(2)允许分析师直接关注/参与平台;

(3)开发仪表板和高级数据可视化功能;

(4)增强图形和调查功能;

(5)介绍数据科学和机器学习算法。

如果您需要更多关于OpenCTI version 4的信息,请加入我们的#Slack频道。我们希望你能进行卓有成效的调查和狩猎!

你可能感兴趣的:(你的网络威胁情报知识在一个神奇的盒子里)