Elkeid HUB 是一款由 Elkeid Team 维护的规则/事件处理引擎,支持流式/离线(社区版尚未支持)数据处理。初衷是通过标准化的抽象语法/规则来解决复杂的数据/事件处理与外部系统联动需求。
HUB作为通用的规则引擎,对于事件驱动型应用如反欺诈、异常检测、报警等通用场景也可以很好的进行应用。HUB支持流式数据和离线数据的输入,支持流批一体,可以对输入的数据根据规则进行处理,并输出结果。支持插件编写,对数据处理的全流程(修改、检测、响应)均可自定义实现,有很高的通用性。下图为HUB整体能力图,需要注意的是红色框内部分为社区版不支持的功能,仅商业版支持。
Elkeid HUB 社区版是在 Elkeid 团队内部版本的基础上,移除了集群控制能力但强化了单机易用性,且保留了核心流处理能力和插件功能的版本。社区版旨在开箱即用,本身不依赖任何组件,可以对小批量流式数据进行处理,如果需要集群部署和规则在线编辑以及热更新/运维/多人协作/CEP/前端等能力,请考虑商业版来实现更加完善的功能和支持。
通过策略对端上采集数据进行分析检测可疑/恶意行为,后将检出数据推送到安全中心。
原始数据通过黑名单检测/白名单过滤/数据补充(如:CMDB,威胁情报等)/预定义告警处理(如:其他具备阻断能力的安全产品等)并将告警推送Bot与安全中心等工作。
用户可以通过SmithDSL来轻松实现自定义数据流,根据不同场景下的需求来进行编排。
高性能
外部依赖极少,开箱即用
支持复杂数据处理
插件支持
支持有状态逻辑
支持外部系统/数据联动
统一且简单的语法,可以让策略同学更专注于策略本身而无需考虑引擎本身
易上手,简单场景下可以实现0代码即可完成需求
Elkeid HUB 作为 Elkeid Team 的数据处理/规则引擎部分,在内部主要有以下几种用途:
内部使用 Elkeid HUB 处理 Elkeid HIDS/RASP/Sandbox 原始数据,TPS 9千万/秒。HUB 调度实例 4000+
内部维护规则2000+
内部 99% 告警产生时间 < 0.5s
此次开源策略以示例为主,选取了几种比较具有代表性的策略便于大家更好的理解学习HUB的策略编写。这部分规则仅能工作在 Elkeid 数据流下。
hidden_module_detect: Hidden Kernel Module Detected
bruteforce_detect: Bruteforce From Single/Multiple Source
binary_file_hijack_detect: Common Binary File Hijacking Detection
user_credential_escalation_detect: Privilege Escalation Detection
reverse_shell_detect: Reverse Shell With Connection
pipe_shell_detection: Double Piped Reverse Shell Detection
https://github.com/bytedance/Elkeid-HUB
https://github.com/bytedance/Elkeid-HUB/blob/main/LICENSE