文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

复杂事件处理(CEP)技术在数据安全场景中的应用

2024-12-14 00:40

关注

基于复杂事件处理技术,通过关联、时序、聚合等方式对多种数据进行分析处理,可以发现一些有价值的信息,是大数据处理的关键技术之一。目前,市面上CEP引擎主要有:

当前数据安全事件层出不穷,数据的安全传输、脱敏、加密、防泄漏等主要是事前防范措施,我们将围绕数据溯源场景,基于CEP引擎对数据泄露相关事件进行关联分析,追踪溯源。在事件运营整个流程中,针对安全设备发来的安全日志以及数据访问和传输日志,再经过平台解析、增强、归一化等技术标准化后,就需要使用CEP规则引擎对标准化的日志做深度关联分析,生成安全告警事件(如图1),并推送给安全运维人员,从而完成防护—检测—响应的整个安全事件运营的闭环。

图1 安全日志分析流程

数据安全需求与分析场景非常复杂,为了适应快速变更的场景需求和保护数据的价值,规则引擎的设计架构需具备灵活的语义定制、友好的规则扩展以及高效的大数据处理能力等特点。另外,根据日志的存储特性,CEP规则引擎可分为实时和离线两种分析模式,下面分别介绍这两种模式在数据安全事件分析场景中的应用。

模式一、实时复杂事件处理

为了快速发现数据安全事件,需要实时处理设备日志,因此需要基于实时的流式大数据处理框架开发CEP规则引擎。一般情况下,将一个数据安全事件检测场景部署到安全运营平台上,需要经历如下步骤:

经过上述步骤后,CEP规则引擎就可以加载该安全场景的事件检测规则,当符合该规则检测模式的设备日志进入到CEP规则引擎后,即可触发生成事件。

基于Flink和Siddhi开发CEP规则引擎,是实时事件处理的典型案例,其事件处理流程的架构如图2。

图2 Flink-Siddhi流程图

下面以一个实际业务中的数据安全威胁检测场景为例:攻击者通过若干已知账号和通用密码尝试登陆(UEBA异常行为—单设备登陆多个不同账号),成功后登陆特定用户的confluence、邮箱等,翻阅并下载敏感信息(短时间内下载大量文件),如服务器密码、敏感文件等,进而攻陷了一批服务器,造成严重的数据泄露。该场景涉及到三种日志:登陆认证、Web访问和文件传输。经过分析可知,该场景的日志具备如下特征:

上述特征均可以使用CEP规则引擎内置的算子来表示。

使用EPL将事件检测逻辑定义出来,然后将EPL加载到CEP规则引擎中,通过解析校验EPL等流程,最终得到一个物理执行流程图并分发到集群的各个worker节点,开始执行上述事件检测规则。

一般情况下,多数CEP引擎都提供了状态机的方案,按照事件检测规则对实时日志流进行模式匹配,在上述安全事件检测规则的具体执行过程中,有限状态机的执行过程如图3所示:

图3 CEP规则执行EPL基本流程

首先,CEP规则引擎持续检测第一步的登陆认证日志,如果检测到多次认证失败突然登陆成功的日志,则判定为异常,并将异常登陆认证日志缓存起来,记为集合A。同时,实时监控集合A中日志源/目的IP,若有Web访问日志短时间内登陆大量不同账号,且登陆账号的数量超过正常基线(或阈值)的情况,记为异常的Web访问日志集合B。至此,得到了两个日志集合A和B,并且将集合A和B中按源/目的IP条件关联得到的集合记为[A&B]模式序列。

同理,以[A&B]模式序列中集合A的目的IP持续监控文件传输日志是否有和关联条件相匹配的文件传输日志,并且在登陆成功后的一段时间内发生了大量的文件传输行为,于是得到集合C。并最终得到[A&B->C]模式序列。如果该模式序列[A&B->C]不为空,则说明日志触发该事件检测规则,即可生成最终的账号爆破成功后的数据泄露告警事件。

通过我们的CEP引擎,可以灵活高效处理数据安全场景的溯源分析,快速还原数据泄露过程的全貌,对责任定位、环境加固、安全预防起着重要作用。

模式二、离线复杂事件处理

虽然实时处理能检测到很多数据泄露的场景,但由于部分场景时间跨度长,且是一次性接入的历史日志,因此亟需离线复杂事件处理模式。离线模式可基于历史日志,支持长时间跨度的威胁分析,还原攻击事件。绿盟科技开发出一套通用的离线规则执行框架,用以支持单源、多源关联分析、复杂事件处理以及自定义插件类规则,支持更多的场景分析,同时兼顾效率和资源。离线处理整体架构如图4所示。

图4 离线规则执行流程

下面我们结合具体APT攻击导致数据泄露实例场景来说明:攻击者首先通过端口和漏洞扫描尝试,发现开启SSH服务,然后制作密码字典进行暴力破解,期间有SQL注入尝试,获取密码、权限等,成功登陆系统(SSH登陆成功),进而安装病毒程序或工具进行木马远程控制活动,获取持久控制权限,登录后阅读或传输敏感文件,导致数据泄露,造成严重的数据安全事件。其攻击流程如图5所示。

图5 复杂持续攻击数据泄露案例

根据攻击阶段的关键动作可提取特征:

(1)侦查:如端口、Web漏洞扫描;

(2)定向攻击:账号爆破、SQL注入等;

(3)攻陷+入侵:账号爆破成功、系统登录成功等;

(4)安装工具:感染木马、病毒等;

(5)恶意活动:远程控制、敏感文件传输、数据泄露等。

离线模式检测当前APT攻击方法:

(1)首先根据数据攻击场景提取的关键特征配置规则,这里可以配置为5个阶段:S1(端口扫描)->S2(SSH暴力破解)-> S3(SSH登录成功)-> S4(感染木马病毒)-> S5(数据泄露);

(2)配置完规则后选择执行模式(立即或周期执行),并注册到任务表中;

(3)任务监控进程根据注册信息执行对应任务;

(4)执行:由于是离线溯源,日志都已存储至ES中,因此可以从任意阶段开始搜索。

由于面临海量日志的关联,需解决好关联时的性能问题。这里采用最小日志源双向关联算法,核心思想为先找到各阶段各个日志源命中数量的最小值,提取关键关联条件字段信息,如sip、dip等,然后结合关联条件,将其作为前一步或后一步的追加复合搜索条件,反复迭代搜索,获取最终待关联分析的日志最小数据量,在内存数据库中完成聚合关联分析处理。

图6 最小日志源双向关联搜索执行流程示例

以三个日志源[s1,s2,s3]的多源关联分析规则为例,描述详细执行逻辑:

(1)先查询三个日志源的每个规则过滤条件分别命中的日志总数列表log_cnt_list =[cnt1,cnt2,cnt3], 假设cnt2为最小值;

(2)将第二个日志源过滤规则命中的日志数据Data2从日志数据库中取出来,结合关联条件(如s1.sip=s2.dip),将s2的查询结果Data2作为追加查询条件,向前以及向后关联查询日志源s1和s3分别命中的日志数据Data1和Data3。需要注意的是,以Data2中的值作为约束关联条件查询s1或s3,可能会查询不到结果,即Data1和Data3可能为空,若为空,则需要及时终止向前或向后关联查询,并退出规则执行模块,以避免对日志数据库不必要的查询并及时释放系统资源。

(3)双向查询日志结束后,将查询到的日志数据集[Data1,Data2,Data3]写入到内存数据库中,然后参与后续的关联聚合并输出事件,并及时清空内存中的临时数据;

(4)增加反查机制,进一步降低数据量。

可以看到,定义好场景和特征后,数据泄露相关场景可以灵活通俗的转变成引擎内置识别的方式去溯源检测,使场景分析的门槛大大降低,人人都可以基于业务中的场景实例做实战分析。

结语

通过上文对复杂事件处理相关技术在数据安全典型场景中的应用探讨,并基于实时和离线两种安全事件分析模式分析具体数据泄露场景案例的溯源实践,我们可以看到复杂事件处理技术在网络安全行业具有重要的应用价值,尤其在数据安全事故频发的现状下其价值体现将更加明显。但数据泄露的场景分析、数据窃取、滥用及加密等课题研究仍任重而道远。在设计上,需要更加完善的数据安全治理和评估框架体系;在技术上,需要对方案的性能、多样性和扩展性做持续探索和优化。

【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】

戳这里,看该作者更多好文

 

来源:51CTO专栏内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯