《覃永靖-如何设计信息安全领域的实时.pdf》由会员分享,可在线阅读,更多相关《覃永靖-如何设计信息安全领域的实时.pdf(31页珍藏版)》请在三个皮匠报告上搜索。
1、覃永靖奇安信集团高级技术专家如何设计信息安全领域的实时安全基线引擎如何设计信息安全领域的实时安全基线引擎什么是安全分析什么是安全分析#1#1计算框架的选择计算框架的选择#2#2引擎设计引擎设计#3#3实践与展望实践与展望#4#40 01 1什么是安全分析什么是安全分析日志采集日志采集&解析解析流量日志流量日志威胁日志威胁日志运行日志运行日志终端日志终端日志实时安全分析实时安全分析安全基线安全基线安全运营安全运营&态势感知态势感知态势可视化态势可视化事件流大数据集群大数据集群安全事件实时安全分析关联分析关联分析安全规则安全规则威胁情报威胁情报安全知识库安全知识库安全联动安全联动安全运营安全运营安
2、全编排安全编排支持简单易用的安全分析语义第一时间发现和响应安全事件快速响应132检测的是异常(少数),而不是正常(多数)大量领域独有需求场景定制混合部署大量组件在同一节点同时运行硬件/节点扩展成本高/受限资源受限安全领域特点安全领域的需求时延要求严格,攻防双方抢时间差安全事件驱动,解决方案上线快,响应及时实时分析提供丰富的安全分析语义覆盖大部分安全分析场景语义丰富轻松部署在各种大数据平台支持客户自建平台最大的版本兼容灵活部署支持部署到从一到几十甚至上百台节点的集群上运行资源占用尽可能小且支持大规模分析规则/基线(上千)同时运行最小资源提供企业级产品的稳定性运行稳定安全基线分析检测对象数据/日志
3、/特点,然后人工归纳/统计出可检测特征,建立安全模型:安全规则/威胁情报基于特征的检测根据检测对象数据/日志,采用各种方法学习出行为特征,建立行为基线,并用于异常检测:安全基线基于行为的检测常见安全场景场景1最近账号登录VPN服务器的次数和行为,相比历史数据异常DBA用户账户登陆异常:位置异常/访问资产异常邮件发送附件数量超出基线设置场景2场景30202计算框架的选择计算框架的选择计算框架的选择OR计算框架的选择Flink是一种先进的面向分布式数据流处理和批量数据处理的开源计算平台,提供支持流处理和批处理两种类型应用的功能。优势点:优势点:分布式计算框架,部署灵活1 1高吞吐低延迟,性能强大2
4、 2灵活的 Data Streaming API,方便实现定制化需求3 3检查点和保存点机制简单易用低4 4社区活跃,丰富的文档和场景样例5 5计算框架的选择在企业级受限资源(硬件资源)环境,规则集数量上千规模的情况下,Flink标准版本及现有的“Flink SQL”和“Flink CEP”均在满足业务及性能需求上遇到问题。痛点:痛点:无大规模规则语义/流优化1不便于动态更新规则和运行图2无业务原生级状态监控3缺乏安全场景定制窗口和逻辑4无资源保护机制5重复告警,不支持空值窗口触发6无安全基线相关算子7使用和调优门槛较高80303引擎设计引擎设计应用架构威胁情报态势分析资产漏洞地理位置知识数据
5、node1node2node N.Flink runtimeFlink DataStream APISabreRules/DSL安全分析安全运营资源监控FlinkSabre应用层部署业务流程Sabre-Server基线编辑规则配置运行监控RESTfull API规则解析及优化器图优化及代码生成代码编译及打包图监控映射业务逻辑基线引擎消息队列/存储消息队列/存储规则和运行策略配置任务包(jar)图节点运行监控信息Task codeDAG事件流事件流用户界面大数据集群基线路由任务监控Sabre基线下发业务监控信息基线数据DSL简单易用学习成本低,易上手符合分析人员直觉思维数据类型丰富提供丰富的数据
6、类型基础类型IP,日期,地理位置,威胁情报,资产语义丰富提供丰富的分析语义对安全分析语义进行增强和定制设计支持扩展提供扩展接口支持自定义处理逻辑readKafka(bootstrap.servers=localhost:9092,topic=input,group.id=sabre,data.type=json,timestamp.type=event,timestamp.field=occur_time,timestamp.format=yyyy-MM-dd HH:mm:ss:SSS,timestamp.unit=millisecond).filter(select*add$ruleID a
7、s ruleID where foreach(srcIPs,rowMatch(object(ti-table),ip(element()in rowValue(server_ip).fixedTumblingTimeWindow(length=everyMonth(1),lateness=hour(1),fold=true).groupBy(user).timeRangeModel(id=model,denoise=kSigma(actualValue=value,dataType=actualValue,probability=0.99),path=list(date(occur_time)
8、,type=list(second),storeEvents=true,storeFrequency=true).trigger(date(occur_time)in object(model).writeKafka(timestamp.format=yyyy-MM-dd HH:mm:ss:SSS,timestamp.type=process,event.type=matched,bootstrap.servers=localhost:9092,topic=output,data.type=msgpack)DSL编译器对DSL中相同语义逻辑进行优化公共表达式优化公共表达式优化hash匹配大规模
9、IP匹配优化大规模正则匹配优化引用数据表优化引用数据表优化预计算各种常量表达式常量表达式优化常量表达式优化引用实例归并引用语义归并表引用优化表引用优化图优化器图融合子图融合图节点语义融合时间窗口归并公共资源优化数据流优化Key前置语义等价节点融合网络吞吐均衡节点归并字段裁剪图上字段推导、裁剪字段归并代码生成DSL代码生成图代码生成执行图映射DataStream API时间时间窗口通用滑动时间窗口自然时间滑动时间窗口层叠窗口重复数据融合重复计算消除时间定时器归并事件乱序处理时间线事件发生时间事件处理时间时间精度延迟时间系统时间-事件时间事件时间-系统时间全局时间水位管理局部时间水位管理安全基线安
10、安全全基基线线范围类安全基线多级统计类安全基线时间类安全基线频率类安全基线空间类安全基线指数平滑类安全基线周期类安全基线聚类安全基线统计类安全基线序列类安全基线机器学习类安全基线决策树类安全基线基线处理流程事件解析过滤时间窗口数据降噪基线学习基线检测基线管理消息队列/存储事件流Sabre基线路由基线流消息队列/存储事件流事件流事件流事件流事件集基线基线基线异常事件流基线流基线状态信息存储基线学习&检测 learn ready close expire基线周期 事件触发计算 时间触发计算基线计算 基线异常事件输出 基线内容输出基线输出在线基线编辑&更新基线可更新基线可路由基线可编辑基线编辑DSL
11、语义基线编辑数据设计基线编辑可视化流程全局基线更新流图构建运行时基线路由方法精确基线数据分发基线运行周期定义基线更新状态反馈历史&实时数据融合学习 历史数据学习范围探测 在线基线更新历史数据学习 基线自动学习 基线自动检测 基线自动更新实时数据学习 历史&实时数据边界划分 基线融合 重复数据消除历史&实时数据学习数据降噪数值类数据降噪非数值类数据降噪数据类型相比本周期数据集相比上周期数据集相比历史数据集自定义噪音判定逻辑噪音判定最小化数据结构字段裁剪存储优化资源监控&保护稳定性增强基线内存监控基线内存保护资源优先级管理基线计算保护慢路径发现子图隔离状态监控图节点状态跟踪CPU、内存、磁盘、输入
12、、输出、运行状态逻辑&处理延迟监控图状态跟踪大规模图状态报告优化图状态-规则状态映射流量控制主动流量控制被动流量控制时间窗口控制savepoint&checkpoint 图融合优化,图局部变化不影响其它子图 代码生成优化,稳定子图生成稳定执行代码图局部状态稳定 复杂数据结构序列/反序列化优化 增量状态序列/反序列化 多用户状态管理 单用户多任务状态管理状态管理0404实践和展望实践和展望工程实践集成NGSOC态势感知EDR云安全工控互联网智能安全部署部署近千个客户央企、政府、银行、公安、院校、医院 国产化私有云运营一到几百台集群几百到上百万 EPS上百个部委/央企专项行动发展与展望Contribute excellent practices to Apache Contribute excellent practices to Apache FlinkFlink CommunityCommunity持续进行性能及功能优化Continuous performance and function optimizationContinuous performance and function optimization优秀实践回馈社区