今天小编在学习了metron之后来向大家分享一下我学到的东西:
一、metron是什么:
metron是一种安全大数据分析架构,其建立了一个平台,它为组织提供了大规模摄入、处理和存储各种安全数据提要的能力,以便检测网络异常并使组织能够快速响应这些异常。
二、metron分为这样几个部分
抓取数据---解析---富集---分类---打标签---警告,保存---UI设计
详见如图:
第一步:首先要抓取数据,大数据分析平台的数据来源,基本有两个部分,一类是通过部署遥感(Telemetry)传感器,从系统日志、HTTP流量、文件系统和其他用户/系统行为中获取到的日志信息;一类是通过网络路由、网关等设备获取的数据包。然后将这些数据放到缓冲池中,缓冲池主要对这些数据包和日志包装为消息队列,可以便于上层Storm的实时处理。这里主要的软件是开源的Kafka,这主要用于日志处理的分布式消息队列,关注用户行为(登录、注销、文件操作等)和系统运行日志(CPU、内存、网络、进程信息等)。
( 在这里,详细介绍一下kafka:
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
特点如下:Kafka 是一种高吞吐量 的分布式发布订阅消息系统,有如下特性:通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。高吞吐量 :即使是非常普通的硬件Kafka也可以支持每秒数百万 的消息。支持通过Kafka服务器和消费机集群来分区消息。支持Hadoop并行数据加载。
kafka相关术语:
BrokerKafka:集群包含一个或多个服务器,这种服务器被称为broker
Topic:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
Partition:Partition是物理上的概念,每个Topic包含一个或多个Partition.
Producer:负责发布消息到Kafka brokerConsumer消息消费者,向Kafka broker读取消息的客户端。
Consumer Group: 每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。)
第二步:处理(解析,规范化,验证和标记)
metron pcap backend 主要用于创建一个storm topology 处理流,将来自于Kafka的原始数据解析到HDFS中每个原始事件都将被解析并标准化为标准化的平面JSON结构。每个事件都将标准化为至少一个7元组的JSON结构。这样做是为了使下游的拓扑关联引擎能够通过这些字段来关联来自不同拓扑的消息。标准字段名称如下:
- ip_src_addr:第3层源IP
- ip_dst_addr:第3层dest IP
- ip_src_port:第4层源端口
- ip_dst_port:第4层dest端口
- 协议:第4层协议
- 时间戳(纪元)
- original_string:消息的人类友好字符串表示形式
在此步骤中,还可以验证原始事件并使用将由下游处理使用的其他元数据对其进行标记。
然后,
第3步 - 丰富
一旦原始安全遥测事件被解析和规范化,下一步就是丰富规范化事件的不同数据元素。丰富的例子是GEO,其中外部IP地址丰富了GeoIP信息(纬度/经度坐标+城市/州/国家)或HOST浓缩,其中IP通过主机细节得到丰富(例如:IP对应于作为主机X的主机X)用于电子商务应用程序的Web服务器场)。
第4步 - 标签
在浓缩之后,遥测事件经历标记过程。在此阶段内完成的操作包括威胁英特尔交叉引用检查,其中遥测事件中的元素可用于查找威胁英特尔Feed数据源,如 Soltra 生成的Stix / Taxii供稿或其他威胁英特尔聚合器服务。然后,当发生命中时,这些威胁英特尔服务将使用威胁英特尔元数据“标记”遥测事件。
其他类型的服务包括使用模型作为服务模式执行/评分分析模型,其中包含正在流入的遥测事件(有关分析模型/包和模型作为服务模式的更多详细信息将在本系列的即将发布的博客中出现)。
第5步 - 警告和坚持
在此阶段,某些遥测事件可以发起警报。然后,这些类型的遥测事件在警报索引存储中被索引。遥测事件可以产生由多种因素触发的警报,包括:
- 事件类型 - 原始遥测事件本身是一个警报。例如,Snort生成的任何事件 都是一个警报,因此它将自动编入索引作为警报。
- Threat intel hit - 如果原始遥测事件具有英特尔威胁,它将被标记为警报。
此外,在此步骤中,所有丰富和标记的遥测事件都会被编入索引并在Hadoop中持久存储以进行长期存储。在Hadoop中存储这些事件会在企业内部生成安全数据保险库,从而可以执行下一代分析
第六步-UI门户和数据与集成服务
步骤1到步骤6提供了一种机制,用于摄取、解析、规范、丰富、标记、索引所有安全遥测数据,并将企业中的不同数据源存储到一个安全数据库中。这允许Metron平台为不同类型的安全用户提供一组服务,以更有效地执行他们的工作。其中一些服务包括:
- 实时搜索和交互式仪表板/门户-单一窗格的安全操作分析人员,以查看警报和相关警报颗粒遥测事件,导致警报。
- 数据建模/功能工程服务-由于Metron框架规范并丰富了数据,并将其存储在标准化位置的安全数据池(HDFS,HBASE)中,因此平台可以提供各种分析模型。这些模型将对所需的特征矩阵进行规范,从而大大简化了作为分析中最复杂方面的特征工程过程。特征矩阵所需的数据建模服务将由木星、IPython和Zeppelin等工具提供。
- 集成和扩展层-Metron平台最强大的特性之一是能够根据您自己的需要/需求定制它,包括:
- 吸收新的数据源
- 添加新的解析器
- 增加新的浓缩服务
- 增加新威胁
- 建立、部署和执行新的分析模型
- 与企业工作流引擎的集成
- 自定义安全仪表板和门户
以上纯属个人总结,欢迎各位大佬点评