文章目录
- Metron 组件
- 逻辑架构
- 步骤 1 - 遥测事件缓冲区(Telemetry Event Buffer)
- 步骤 2 - 处理(解析,规范化,验证和标记)(Process (Parse, Normalize, Validate and Tag))
- 步骤 3 - 富集(Enrich)
- 步骤 4 - 标记(Label)
- 步骤 5 - 警报和持久化(Alert and Persist)
- 步骤 6 - UI门户以及数据和集成服务(UI Portal and Data & Integration Services)
- 步骤 7a - 快速遥测摄取(Fast Telemetry Ingest)
- 步骤 7b - 遥测摄取(Telemetry Ingest)
Metron 组件
Metron 模块
Metron包含以下模块:
模块名称 | 模块说明 | 当前版本 | 文档参考 |
---|---|---|---|
Metron平台-Metron解析器 | 用于将遥测从本地传感器格式标准化为Metron JSON的Topology | 0.1BETA | Streaming |
Metron平台-Metron富集器 | 用于富集Metron JSON消息,针对威胁情报进行交叉引用,对警报进行标记的Topology | 0.1BETA | Streaming |
Metron平台-Metron-PACP | 用于将网络数据包流式传输到HDFS以便与PCAP服务一起使用的Topology | 0.1BETA | PCAP Topology |
Metron平台-Metron-API | 通过PCAP Topology对HDFS中的PCAP文件运行分析/筛选的服务 | 0.1BETA | PCAP Service |
Metron传感器 | 为Metron仪表板和分析提供数据 | 0.1BETA | Sensors |
Metron平台-Metron数据管理 | 用于批量装载富集和威胁情报存储的加载器 | 0.1BETA | Data Loads |
Metron-UI | Metron SOC Analyst用户界面 | 0.1BETA | UI |
Metron部署 | 用于自动化Metron部署的脚本 | 0.1BETA | Deployment Scripts |
Metron Streaming:是一个用于处理流处理,包括遥测接收,富集,威胁情报参考,警报和机器学习模型的实时评分的模块。
Metron Streaming建立在Apache Storm的基础上,Apache Storm是一个可大规模扩展的流处理引擎。它独特的属性,使其非常适合处理网络和日志数据。 由各种传感器生成的遥测由Metron的Storm的Topology来处理。 共有三种Topology类型。
Topology:Storm中运行的一个实时应用程序的名称
领域特定语言
在Metron中, 我们有两种用于过滤和简单数据转换的语言:
· Stellar Transformation Language
逻辑架构
Metron平台的逻辑组件:
一个遥测事件在经过不同组件时会如下处理:
步骤 1 - 遥测事件缓冲区(Telemetry Event Buffer)
Metron处理开始的起点:遥测事件到达摄取缓冲区
由Apache Nifi或自定义Metron探针捕获的每个遥测安全性数据源中的所有原始事件都将放入其自己的Kafka主题中。
步骤 2 - 处理(解析,规范化,验证和标记)(Process (Parse, Normalize, Validate and Tag))
每个原始事件都将被解析并标准化为标准平面JSON结构。
每个事件都将被标准化为至少7元组的JSON结构。
这样做是为了使下游的Topology关联引擎可以通过这些字段将来自不同Topology的消息关联起来。 标准字段名称如下:
字段 | 解释 |
---|---|
ip_src_addr | 第3层源IP |
ip_dst_addr | 第3层目标IP |
ip_src_port | 第4层源端口 |
ip_dst_port | 第4层目标端口 |
protocol | 第4层协议 |
timestamp (epoch) | 时间戳(1970-01-01 00:00:00 UTC) |
original_string | 人性化的消息的字符串表示形式 |
在这一步中,还可以验证原始事件,并用额外的元数据标记它,以供后续组件处理使用。
步骤 3 - 富集(Enrich)
一旦原始安全遥测事件已解析并标准化,下一步就是富集标准化事件的不同数据元素。
富集的示例有:
GEO,其中外部IP地址富含GeoIP信息(纬度/经度坐标+城市/州/国家/地区);
或HOST富集,其中IP丰富了主机详细信息(例如:IP对应于主机X,它是电子商务应用程序的Web服务器农场的一部分)。
步骤 4 - 标记(Label)
富集之后,遥测事件将经历标记过程。
此阶段的操作包括威胁情报交叉引用检查,其中遥测事件中的元素可用于查找威胁情报源数据源,例如Soltra生产的Stix / Taxii情报源或其他威胁情报聚合服务。
然后,这些威胁情报服务将一个命中发生时用威胁情报元数据“标记”遥测事件。
其他类型的服务包括使用模型作为服务模式并传入遥测事件来执行/评分分析模型。
步骤 5 - 警报和持久化(Alert and Persist)
此阶段,某些遥测事件可以启动警报。
这些类型的遥测事件之后会被索引在警报索引存储中。
遥测事件可能会产生由多种因素触发的警报,这些因素包括:
-
事件类型-原始遥测事件本身是警报。
例如,Snort生成的任何事件都是警报,因此它将被自动索引为警报。
-
威胁情报命中-如果原始遥测事件具有威胁情报命中,它将被标记为警报。
同样在此步骤中,所有丰富和标记的遥测事件都将被索引并保存在Hadoop中以进行长期存储。
这些在Hadoop中存储的事件在企业内部产生一个安全数据仓库,从而可以执行下一代分析。
步骤 6 - UI门户以及数据和集成服务(UI Portal and Data & Integration Services)
步骤1至6提供了一种机制,可将企业中不同数据源中的所有安全遥测数据提取,解析,规范化,富集,标记,索引和存储,并将其存储到单个安全数据仓库中。
这允许Metron平台为不同类型的安全用户提供服务以便更有效地执行其工作。
其中一些服务包括:
-
实时搜索和交互式仪表板/门户——单个窗格,可供安全运营分析师查看警报并将警报与引起警报的颗粒遥测事件相关联。
-
数据建模/特征工程服务——由于Metron框架标准化并富集了数据并将其存储在标准化位置的安全数据湖(HDFS,HBase)中,因此该平台可以提供各种分析模型。
这些模型将具有所需特征矩阵的规范,因此,作为分析最复杂方面的特征工程过程将大大简化。
功能矩阵所需的数据建模服务将由Jupyter,IPython和Zeppelin等工具提供。
-
集成和可扩展层——Metron平台最强大的功能之一就是能够根据您自己的需要或要求对其进行自定义,其中包括:
· 摄取新数据源
· 添加新的解析器
· 添加新的富集服务
· 添加新的威胁情报源
· 建立,部署和执行新的分析模型
· 与企业工作流引擎集成
· 自定义安全仪表板和门户
步骤 7a - 快速遥测摄取(Fast Telemetry Ingest)
对于数据包捕获(PCAP),Netflow / YAF和Bro / DPI等海量网络遥测数据,可以使用自定义的Metron探针直接从网络分流器接收数据。
步骤 7b - 遥测摄取(Telemetry Ingest)
对于大多数使用传输和协议(例如文件,系统日志,REST,HTTP,自定义API等)的安全遥测数据源,Metron将使用Apache Nifi在源处提取数据。
参考自官方文档:https://cwiki.apache.org/confluence/display/METRON/Metron+Architecture