《Apache Flink 案例集(2022版)》——3.机器学习——奇安信-如何设计信息安全领域的实时安全基线引擎(2)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 《Apache Flink 案例集(2022版)》——3.机器学习——奇安信-如何设计信息安全领域的实时安全基线引擎(2)

《Apache Flink 案例集(2022版)》——3.机器学习——奇安信-如何设计信息安全领域的实时安全基线引擎(1) https://developer.aliyun.com/article/1228167



平台建设

目前主流实时计算框架主要有两个,Spark 和 Flink,而奇安信最初设计安全基线引擎是在 2018 年左右,当时主流研究 Storm、Spark、Flink 这三个计算框架,综合各方面因素最终选择了 Flink 作为底层计算框架。当时使用的 Flink 是 1.4 版本左右,是一个比较成熟的版本,相比其它框架,它的 API 以及它的底层分布式和流计算实现方式比较符合奇安信的使用场景。

image.png


Flink 的优势点比较突出,它是分布式计算框架,部署灵活,适配目前常见大数据平台。它拥有很好的处理性能,能达到高吞吐低延迟,这非常适合进行实时安全分析。它还提供灵活的 DataStreaming API,方便实现定制化需求。另外,还支持简单易用的检查点和保存点机制。并且,作为目前非常热门的计算框架,社区活跃,有丰富的文档和场景样例。


image.png


奇安信的实时安全基线引擎应用框架分为三层:  


底层是部署层,通常是一个大数据集群;


第二层是安全分析层,基于 Flink DataStreaming API 来构建安全基线引擎,Flink 负责底层的分布式计算和事件流发送,具体的业务计算由安全基线引擎来完成。安全基线引擎向用户提供的使用接口为规则和 DSL,用户通过界面来下发规则 DSL 给引擎,引擎根据规则和 DSL 来对事件流进行分析和计算,同时根据规则语义使用外部的数据,比如知识数据、威胁情报、资产和漏洞等;


用户通过第三层的应用层来管理和使用引擎。并基于引擎数据结果态势分析,安全运营,资源监控等具体安全业务。

image.png


引擎的业务流程分为三块,即用户界面,引擎服务和引擎分析任务。用户通过用户界面来进行规则配置、基线管理和运行监控。引擎服务以 RESTfull API 的方式向用户提供规则下发、基线下发、状态监控等服务。引擎服务在接收到用户的规则下发请求后需要对下发的规则集进行解析、优化之后生成分析任务代码包,分析任务代码提交大数据集群运行,分析任务在运行过程中接收引擎服务的基线发下数据,对运行时基线进行增删改操作。


分析任务还向引擎服务报告任务运行状态,引擎服务将任务运行状态映射成业务监控信息,提供给用户查询和分析使用。


image.png


实时计算一个核心要素是时间,不同的时间处理方法和实现方案会带来差异很大甚至完全不同的计算结果。实时分析中,时间主要影响两个功能,即时间窗口和时间线。  


在安全分析场景里,时间窗口需要支持通用滑动时间窗口、也要支持自然时间滑动时间窗口,比如每年,每月,每星期等自然,甚至是变长时间、需要支持层叠窗口重复数据融合,降低数据存储量、能自动进行重复计算消除,避免重复告警、时间定时器归并、事件乱序正确处理,避免事件乱序引起错误计算。  


时间线可分为事件发生时间和时间处理两类,进而延伸出时间精度,不同的时间精度会对处理性能和存储造成很大的压力,比如需要对时间进行排序的场景。由于实时分析中事件可能是乱序的,因此需要支持延迟时间,解决大部分因为乱序而造成的计算不准确问题。部分计算场景涉及系统时间<->事件时间之间的相互转换,需要能提供两种时间的转换计算方法。由于执行图是大量子图融合而来,因此需要同时支持对全局和局部时间水位进行管理,保证图上时间线能正确推进。


image.png


基线处理流程主要分为三个部分:基线学习、基线检测和基线路由,其中穿插事件过滤、时间窗口、基线降噪、基线管理等流程。基线学习流程包含从消息队列和存储中读取事件流,经过事件过滤和时间窗口聚合,事件流中可能包含噪音数据,还需进行数据降噪流程,最后基线学习流程学习输入的事件流程,生成对应的安全基线。学习完成的安全基线在进行基线管理流程之后用于异常检测,用于预测和异常检测,如果发现异常行为,则产生异常事件,输出到后续的处理流程,用于后续的业务的使用。用户在使用过程中可能需要修改或删除一些学习好的基线或者自己新建一个基线,这些基线的增删改操作通过基线路由功能来完成,基线路由流程将用户编辑的基线在图上路由之后正确的分发到对应的图节点实例中。


image.png



《Apache Flink 案例集(2022版)》——3.机器学习——奇安信-如何设计信息安全领域的实时安全基线引擎(3) https://developer.aliyun.com/article/1228162

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
8天前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
27 0
|
8天前
|
SQL 消息中间件 Apache
Apache Calcite—sql执行和解析引擎
Apache Calcite—sql执行和解析引擎
71 0
|
8天前
|
存储 SQL 大数据
带你读《Apache Doris 案例集》—— 01 招商信诺人寿 基于 Apache Doris 统一 OLAP 技术栈实践(1)
带你读《Apache Doris 案例集》—— 01 招商信诺人寿 基于 Apache Doris 统一 OLAP 技术栈实践(1)
149 0
|
1天前
|
机器学习/深度学习 数据采集 人工智能
关于防御机器学习模型攻击的安全措施
保护AI系统安全的关键是防御机器学习模型攻击。措施包括:数据预处理(规范化、去除异常值、平滑化)、输入验证过滤(边界检查、类型检查)、集成防御(多策略组合)、数据增强、监测记录模型行为和安全增强训练(对抗训练、鲁棒优化)。通过组合应用这些方法,如使用 Foolbox 检测过滤对抗样本、模型集成和对抗训练提升鲁棒性,可增强模型安全性。然而,安全措施需根据应用场景动态调整并配合专业团队实施。
|
8天前
|
机器学习/深度学习 数据采集 安全
一些关于防御机器学习模型攻击的安全措施
保护机器学习模型免受攻击的常见措施包括对抗样本检测过滤、模型集成验证、模型退化重训练、输入数据预处理、监测记录模型行为以及安全增强训练。例如,使用Foolbox库检测过滤对抗样本,通过模型集成平均多个模型的预测结果,定期退化模型模糊攻击者了解,使用对抗训练提升模型鲁棒性。同时,对输入数据预处理、监测模型输出和记录行为也是重要步骤。这些方法能增强模型安全性,但并非万无一失,需结合具体场景和专业安全团队实施。
|
8天前
|
存储 机器学习/深度学习 Apache
Apache Hudi与机器学习特征存储
Apache Hudi与机器学习特征存储
37 0
|
8天前
|
存储 机器学习/深度学习 分布式计算
Apache Hudi在Hopsworks机器学习的应用
Apache Hudi在Hopsworks机器学习的应用
37 0
|
8天前
|
存储 测试技术 API
Apache Hudi 负载类Payload使用案例剖析
Apache Hudi 负载类Payload使用案例剖析
50 4
|
8天前
|
SQL 并行计算 大数据
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
关于Flink服务的搭建与部署,由于其涉及诸多实战操作而理论部分相对较少,小编打算采用一个独立的版本和环境来进行详尽的实战讲解。考虑到文字描述可能无法充分展现操作的细节和流程,我们决定以视频的形式进行分析和介绍。因此,在本文中,我们将暂时不涉及具体的搭建和部署步骤。
500 3
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
|
8天前
|
机器学习/深度学习 算法 搜索推荐
Flink中的流式机器学习是什么?请解释其作用和常用算法。
Flink中的流式机器学习是什么?请解释其作用和常用算法。
56 0

热门文章

最新文章

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多