Elastic安全分析新利器 —— Event Query Language (EQL) 介绍

本文介绍了Elastic Security平台中的Event Query Language (EQL),这是一种简化复杂查询的语言,用于实时检测和捕获恶意行为。EQL通过其直观的语法,支持事件序列、进程祖系查询等功能,帮助安全从业者表达复杂的查询,提高检测效率。文章通过多个实际案例展示了EQL在IOC检索、时间窗口搜索、管道处理等方面的应用。
摘要由CSDN通过智能技术生成

随着网络安全攻防双方的技术不断升级,敌方活动不再单纯地用静态的 “入侵指标”(IOCs)来描述。仅仅关注IOCs会导致检测变得脆弱,而且在发现未知攻击时效果不佳,因为对手可以通过简单的修改工具包以轻松逃避基于指标的检测。相反,安全从业者需要基于恶意行为的持续检测。MITRE ATT&CK框架可以帮助从业者将其防御传统技术集中在这些恶意行为上。通过将对手的传统技术和行为组织成一个战术和技术矩阵,ATT&CKTM 是超越IOCs并向基于行为的检测发展的理想选择。

有了一个全面而强大的对抗行为模型,下一步就是建立一个支持捕获和实时检测的事件收集架构,以及一种促进可用性和性能的查询语言。我们创建了用于捕获和实时检测的事件查询语言(EQL),其简单的语法可以帮助从业者表达复杂的查询,而没有很高的入门门槛。本文将讨论 EQL 背后的动机,它如何融入 Elastic Security 整体架构,并提供几个 EQL 的实际案例,以展示其推动捕获和实时检测对抗行为的能力。

简化复杂的查询

许多数据库和搜索平台繁琐且不直观,语法复杂,进入门槛高。检测可疑行为需要对多个数据源进行分析,并具备无缝的数据收集、汇总和分析能力。搜索和探索数据应该是直观和反复的,并能灵活地对问题进行微调,并对可疑行为进行精确定位。

在Elastic Security 平台中,我们创建了克服这些数据分析和检测挑战的功能。我们的目标是增强用户的能力,而不是让他们感到无所适从。我们的解决方案,EQL,平衡了可用性,同时大大扩展了狩猎和检测的能力。它可以用来回答复杂的问题,而不会给用户带来联接(join)、事务(transaction)、聚合(aggregation)或状态管理等内部工作的负担,这些工作伴随着许多数据库解决方案和分析框架。EQL已经被证明是有效的,我们很高兴将它介绍给社区,以推动实时检测。

设计一种语言

我们希望确保EQL在为大家所熟悉的语法中支持复杂的问题,以限制学习曲线并最大化功能。EQL提供了抽象,允许用户执行有状态的查询,识别事件序列,跟踪进程的父子关系,跨多个数据源的连接,并执行堆叠。在设计EQL时,我们首先关注的是暴露底层数据模式。每个收集到的事件都由一个事件类型和一组属性组成。例如,一个进程事件(process event)有诸如 process identifier (PID), name, time, command line, parent等字段,还有一个子类型来区分创建和终止事件。在最基本的层面上,事件查询根据一些布尔逻辑将事件类型与条件匹配,以比较字段。where关键字用于在查询中把这两者联系起来。条件表达式与布尔运算符(andornot)、比较运算符(<<===!=>=>in)以及函数调用相结合。数字和字符串的表达很容易,并且支持通配符(*)。所有这些都导致了一种简单的语法,感觉应该和Python类似。

在搜索单个事件时,用EQL可读性强、精简的语法,可以很容易地表达很多问题。例如,这个问题:

svchost.exe进程的目的端口为1337,IP域为192.168.0.0/16或172.16.0.0/16时,有哪些独特的出站IPv4网络目的地?

用EQL表示:

network where  
  event_subtype_full == "ipv4_connection_attempt_event" and  
  process_name == "svchost.exe" and  
  destination_port == 1337 and 
  (destination_address == "192.168.*" or destination_address == "172.16.*"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值