1、贾林杰/高级安全开发工程师/某支付公司现任某支付公司高级信息安全工程师,从事多年安全开发工作,曾主导开发过分布式WEB扫描器、漏洞管理平台、业务风控平台、SOC平台等,目前专注于XDR相关技术探索及开发。演讲主题:基于Flink的实时安全数据分析与异常检测基于Flink的实时安全数据分析与异常检测汇付天下 高级信息安全工程师 贾林杰安全领域的数据分析与异常检测的特点与要求数据来源多 数据来自主机、网络、应用、安全设备等数据类型杂 各类型数据结构复杂,且不易关联无限流数据 开机即生成,数据量巨大实时要求高 告警数据实时性要求高,越早发现,危害越小安全领域的数据处理流程数据收集阶段需要尽可能全面的
2、收集可用于后续处理的日志、告警、外部情报等数据数据收集数据处理阶段需要收集的多种日志进行标准处理、字段扩展、数据关联等操作数据处理数据分析阶段需要对标准化的数据进行多维度指标计算、条件判断等分析操作数据分析通过分析后的目标数据可以用来进行可视化输出、规则检测、特征提取等更深层次的加工与输出数据输出基于ELK的日志收集及分析方案基于ELK的日志收集及分析方案1.beats可快速接入数据并通过logstash的可配置功能对数据进行初步的清洗,扩展、过滤2.强大的搜索功能,elasticsearch可以以分布式搜索的方式快速检索,而且支持DSL的语法来进行搜索,可通过类似配置的语言,快速筛选数据。3
3、.完美的展示功能,可以展示非常详细的图表信息,而且可以定制展示内容,将数据可视化发挥的淋漓尽致。4.分布式功能,能够解决大型集群运维工作很多问题,包括监控、预警、日志收集解析等。缺点1.logstash管道配置文件对数据的清洗、转换、扩展等功能有限,无法进行数据流关联等进一步操作2.ELK套件虽然具备强大的搜索功能,可快速筛选数据,但本质是仍然是分布式检索平台,不具备事件驱动能力,无法完成一些高级的有状态计算3.ELK虽然具备分布式可扩展能力,但在仍然不适合进行较长时间跨度的数据存储平台,长时间跨度极大数据量的数据存储仍然需要借助大数据平台完成Apache Flink 是一个框架和分布式处理引
4、擎,用于对无界和有界数据流进行有状态计算。Flink 被设计为在所有常见的集群环境中运行,并以内存中的速度和任何规模执行计算FLINK的介绍:FLINK的优势海量数据秒级处理01Flink具有高吞吐,低延迟,高性能的特性支持事件时间02Flink能够使用事件产生的时间进行计算,这种机制使得事件即使无序到达甚至延迟到达,数据流都能够计算出精确的结果,同时保持了事件原本产生时的在时间维度的特点,而不受网络传输或者计算框架的影响高度灵活的窗口操作03Flink窗口分为滚动窗口、滑动窗口、会话窗口,不同的窗口操作应用能够反馈出真实事件产生的情况,用户可以定义不同的窗口触发机制来满足不同的需求。比如统计
5、在过去的5分钟内用户查询了多少次运单信息同时支持流、批处理04同一套框架支持两种处理方式,很大程度上减少了技术学习成本和系统维护成本。有状态计算架构05状态就是流式计算过程中将算子的中间结果数据的保存下来,结合checkpoint和Savepoint,可以保障在故障发生程序能自动恢复,同时也提供了更好的流式运维方式基于Flink的数据分析与异常检测基本方案FLINK的基本概念事件驱动型(Event-driven)l一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作流与批的世界观,Flink流批一体,可处理有界和无界流l 批处理的特点:有界、持久、大量,非常适合需要访问全
6、套记录才能完成的计算工作,一般用于离线统计。l 流处理的特点:无界、实时,无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般用于实时统计l 无界数据流:有开始无结束l 有界数据流:有开始有结束l 这种以流为世界观的架构,最大好处是具有极低的延迟分层API(从上到下分三层)l a、SQLTable API 最上层高级API,使用简单,数据按表操作,可写SQLl b、DataStreanm API 核心层级API,可处理有界&无界数据(流批一体)l c、ProcessFunction API 可以拿到事件event,状态state,时间