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

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

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



基线的周期分为 learn,ready,close,expire 四个阶段:  


learn 表示学习阶段,在这个阶段基线学习输入的事件流;

ready 阶段表示当前时间线已经到了基线的学习截止时间,但是因为延迟时间,基线需要等待一个延迟时间,在这个时间段基线可以继续学习延迟的事件,同时基线可以用于异常检测;

close 表示当前时间线到了延迟时间,此时基线不再学习输入的事件,只用于异常检测; expire 表示当前时间线到了基线超时时间,需要基线停止进行异常检测,并删除。


基线的计算由两种情况触发:  

第一种是事件触发计算,每条事件到达之后会触发一次异常检测计算;

第二种是时间触发计算,基线周期会注册时间定时器,时间定时器触发之后会触发相关基线计算流程。  


基线的输出分为基线异常事件输出和基线内容输出:  

基线异常事件输出发生于基线异常检测过程,当发现异常事件时需要输出对应的事件;

基线内容输出发生于基线学习完成之后需要将基线本身进行输出,用于基线编辑和基线本身异常分析。  


在基线学习过程中,通常学习周期是比较长的,比如最近一周、最近一个月等,长周期的学习通常会面临一个数据割裂的问题,比如学习最近一周的数据,但是现在是星期三,也就是说最近一周的数据分成两个部分,其中从星期一到星期二的数据是保存在历史数据存储中,星期三及之后的数据是实时发生的,这里会涉及历史和实时数据融合学习的问题。这里可以分为三种情况:  


第一是待学习数据全部是历史数据,这需要支持历史数据学习范围探测,和在线基线更新;

第二是待学习的数据全部是实时数据,这要求支持基线自动学习、基线自动检测和基线自动更新;

第三种是历史和实时数据融合,这需要支持历史和实时数据边界划分、基线融合、重复数据消除。


image.png


用户在使用过程中经常要对规则进行操作,这些操作会引起运行任务的启停,启停过程中数据需要前后保证一致,不能因为启停而导致保存的数据丢失。  


Flink 本身支持任务重启时重新加载数据,但是在基线引擎这里问题会比较复杂,因为用户可能会停用、启用或者修改规则,这会引起规则集发生变化,进而引起执行图发生变化,为了保证任务重启时不变的规则能正确从 savepoint 加载到到正确的数据,需要支持图局部状态稳定,即在图优化过程中图局部变化不影响其它子图,同时在代码生成过程中保证稳定子图生成稳定的执行代码,变化规则只影响与其相关的子图,其它不变的规则不受影响。  


基线学习过程中通常保存大量的中间数据,为了加快 savepoint 和 checkpoint 速度,需要对复杂数据结构的序列化和反序列化进行优化,还需支持增量状态。引擎服务通常需要对多用户提供分析服务,因此还需对多用户多任务的状态进行管理,保证每个任务都能准确关联到其对应的状态数据。


未来规划

随着知识的扩散和各类安全漏洞的频发,各种攻击手法和安全威胁也层出不穷,这对安全分析能力的要求也越来越高,需要引擎能持续进行更新和优化,以提高对安全攻击的检测能力,后续需要继续将更多更好的行为学习算法和技术与安全基线集成,提高安全基线的检测能力。同时期望能将引擎的一些实践通过某些渠道回馈到社区,让更多的人能使用其中好的设计和实践。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
3天前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
26 0
|
3天前
|
机器学习/深度学习 数据采集 算法
数据分享|R语言机器学习预测案例合集:众筹平台、机票折扣、糖尿病患者、员工满意度
数据分享|R语言机器学习预测案例合集:众筹平台、机票折扣、糖尿病患者、员工满意度
|
3天前
|
机器学习/深度学习 数据采集 TensorFlow
【Python机器学习专栏】使用Python进行图像分类的实战案例
【4月更文挑战第30天】本文介绍了使用Python和深度学习库TensorFlow、Keras进行图像分类的实战案例。通过CIFAR-10数据集,展示如何构建和训练一个卷积神经网络(CNN)模型,实现对10个类别图像的识别。首先安装必要库,然后加载数据集并显示图像。接着,建立基本CNN模型,编译并训练模型,最后评估其在测试集上的准确性。此案例为初学者提供了图像分类的入门教程,为进一步学习和优化打下基础。
|
3天前
|
机器学习/深度学习 Serverless
机器学习入门案例-鸢尾花
机器学习入门案例-鸢尾花
26 0
|
3天前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1809 2
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
|
3天前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1794 2
官宣|Apache Flink 1.19 发布公告
|
3天前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
348 3
|
3天前
|
Oracle 关系型数据库 流计算
flink cdc 同步问题之报错org.apache.flink.util.SerializedThrowable:如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
438 0
|
3天前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
268 0
|
3天前
|
存储 机器学习/深度学习 Apache
Apache Hudi与机器学习特征存储
Apache Hudi与机器学习特征存储
37 0

热门文章

最新文章

相关产品

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

    更多